对于门户网站级别的实体(如用户等),应将其作为groupId放置

时间:2018-07-31 21:33:18

标签: service entity liferay-7

我正在创建一个没有groupId列的门户网站级别实体,因为数据将不属于任何组/站点。但是对于某些要求(下面给出的示例),我注意到我们需要提供groupId来获取一些信息。我的问题

  1. 我们仍应考虑使用groupId列吗? (我认为没有)
  2. 当实体不是特定于站点/组的实体时,我们应该使用哪个groupId

我在尝试在我的实体(没有groupId)上启用与asses框架的搜索和集成时遇到了这个问题。按照教程,我需要先进行以下操作

<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 个答案:

答案 0 :(得分:1)

实际上,我会鼓励您不要认为实体只是全局的。

如果您在单个站点中,则可以很好地工作,因为您可以将所有实体都保留在站点中,并且它们的行为就好像是“全局”一样。

如果您处于多站点情况,则似乎只希望一个实体在所有站点之间共享。但是,通常我发现要在全球范围内创建和使用的东西,通常您的站点会希望对站点本地应用程序执行类似的操作。

如果您想走自己的路,那么Global小组就是您的选择。您可以使用以下方法进行检索:

Group globalGroup = _groupLocalService.getFriendlyURLGroup(
    companyId, GroupConstants.GLOBAL_FRIENDLY_URL);