Overview

The Dynamics 365 Event Management feature helps you to organize, manage, and process the events. When you install the event management solution, you get an event portal which gives the users a web application where they can get to know more about the event details. More information: Event Portal.

The event portal consists of two parts:

  1. Frontend
  2. REST API backend

You can implement the frontend using any of the available frameworks. The frontend part is a single page application and is fully customizable. The backend and the customization of the backend depends on the hosting type.

You can host a custom event website in two ways:

  1. Self-hosted
  2. Dynamics 365 Portal hosted

Prerequisites

You can build your frontend or customize the provided demo event website.

Note

The provided demo event website is an Angular framework based website. However, since the backend is not dependent on the frontend, you can use any framework of your choice.

To get started with customizing the demo event website, you need to follow these steps:

  1. Download the source code. Make sure that the version of the source code matches the version of the event management solution installed in your instance. More information: Download sample event website

  2. Install Node.js version 10.x or higher.

  3. Open Command Prompt or Powershell and run the command to check whether the installation is successful or not.

     node -v
    

    Note

    If you have a terminal or shell already open, restart it before typing in the command.

  4. Run the command to install the Angular CLI (command line interface) required to build and run the Angular application. More information: Angular CLI.

    npm install -g @angular/cli
    
  5. Navigate into the directory where you have downloaded the source code and run the command to fetch all the necessary packages required to run the website.

    npm install
    

    Note

    You need to run the command in the same directory where the package.json file is located.

  6. See public API documentation to interact with the backend services.

  7. Dynamics 365 for Marketing instance with Event Management solution and Portals solution installed. To install, see Dynamics 365 for Marketing app

Download sample event website

Select the version you would like to download from the table below.

Name Release Changes Uploaded
Sample Event Website 1.17.0 (September release) - Improve workflow for paid events.
- Fix compatibility issues for IE11.
- Improve event details page.
- Minor improvements and bug fixes.
Download
Sample Event Website 1.16.0 (August release) - Improve loading behavior of event page.
- Improve UI/UX of custom registration field of type boolean.
- Minor improvements and bugfixes.
Download
Sample Event Website 1.15.0 (July release) - Add information to the session list view, if the session is full.
- Add validation to custom registration fields.
- Improve translations.
- Fixing missing font-awesome icons after deploying to Portals.
- Minor improvements and bug fixes.
Download
Sample Event Website 1.14.0 (June release) Upgrade to Angular 7, improve UI & UX of checkout page, update and improve translations, improve DeployToD365Instance.ps1 script, improve custom registration field validation, other bug fixes Download
Sample Event Website 1.13.0 (April release) Waitlist functionality on session level, UI polishing, bug fixes Download
Sample Event Website 1.12.2 (March release) UI & UX improvements, bug fixes Download

Environment Configuration parameters

The src\environments folder contains sample configuration files for different environments (self-hosted, portal hosted, development). The configuration set up for the custom event website is made by creating an environment.ts file inside the \src\environments folder. You can find instructions on how to change the configuration in the related topics Environment configuration for self-hosted and Environment configuration for Portal hosted.

Some of the parameters that you need to understand before you start configuring your custom event website:

Parameter Description
production Enables or disables the production mode of the Angular application. More information: Angular Documentation.
buildVersion This field links to the version specified in the package.json file by default. There is no need to change this property. However, if you prefer not to expose the version of the application, you can set it to null.
apiEndpoint The URL that points to the event management API endpoint (which is used to retrieve information of events and to make registrations).
localizationEndpoint Points to the URL where the localization files are stored (by default they are stored in the root directory).
imagesEndpoint Specifies the base URL from where images are served. This configuration enables you to serve images from a different location which might be required if you want to use a content delivery network or image processing service.
useRestStack This setting specifies which API is used. If set to true, then the new event management public API is used. If set to false, then the deprecated event management Portal API is used. This API can only be used if you host the custom event website on Portals. To use the new event management public API, you need to register the web application.
emApplicationtoken This token authenticates your web application against the event management public API. You can retrieve the application token by registering a new web application in Dynamics 365 for Marketing instance. This token is not required if you're using the deprecated event management Portal API.
isAuthenticationEnabled This flag specifies whether the user authentication is supported or not (i.e., user can register or sign in). If set to false, then the application doesn't display a way to sign in or register.
useAadB2C Specifies whether you want to use Azure Active Directory B2C identity management for authentication. If you want to use Dynamics 365 Portals identity management then this flag needs to be set to false. If AAD B2C is enabled, then you need to configure the aadB2CConfig variable.
aadB2CConfig Configuration object used by event management application when AAD B2C identity management is enabled.
useMockData This setting can be used to return mock objects instead of making real API calls.

Backend customization

System customizer wants to add a new field to the existing event management entity and wants to see that field in the event website. For example if the custom_new_field field is added to the evtmgmt_pass entity. The passes for the event can be retrieved using the API endpoint api/v2.0/events/{readableEventId}/passes, but the result doesn't contain the newly added field.

To expose the new field to be visible in the API, follow the steps below:

  1. Open your Dynamics 365 for Marketing instance.
  2. Open Advanced Find
  3. Select the Website Entity Configurations entity from the dropdown and click on Results
  4. Click on New Website Entity Configuration to create a new record.
  5. Enter the name of your choice in the Name field.
  6. Select the entity that you want an extra field to be visible in the Selected Entity field.
  7. Write a JSON array that contains the new custom field that should be visible through the API in the Selected fields. This exposes the new custom field through the API, and you can utilize it in the frontend.

See also

Self-hosted
Dynamics 365 Portal hosted
Localization
Host your custom event website on Azure