验证不允许在RSA Archer的两个不同应用程序的记录许可字段中选择相同的用户 [英] Validation for not allowing same users to be selected in record permission field in two different applications in RSA Archer

查看:108
本文介绍了验证不允许在RSA Archer的两个不同应用程序的记录许可字段中选择相同的用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个应用程序,即控件和测试.

I have 2 applications, Controls and Tests.

Controls应用程序具有Tests应用程序的交叉引用.

Controls application has the cross-reference of Tests application.

控件应用程序具有记录所有者"字段控件所有者". 测试应用程序具有记录权限"字段测试执行者".

Controls application has a Record Permission field 'Control Owner'. Tests application has a Record Permission field 'Test Performer'.

我必须验证以下字段:

控制所有者和测试执行者不能是同一用户/组.

Control Owner and Test Performer cannot be the same User/Group.

如果该用户被列为控件中任何链接测试的测试执行者",则系统不应选择该用户为控件所有者".

System should not allow the selection of a User as 'Control Owner' if the user is listed as the Test Performer for any of the linked tests in the control.

类似地,如果该用户被列为该测试的任何链接控件的控件所有者,则系统不应允许该用户选择为测试执行者".

Similarly, System should not allow the selection of a User as 'Test Performer' if the user is listed as the Control Owner for any of the linked controls for the test.

我尝试添加一个计算字段,该字段会给我一个标志,指示所选用户是否相同.

I tried adding a calculated field that would give me a flag indicating whether the users selected are same or no.

请帮助!

推荐答案

Tanveer,我认为您描述的场景无法使用可用功能在Archer中进行配置.至少基于我在Archer平台上的经验,我无法提出解决方案. 问题是Archer不允许您动态地计算或过滤用户列表或交叉引用选择.这就是您在这种情况下真正需要的.

Tanveer, I think that scenario you described can't be configured in Archer using available functionality. At least I can't come up with a solution based on my experience with Archer platform. The issue is that Archer doesn't allow you to calculate or filter user lists or cross-reference selections dynamically. And this is what you truly need in this case.

我可以提出以下解决方法.我不喜欢他们两个,但有时您必须妥协.

I can propose the following work-arounds though. I don't like both of them, but sometimes you've got to compromise.

  1. 您可以创建每日/每周/每月的计划报告.某人将收到该邮件,其中显示了记录列表,其中控件"和测试"应用程序中的用户名/组彼此匹配.业务用户将跟进并手动解决所有问题.

  1. You can create a daily/weekly/monthly scheduled report. Someone from business will receive it showing a list of records where user names/groups match each other in Controls and Test applications. Business user will follow up and get all issues addressed manually.

您可以使用控件和测试"应用程序中的自定义对象控制用户选择来实现此功能.因此,实际上您将需要两个自定义对象.

[a]您需要一个计算所得的字段,该字段将通过交叉引用复制所选用户的值.

[b]自定义对象将通过设置属性display = none来向最终用户隐藏此字段.

[c]自定义对象将需要覆盖保存"和应用"按钮,以便提供对所选用户/组的验证,并将其与隐藏的计算字段进行比较,其中引用记录中的用户/组被存储.如果列表中至少有一个公共对象,则可以通知最终用户并让其修复,然后再保存记录.

[d]请注意,在保存记录之前,计算字段将不起作用.这意味着,如果通过交叉引用字段提供的添加新"列表添加新记录,那么您将必须在Web浏览器中的自定义对象1中创建一个cookie对象,并与自定义对象2一起读取它(并且反之亦然). Cookie将在表格1中存储选定的用户/组,而在表格2中的自定义对象将读取它,并确定最终用户在表格2中的选择是否正确.

这是一个复杂的双面自定义对象(两个自定义对象必须彼此通信").之前,我已经实现过类似的行为,即Cookie在自定义对象之间传递,但是我建议您尽可能避免使用此类解决方案.它们对于代码来说是复杂的,对于调试来说是复杂的,并且对支持也很复杂.
在这种情况下,您仍然可以使用计划的报告来控制数据的完整性.

You can implement this functionality with custom object controlling user selection in Controls and Test applications. So you will need actually two custom objects.

[a] You need a calculated field that will copy the value of the selected users via cross reference.

[b] Custom object will hide this field from the end user by setting attribute display = none.

[c] Custom object will need to override "Save" and "Apply" buttons in such a way that it will provide a validation of the selected users/groups and will compare them with a hidden calculated field where users/groups from the referenced record are stored. If the list has at least one common object, you can notify end user and make him fix it before record can be saved.

[d] Note that calculated field will not work until the record is saved. This means that if a new record is added via "Add New" list provided by the cross-reference field, then you will have to create a cookie object in the web-browser in custom object 1 and read it with custom object 2 (and vice versa). Cookie will store selected users/groups in form 1 and custom object in form 2 will read it and decide if end user's selection in form 2 is correct.

This is a complex two-sided custom object (two custom object will have to "communicate" with each other). I have implemented a similar behavior with cookie passing between custom objects before, but I recommend you to avoid solutions like this if possible. They are complex to code, complex to debug and complex to support.
You can still use scheduled report to control data integrity in this case.

我希望这会有所帮助. 祝你好运!

I hope this helps to some extend. Good luck!

这篇关于验证不允许在RSA Archer的两个不同应用程序的记录许可字段中选择相同的用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆