S-RAMP Event Model
eric.wittmann Aug 12, 2014 2:06 PMDescription
In version 0.6 of S-RAMP we will be supporting a true (JMS) event mechanism that DTGov will leverage. This will replace the current DTGov polling approach to finding changes in the repository.
Objective
This discussion is intended to derive the data model that s-ramp should use when emitting events, along with the types of events.
Strawman Proposal
Event Type: New Artifact
Primary event key is the artifact UUID.
The event data model should include *all* s-ramp meta-data, including: 1) standard properties 2) custom properties 3) classifiers 4) relationships?? (not sure about #4)
Sample JSON data model:
{ "properties" : { "uuid" : "12345", "model" : "wsdl", "artifactType" : "WsdlDocument", "name" : "example.wsdl", "description" : "Something here.", "createdBy" : "ewittman", "version" : "1.0", "createdTimestamp" : "2014-01-01T11:33:17Z", "lastModifiedTimestamp" : "2014-01-01T11:33:17Z", "lastModifiedBy" : "ewittman", "targetNamespace" : "urn:org.example.wsdl/example.wsdl", "custom-property-1" : "foo", "custom-property-2" : "bar" }, "classifiers" : [ "http://www.jboss.org/overlord/deployment-status.owl#DevPass", "http://www.jboss.org/overlord/deployment-status.owl#QaPass" ] }
Event Type: Updated Artifact
Primary event key is the artifact UUID.
The event model will contain the *changes* to the artifact's meta-data, including: 1) standard properties 2) custom properties 3) classifiers 4) relationships?? (not sure about #4)
Sample JSON data model:
{ "old-properties" : { "name" : "example.wsdl", "description" : "Something here.", "lastModifiedTimestamp" : "2014-01-01T11:33:17Z", "lastModifiedBy" : "ewittman", "custom-property-2" : "bar" }, "properties" : { "name" : "example-updated.wsdl", "description" : "Something NEW here.", "lastModifiedTimestamp" : "2014-02-10T11:33:17Z", "lastModifiedBy" : "tbrady", "custom-property-2" : "new-value-here" }, "removed-classifiers" : [ "http://www.jboss.org/overlord/deployment-status.owl#DevPass", ], "added-classifiers" : [ "http://www.jboss.org/overlord/deployment-status.owl#QaFailed" ] }
Event Type: Deleted Artifact
Primary event key is the artifact UUID.
No other event data is necessary.