Изменить живой поиск в Alfresco Commmunity 5.0.d
Я использую Alfresco Community 5.0.d и пытаюсь найти файлы, связанные с поиском в реальном времени.
Я хотел бы удалить или изменить поиск людей в режиме реального времени. Пожалуйста, дайте мне знать файлы или способ достижения этого.
Share-header.get.js информация ниже:
if (!user.isAdmin)
{
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SHARED_FILES");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SITES_MENU");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_PEOPLE");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_REPOSITORY");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_BECPG");
}
//Disable people search
var headerSearch = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SEARCH");
if (headerSearch)
{
headerSearch.config.showPeopleResults = false;
headerSearch.config.placeholder="Search files, sites";
}
Ниже приведен extensions.xml
<extension>
<modules>
<module>
<id>Update Site Header</id>
<version>1.0</version>
true org.alfresco.share.header com.site-header share-header
Как я добавил ниже строки, теперь я мог видеть, что мой файл, общий файл и другие пункты меню удаляются для пользователя (не администратора), но без изменений в окне поиска.
Предоставлено: Muralidharan.
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
Снимок экрана структуры HTML для окна поиска.
Ниже приведен скриншот модулей /deploy:
Снимок экрана режима отладки:
заранее спасибо
3 ответа
Я следовал по ссылке ниже, и это работало как шарм.
Сводка: переопределите файл live-search-people.get.json.ftl, чтобы он не дал результатов для живого поиска.
шаги:
- Извлечь alfresco-remote-api-5.0.d (/Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib)
- Перейдите /Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-remote-api-5.0.d/alfresco/templates/webscripts/org/alfresco/slingshot/search и скопируйте live-поиск -people.get.json.ftl
- Затем перейдите в Applications/alfresco-5.0.d/tomcat/shared/classes/alfresco/extension/templates/webscripts/org/alfresco/slingshot/search (создайте новый каталог, если он не существует) и вставьте скопированный ранее файл.
Откройте этот файл в редакторе, как возвышенный текст, и замените его следующим кодом.
<#import "../../repository/person/person.lib.ftl" as personLib />
<#escape x as jsonUtils.encodeJSONString (x)>{"totalRecords": 0, "startIndex": 0, "items": []}
Перезапустите tomcat и протестируйте поиск в реальном времени.
Спасибо Ангелу и Алексу за ответ с разъяснениями.
Интересно, что я использовал Aikau 1.0.8. Из-за этого изменения, рекомендованные Muralidharan, не работали (более старая версия), поэтому теперь, когда я перехожу на более новую версию Aikau (1.0.101), эти изменения хороши.
Спасибо Муралидхарана!
/****НОТА****/
Если вы используете более старую версию Aikau (например, 1.0.8), вы должны переопределить расширение. Или, если вы используете более новую версию Aikau (например, 1.0.101), вы можете напрямую внести изменения.
Мы исключили поиск людей, используя скрипт ниже.
//Disable people search
var headerSearch = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SEARCH");
if (headerSearch)
{
headerSearch.config.showPeopleResults = false;
headerSearch.config.placeholder="Search files, sites";
}
И мы разместили этот файл по следующему пути. C:\Alfresco5\ кот \ WebApps \ доля \WEB-INF\ Классы \ под открытым небом \ веб-расширение \ сайт-webscripts \ ком \quanticate\ заголовок \ разделённый header.get.js
Используйте расширение модуля, чтобы применить ваши настройки в Share и сохранить этот файл в alfresco \ web-extension \ site-data \ extensions \ extensions.xml
<extension>
<modules>
<module>
<id>Menu customisation</id>
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
<!-- default.extensibility.evaluator is applied to determine if the module should be executed -->
<customizations>
<customization>
<targetPackageRoot>org.alfresco</targetPackageRoot>
<sourcePackageRoot>com.quanticate.header</sourcePackageRoot> <!-- Your package path should go here -->
<alwaysApply>
<webscript>share-header</webscript>
</alwaysApply>
</customization>
</customizations>
</module>
</modules>
</extension>
Вы должны переопределить файлы, содержащие ответ webscript. Найдите файлы шаблона Freemarker, которые имеют отрендеренный вывод, и переопределите его.