merged with `event_manager` branch, see

#18
This commit is contained in:
Francesco Mangiacrapa 2024-06-28 16:54:36 +02:00
parent b44edff8c7
commit 37f84a915a
3 changed files with 174 additions and 27 deletions

View File

@ -312,10 +312,10 @@
"path": "$._theDocument.cronologiaMacrofase", "path": "$._theDocument.cronologiaMacrofase",
"type": "TEXT", "type": "TEXT",
"apply_regex": { "apply_regex": {
"type": "replaceAll", "type": "replaceAll",
"regex": "(\\s)?\\([\\s\\S]*", "regex": "(\\s)?\\([\\s\\S]*",
"replacement": "" "replacement": ""
} }
}, },
{ {
"name": "specifiche_cronologia", "name": "specifiche_cronologia",
@ -344,6 +344,132 @@
] ]
} }
}, },
{
"_id": "Catalogue-Binding-Plugin",
"_type": "EventListener",
"_configuration": {
"subscribeEvents": [
{
"event": "LIFECYCLE_STEP_PERFORMED",
"when": [
{
"target_phase": [
"Published"
],
"last_invoked_step": "APPROVE-SUBMITTED"
},
{
"target_phase": [
"DRAFT"
],
"last_invoked_step": "UNPUBLISH"
}
]
},
{
"event": "PROJECT_DELETED"
}
],
"freemarker_template_host": "https://code-repo.d4science.org",
"freemarker_template_path": "gCubeSystem/gcube-cms-suite/raw/branch/event_manager/D4S_UCDs/DEV/devVRE/catalogue/binding/freemarker_templates/d4gna_to_catalogue.ftl",
"enabled": true
}
},
{
"_id": "Notifications-Plugin",
"_type": "EventListener",
"_configuration": {
"subscribeNotifications": [
{
"event": "LIFECYCLE_STEP_PERFORMED",
"notificationFor": [
{
"roles": [
"Data-Manager"
],
"when": [
{
"target_phase": [
"Pending Approval"
],
"last_invoked_step": "SUBMIT-FOR-REVIEW",
"notify": [
{
"type": "USER_NOTIFICATION",
"send": true,
"placeholder_title": "TITLE_REVIEW_REQUIRED",
"placeholder_msg": "MSG_REVIEW_REQUIRED"
}
]
},
{
"target_phase": [
"DRAFT"
],
"last_invoked_step": "REJECT-DRAFT",
"notify": [
{
"type": "USER_NOTIFICATION",
"send": true,
"placeholder_title": "TITLE_ITEM_REJECTED",
"placeholder_msg": "MSG_ITEM_REJECTED"
}
]
}
]
},
{
"roles": [
"Item_Creator"
],
"when": [
{
"target_phase": [
"DRAFT"
],
"last_invoked_step": "REJECT-DRAFT",
"notify": [
{
"type": "USER_NOTIFICATION",
"send": true,
"placeholder_title": "TITLE_ITEM_REJECTED_REVIEW_REQUIRED",
"placeholder_msg": "MSG_ITEM_REJECTED_REVIEW_REQUIRED"
}
]
}
]
},
{
"roles": [
"Any"
],
"when": [
{
"target_phase": [
"Published"
],
"last_invoked_step": "APPROVE-SUBMITTED",
"notify": [
{
"type": "VRE_POST",
"send": true,
"placeholder_msg": "MSG_ITEM_PUBLISHED",
"export_as_pdf": {
"export": false,
"placeholder_msg": "MSG_GO_TO_PDF"
}
}
]
}
]
}
]
}
],
"enabled": true,
"link_to_notifications_messages": "https://code-repo.d4science.org/gCubeSystem/gcube-cms-suite/raw/branch/event_manager/D4S_UCDs/DEV/devVRE/notifications/Notifications_Messages_ita.properties"
}
},
{ {
"_id": "org.gcube.portlets.user.geoportal-data-entry-app", "_id": "org.gcube.portlets.user.geoportal-data-entry-app",
"_type": "DATA_ENTRY_GUI", "_type": "DATA_ENTRY_GUI",

View File

@ -94,7 +94,7 @@
"_description": "Embedded profile for concessioni estere [mibac] management", "_description": "Embedded profile for concessioni estere [mibac] management",
"_creationInfo": { "_creationInfo": {
"_user": { "_user": {
"_username": "francesco.mangiacrapa" "_username": "fabio.sinibaldi"
} }
}, },
"_dataAccessPolicies": [ "_dataAccessPolicies": [
@ -353,7 +353,7 @@
"gcubeSecondaryType": "GeoNaMetadata", "gcubeSecondaryType": "GeoNaMetadata",
"gcubeName": "Informazioni_di_progetto_estero", "gcubeName": "Informazioni_di_progetto_estero",
"sectionName": "$.", "sectionName": "$.",
"sectionTitle": "Informazioni di Progetto Estero" "sectionTitle": "Informazioni di Progetto per l'Estero"
}, },
{ {
"gcubeSecondaryType": "GeoNaMetadata", "gcubeSecondaryType": "GeoNaMetadata",

View File

@ -8,27 +8,12 @@ gCube CMS Suite is a distributed full stack application for publication manageme
Rationale : Rationale :
Publication involves lots of common features as well as custom behaviour and formats. The service implements the basic common logic, delegating to installed plugin both cutom and configurable functions ranging from validation, data manifestazion, indexing and lifecycle management. Publication involves lots of common features as well as custom behaviour and formats. The service implements the basic common logic, delegating to installed plugin both custom and configurable functions ranging from validation, data manifestation, indexing and lifecycle management.
Lifecycle management is itself an extension allowing for both common and complex ad-hoc workflows. **Lifecycle management** is itself an extension allowing for both common and complex ad-hoc workflows.
High modularity of plugins allows for the composition of ad hoc use cases with maximized re-usability. **High modularity of plugins** allows for the composition of ad hoc use cases with maximized re-usability.
The suite comes with a set of pre-built plugins and GUIs that communities can easily extend and / or reuse. The suite comes with a set of pre-built plugins and GUIs that communities can easily extend and / or reuse.
## General Architecture
[<img src="https://gcube.wiki.gcube-system.org/images_gcube/c/ce/Geoportal_General_Architecture.jpg">](https://geoportal.cloud.d4science.org/geoportal-service/docs/architecture.html)
## Use Case
##### D4GNA: component diagram
<img src="https://gcube.wiki.gcube-system.org/images_gcube/2/2e/Geoportal-Service_Workflow_and_Interactions_with_Engines.png" style="max-width:800px;" alt="D4GNA context: engines involved">
## Documentation
* [Dedicated Wiki](https://geoportal.d4science.org/geoportal-service/docs/index.html#) - powered by [Sphynx](https://www.sphinx-doc.org/en/master/)
* [Service Interactive API](https://geoportal.d4science.org/geoportal-service/api-docs/index.html) - powered by [Enunciate](http://enunciate.webcohesion.com/)
* [Gcube System Wiki](https://gcube.wiki.gcube-system.org/gcube/GeoPortal).
* [Guide Notebooks](use-cases) - powered by [Jupyter](https://jupyter.org/)
## Built with ## Built with
* [gCube SmartGears](https://gcube.wiki.gcube-system.org/gcube/SmartGears) - The gCube SmartGears framework * [gCube SmartGears](https://gcube.wiki.gcube-system.org/gcube/SmartGears) - The gCube SmartGears framework
* [OpenJDK](https://openjdk.java.net/) - The JDK used * [OpenJDK](https://openjdk.java.net/) - The JDK used
@ -37,6 +22,43 @@ The suite comes with a set of pre-built plugins and GUIs that communities can ea
* [Maven](https://maven.apache.org/) - Dependency Management * [Maven](https://maven.apache.org/) - Dependency Management
* [Enunciate](http://enunciate.webcohesion.com/) - API Documentation * [Enunciate](http://enunciate.webcohesion.com/) - API Documentation
## General Architecture
[<img src="https://gcube.wiki.gcube-system.org/images_gcube/c/ce/Geoportal_General_Architecture.jpg">](https://geoportal.cloud.d4science.org/geoportal-service/docs/architecture.html)
## Lifecycle Managements
Document Lifecycle Managements in action:
##### Single Step (no moderation)
<img src="https://gcube.wiki.gcube-system.org/images_gcube/8/8c/SingleStep_LC.png" style="max-width:600px;" alt="Default Single Step lifecycle">
##### 3 Phases (content moderation)
<img src="https://gcube.wiki.gcube-system.org/images_gcube/d/d8/Default3Phases_LC.png" style="max-width:750px;" alt="Default 3 Phases lifecycle">
## Plugins
Plugins in action:
* [Lifecycle Manager](/gCubeSystem/gcube-cms-suite/src/branch/master/default-lc-managers)
* [Spatial Data Infrastructure "SDI"](/gCubeSystem/gcube-cms-suite/src/branch/master/sdi-plugins)
* [Notifications](/gCubeSystem/gcube-cms-suite/src/branch/master/notifications-plugins)
* [Catalogue Binding](/gCubeSystem/gcube-cms-suite/src/branch/event_manager/catalogue-binding-plugin)
## Use Case
##### The D4GNA
["Dataset per il Geoportale Nazionale per lArcheologia"](https://gna.d4science.org)
Component diagram:
<img src="https://gcube.wiki.gcube-system.org/images_gcube/2/2e/Geoportal-Service_Workflow_and_Interactions_with_Engines.png" style="max-width:800px;" alt="D4GNA context: engines involved">
## Documentation
* [Dedicated Wiki](https://geoportal.d4science.org/geoportal-service/docs/index.html#) - powered by [Sphynx](https://www.sphinx-doc.org/en/master/)
* [Service Interactive API](https://geoportal.d4science.org/geoportal-service/api-docs/index.html) - powered by [Enunciate](http://enunciate.webcohesion.com/)
* [Gcube System Wiki](https://gcube.wiki.gcube-system.org/gcube/GeoPortal).
* [Guide Notebooks](use-cases) - powered by [Jupyter](https://jupyter.org/)
## Change log ## Change log
@ -44,10 +66,9 @@ See [CHANGELOG.md](CHANGELOG.md).
## Authors ## Authors
* **Fabio Sinibaldi** ([ORCID](https://orcid.org/0000-0003-1013-6203)) Computer Scientist at ISTI-CNR * **Fabio Sinibaldi** as "Architect", "Developer" ([ORCID](https://orcid.org/0000-0003-1013-6203)) Computer Scientist at ISTI-CNR
* **Francesco Mangiacrapa** ([ORCID](https://orcid.org/0000-0002-6528-664X)) Computer Scientist at [ISTI-CNR Infrascience Group](http://nemis.isti.cnr.it/groups/infrascience)
* **Francesco Mangiacrapa** as "Architect", "Developer" and "Maintainer" ([ORCID](https://orcid.org/0000-0002-6528-664X)) Computer Scientist at [ISTI-CNR Infrascience Group](http://nemis.isti.cnr.it/groups/infrascience)
## License ## License