128 lines
4.6 KiB
Markdown
128 lines
4.6 KiB
Markdown
gCube CMS Suite : Notifications Plugin
|
||
--------------------------------------------------
|
||
|
||
gCube CMS Suite is a set of components designed to manage complex space-temporal Documents defined by metadata Profiles.
|
||
|
||
This module is expected to contain plugin definitions for the generations of notifications upon certain Lifecycle events.
|
||
|
||
|
||
## Built with
|
||
* [gCube SmartGears] (https://gcube.wiki.gcube-system.org/gcube/SmartGears) - The gCube SmartGears framework
|
||
* [OpenJDK](https://openjdk.java.net/) - The JDK used
|
||
* [JAX-RS](https://github.com/eclipse-ee4j/jaxrs-api) - Java™ API for RESTful Web Services
|
||
* [Jersey](https://jersey.github.io/) - JAX-RS runtime
|
||
* [Maven](https://maven.apache.org/) - Dependency Management
|
||
|
||
## Documentation
|
||
[gCube CMS Suite](../) parent module containing references, documentation, guides ad utilities.
|
||
|
||
This plugin requires a configuration of type:
|
||
|
||
```json
|
||
{
|
||
"subscribeNotifications": [
|
||
{
|
||
"event": "EVENT_NAME",
|
||
"notificationFor": [
|
||
{
|
||
"roles": [
|
||
"USER_ROLE"
|
||
],
|
||
"when": [
|
||
{
|
||
"target_phase": [
|
||
"TARGET_PHASE"
|
||
],
|
||
"last_invoked_step": LAST_INVOKED_STEP_1,
|
||
"notify": [
|
||
{
|
||
"type": "NOTIFICATION_TYPE",
|
||
"send": "true/false",
|
||
"placeholder_title": "PLACEHOLDER_TITLE_1",
|
||
"placeholder_msg": "PLACEHOLDER_MESSAGE_1",
|
||
"export_as_pdf": {
|
||
"placeholder_msg": "Export as PDF placeholder",
|
||
"export": true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"target_phase": [
|
||
"TARGET_PHASE"
|
||
],
|
||
"last_invoked_step": LAST_INVOKED_STEP_2,
|
||
"notify": [
|
||
{
|
||
"type": "NOTIFICATION_TYPE",
|
||
"send": "true/false",
|
||
"placeholder_title": "PLACEHOLDER_TITLE_2",
|
||
"placeholder_msg": "PLACEHOLDER_MESSAGE_2",
|
||
"export_as_pdf": {
|
||
"placeholder_msg": "Export as PDF placeholder",
|
||
"export": true
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"enabled":true/false,
|
||
"link_to_notifications_messages" (mandatory): "link to file containg the messages as properties like PLACEHOLDER_MESSAGE_{N} = value"
|
||
}
|
||
```
|
||
|
||
Where:
|
||
|
||
* `enabled`: (optional) can be true/false. Default is true. It enables or not the plugin.
|
||
* `link_to_notifications_messages`: it is the URL to Notifications Messages file with placeholder values. A property file like PLACEHOLDER_MESSAGE_{N} = value
|
||
|
||
and
|
||
|
||
* `EVENT_NAME` (mandatory) can be: `PROJECT_CREATED`, `PROJECT_UPDATED`, `PROJECT_DELETED`, `LIFECYCLE_STEP_PERFORMED`;
|
||
* `USER_ROLE` (mandatory) can be: `Data-Manager`, `Data-Editor`, `Member`, `Item_Creator`, `Any`;
|
||
* `TARGET_PHASE` (mandatory) can be: `DRAFT`, `Pending Approval`, `Published`, `Any`;
|
||
* `LAST_INVOKED_STEP` (optional) can be: `SUBMIT-FOR-REVIEW`, `APPROVE-SUBMITTED`, `REJECT-DRAFT`, `UNPUBLISH`;
|
||
* `NOTIFICATION_TYPE` (mandatory) can be: `USER_NOTIFICATION`, `VRE_POST`, `EMAIL`;
|
||
|
||
|
||
## Change log
|
||
|
||
See [CHANGELOG.md](CHANGELOG.md).
|
||
|
||
## 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);
|
||
|