|
|
This page contains some examples of typical usage patterns that can be defined using the B2SAFE service rule sets.
|
|
|
This page contains some examples of typical usage patterns that can be defined using the B2SAFE service rule sets. Each example includes a rule to implement the pattern, which can be copied, pasted to a file and executed with the icommand:
|
|
|
`irule -F my_rule_filenamme.r`
|
|
|
The input parameters must be adapted to the user environment.
|
|
|
The names of the rules in the pictures (pid-creation-rule.r, pid-search-rule.r ...) are just examples. The name of the rule file does not need to match the name of the rule itself. Even the name of the rule example, like _PID_DO_reg_ in the first paragraph, is arbitrary. The only important name is that of the EUDAT core rules like EUDATCreatePID, EUDATPidsForColl ...
|
|
|
For most part of the examples a link to test rules is also included. Those rules are in the folder rules of the package and can be executed with the usual irule command, but no input parameter is required, unless the "home" path in the local iRODS environment is different from the default (/ZoneName/home/userName). Their scope is to show a running application of the EUDAT rules out of the box.
|
|
|
|
|
|
#### Acronyms:
|
|
|
|
... | ... | @@ -8,7 +12,7 @@ This page contains some examples of typical usage patterns that can be defined u |
|
|
|
|
|
***
|
|
|
|
|
|
### Register a PID for a DO
|
|
|
### Register a PID for a DO {look at [test rule][1]}
|
|
|
|
|
|
Client side orchestration of the process:
|
|
|
|
... | ... | @@ -74,7 +78,7 @@ The json file is stored with the following path: |
|
|
|
|
|
***
|
|
|
|
|
|
### Register PIDs for a whole collection recursively
|
|
|
### Register PIDs for a whole collection recursively {look at [test rule][4]}
|
|
|
|
|
|
The flow is the same as depicted above for a single digital object, however there is no way to get back the list of PIDs yet.
|
|
|
|
... | ... | @@ -89,9 +93,9 @@ The aforementioned mechanism based on json files allows to retrieve asynchronous |
|
|
|
|
|
***
|
|
|
|
|
|
### Replication
|
|
|
### Replication
|
|
|
|
|
|
Replication process triggered client-side without PID registration ( **registered data boolean flag** = False):
|
|
|
Replication process triggered client-side without PID registration ( **registered data boolean flag** = False) {look at [test rule][2]}:
|
|
|
|
|
|
![replication](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_replication_v2.png)
|
|
|
|
... | ... | @@ -119,7 +123,7 @@ The red box with the label "Messaging system" is an experimental feature to prov |
|
|
value: 1431529743
|
|
|
units:
|
|
|
|
|
|
Replication process triggered client-side with PID registration ( **registered data boolean flag** = True):
|
|
|
Replication process triggered client-side with PID registration ( **registered data boolean flag** = True) {look at [test rule][3]}:
|
|
|
|
|
|
![replication 2](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_registered-replication_v2.png)
|
|
|
|
... | ... | @@ -244,7 +248,7 @@ In this case the replication is performed with **registered data boolean flag = |
|
|
|
|
|
***
|
|
|
|
|
|
### Integrity check between a DO and its replica
|
|
|
### Integrity check between a DO and its replica {look at [test rule][5]}
|
|
|
|
|
|
This procedure allows to verify the coherence between a digital object and its replica.
|
|
|
|
... | ... | @@ -276,7 +280,7 @@ Error messages: |
|
|
|
|
|
***
|
|
|
|
|
|
### Recover failed transfers from the logging system's queue
|
|
|
### Recover failed transfers from the logging system's queue {look at [test rule][6]}
|
|
|
|
|
|
![integrity check](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_failrecover_v2.png)
|
|
|
|
... | ... | @@ -304,4 +308,11 @@ The input parameter **buffer length** defines the number of failed operations th |
|
|
*newURL = "irods://hostname/ZoneB/new_path/to/data-object-replica.dat"
|
|
|
EUDATeURLupdate(*pid, *newURL);
|
|
|
}
|
|
|
OUTPUT ruleExecOut |
|
|
\ No newline at end of file |
|
|
OUTPUT ruleExecOut
|
|
|
|
|
|
[1]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatCreatePid.r "eudatCreatePid.r"
|
|
|
[2]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_not_registered.r "eudatRepl_not_registered.r"
|
|
|
[3]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_registered.r "eudatRepl_registered.r"
|
|
|
[4]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_coll.r "eudatRepl_coll.r"
|
|
|
[5]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_checkIntegrity.r "eudatRepl_checkIntegrity.r"
|
|
|
[6]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_recoverTransfer.r "eudatRepl_recoverTransfer.r" |
|
|
\ No newline at end of file |