Liferay 7 Eclipse IDE переопределяет поведение категорий по умолчанию

Мне нужно создать портлет, чтобы изменить поведение / интерфейс категории по умолчанию в Liferay 7.
Моя цель - продублировать таблицу assetcategory, развернуть и изменить ее столбцы , и используйте эту новую таблицу в качестве справочника для категорий в серверной части Liferay.

Таким образом, мой портлет должен обновить три ключевых момента:

  1. Пользовательский интерфейс организации категорий для создания / обновления таблиц категорий в БД. Я могу создать новый проект модуля Liferay (шаблон panel-app), который может представлять интерфейс серверной части пользовательского интерфейса из бокового меню и взаимодействовать с БД.
  2. Переопределить панель выбора категории по умолчанию на панели свойств веб-содержимого (метаданные> выбор категории). Я могу создать новый фрагмент проекта модуля Liferay, чтобы переопределить com.liferay.asset.categories.selector.web, однако я заметил, что могу выбрать только один путь к файлу (например, META -INF / resources / view.jsp)
  3. Переопределить поведение фильтра издателя активов по умолчанию, чтобы разрешить выбор моих пользовательских категорий. Я еще не исследовал этот момент.

В настоящее время я застрял на точке 2, потому что после создания нового фрагмента проекта модуля Liferay установите целевой OSGI Bundle хоста на com.liferay.asset.categories.selector.web (который, как я считаю, является правильным один, поправьте меня, если это не так) и выбрав замещенные файлы как META-INF / resources / view.jsp, я не могу перейти к перерисовке интерфейса выбора категории.
< br> Вот мои попытки:

  1. Обновив код view.jsp (например, добавив текстовую строку), я могу правильно увидеть их в портлете.
  2. При удалении / комментировании всего кода в view.jsp отображается ошибка: Селектор категории активов временно недоступен
  3. Выбор всех трех файлов, доступных для переопределения в главном мастере портлетов (META-INF / resources / view.jsp, init.jsp и init-ext.jsp ) и при обновлении view.jsp (как в первом примере) в портлете ничего не происходит

Некоторые снимки экрана ниже:

Случай 1  введите описание изображения здесь < img src = "https://i.stack.imgur.com/Gd1zX.png" alt = "введите описание изображения здесь">

Случай 2  введите описание изображения здесь < img src = "https://i.stack.imgur.com/AeROD.png" alt = "введите описание изображения здесь">

Случай 3  введите описание изображения здесь < img src = "https://i.stack.imgur.com/XtebO.png" alt = "введите описание изображения здесь">


person Mave751    schedule 09.07.2019    source источник


Ответы (1)


Мне нужно создать портлет, чтобы изменить поведение / интерфейс категории по умолчанию в Liferay 7. Моя цель - продублировать таблицу категорий ресурсов, развернуть и изменить ее столбцы и использовать эту новую таблицу в качестве справочника для категорий в серверной части Liferay.

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

AssetCategories используются в каждом отдельном типе контента, например Веб-контент, статьи в блогах, сообщения на форумах, вики-страницы, статьи базы знаний и т. Д. Замена такого жизненно важного компонента вашей собственной реализацией - это то, что безопасно испортит ваш следующий опыт обновления, потому что вам придется делать это снова, в результате чего код для любых изменений, которые будут внесены в следующей версии. И это «обновление» включает исправления безопасности.

В целом ваша предпосылка звучит для меня как xy проблема, и я бы предпочел Рекомендуем вам отойти от намеченного решения и поискать другие варианты, отвечающие вашим бизнес-требованиям. Конечно, есть.

Моя рекомендация: лучше добавить что-то в платформу, чем убирать центральный и общий компонент, заново реализуя его в специфической для бизнеса манере. Если вам нужна другая фильтрация, отличная от того, что предоставляет Asset Publisher: создайте собственный Asset Publisher и внедрите там специфические бизнес-правила. Или подумайте еще раз об организации вашего контента иначе, чем вы его организуете сейчас.

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

person Olaf Kock    schedule 12.07.2019
comment
Я считаю, что вы сконцентрировали внимание, поэтому я сосредоточил свое исследование на способе изменения запроса фильтрации издателя активов по умолчанию. Здесь обновлен мой новый вопрос: stackoverflow.com/questions/56952841/ - person Mave751; 12.07.2019