Introduction
One of the major blocks of functionality within Dynamics 365 for Marketing is Event Management, which allows customers the ability to plan and manage their marketing events and webinars (see documentation for details). Event Management includes the ability to interact with a website to be able to present information about the event and receive registrations from interested participants. As described in this post, customers will have a choice in terms of how to deploy an Event Portal, with one of the options being to deploy the Event Portal template on a Power Portal.
This blog describes how customizations done in the Event Portal deployed in Power Portal can be ported across environments, thus allowing the transition of development work from development to testing to production environments. Event data elements (event, sessions, registrations, speakers, etc.) are not included in this blog as they are not considered configuration but rather data.
Event portal description
The Event Portal is a template for Power Portal that deploys a series of pages built to interact with Dynamics Marketing. This allows customers to quickly be able to have websites for their events which utilize the data entered in Dynamics Marketing (more information found here).
One additional use of the event portal is that it becomes the host of the marketing pages created within the application (see documentation). Once a marketing page has “gone live”, that page will be added to the Power Portal as a new page. It should be noted that by adding it, the Portal navigation is not updated to allow access to that page (the primary use of these pages is to be landing pages for marketing campaigns).
In other words, the Event Portal will have some out of the box pages aimed at surfacing event information with a defined structure plus additional pages for the various marketing pages designed and published in Dynamics Marketing.
Possible Customizations
The event portal has a defined structure and look and feel but that can be changed. Some aspects are taken directly from the event data (like event title, event image, agenda, etc.) while the look and feel is defined in Angular code. To support changes to the look and feel, Microsoft has provided the source code for the Angular portal so, instead of using the Power Portal designer tools, customers wishing to adapt the portal will need to do so by changing the Angular code. Details of the customization options are available in the documentation.
With the Marketing Pages, customizations are kept separate and done exclusively within the Marketing application. This would include the creation of assets like forms and images used in the pages. In this post, the focus is on the Event Portal development and deployment not the Marketing Pages.
Modifying the Event Portal
- Get the development environment ready by:
- Deploying the Event Portal during the Dynamics Marketing installation process as per the documentation which requires either a production or non-production license (cannot use Solution Only)
- Following the developer prerequisites
- Overwriting the sample website with the latest version as documented here.
- Establishing a source code repository like Azure Dev Ops
- Make the necessary changes to the portal by changing the source code.
- Unit test through local deployment
- Check-in completed modifications to source code repository
Deploying Event Portal Changes to Higher Environments
Deploying the portal modifications can be done using the provided PowerShell script (DeployToDynamics365Instance.ps1). The script will be downloaded along with the portal source code. When using this script, it is necessary that the corresponding environment.d365.ts files has the appropriate values as described in the documentation.
While the configuration migration toolkit is used to deploy the sample website it is not recommended as the tool to transfer changes made to the portal. The reason for this is that the toolkit will not be able to distinguish between the pages used for the event portal modified by developers and the marketing pages designed and published from the Marketing App. These pages require not only the Power Portal pages but the associated data of Marketing pages, forms, form fields, images, etc. which are not easily transferable using the configuration migration toolkit. Because the changes made to the event portal would all be in the Angular code, it is easier to deploy by updating the source code only.
Marketing pages should not be moved as Power Portal assets but rather transferred as data between environments and republished.
For customers that have multiple portals deployed in the same instance (for example, having a Customer Portal in addition to the Event Portal), it is recommended that the additional portals (not including the Event Portal) are deployed using the Commend Line Interface (CLI) for Portals as described in the documentation.