In this exercise we'll develop a custom application on top of the Alfresco Digital Business Platform that uses image recognition to automatically tag images added to the Alfresco Content Services repository, then start a process that requests verification of tags by a human before actually associating them with the content in the repository.
Various users will be adding content to the repository.
A component which enables event consumption from the Alfresco Digital Business Platform.
Monitors Alfresco events from the Event Gateway for addition of images, automatically tags them via image recognition, and starts an instance of the tag verification process.
It can also return a history of past tagging results via REST API.
An Alfresco Process Services process is defined for designated users to verify the resulting tags.
End-users access the UI to verify tags.
The example includes Helm charts for easy deployment and management on Kubernetes.
Be sure to check out the Alfresco Anaxes Shipyard and the related Hello World example.
See alfresco-dbp-deployment (currently private unfortunately, but the other components are usuable against other forms of deployment as well)
See alfresco-event-gateway-poc-deployment
At the moment the example requires a user with the same username and password in both ACS and APS.
See rgauss-devcon-2018-process
See rgauss-devcon-2018-backend-service-deployment
See rgauss-devcon-2018-ui-deployment
All REST calls from both the UI and backend service should go through the API Gateway rather than directly to individual services.
The UI should redirect to the common auth service for login.
Both the UI and the backend service should obtain an 'external' token from the common auth service which can then be presented to the API Gateway which will exchange it for an 'internal' token to be passed to the consuming services within the DBP.
A parent Helm chart could be developed which declares the backend service and UI as requirement charts, though in this case it might make more sense to keep them separate as they are not tightly coupled and could certainly have different lifecycles.