gCube CMS Suite : Catalogue Binding Plugin -------------------------------------------------- The "Catalogue Binding Plugin" implements the binding from (the products registered in) the Geoportal system to the D4Science Catalogue system. ## Built with * [gCube SmartGears] (https://gcube.wiki.gcube-system.org/gcube/SmartGears) - The gCube SmartGears framework * [OpenJDK](https://openjdk.java.net/) - The JDK used * [Maven](https://maven.apache.org/) - Dependency Management **Uses** * Apache [FreeMarker](https://freemarker.apache.org/) is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) ## Documentation [gCube CMS Suite](../) parent module containing references, documentation, guides ad utilities. The "Catalogue Binding Plugin" requires a handler registered in the UCD so defined: ``` json { "_id": "Catalogue-Binding-Plugin", "_type": "EventListener", "_configuration": { "subscribeEvents": [ { "event": "{EVENT_1}", "when": [ { "target_phase": [ "{TARGET_PHASE}" ], "last_invoked_step": "{LAST_INVOKED_STEP}" } ] }, { "event": "{EVENT_2}" } ], "freemarker_template_host": "{FREEMARKER_TEMPLATE_HOST}", "freemarker_template_path": "{PATH_TO_FREEMARKER_TEMPLATE_NAME.ftl}", "enabled": {true|false} } } ``` About the config: the "event" part.. `"event": "{EVENT_1}",` is mandatory: * `{EVENT_X}` (mandatory) - can be ```PROJECT_CREATED, PROJECT_UPDATED, PROJECT_DELETED, LIFECYCLE_STEP_PERFORMED``` the "when" part.. `"when": [{...}]`, is optional: * `{TARGET_PHASE}` (optional) - can be: `DRAFT`, `Pending Approval`, `Published`, `Any`; * `{LAST_INVOKED_STEP}` (optional) can be: `SUBMIT-FOR-REVIEW​`, `APPROVE-SUBMITTED`, `REJECT-DRAFT​`, `UNPUBLISH`; the `{FREEMARKER_TEMPLATE_HOST}` is the host where the FREEMARKER_TEMPLATE.ftl is located and the `{FREEMARKER_TEMPLATE_NAME.ftl}` is the (complete) path to the FREEMARKER_TEMPLATE.ftl file. The template pointed by `{FREEMARKER_TEMPLATE_HOST}/{PATH_TO_FREEMARKER_TEMPLATE_NAME.ftl}` URL is applied to transform a Geoportal project to Catalogue Item object. `enabled` : set to `ŧrue` to activate the plugin `false` otherwise. NB. The configuration must contain the "when" part with `{TARGET_PHASE}` and `{LAST_INVOKED_STEP}` if the `{EVENT_X}` is `LIFECYCLE_STEP_PERFORMED` ## Change log See [CHANGELOG.md](CHANGELOG.md). ## Authors * **Francesco Mangiacrapa** ([ORCID](https://orcid.org/0000-0002-6528-664X)) Computer Scientist at [ISTI-CNR Infrascience Group](http://nemis.isti.cnr.it/groups/infrascience) ## License This project is licensed under the EUPL V.1.1 License - see the [LICENSE.md](LICENSE.md) file for details. ## About the gCube Framework This software is part of the [gCubeFramework](https://www.gcube-system.org/ "gCubeFramework"): an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments by favouring the realisation of reuse oriented policies. The projects leading to this software have received funding from a series of European Union programmes including: - the Sixth Framework Programme for Research and Technological Development - DILIGENT (grant no. 004260). - the Seventh Framework Programme for research, technological development and demonstration - D4Science (grant no. 212488); - D4Science-II (grant no.239019); - ENVRI (grant no. 283465); - iMarine(grant no. 283644); - EUBrazilOpenBio (grant no. 288754). - the H2020 research and innovation programme - SoBigData (grant no. 654024); - PARTHENOS (grant no. 654119); - EGIEngage (grant no. 654142); - ENVRIplus (grant no. 654182); - BlueBRIDGE (grant no. 675680); - PerformFish (grant no. 727610); - AGINFRAplus (grant no. 731001); - DESIRA (grant no. 818194); - ARIADNEplus (grant no. 823914); - RISIS2 (grant no. 824091);