wpcraft-ru / casepress Goto Github PK
View Code? Open in Web Editor NEWThis project forked from axsa/casepress
Adaptive Case Managment (ACM) system based on WordPress
Home Page: casepress.org
This project forked from axsa/casepress
Adaptive Case Managment (ACM) system based on WordPress
Home Page: casepress.org
Часто бывает так, что надо в группе, у продукта, у дела или где то еще сохранять связанные ссылки. Например в группе по разработке сайта Системо хранить ссылки на Метрику, Вебмастер, Директ и т д. Все те ссылки которые быстро ведут на связанные учетные записи и инструменты под этот конкретный продукт.
Чтобы зайдя в группу по сайту Системо, тут же можно было перейти в Метрику и посмотреть показатели. Хорошо идет работа или нет?
Нужен виджет "Ссылки", который будет хранить их как тип комментария "url_list"
И выводить в виджете через шорткод post_url_list
По аналогии с тем как это сделано в группах ВКонтакте.
Можно добавить новые ссылки.
Можно поправить адрес ссылки и ее название.
Нам нужно где то хранить дополнительные данные о посте, которые выходят за рамки заголовка или описания, но при этом нужны для поиска.
Например телефон у персоны или организации. Или список участников у дел.
Мы не можем сохранить это в заголовок или в описание. Цитату для этого тоже не стоит использовать, тк она часто используется в шаблонах.
Потому остается поле post_content_filtered которое есть в таблице постов.
Суть идеи в том чтобы добавить хук перехвата, который будет каждый раз вызываться при сохранении постов и кеширования в это поле нужные данные из массива.
Что то типа этого:
//добавляет хук, который создает и генерирует поисковый кеш
function post_content_filtered_search_array_cp($data, $postarr){
$search_array = array(); //обнуляем массив
$search_array = apply_filter('search_array_post_filtered', $search_array, $data, $postarr); //включаем фильтр
$search_array = array_unique($search_array); //уникализируем
$search_str = implode(",", $search_array);
$data['post_content_filtered'] = $search_str ; //пишем строку в поисковый кеш
return $data;
}
add_filter('wp_insert_post_data', 'post_content_filtered_search_array_cp', 999, 2);
Далее добавить хук который включает поиск по этому полю по аналогии с поиском по ID
https://github.com/systemo-biz/casepress/blob/master/cp-includes/search-ext/search-ext.php#L7
Далее прописать 2-3 функции для кеширования того что есть: Почта персон и участники дел.
От и Кому для Дел.
Типа так:
//функция которая добавляет почту в поисковый кеш
function search_array_post_filtered_email_person($search_array, $data, $postarr){
//получаем адрес email для персоны и помещаем в переменную $meta;
$search_array[] = $meta; //добавляем в массив данное
return $search_array;
} add_filter('search_array_post_filtered', 'search_array_post_filtered_email_person', 10, 3);
вместо него добавить файл post_content_filtered_search_cp.php
В результате, система должна уметь записывать в это поле строку из ключевых слов, а при поиске выдавать результаты которые соответствуют запросу.
Например если я ввожу email, то система должна найти персону или организацию, у которой есть этот email
Если я ввожу фамилию, то система должна найти дела в которых есть этот участник.
Если я ввожу название организации то система должна найти дела и организации которые соответствуют этому названию.
Если я ввожу Договор то система должна найти все дела в категории Договор
При попытке просмотра созданной персоны выдает - Fatal error: Call to undefined function acf_form_head()
и при попытке добавить медиафайл на странице добавления персоны
консоль firefox Nightly выдает
консоль Opera 28
Сейчас используется плагин https://github.com/systemo-biz/acl-s
Достаточно сложный.
Надо переписать логику доступа на механизм https://gist.github.com/yumashev/fe4a1866c8980a5ac77f
лучше всего это сделать заменив компонент https://github.com/systemo-biz/casepress/tree/master/cp-includes/acl_integrate
выводим эти поля на странице персоны через хук the_content после описания списком.
ссылка на файл https://github.com/systemo-biz/casepress/blob/master/cp-includes/add_status_archive.php
Пока он никак не работает. Можно его почистить и переписать.
Статья по теме http://truemisha.ru/blog/wordpress/post-statuses.html
Свежая установка по шпаргалке http://new.casepress.org/?page_id=204 до пункта "Включить постоянные ссылки". Дальше картинок нет.
Wordpress v4.1
CasePress v20150109
Apache/2.2.22 (FreeBSD) PHP/5.2.17
Версия MySQL-клиента: 5.1.55
после активации плагина админка работает, а сам сайт выдает "белый экран". Принудительное отображение ошибок через .htaccess ничего не показывает.
Подскажите, куда копать.
Шорткод типа [hookup]
hookup - переводится как сцепления
делается через функции: add_cap
инструкция http://www.wpmayor.com/roles-capabilities-wordpress/
Здравствуйте!
Тут https://github.com/systemo-biz/casepress в п.3 ссылка на шпаргалку ведет на пост в блоге про конверсию.
Нужна возможность указывать различные опции для настройки категорий дел.
В справочнике организаций, нужна возможность указывать родителей. И затем выводить потомков.
сейчас должности - это иерархическая таксономия. Нужно исправить.
и заодно переводы поправить #18
Для всех дел нужно добавить 2 поля:
От - персоны или организации (храним в мете from)
Кому - персоны или организации (храним в мете to)
Добавить на секции персон и организаций две секции:
Входящие дела - показываем все дела, в которых субъект указан как to
Исходящие дела - показываем все дела, в которых субъект указан как from
Эти поля должны быть сделаны по аналогии с полем Ответственный. Хранение через Select2.
Нужен некий аналог подобной кнопки Фейсбук. Когда заходишь на страницу человека, то одной кнопкой можешь отправить ему сообщение.
Но в нашем случае это вероятно придется делать с рядом особенностей:
Во многих операциях важной штукой является не сам срок, а дата следующего шага.
Пишем отдельным плагином.
При добавлении дела можно указать ответственного.
Если ответственный изменен, то добавить комментарий, в котором указать текст:
"@login назначен ответственным по делу"
Где @login это логин пользвателя персоны которая назначена ответственным.
сейчас поле работает как обычный SELECT.
когда много категорий дел, бывает сложно найти нужную категорию.
нужно добавить Select2 с полем поиска.
сделан поисковый кеш #45
и в момент сохранения записи, кеш нормально записывается.
беда возникает там, где идет изменение зависимой записи.
например Дело, у него в кеш записывается контрагент из поля От или Адресат.
Предположим дело это Договор №123 с ООО "Карамба".
Записали и в кеш сохранилось название ООО "Карамба" и "Договор".
И теперь можно найти дело по фразе "договор карамба".
А завтра кто то зашел и в ООО "Карамба" изменил название на "Карамба ЗАО (Caramba)"
Логично предположить что теперь дело должно находиться по запросу caramba.
Но это не так, птм что обновление кеша происходит только в момент сохранения самой записи, а зависимые записи никак не учитываются.
Надо сделать систему автоматического обновления кешей.
Если запись обновили, то делать обновление зависимых записей.
Суть идеи заключается в том, что если мы смогли прописать механизм кеширования по какому либо запросу. Например https://github.com/systemo-biz/casepress/blob/master/cp-includes/search-ext/post-content-filtered-search-cp.php#L30
То тут же нам надо суметь прописать механизм обновления кеша по обратному запросу.
Пример:
Еще:
Сейчас у дел можно выбрать подразделения:
Но этого мало.
Нужно внести ряд правок:
Вопрос до установки.
Ваша система работает в админке или во фронтэнде? В смысле экологично ли её установить на существующий блог, или лучше сделать отдельный wordpress только для casepress, потому что фронтэнд во всю будет задействован элементами системы?
этот глюк надо выловить и поправить
При добавлении и сохранении нового дела появляются ошибки.
https://yadi.sk/i/VroesSS7jon8X
Добавить поле "Ответственный по умолчанию" для термина таксономии Подразделения
И дать выбор одной из персон.
Пример добавления полей и хранения данных http://wpcraft.ru/rabotaem-s-metadannymi-terminov-taksonomij-v-wordpress/
Выбор персон делаем через Select2. Если нужен пример, то отправлю по запросу.
При связи дела и этого термина, если указан ответственный, то указывать ответственного у дела.
В целом тут 20-40 строк кода.
Сейчас есть виджет связи пользователя и персоны. Его нужно удалить, а его логику связи персоны и пользователя перенести в метабокс для типа поста Персоны.
расскажите подробней про настройку виджетов.
Не работает пример из шпаргалки.
При добавлении виджета cases.widget.user
в любую область, вырубается виджет навигации, сам widget.user тоже не отображается.
Нужен список по которому будут показаны комментарии у объектов
1.Поставил!!! Все понятно, хочу заняться украшательством, подскажите где css
public_html/wp-content/plugins/casepress-master/cp-includes
или он в теме
public_html/wp-content/themes/wpbss-master
2. И ещё вопросик, для дел стоит возможность комментирования, как её отключить
в мозилле поехали чекпоинты http://take.ms/2INwu
nice form framework
nice form framework
Проблема:
Сейчас используется стандартный хук подключения полей к комментам, что исключяет возможность указания своего порядка.
Нужно добавить хук, который позволит подключать свои поля как список.
Требования:
Сейчас категория дел имеет ключ functions. Это было сделано по ошибке в начале.
Более верным решением было бы case_category
Но просто изменить не получится, надо будет перешерстить ядро и добавить механизм обновления данных при обновлении. Это довольно сложно, но проблема не критичная, потому оставляем в долгом ящике.
Список комментариев в которых ты задействован.
В мете храниться ИД пользвателя который должен быть в курсе комментария.
Нужно этот список выводить.
Сейчас уведомления приходят с указанием заголовка дела и номера.
Если категория у дела указана, то нужно ее также указывать в теле письма.
Это нужно к примеру для того чтобы сортировать уведомления в почте.
сделать домен casepress
добавить 10-20 любых строк под перевод через соответствующие функции. Первичный язык английский
сформировать первичный pot файл и сформировать ru файл.
Пример тут https://github.com/systemo-biz/forms-by-systemo/blob/master/forms-s.php#L18
Нужен шорткод, который покажет последние комменты текущего пользователя и ссылки на них.
details http://n-wp.ru/1051
https://github.com/systemo-biz/wpbss
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.