new wf to publish a collection on staging graphdb and then on public one

new_es_mapping
Enrico Ottonello 3 years ago
parent dc6bd40d1e
commit 3e68138b81

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<RESOURCE_PROFILE>
<HEADER>
<RESOURCE_IDENTIFIER value=""/>
<RESOURCE_TYPE value="WorkflowDSResourceType"/>
<RESOURCE_KIND value="WorkflowDSResources"/>
<RESOURCE_URI value=""/>
<DATE_OF_CREATION value=""/>
</HEADER>
<BODY>
<WORKFLOW_NAME>$name$</WORKFLOW_NAME>
<WORKFLOW_DESCRIPTION>$desc$</WORKFLOW_DESCRIPTION>
<WORKFLOW_INFO />
<WORKFLOW_FAMILY>aggregator</WORKFLOW_FAMILY>
<WORKFLOW_PRIORITY>$priority$</WORKFLOW_PRIORITY>
<DATASOURCE id="$dsId$" interface="$interface$" />
<CONFIGURATION status="WAIT_SYS_SETTINGS" start="MANUAL">
<PARAMETERS>
<PARAM name="harvestingMode" description="Incremental or refresh mode" required="true" managedBy="user" type="string" function="validValues(['REFRESH','INCREMENTAL'])">INCREMENTAL</PARAM>
<PARAM name="collMdstoreId" description="Store for collected records" required="true" managedBy="system" category="MDSTORE_ID"/>
<PARAM name="passFullRecord" description="True to pass the full record to x3m" managedBy="user" type="boolean">false</PARAM>
<PARAM name="transformationMode" description="Incremental or refresh mode" managedBy="user" type="string" function="validValues(['REFRESH','INCREMENTAL'])">REFRESH</PARAM>
<PARAM name="verboseTransformationLogging" description="Enable verbose logging of X3M" required="false" managedBy="user" type="boolean"/>
<PARAM name="mappingPolicyProfile" description="Mapping policy to apply by X3M" required="false" managedBy="user" category="TRANSFORMATION_RULE_ID" type="string" function="listProfiles('TransformationRuleDSResourceType', '//TITLE')"/>
<PARAM name="mappingUrl" description="mapping url" required="true" managedBy="user" type="string" ></PARAM>
<PARAM name="cleaningRuleId" description="Cleaning rule" required="true" managedBy="user" category="CLEANER_RULE_ID" type="string" function="listProfiles('CleanerDSResourceType', '//CLEANER_NAME')"/>
<PARAM name="cleanMdstoreId" description="Store for cleaned records" required="true" managedBy="system" category="MDSTORE_ID" />
<PARAM name="indexId" description="Identifier of the Index for Content Checker" required="true" managedBy="system" category="INDEX_ID"/>
<PARAM name="indexInterpretation" description="Index Interpretation for Content Checker" required="true" managedBy="system" type="string">transformed</PARAM>
<PARAM name="feedingType" description="Index feeding type for Content Checker" required="true" managedBy="user" type="string" function="validValues(['REFRESH','INCREMENTAL'])">REFRESH</PARAM>
<PARAM name="stagingPublisherEndpoint" description="Staging Publisher Endpoint" required="true" managedBy="user" type="string">https://aggregator.ariadne.d4science.org/ariadneplus-graphdb</PARAM>
<PARAM name="publicPublisherEndpoint" description="Public Publisher Endpoint" required="true" managedBy="user" type="string">https://aggregator.ariadne.d4science.org/ariadneplus-graphdb-public</PARAM>
</PARAMETERS>
<WORKFLOW>
<NODE isStart="true" name="collection" type="LaunchWorkflowTemplate">
<DESCRIPTION>Collect metadata</DESCRIPTION>
<PARAMETERS>
<PARAM name="wfTemplateId" value="8536236a-7074-4155-9279-8cb2fcc8887a_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==" />
<PARAM name="wfTemplateParams">
<MAP>
<ENTRY key="format" value="$format$" />
<ENTRY key="dsId" value="$dsId$" />
<ENTRY key="dsName" value="$dsName$" />
<ENTRY key="interface" value="$interface$" />
<ENTRY key="collMdstoreId" ref="collMdstoreId" />
<ENTRY key="harvestingMode" ref="harvestingMode" />
</MAP>
</PARAM>
</PARAMETERS>
<ARCS>
<ARC to="transform"/>
</ARCS>
</NODE>
<NODE name="transform" type="LaunchWorkflowTemplate">
<DESCRIPTION>Transform records</DESCRIPTION>
<PARAMETERS>
<PARAM name="wfTemplateId" value="bb36d5af-442c-488b-ad42-d9b068f6f1c0_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==" />
<PARAM name="wfTemplateParams">
<MAP>
<ENTRY key="dsId" value="$dsId$" />
<ENTRY key="interface" value="$interface$" />
<ENTRY key="collMdstoreId" ref="collMdstoreId" />
<ENTRY key="cleanMdstoreId" ref="cleanMdstoreId" />
<ENTRY key="enableSchemaValidation" ref="enableSchemaValidation"/>
<ENTRY key="useDeclaredSchema" ref="useDeclaredSchema"/>
<ENTRY key="schemaURL" ref="schemaURL"/>
<ENTRY key="mappingPolicyProfile" ref="mappingPolicyProfile"/>
<ENTRY key="verboseTransformationLogging" ref="verboseTransformationLogging"/>
<ENTRY key="cleaningRuleId" ref="cleaningRuleId"/>
<ENTRY key="transformationMode" ref="transformationMode" />
<ENTRY key="passFullRecord" ref="passFullRecord" />
<ENTRY key="mappingUrl" ref="mappingUrl" />
</MAP>
</PARAM>
</PARAMETERS>
<ARCS>
<ARC to="index"/>
</ARCS>
</NODE>
<NODE name="index" type="LaunchWorkflowTemplate">
<DESCRIPTION>Index record</DESCRIPTION>
<PARAMETERS>
<PARAM name="wfTemplateId" value="23e81407-da05-46a6-a11e-928f92432922_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==" />
<PARAM name="wfTemplateParams">
<MAP>
<ENTRY key="dsId" value="$dsId$" />
<ENTRY key="interface" value="$interface$" />
<ENTRY key="cleanMdstoreId" ref="cleanMdstoreId" />
<ENTRY key="indexId" ref="indexId" />
<ENTRY key="feedingType" ref="feedingType" />
<ENTRY key="interpretation" ref="indexInterpretation" />
</MAP>
</PARAM>
</PARAMETERS>
<ARCS>
<ARC to="publishToStagingGraphDB"/>
</ARCS>
</NODE>
<NODE name="publishToStagingGraphDB" type="LaunchWorkflowTemplate">
<DESCRIPTION>Publish records to the Staging GraphDB</DESCRIPTION>
<PARAMETERS>
<PARAM name="wfTemplateId" value="7426eaaf-93c9-4914-b69a-c9d5c478405a_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ=="/>
<PARAM name="wfTemplateParams">
<MAP>
<ENTRY key="dsId" value="$dsId$" />
<ENTRY key="dsName" value="$dsName$" />
<ENTRY key="interface" value="$interface$" />
<ENTRY key="cleanMdstoreId" ref="cleanMdstoreId"/>
<ENTRY key="publisherEndpoint" ref="stagingPublisherEndpoint" />
</MAP>
</PARAM>
</PARAMETERS>
<ARCS>
<ARC to="workflowDONE"/>
</ARCS>
</NODE>
<NODE name="publishToPublicGraphDB" type="LaunchWorkflowTemplate">
<DESCRIPTION>Publish records to the public GraphDB</DESCRIPTION>
<PARAMETERS>
<PARAM name="wfTemplateId" value="7426eaaf-93c9-4914-b69a-c9d5c478405a_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ=="/>
<PARAM name="wfTemplateParams">
<MAP>
<ENTRY key="dsId" value="$dsId$" />
<ENTRY key="dsName" value="$dsName$" />
<ENTRY key="interface" value="$interface$" />
<ENTRY key="cleanMdstoreId" ref="cleanMdstoreId"/>
<ENTRY key="publisherEndpoint" ref="publicPublisherEndpoint" />
</MAP>
</PARAM>
</PARAMETERS>
<ARCS>
<ARC to="success"/>
</ARCS>
</NODE>
<NODE name="workflowDONE">
<DESCRIPTION>A Fake node</DESCRIPTION>
<PARAMETERS/>
<ARCS>
<ARC to="success"/>
</ARCS>
</NODE>
</WORKFLOW>
<DESTROY_WORKFLOW_TEMPLATE id="b54ff264-ed25-46a5-86df-dfbefb0b22be_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==">
<PARAMETERS>
<PARAM name="dsId" value="$dsId$" />
<PARAM name="dsName" value="$dsName$" />
<PARAM name="interface" value="$interface$" />
<PARAM name="collMdstoreId" ref="collMdstoreId" />
<PARAM name="cleanMdstoreId" ref="cleanMdstoreId" />
<PARAM name="indexId" ref="indexId" />
</PARAMETERS>
</DESTROY_WORKFLOW_TEMPLATE>
</CONFIGURATION>
<NOTIFICATIONS/>
<SCHEDULING enabled="false">
<CRON>9 9 9 ? * *</CRON>
<MININTERVAL>10080</MININTERVAL>
</SCHEDULING>
<STATUS/>
</BODY>
</RESOURCE_PROFILE>

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<RESOURCE_PROFILE>
<HEADER>
<RESOURCE_IDENTIFIER value="5098c791-1656-4e7e-b901-f3cc150ef686_V29ya2Zsb3dEU1Jlc291cmNlcy9Xb3JrZmxvd0RTUmVzb3VyY2VUeXBl"/>
<RESOURCE_TYPE value="WorkflowDSResourceType"/>
<RESOURCE_KIND value="WorkflowDSResources"/>
<RESOURCE_URI value=""/>
<DATE_OF_CREATION value="2020-12-18T12:00:00.0Z"/>
</HEADER>
<BODY>
<WORKFLOW_NAME>Aggregate and Publish Metadata on GraphDB</WORKFLOW_NAME>
<WORKFLOW_DESCRIPTION>Aggregate and publish metadata on GraphDB</WORKFLOW_DESCRIPTION>
<WORKFLOW_INFO>
<FIELD name="Action">Aggregate Metadata</FIELD>
<FIELD name="Datasource class">Content Provider</FIELD>
</WORKFLOW_INFO>
<WORKFLOW_FAMILY>REPO_HI</WORKFLOW_FAMILY>
<WORKFLOW_PRIORITY>20</WORKFLOW_PRIORITY>
<CONFIGURATION status="EXECUTABLE" start="MANUAL">
<PARAMETERS/>
<WORKFLOW>
<NODE name="VerifyDatasource" type="VerifyDatasource" isStart="true">
<DESCRIPTION>Verify if DS is pending</DESCRIPTION>
<PARAMETERS>
<PARAM name="expectedInterfaceTypologyPrefixes" value=""/>
<PARAM name="expectedCompliancePrefixes" value="metadata,native"/>
</PARAMETERS>
<ARCS>
<ARC to="registerAggregationWf"/>
<ARC to="validateDs" name="validateDs"/>
</ARCS>
</NODE>
<NODE name="validateDs" type="ValidateDatasource">
<DESCRIPTION>Validate DS</DESCRIPTION>
<PARAMETERS/>
<ARCS>
<ARC to="registerAggregationWf"/>
</ARCS>
</NODE>
<NODE name="registerAggregationWf" type="RegisterWorkflowFromTemplate">
<DESCRIPTION>Create Workflow</DESCRIPTION>
<PARAMETERS>
<PARAM name="wfName" value="Aggregate and publish on GraphDB AriadnePlus content"/>
<PARAM name="wfTemplate" value="/eu/dnetlib/ariadneplus/workflows/repo-hi/aggregation_to_graphdb_wf.xml.st"/>
<PARAM name="description" value="Aggregate and publish on GraphDB AriadnePlus content on shadow and public instance"/>
</PARAMETERS>
<ARCS>
<ARC to="createNative"/>
<ARC to="createTransformed"/>
<ARC to="prepareCreateIndex"/>
</ARCS>
</NODE>
<NODE name="createNative" type="CreateMDStore">
<DESCRIPTION>Create native store</DESCRIPTION>
<PARAMETERS>
<PARAM name="format" value="GMF"/>
<PARAM name="interpretation" value="native"/>
<PARAM name="layout" value="store"/>
<PARAM name="outputPrefix" value="harv_"/>
</PARAMETERS>
<ARCS>
<ARC to="updateParameters"/>
</ARCS>
</NODE>
<NODE name="createTransformed" type="CreateMDStore">
<DESCRIPTION>Create CIDOC store</DESCRIPTION>
<PARAMETERS>
<PARAM name="format" value="CIDOC"/>
<PARAM name="interpretation" value="cleaned"/>
<PARAM name="layout" value="store"/>
<PARAM name="outputPrefix" value="clean_"/>
</PARAMETERS>
<ARCS>
<ARC to="updateParameters"/>
</ARCS>
</NODE>
<NODE name="prepareCreateIndex" type="PrepareCreateIndex">
<DESCRIPTION>Prepare create index</DESCRIPTION>
<PARAMETERS>
<PARAM name="format" value="CIDOC"/>
<PARAM name="interpretation" value="transformed"/>
<PARAM name="layout" value="index"/>
</PARAMETERS>
<ARCS>
<ARC to="createIndex"/>
</ARCS>
</NODE>
<NODE name="createIndex" type="CreateIndex">
<DESCRIPTION>Create index</DESCRIPTION>
<PARAMETERS>
<PARAM name="outputPrefix" value="index_"/>
</PARAMETERS>
<ARCS>
<ARC to="updateParameters"/>
</ARCS>
</NODE>
<NODE name="updateParameters" type="UpdateWfParameters" isJoin="true">
<DESCRIPTION>Update Workflow Parameters</DESCRIPTION>
<PARAMETERS>
<PARAM name="envParams">
<MAP>
<ENTRY key="collMdstoreId" value="harv_id"/>
<ENTRY key="cleanMdstoreId" value="clean_id"/>
<ENTRY key="indexId" value="index_id"/>
</MAP>
</PARAM>
</PARAMETERS>
<ARCS>
<ARC to="success"/>
</ARCS>
</NODE>
</WORKFLOW>
</CONFIGURATION>
<NOTIFICATIONS/>
<SCHEDULING enabled="false">
<CRON>9 9 9 ? * *</CRON>
<MININTERVAL>10080</MININTERVAL>
</SCHEDULING>
<STATUS/>
</BODY>
</RESOURCE_PROFILE>
Loading…
Cancel
Save