Настройка фильтра Doclib в Alfresco Поделиться - PullRequest
3 голосов
/ 06 декабря 2011

В Alfresco 4.0 я хотел бы расширить веб-скрипт Share Doclib Filter, чтобы добавить собственный настраиваемый фильтр.

  1. Есть ли простой способ добавить мой собственный фильтр в share-config-custom.xml?
  2. Как мне определить свой собственный фильтр на стороне хранилища?

enter image description here

1 Ответ

6 голосов
/ 11 декабря 2011

Включается 2 шага:

  • Добавление ссылки путем настройки библиотеки документов с помощью собственного модуля (см. Справку alfresco):

    <customization>
      <targetPackageRoot>org.alfresco.components.documentlibrary</targetPackageRoot>
      <sourcePackageRoot>com.company.components.documentlibrary</sourcePackageRoot>
    </customization>
    

расширить веб-скрипты filter.get.js и repo-filter.get.js (добавить их в web-extension / site-webscripts / com / company/ components / documentlibrary /)

var filters = model.filters;
filters.push(
      {
         id: 'myExtension',
         data: '',
         label: 'link.myExtension'
      });

model.filters = filters;

расширить файл свойств с помощью собственных меток

  • Переопределите веб-скрипт хранилища, чтобы добавить собственную интерпретацию фильтра:

в alfresco / templates / webscripts / org / alfresco / slingshot / documentlibrary-v2 /

Скопируйте, вставьте filters.lib.js и добавьте свою логику:

case "myExtension":
                filterQuery = "+PATH:\"" + parsedArgs.rootNode.qnamePath + "//*\"";
                filterQuery += "+@blabla\\:isLikeThat:\"FALSE\"";
                filterParams.query = filterQuery + filterQueryDefaults;
                break;
...