Тегирование и поиск содержимого Plone из ограниченных словарей

Я хочу, чтобы мои редакторы размечали содержимое по нескольким ортогональным словарям, а затем имели удобный поисковый интерфейс, который позволял бы пользователям искать содержимое на основе этих словарей. Кажется, слишком часть решения существует

  • ATVocabularyManager — позволяет редакторам создавать разные словари
  • eea.facetednavigation — позволяет редакторам подключать словари ATVocabularyManger к панели поиска.

Чего не хватает, чтобы добавить новые поля на вкладку категоризации определенных типов контента и ограничить их словарями. и сохранить эти значения и проиндексировать их, чтобы их можно было искать.

Я знаю, что могу сделать это в коде, но я надеюсь на что-то TTW, чтобы редакторы могли добавить больше способов категоризировать, если захотят. Я почти уверен, что уже должен быть плагин, чтобы решить эту проблему, но пока не нашел его. Я почти уверен, что редактор схем dexterity решит эту проблему, но мне это нужно для существующих типов содержимого Plone.

Так интересно


person djay    schedule 27.10.2011    source источник


Ответы (2)


Что, я думаю, вы можете сделать, так это просто попросить редакторов контента пометить контент с помощью обычного механизма тегирования и разместить его так, как им нравится. Затем с помощью eea.facetednavigation вы указываете различные группы тегов, которые должны стать частью вашей фасетной навигации.

Если вам требуется дополнительная структура для ваших редакторов контента для добавления тегов, я бы предложил, возможно, создать собственный виджет, который дает им структурированный набор тегов на выбор.

Вот некоторые пакеты, на которые вы, возможно, захотите взглянуть для решения этой проблемы:

ATVocabularyManager предназначен не для динамического добавления словарей в новые поля существующих типов контента, а для предоставления менеджера словарей для пользовательских типов контента и, возможно, полей расширения схемы.

person vangheem    schedule 28.10.2011
comment
Да, можно использовать текущий механизм тегов, используя соглашение, чтобы сделать его иерархическим. например, такие теги, как Animals:Mamal:Badger Color:Red и т. д. Но тогда мне все еще нужен способ, чтобы eea.facetednavigation отображал Animals:* и Color:* как две отдельные грани/панели для пользователя. Я еще не нашел это. Спасибо за другие ссылки. Я все еще просматриваю их, но пока ни один из них не решает проблему хорошо. - person djay; 30.10.2011
comment
Я думаю, что если бы у меня было что-то вроде коллективного.gtags, за исключением того, что он заменил стандартный виджет ключевых слов по умолчанию и создал словари plone для каждой категории, чтобы их можно было использовать в FacetedNavigation, тогда я думаю, что это было бы почти идеальным решением. - person djay; 30.10.2011
comment
Кроме того, я считаю, что добавить собственные виджеты в eea.facetednavigation довольно просто. Или, возможно, вы могли бы внести свой вклад в виде виджета, который позволил бы вам делать те аспекты, о которых вы думаете. Я знаю, что был продукт, который делал подобные вещи через дополнительный каталог, но забыл его название. - person vangheem; 31.10.2011
comment
Пока есть словарь, использовать FacetedNavigation легко. Я думаю, что проще всего получить что-то, что может сделать словарь из граней, таких как теги, такие как цвет-красный, животное-рыба и т. д. Они будут превращены в два словаря цвета и животного. - person djay; 01.11.2011

Вот что я собираюсь построить, чтобы решить эту проблему, поскольку ни одно из предложенных решений пока не решает проблему в целом.

Назовем это коллективным.tagvocabularies (?)

Его цель будет заключаться в том, чтобы разрешить ввод нескольких различных категорий ключевых слов в существующий контент Plone через существующее поле метаданных тегов, а затем иметь возможность использовать плагины, такие как FacetedNavigation, для отображения контента, как если бы контент был классифицирован по нескольким различным аспектам. Он будет делать это, динамически предоставляя множество различных словарей на основе уникальных значений индекса ключевых слов в Plone.

Он предоставит панель управления, где вы можете ввести регулярное выражение. Это re будет использоваться для всех ключевых слов, используемых во всем контенте, чтобы разбить его на аспекты. Например, если все ваши теги имеют форму «Животное-Рыба», «Цвет-Синий», ваш ре будет

(?P<facet>[^\S]*)-(?P<value>[^\S]*)

После установки словари для «Цвет» и «Животное» доступны для использования в любом месте, включая eea.facetednavigation. Любой новый тег, добавленный к содержимому, автоматически станет доступным в словарях (может потребоваться кэширование).

person djay    schedule 07.11.2011