In this article, I would like to provide my thoughts about the latest changes which Microsoft provided for Dynamics Marketing Event Management application. One of the essential points points for me was that Microsoft deprecated Portal APIs. It was evident as they were always telling that this way to extract and update data in CDS is wrong as it might block the functionality of the whole portal, so now they finally created external service with APIs. Let’s go through some important topics about application extensibility as well as other issues which were changed or updated.
1. Portal API deprecation.
Previously we used web template which served all requests from Angular front-end through some synchronous plugins. Why was it bad to use Portal APIs? Here are some points on this:
- Synchronous Plugins literally lock-up Portal user experience
- Plugins have a timeout and do not fail gracefully
- Many strategies based on Queue entity are prone to locking
- This is proven to not scale once any larger user load is tested
Now, this way is deprecated, and Microsoft provided Event API 2.0. As far as I see this is Azure-hosted web service which can connect to your CDS environment and provide access to your Event-related data. More information you can find here: Using Events API. For using Event API 2.0, you also need to generate and configure special authentication token. In the configuration file, it is called: emApplicationtoken. More information on how to create this token you can find here: Register your web application to use Events API. Of course, it doesn’t really mean that we can’t use Liquid Script + FetchXML + Json response to extract whatever data we need from CDS and render this data using our Angular frontend. So in case, you are planning some massive changes in the Event Management portal check my article on this topic: Extending Event Management portals.
2. Several source code versions are available at the same time.
When I started working with Event management portals, there was only one master version of the source code which you might use. Nowadays we can choose which version of source code to work with. Starting from version 1.14.0 Microsoft did an upgrade till Angular 7.0. The latest release from Septemeber fixes compatibility issues with IE 11. These issues came from early releases, and it was not really possible to use Event Management portals with IE 11. I also provided a fixed version of polyfills, you can find it in my previous article about Event management portals. To get more information about available source code versions, please check the following link: Download sample event website
3. User authentication using Events API 2.0.
With the latest version of Event API 2.0, it is possible to use Azure Active Directory B2C. More information about the configuration can be found here: User authentication using Events API.