Что следует указать в качестве groupId для объектов уровня портала, таких как "Пользователи" и т. Д.
Я создаю сущность уровня портала без столбца groupId, поскольку данные не будут принадлежать какой-либо группе / сайту. Но для определенного требования (пример приведен ниже), я заметил, что нам нужно предоставить groupId, чтобы получить некоторую информацию. Мои вопросы
- Должны ли мы по-прежнему рассмотреть вопрос о наличии столбца groupId? (Я думаю нет)
- Какой groupId мы должны использовать, когда объект не является специфичным для сайта / группы
Я столкнулся с этой проблемой, пытаясь включить поиск и интеграцию с Asses Framework на моей сущности (без groupId). Согласно учебнику, мне нужно следовать в качестве первого шага
<finder name="G_S" return-type="Collection">
<finder-column name="groupId" />
<finder-column name="status" />
</finder>
https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/enabling-assets-at-the-service-layer
Теперь у меня нет такой колонки, что мне делать?
1 ответ
На самом деле я бы попытался убедить вас не думать, что сущности являются только глобальными.
Если вы находитесь в ситуации с одним сайтом, это работает просто отлично, поскольку вы можете сохранить все сущности на сайте и действовать так, как если бы они были "глобальными".
Если вы находитесь в ситуации с несколькими сайтами, может показаться, что вы просто хотите, чтобы один объект был общим для всех сайтов. Однако часто я обнаруживаю, что вы хотите создавать и использовать глобально, часто ваши сайты захотят сделать что-то подобное для локального приложения.
Если вы хотите остаться на своем пути, то Глобальная группа - это путь. Вы можете получить это используя следующее:
Group globalGroup = _groupLocalService.getFriendlyURLGroup(
companyId, GroupConstants.GLOBAL_FRIENDLY_URL);