0

如果您使用访问控制,您一定遇到过自动记录权限字段(带有规则)在重新计算记录时不会自行更新的问题。您要么必须启动完全重新计算,要么等待相当长的时间以使更改发生。

我面临这个问题,根据记录中的 10 个不同字段值,我必须分别授予对 10 个不同组的读取/编辑访问权限。

例如:

  • 如果规则 1 为真,则授予第一组用户编辑权限
  • 如果规则 1 和 2 为真,则向第一组和第二组用户授予编辑权限。

我在自动 RP 字段中选择了“无最小值”和“无最大值”。

如何使自动记录权限字段尽快更新自身?我在这里错过了一些重要的事情吗?

4

1 回答 1

3

如果您正在使用访问控制,您一定遇到过自动记录权限字段(带有规则)在重新计算记录时不会自行更新的问题。您要么必须启动完全重新计算,要么等待相当长的时间以使更改发生。

Tanveer,总的来说,这不是一个正确的说法。[a] 设计良好的架构(应用程序之间的关系)和 [b] 应用程序内正确的计算顺序,您不应该面对这个问题。

关于你描述的案例。我建议您检查并审查以下可能性:

1.计算顺序。
Archer 平台以与计算字段相同的方式处理自动记录权限 [ARP from here]。这意味着您可以修改保存记录时更新计算字段和自动记录权限的计算顺序。
因此,您的 ARP 字段可能在您在 ARP 规则中使用的某些计算字段之前计算。例如,假设您在 ARP 字段中有两条规则:
   如果 A>0 则分组 AAA
   如果 B>0 则分组 BBB
现在,如果计算顺序如下:
   “ARP”、“A”、“ B"
点击“保存”或“应用”后不会更新ARP,点击“保存”或“应用”后会更新
使用计算顺序“A”、“B”、“ARP”,您的 ARP 将立即重新计算。

2. 完整的重新计算队列。
由于 ARP 被视为计算字段,这意味着每次需要更新 ARP 时,都会在后端的应用程序服务器上创建重新计算作业。如果由于某种原因计算队列已满,则记录权限不会立即更新。如果您正在运行数据馈送,或者您通过手动数据导入触发了大量重新计算,则作业引擎重新计算队列可能已满。将创建与 ARP 更新相关的重新计算作业并将其添加到队列中。将根据为作业队列定义的优先级处理重新计算作业。您可以通过 Archer 控制面板界面在 Archer v5.5 中监控作业队列并更改默认作业的处理优先级。我建议您下次看到 ARP 重新计算延迟时检查作业队列状态。

3. 重新计算的“雪崩”
设计应用程序之间的关系和安全继承非常重要,因此重新计算的影响最小。
例如,假设我们有联系人应用程序和部门应用程序。
- 联系人应用程序中的记录使用来自部门记录的继承记录权限继承访问权限。
-部门记录具有自动记录权限,联系人记录继承。
- 现在最好的部分 - 部门 D1 有 60 000 条联系人记录与之关联,部门 D2 有 30 000 条联系人记录与之关联。
您描述的问题在描述的配置中是可重现的。我将转到部门记录 D1 并以强制重新计算部门记录中的 ARP 的方式对其进行更新。这会将 60 000 个作业添加到作业引擎队列,以重新计算链接到 D1 记录的 60k 联系人。现在无需等待,我就去 D2 并进行更改,强制重新计算此 D2 记录中的 ARP。保存记录 D2 后,将在作业引擎队列中创建重新计算 D2 和其他 30 000 条联系人记录的新作业。但是记录 D2 不会立即重新计算,因为第一组 60k 记录尚未重新计算,并且 D2 记录的重新计算仍在队列中。
不幸的是,目前还没有一个好的解决方案。但是,您可以这样做:
- 审查和最小化继承
- 审查和最小化记录之间的关系,其中 1 条记录引用 1000 多条记录。
- 修改架构并打破继承和关系,并尽可能用 Archer 到 Archer 数据馈送替换它们。
- 为您的应用程序服务器添加更多“重新计算”功能。您可以配置您的网络服务器来处理重新计算作业,如果它们没有被使用到某个点。添加更多的职位空缺。

坦维尔,我希望这会有所帮助。祝你好运!

于 2016-03-10T05:06:26.903 回答