Alfresco Content Services Event Model is a library packaged as a jar file which is part of Alfresco Content Services Repository. The library contains the events models and databind helpers to help the clients to marshall and unmarshall the events.
Property | Type | Description |
---|---|---|
type |
String | The Alfresco event type. (1.0 spec#type) |
specversion |
String | The CloudEvents specification version. Value should be '1.0'. (1.0 spec#specversion) |
id |
String | Event ID, a UUID generated by the producer (1.0 spec#id) |
source |
URI-reference | The instance of a repository that produced the event, .i.e. repository cluster node identifier (1.0 spec#source) |
time |
Timestamp | The producer's timestamp of when the event occurred. (1.0 spec#time) |
dataschema |
URI-reference | Identifies the schema that data adheres to |
datacontenttype |
String | The content type of the data attribute. Value should be 'application/json'. (1.0 spec#datacontenttype) |
data |
JSON | The domain-specific data of the event. (1.0 spec#data) |
data.eventGroupId |
String | Optional unique identifier for events group, i.e. a transaction ID |
data.resource |
Object (varies) | The object representing the resource affected |
data.resourceBefore |
Object (varies) | The object representing the old values of the changed resource's attributes. Note, this object is only available on the Updated event type |
extensionAttributes |
Object (varies) | (Optional) The object representing extension attributes (if any) that can be additionally added to the event. Note, this object will not be serialized if it is null. |
Property | Type | Description |
---|---|---|
data.resource.id |
String | The unique ID of the resource, i.e. a node ID |
data.resource.primaryHierarchy |
Array | Optional primary hierarchy of ancestors of the resource affected, i.e. folder path for content. Note that the first element is the immediate parent |
The rest of resource object attributes are self explanatory. See JSON Schema for the detailed view of the attributes' types.
Name | Description |
---|---|
org.alfresco.event.node.Created |
Occurs when a node is created |
org.alfresco.event.node.Updated |
Occurs when a node is updated or moved. Currently only node's name, type, properties, aspects, and content are supported |
org.alfresco.event.node.Deleted |
Occurs when a node is deleted |
org.alfresco.event.assoc.child.Created |
Occurs when a secondary child association is created |
org.alfresco.event.assoc.child.Deleted |
Occurs when a secondary child association is deleted |
org.alfresco.event.assoc.peer.Created |
Occurs when a peer association is created |
org.alfresco.event.assoc.peer.Deleted |
Occurs when a peer association is deleted |
For a detailed view of the event content refer to Repo Event JSON schema.
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Created",
"id": "97c1b36c-c569-4c66-8a31-7a8d0b6b804a",
"source": "/f6d21231-618e-4f12-a920-e498660c5b9d",
"time": "2020-04-27T12:37:03.560134+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeCreated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "cb645043-e7d2-4e51-b61d-e6d01582cbab",
"resource": {
"id": "7491120a-e2cb-478f-8599-ebf057cc0c7c",
"name": "testFile.txt",
"nodeType": "cm:content",
"primaryAssocQName": "cm:testFile.txt",
"secondaryParents": [],
"isFolder": false,
"isFile": true,
"createdByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"createdAt": "2020-04-27T12:37:03.555624+01:00",
"modifiedByUser": {
"id": "jane.doe",
"displayName": "Jane Doe"
},
"modifiedAt": "2020-04-27T12:37:03.557956+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 16,
"encoding": "UTF-8"
},
"primaryHierarchy": [
"521aac1c-20eb-444b-a137-2da3d35ee1a8",
"2641bbe1-39ff-44dc-b47f-736552ad46cc"
],
"properties": {
"cm:title": "test title"
},
"aspectNames": [
"cm:titled",
"cm:auditable"
]
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "35378a74-e572-4e6c-8107-5418ed28473b",
"source": "/8a49c5b4-d9aa-4c1d-9dd6-d57d2e8541a7",
"time": "2020-05-15T11:27:45.266278+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "5ad32965-fd7d-480f-800d-90821c9d9e0b",
"resource": {
"id": "5acc515e-b08f-4898-b53f-ab587bae97d4",
"primaryHierarchy": [
"80272be0-0439-4de2-8ff3-a5f4cddc624f",
"d88a0730-8616-474b-bf92-b56ff975f5c5",
"cf9da5a5-3c82-47a1-adb6-366352ffd822"
],
"name": "book.jpeg",
"nodeType": "cm:content",
"primaryAssocQName": "cm:book.jpeg",
"secondaryParents": [],
"createdByUser": {
"id": "admin",
"displayName": "Administrator"
},
"createdAt": "2020-05-14T15:02:36.684+01:00",
"modifiedByUser": {
"id": "admin",
"displayName": "Administrator"
},
"modifiedAt": "2020-05-15T11:27:45.146+01:00",
"content": {
"mimeType": "image/jpeg",
"sizeInBytes": 6210,
"encoding": "UTF-8"
},
"properties": {
"cm:autoVersion": true,
"cm:versionType": "MAJOR",
"cm:versionLabel": "1.0",
"cm:autoVersionOnUpdateProps": false,
"exif:pixelXDimension": 195,
"cm:lastThumbnailModification": [
"doclib:1589464959119",
"imgpreview:1589464965398"
],
"exif:pixelYDimension": 130,
"cm:initialVersion": true
},
"aspectNames": [
"exif:exif",
"cm:versionable",
"cm:author",
"sys:localized",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"sys:cascadeUpdate",
"rn:renditioned",
"cm:auditable"
],
"isFolder": false,
"isFile": true
},
"resourceBefore": {
"primaryHierarchy": [
"fb78e935-5239-4035-b997-65c7cefaa633",
"d88a0730-8616-474b-bf92-b56ff975f5c5",
"cf9da5a5-3c82-47a1-adb6-366352ffd822"
]
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "d1b290e3-fa20-4aaa-b81a-04cfc11ef068",
"source": "/8a49c5b4-d9aa-4c1d-9dd6-d57d2e8541a7",
"time": "2020-05-15T14:55:46.326144+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "1870deed-9a41-4a83-a592-1d28beb0f8bf",
"resource": {
"id": "3b827125-987e-4ee4-aad6-1e2a0cc3cb5f",
"primaryHierarchy": [
"fb78e935-5239-4035-b997-65c7cefaa633",
"d88a0730-8616-474b-bf92-b56ff975f5c5",
"cf9da5a5-3c82-47a1-adb6-366352ffd822"
],
"name": "repo_5129.txt",
"nodeType": "cm:content",
"primaryAssocQName": "cm:repo_5129.txt",
"secondaryParents": [],
"createdByUser": {
"id": "admin",
"displayName": "Administrator"
},
"createdAt": "2020-05-15T14:50:51.508+01:00",
"modifiedByUser": {
"id": "admin",
"displayName": "Administrator"
},
"modifiedAt": "2020-05-15T14:55:46.271+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 8,
"encoding": "UTF-8"
},
"properties": {
"app:editInline": true,
"cm:lastThumbnailModification": [
"pdf:1589550869589"
]
},
"aspectNames": [
"app:inlineeditable",
"sys:localized",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"rn:renditioned",
"cm:auditable"
],
"isFolder": false,
"isFile": true
},
"resourceBefore": {
"modifiedAt": "2020-05-15T14:54:29.593+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 8,
"encoding": "UTF-8"
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "d1b290e3-fa20-4aaa-b81a-04cfc11ef068",
"source": "/8a49c5b4-d9aa-4c1d-9dd6-d57d2e8541a7",
"time": "2020-05-15T14:55:46.326144+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "1870deed-9a41-4a83-a592-1d28beb0f8bf",
"resource": {
"@type":"NodeResource",
"id": "3b827125-987e-4ee4-aad6-1e2a0cc3cb5f",
"primaryHierarchy": [
"fb78e935-5239-4035-b997-65c7cefaa633",
"d88a0730-8616-474b-bf92-b56ff975f5c5",
"cf9da5a5-3c82-47a1-adb6-366352ffd822"
],
"name": "repo_5129.txt",
"nodeType": "cm:content",
"primaryAssocQName": "cm:repo_5129.txt",
"secondaryParents": [],
"createdByUser": {
"id": "admin",
"displayName": "Administrator"
},
"createdAt": "2020-05-15T14:50:51.508+01:00",
"modifiedByUser": {
"id": "admin",
"displayName": "Administrator"
},
"modifiedAt": "2020-05-15T14:55:46.271+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 8,
"encoding": "UTF-8"
},
"properties": {
"app:editInline": true,
"cm:lastThumbnailModification": [
"pdf:1589550869589"
]
},
"aspectNames": [
"app:inlineeditable",
"sys:localized",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"rn:renditioned",
"cm:auditable"
],
"isFolder": false,
"isFile": true
},
"resourceBefore": {
"@type":"NodeResource",
"modifiedAt": "2020-05-15T14:54:29.593+01:00",
"content": {}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "6449e825-5f0d-40b9-904d-4371d717b1d8",
"source": "/f52eada4-0673-4dd7-8df6-9838ac911a46",
"time": "2020-05-15T14:10:58.717856+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "6eef795f-6c9f-46dd-93c2-b248caec8171",
"resource": {
"id": "9a6e488b-49a3-41ef-8032-82a2afbd153e",
"primaryHierarchy": [
"3244959b-f3a8-4bb9-82f5-d16300148bb8",
"9e5dd366-1d55-4b84-a8e5-54721d1e3748",
"190d8f46-13a1-443b-8d16-7e3c9f52cfc7"
],
"name": "testFile.txt",
"nodeType": "smf:smartFolderTemplate",
"primaryAssocQName": "cm:testFile.txt",
"secondaryParents": [],
"createdByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"createdAt": "2020-05-15T14:10:47.314+01:00",
"modifiedByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"modifiedAt": "2020-05-15T14:10:58.696+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 8,
"encoding": "UTF-8"
},
"properties": {
"app:editInline": true,
"cm:lastThumbnailModification": [
"pdf:1589548249020"
]
},
"aspectNames": [
"app:inlineeditable",
"sys:localized",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"rn:renditioned",
"cm:auditable"
],
"isFile": true,
"isFolder": false
},
"resourceBefore": {
"nodeType": "cm:content"
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "6449e825-5f0d-40b9-904d-4371d717b1d8",
"source": "/f52eada4-0673-4dd7-8df6-9838ac911a46",
"time": "2020-05-15T14:10:58.717856+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "6eef795f-6c9f-46dd-93c2-b248caec8171",
"resource": {
"@type":"NodeResource",
"id": "9a6e488b-49a3-41ef-8032-82a2afbd153e",
"primaryHierarchy": [
"3244959b-f3a8-4bb9-82f5-d16300148bb8",
"9e5dd366-1d55-4b84-a8e5-54721d1e3748",
"190d8f46-13a1-443b-8d16-7e3c9f52cfc7"
],
"name": "testFile.txt",
"nodeType": "smf:smartFolderTemplate",
"primaryAssocQName": "cm:testFile.txt",
"secondaryParents": [],
"createdByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"createdAt": "2020-05-15T14:10:47.314+01:00",
"modifiedByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"modifiedAt": "2020-05-15T14:10:58.696+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 8,
"encoding": "UTF-8"
},
"properties": {
"app:editInline": true,
"cm:lastThumbnailModification": [
"pdf:1589548249020"
],
"cm:title": "Test file1"
},
"aspectNames": [
"app:inlineeditable",
"sys:localized",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"rn:renditioned",
"cm:auditable"
],
"isFile": true,
"isFolder": false
},
"resourceBefore": {
"@type":"NodeResource",
"modifiedAt":"2020-05-12T15:13:10.889+01:00",
"properties": {
"cm:title": null
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "6449e825-5f0d-40b9-904d-4371d717b1d8",
"source": "/f52eada4-0673-4dd7-8df6-9838ac911a46",
"time": "2020-05-15T14:10:58.717856+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "6eef795f-6c9f-46dd-93c2-b248caec8171",
"resource": {
"@type":"NodeResource",
"id": "9a6e488b-49a3-41ef-8032-82a2afbd153e",
"primaryHierarchy": [
"3244959b-f3a8-4bb9-82f5-d16300148bb8",
"9e5dd366-1d55-4b84-a8e5-54721d1e3748",
"190d8f46-13a1-443b-8d16-7e3c9f52cfc7"
],
"name": "testFile.txt",
"nodeType": "smf:smartFolderTemplate",
"primaryAssocQName": "cm:testFile.txt",
"secondaryParents": [],
"createdByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"createdAt": "2020-05-15T14:10:47.314+01:00",
"modifiedByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"modifiedAt": "2020-05-15T14:10:58.696+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 8,
"encoding": "UTF-8"
},
"properties": {
"app:editInline": true,
"cm:lastThumbnailModification": [
"pdf:1589548249020"
],
"cm:title": "Test file2"
},
"aspectNames": [
"app:inlineeditable",
"sys:localized",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"rn:renditioned",
"cm:auditable"
],
"isFile": true,
"isFolder": false
},
"resourceBefore": {
"@type":"NodeResource",
"modifiedAt":"2020-05-14T15:13:10.889+01:00",
"properties": {
"cm:title": "Test file1"
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Updated",
"id": "37de61ba-72c9-4f8e-8f76-19e934c5cacf",
"source": "/bdf761f0-4190-44e8-853e-37729eec41a7",
"time": "2023-09-22T16:01:06.95Z",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeUpdated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "f1a65c60-3b5d-4774-a858-8d7bff036c8a",
"resource": {
"@type": "NodeResource",
"id": "a070d618-cf99-4413-a17d-c9a6d8d2a5a0",
"primaryHierarchy": [
"083cd638-79c1-4487-8804-470b45739127",
"ada3404d-7f62-4ef1-842b-a21b49cefca7",
"64b691f5-be1c-47e8-ab12-55feffdfc05a",
"24741732-c8c7-4ffb-9978-432a755768d4",
"d4bbdf7a-6ced-4fab-ad14-d293b9949d4d"
],
"name": "folderA",
"nodeType": "cm:folder",
"createdByUser": {
"id": "User-EQmyoOlvHPYYHsk",
"displayName": "FN-User-EQmyoOlvHPYYHsk LN-User-EQmyoOlvHPYYHsk"
},
"createdAt": "2023-09-22T15:31:44.687Z",
"modifiedByUser": {
"id": "User-EQmyoOlvHPYYHsk",
"displayName": "FN-User-EQmyoOlvHPYYHsk LN-User-EQmyoOlvHPYYHsk"
},
"modifiedAt": "2023-09-22T16:00:05.785Z",
"properties": {},
"aspectNames": [
"cm:auditable"
],
"primaryAssocQName": "cm:folderA",
"secondaryParents": [
"c74a32d1-04c2-4010-af29-968409a93640",
"1adff44b-a9b8-403f-b053-69c36285d4b2"
],
"isFile": false,
"isFolder": true
},
"resourceBefore": {
"@type": "NodeResource",
"modifiedAt": "2023-09-22T15:59:58.945Z",
"secondaryParents": [
"c74a32d1-04c2-4010-af29-968409a93640"
]
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Deleted",
"id": "54d95573-1e08-4ed3-946e-123704198c13",
"source": "/f52eada4-0673-4dd7-8df6-9838ac911a46",
"time": "2020-05-15T17:19:18.745537+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeDeleted",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "db22f279-bc46-4f1e-b616-fd94c4f813fc",
"resource": {
"id": "9e42c4db-765f-4fa0-9afe-8e87b1b419c5",
"primaryHierarchy": [
"3244959b-f3a8-4bb9-82f5-d16300148bb8",
"9e5dd366-1d55-4b84-a8e5-54721d1e3748",
"190d8f46-13a1-443b-8d16-7e3c9f52cfc7"
],
"name": "testFile.txt",
"nodeType": "cm:content",
"primaryAssocQName": "cm:testFile.txt",
"secondaryParents": [],
"createdByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"createdAt": "2020-05-14T16:57:31.079+01:00",
"modifiedByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"modifiedAt": "2020-05-15T17:03:04.018+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 16,
"encoding": "UTF-8"
},
"properties": {
"cm:title": "A different title",
"app:editInline": true,
"cm:lastThumbnailModification": [
"pdf:1589497052565"
]
},
"aspectNames": [
"app:inlineeditable",
"cm:author",
"sys:localized",
"sys:pendingDelete",
"cm:thumbnailModification",
"sys:referenceable",
"cm:titled",
"rn:renditioned",
"cm:auditable",
"cm:taggable"
],
"isFile": true,
"isFolder": false
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.assoc.child.Created",
"id": "6aa2c078-2317-46be-aaff-50df901a5270",
"source": "/f4fadb99-b29b-453d-b23b-9c33bf22f8eb",
"time": "2020-06-08T12:33:33.208424+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/childAssocCreated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "5f63c476-3dc8-4253-b807-31d7cdc4f0cc",
"resource": {
"@type": "ChildAssociationResource",
"assocType": "cm:contains",
"assocQName": "cm:12323-2341-222-3431-de3360d6e66g",
"parent": {
"id": "f47613d7-78b8-43b7-bc07-cb2260d6a66f"
},
"child": {
"id": "9c10d828-eef3-4dfe-a64c-0f903c6de7c6"
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.assoc.child.Deleted",
"id": "2ced8815-748a-48e3-a9ba-93ffb767bc78",
"source": "/f4fadb99-b29b-453d-b23b-9c33bf22f8eb",
"time": "2020-06-08T12:36:51.781289+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/childAssocDeleted",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "7e5526fc-8402-4f1f-9560-f997c7fc55d9",
"resource": {
"@type": "ChildAssociationResource",
"assocType": "cm:contains",
"assocQName": "cm:12323-2341-222-3431-de3360d6e66g",
"parent": {
"id": "f47613d7-78b8-43b7-bc07-cb2260d6a66f"
},
"child": {
"id": "9c10d828-eef3-4dfe-a64c-0f903c6de7c6"
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.assoc.peer.Created",
"id": "081cb242-12d3-46b5-a87c-9358d68e1e27",
"source": "/f4fadb99-b29b-453d-b23b-9c33bf22f8eb",
"time": "2020-06-08T12:37:45.902469+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/peerAssocCreated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "7479d8e5-93d0-48bd-924a-af422ce3fd0a",
"resource": {
"@type": "PeerAssociationResource",
"assocType": "cm:original",
"source": {
"id": "c9e55962-cbea-49c0-823b-b83f60bd3f36"
},
"target": {
"id": "9c10d828-eef3-4dfe-a64c-0f903c6de7c6"
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.assoc.peer.Deleted",
"id": "98bdd9b6-4be2-4902-8c85-c7eedd498a67",
"source": "/f4fadb99-b29b-453d-b23b-9c33bf22f8eb",
"time": "2020-06-08T12:38:41.103607+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/peerAssocDeleted",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "bc5a2d21-a5d1-4721-aee9-0eb8ee9cb75e",
"resource": {
"@type": "PeerAssociationResource",
"assocType": "cm:original",
"source": {
"id": "c9e55962-cbea-49c0-823b-b83f60bd3f36"
},
"target": {
"id": "9c10d828-eef3-4dfe-a64c-0f903c6de7c6"
}
}
}
}
{
"specversion": "1.0",
"type": "org.alfresco.event.node.Created",
"id": "97c1b36c-c569-4c66-8a31-7a8d0b6b804a",
"source": "/f6d21231-618e-4f12-a920-e498660c5b9d",
"time": "2020-04-27T12:37:03.560134+01:00",
"dataschema": "https://api.alfresco.com/schema/event/repo/v1/nodeCreated",
"datacontenttype": "application/json",
"data": {
"eventGroupId": "cb645043-e7d2-4e51-b61d-e6d01582cbab",
"resource": {
"id": "7491120a-e2cb-478f-8599-ebf057cc0c7c",
"name": "testFile.txt",
"nodeType": "cm:content",
"primaryAssocQName": "cm:testFile.txt",
"secondaryParents": [],
"isFolder": false,
"isFile": true,
"createdByUser": {
"id": "john.doe",
"displayName": "John Doe"
},
"createdAt": "2020-04-27T12:37:03.555624+01:00",
"modifiedByUser": {
"id": "jane.doe",
"displayName": "Jane Doe"
},
"modifiedAt": "2020-04-27T12:37:03.557956+01:00",
"content": {
"mimeType": "text/plain",
"sizeInBytes": 16,
"encoding": "UTF-8"
},
"primaryHierarchy": [
"521aac1c-20eb-444b-a137-2da3d35ee1a8",
"2641bbe1-39ff-44dc-b47f-736552ad46cc"
],
"properties": {
"cm:title": "test title"
},
"aspectNames": [
"cm:titled",
"cm:auditable"
]
}
},
"extensionAttributes": {
"someCustomObject": {
"id": "4cf25559-4c09-4457-96ea-af6c8a569e76",
"pos": 1234,
"someList": [
"Elem1",
"Elem2"
]
},
"additionalString": "String Extension Attribute",
"additionalNumber": 1234
}
}
The project can be built and tested by running the following Maven command:
mvn clean install
The artifact can be obtained by:
- downloading from Alfresco repository
- getting as Maven dependency by adding the dependency to your pom file:
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>acs-event-model</artifactId>
<version>version</version>
</dependency>
and Alfresco repository:
<repository>
<id>alfresco-maven-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
Note: The SNAPSHOT version of the artifact is never published.
For unmarshalling the JSON result to RepoEvent object, Java clients can you use the following factory to get the ObjectMapper configured with the RepoEvent format:
ObjectMapper mapper = ObjectMapperFactory.createInstance();
RepoEvent<EventData<NodeResource>> result = mapper.readValue(jsonString, new TypeReference<>()
{
});
If the event also has extensionAttributes
that contains an extension object, then you can use the same mapper to deserialize the extension to its expected object:
ExtensionAttributes resultExtensionAttributes = result.getExtensionAttributes();
Object extValue = resultExtensionAttributes.getExtension("Your-Extension-Name");
YOUR-OBJECT-TYPE obj = mapper.readValue(extValue.toString(), YOUR-OBJECT.class);
Other extension types (can only be one of the: String, Number, Boolean) can be retrieved directly without mapper. E.g.
String myExt = (String) resultExtensionAttributes.getExtension("someStringExt");
Please use this guide to make a contribution to the project.