Editions!@CUR.owner_label = @participant_label
Process Management Functions and Access Control
This manual is in pilot operation.
|
Overview
When writing data (reflecting data) to the ledger in various processes of the process management function, only the data in the ledger cell range writable with the forms included in the form list specified in the submission package definition[1] is subject to writing.
In determining writability, the ledger access control function and the input restrictions set in the form are generally applied, but there are exceptions where these are not applied or are applied in a special way. Specifically, as shown in the table below.
(✓: Applied -: Not applied)
Access Restriction Function | Ledger Access Control Function | Input Restrictions by Form | |||
---|---|---|---|---|---|
Various Processes in Process Management Functions |
Cell Protection[2] |
||||
1. Reflecting process at the time of Reception and Reflect of submission package |
✓ |
✓ [3] |
✓ or - [4] |
✓ |
✓ |
✓ |
✓ [3] |
✓ or - [4] |
✓ |
✓ |
|
✓ |
✓ [3] |
✓ |
✓ |
✓ |
Ledger Editions and Access Control Used in Processes
As described in the explanation of Workspace, a ledger edition is generated for each participant involved in the process (see "Ledger Editions of Processes"). To control access to these ledger editions, you can include conditions related to ledger editions in the region definition formula in the access permission type. Here, we will explain how to describe the region definition formula for typical access control needs when using process functions.
Allow Access to the Edition of One’s Own Participant
Use the owner_label property of the ledger edition object and the function @participant_label.
Formula Element | Meaning |
---|---|
Editions!@CUR |
The ledger edition currently being accessed |
Editions!@CUR.owner_label |
Label of the participant who owns the above ledger edition |
= |
Checks that the value on the left side equals the value on the right side |
@participant_label |
Label of the participant who is reading/writing the data |
Allow Access to Submission Packages Submitted or Approved by One’s Own Participant
Use the is_submission property of the ledger edition object.
Editions!@CUR.is_submission
Formula Element | Meaning |
---|---|
Editions!@CUR |
The ledger edition currently being accessed |
Editions!@CUR.is_submission |
Returns True if the above ledger edition represents a submission package, otherwise returns False |
Note that for Submission Packages as Ledger Editions, access requests themselves will result in an error if it is not a package submitted, received, or receivable by one’s own participant, so the above condition formula simply checks whether the ledger edition is a submission package.
Allow Access to Public Editions
Use the key property of the ledger edition object.
Editions!@CUR.key = "PUBLIC"
Formula Element | Meaning |
---|---|
Editions!@CUR |
The ledger edition currently being accessed |
Editions!@CUR.key |
Key of the above ledger edition |
= |
Checks that the value on the left side equals the value on the right side |
"PUBLIC" |
Constant "PUBLIC" |
Since the "key" property is optional, the above condition formula can also be written as follows:
Editions!@CUR = "PUBLIC"
Condition Description in Typical Cases
In typical cases, the access condition for ledger editions is to allow access only if any of the above three are met. In this case, the condition formula is as follows:
Editions!@CUR.owner_label = @participant_label OR
Editions!@CUR.is_submission OR
Editions!@CUR = "PUBLIC"
For the Finalizing Participant for Published Data, it is usually necessary to grant access rights to the common workspace, etc., in addition to the above (e.g., when the finalizing participant uses the common workspace as their workspace without assigning a private ledger edition). In this case, the above condition formula is modified as follows:
Editions!@CUR.owner_label = @participant_label OR
Editions!@CUR.is_submission OR
Editions!@CUR = "PUBLIC" OR
Editions!@CUR = "WORKSPACE" ....
Of course, the above condition formula can be combined with other condition formulas.