Skip to content

Commit

Permalink
YDA-5037 - Activity diagram for Publication process
Browse files Browse the repository at this point in the history
  • Loading branch information
kaur16 authored and lwesterhof committed Aug 4, 2023
1 parent 58e7fec commit dc2a479
Showing 1 changed file with 92 additions and 0 deletions.
92 changes: 92 additions & 0 deletions docs/design/processes/img/publication-process-activity-diagram.uml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
@startuml
start
if (If user is rodsadmin) then (yes)
if (Is vault status 'Published' or\n 'Approved for publication?') then (yes)
if (Is the package new version \nof an existing publication?) then (yes)
if (if version 1 of the data package exists) then (yes)
else (no)
:Create version 1 of the data package;
endif
else (no)
endif
else (no)
stop
endif
else (no)
stop
endif
:Ensure publication date is in publication state;
if (Yoda DOI is not in publication state) then (yes)
:Generate preliminary DOI;
else (no)
if ('DOIAvailable' key is in publication state) then (yes)
if ('DOIAvailable' has value 'No') then (yes)
:Generate preliminary DOI;
:Reset DataCite JSON Path and Combi JSON Path in publication state;
else (no)
endif
else (no)
endif
endif
:Update modification date;
:Generate Combi JSON for user and system metadata;
if (Error generating Combi JSON) then (yes)
#pink:Set publication status to 'Unrecoverable';
stop
else (no)
endif
:Create Landing Page URL;
:Generate DataCite JSON;
if (Error generating DataCite JSON) then (yes)
#pink:Set publication status to 'Unrecoverable';
stop
else (no)
endif
:Check DOI Availability;
if (Error while checking DOI Availability) then (yes)
#pink:Set publication status to 'Retry';
stop
endif
:Send DataCite JSON;
if (Error while sending metadata to DataCite) then (yes)
#pink:Set publication status to 'Retry';
stop
endif
:Create Landing Page;
if (Error creating landing page) then (yes)
#pink:Set publication status to 'Unrecoverable';
stop
endif
:Upload Landing Page to public host;
if (Error while uploadng landing page to public host) then (yes)
#pink:Set publication status to 'Retry';
stop
endif
:Upload Combi JSON to MOAI server;
if (Error while uploading combi JSON to MOAI server) then (yes)
#pink:Set publication status to 'Retry';
stop
endif
:Set access restrictions for vault package;
if (Error while setting access restrictions for vault package) then (yes)
#pink:Set publication status to 'Retry';
stop
endif
if ('DOIMinted' key is not in publication state) then (yes)
:Mint Yoda DOI;
if (Error during minting DOI) then (yes)
#pink:Set publication status to 'Unrecoverable' or 'Retry';
stop
else (no)
:Set the publication status as 'OK';
:Set the vault status to 'PUBLISHED';
if (Is the package is a new version of existing publication?) then (yes)
:Update previous AVU version;
else (no)
endif
endif
else (no)
:Add 'Publication updated' to the provenance log;
endif
end
@enduml

0 comments on commit dc2a479

Please sign in to comment.