如何在Liferay 7中存储公司范围的单个变量?

问题描述 投票:0回答:1

我的公司有一个“状态”,可以有两个值:

  • 正常(照常营业)
  • 灾难(遇到地震/海啸/等)

只允许具有DISASTER_MANAGER角色的人员更改该状态。根据状态,一些portlet显示/隐藏UI组件,并且自定义服务还会检查状态以发送电子邮件。

Question: How to store this "status" in Liferay?

我能想到的所有常见的Liferay存储选项似乎都不合适:

  • 具有DISASTER_MANAGER角色的所有人都无法更新system setting
  • Service Builder似乎用于存储多行,每行包含许多列。对我而言,使用服务构建器来存储单个布尔值听起来有点矫枉造假并且难以使用(但如果不是,请告诉我)。
boolean liferay liferay-7 liferay-service-builder
1个回答
1
投票

我从使用有问题的信息方面解决了这个问题:你打算如何处理这些信息 - 从“改变背景颜色以提高认识”到“在整个门户网站上放弃或收紧权限”,建议会有所不同。

我想到的选项:

  • 自定义字段(可用于比UI中可见的更多用途)
  • 系统设置
  • 服务生成器

正如您假设最后两个不合适:您可以组合使用它们,例如创建系统设置和虚假实体服务:在此服务的定义中,您只需创建一个空实体(具有名称,但没有列)。你不会有任何持久性,但是MyEntityLocalServiceMyEntityService:在这里,你可以实现自己的权限检查并翻转系统设置,例如:通过自己的用户界面。鉴于状态的隐含紧迫性,我不会将任何人发送到系统设置UI,而只是提供一个直接按钮来推送。

额外奖励:如果需要,您可以使用自然API端点通过外部方式翻转交换机。

© www.soinside.com 2019 - 2024. All rights reserved.