We are investigating at the moment for a client the possibilities for an integration of a content management system in Pega 7.4.0.
The standard capabilities for CMS integration cannot be used here, because of the complexity of the content, so the approach is to show the content from the CMS via an IFrame in Pega.
In the content itself the CMS system can use actions (i.e. a button) which must result in a processing on the Pega side. I.e. start of a case or opening of a third party application. The "action repository" and the handling of the actions is defined on the Pega side, so CMS have to raise only the action identifier to the pega session of the current requestor. Information about this session are provided to the CMS in the IFrame URL (dynamic URL).
What options are possible to provide the action information from the IFrame to Pega? What is the best way to setup this communication in Pega?
1. Since you say that the content is complex, you are still going to get some encoded / encrypted text back from the CMS and then decrypt with the shared key or decode and then display inside the custom control / html. Is that correct? If yes then you can add the buttons in the html control and then use AJAX to trigger Pega actions or use event listeners on the parent page to trigger processes in Pega application.
2. How many pages of data do you expect? I assume it would be multi pages and in that context can each page have a different set of actions? or would the actions be common for the entire content? If this is not true, then you have to investigate how you can embed external buttons/ action objects in each page.Once you have that, you can try the approach above using Ajax or creating custom JS libraries to share events.