How to set a Tempo Report Security done on a Data Store?

Hello to everyone,

I have a question regarding how to set a Tempo Report Security done on a Data Store and not on an active process:

If I create a report on an active process i can drive the security as i wish using the node "Modify Process Security", so for example i can make a specific istance visible by one ore more users, but not by others.

There is a similar way to do so on a Report made starting from a Data store? and what about a Record done departing from the same Data store? In Other words there are some sail functions that help me to set a more specific security?

Thanks

OriginalPostID-203859

OriginalPostID-203859

  Discussion posts and replies are publicly visible

Parents
  • @marcoc True, also the queries can become costlier with the increasing volumes of data.

    Appian has come up with an alternate approach of implementing the security by making use of Record Viewer Groups as specified at https://forum.appian.com/suite/help/16.1/Record_Level_Security_for_Entity_Backed_Records_Best_Practice.html but even this isn't a clean way of implementing the security. Further Appian themselves has stated that this approach doesn't hold good in some cases in the 'Performance Tips' section in the same page. Though they specified one more alternative (again it's mentioned in the 'Performance Tips' section), we can not apply it all the times.

    To the best of my knowledge, as of now the only clean way of doing it is by turning your Entity Backed Records into Service Backed Records. In Service Backed Records, an expression acts as a source, and off-course, you need to query the datastore entities in the expression. But the only advantage is that you can minimise the number of records you query whereas in Entity Backed Records we wouldn't have such control and end up in obtaining entire dataset. Performance and Flexibility are added advantages. But downside of this approach is that the configuration consumes good amount of time. If interested in this approach, you may take a look at https://forum.appian.com/suite/help/7.8/Records_Tutorial.html#Create_Service-Backed_Records which will demonstrate the way to do.

    In case, if your intention is to just query the datastore entity and surface the data in a component such as paging grid which will be included in the report or dashboard thereafter, make sure that queries are made in such a way that batchSize is effectively used. As long as the batchSize is used in an efficient way, very minimal datsets will be obtained which won't effect performance.
Reply
  • @marcoc True, also the queries can become costlier with the increasing volumes of data.

    Appian has come up with an alternate approach of implementing the security by making use of Record Viewer Groups as specified at https://forum.appian.com/suite/help/16.1/Record_Level_Security_for_Entity_Backed_Records_Best_Practice.html but even this isn't a clean way of implementing the security. Further Appian themselves has stated that this approach doesn't hold good in some cases in the 'Performance Tips' section in the same page. Though they specified one more alternative (again it's mentioned in the 'Performance Tips' section), we can not apply it all the times.

    To the best of my knowledge, as of now the only clean way of doing it is by turning your Entity Backed Records into Service Backed Records. In Service Backed Records, an expression acts as a source, and off-course, you need to query the datastore entities in the expression. But the only advantage is that you can minimise the number of records you query whereas in Entity Backed Records we wouldn't have such control and end up in obtaining entire dataset. Performance and Flexibility are added advantages. But downside of this approach is that the configuration consumes good amount of time. If interested in this approach, you may take a look at https://forum.appian.com/suite/help/7.8/Records_Tutorial.html#Create_Service-Backed_Records which will demonstrate the way to do.

    In case, if your intention is to just query the datastore entity and surface the data in a component such as paging grid which will be included in the report or dashboard thereafter, make sure that queries are made in such a way that batchSize is effectively used. As long as the batchSize is used in an efficient way, very minimal datsets will be obtained which won't effect performance.
Children
No Data