Some one please let me know what is the use of "event-user-data:changedByWorkflowProcess" in ExcludeList in Workflow Launcher configuration.
I am creating a new launcher and added "jcr:lastModified,dc:modified,dc:format,jcr:lastModifiedBy" in the exclude list. Should I really need to add "event-user-data:changedByWorkflowProcess" also in the exclude list.
The “event-user-data:changedByWorkflowProcess“ part of the launcher config is not about a property on the payload, it’s actually about user data on the session that made the change. This condition was added to DAM update Asset to prevent the workflow to be triggered by any other workflow process which modified the DAM assets through the process.
This is a reply to a very old question. But anyways I tell you my view on this topic :
For answering your question first we need to understand what this property means :
Adding a node, moving a node or removing a node can results in many events in our AEM system. This is exactly what we configure in our Launchers as well. Whenever an event is fired, it is working with a Session in our AEM system and during that session we can give an identifier/userData or what we call "event-user-data" to that session.
Hence whenever this event is fired the identifier/userData/event-user-data is attached to the event/session.
One example could be found in the codebase for ACS tools assets importer. Open the link below and try to search for setUserData :
So the code in the above file is saving "acs-aem-tools.csv-asset-importer" as the user data.
One of the uses of this event-user-data comes while configuring a launcher.
There is an exclude list property available for every launcher and it means that the launcher should not be triggered for any of the jcr:events on the properties mentioned in the exclude list.
Also, additionally you can mention any event-user-data value over there if you want the launcher not to start while your custom event is running.
So in the case of the CSV Asset importer - if in case you want that some launcher does not start when this servlet is running, then mention the event-user-data:acs-aem-tools.csv-asset-importer as on of the properties of the exclude.
In some cases, we don't want to start the "DAM update Asset workflow" while importing assets with CSV Asset importer because of huge asset data. So in these cases, we can add the event user data to the launcher as shown below :
From then on, if you use the CSV importer to import assets, the DAM Update asset workflow will not start on those assets.
So you can manually then start the same workflow on the asset data you want.