Final Delivery

Solution Overview

At Hogwarts, we’ve revolutionized the administration of social events and classes, and student attendance tracking through a seamless integration of Dynamics Customer Insights Journeys, Pro-Code, Power Automate, Liquid, custom pages and Power pages.

By combining these technologies we have made both classes and social events easier to administer for the system users. The system users only have to create the events and there is no need for the users to create segments, emails or journeys. By combining technology from MappedIn, Power Automate and Power pages the status of the event registrations are handled by the system and removing a burden from the users since they no longer have to delete data (to cancel an event registration) or manually check in an event registration in a other table.

Navigating the vast and magical halls of Hogwarts can be quite the adventure. To make it easier for students and professors to find their way around, we’ve integrated Mappedin’s innovative search bar and routing functionality. Whether you’re looking for a specific classroom, common room, or office, Mappedin provides multiple ways to find your destination quickly and efficiently.

In addition to searching for rooms, Mappedin allows users to set routes to their desired destinations. Once a room is selected, the system provides step-by-step directions, ensuring that students and professors can navigate the castle efficiently. This routing functionality is particularly useful in a large and complex building like Hogwarts, where finding the shortest path can be a challenge. Whether you’re heading to the Great Hall for a feast or the Astronomy Tower for a late-night class, Mappedin has you covered.

By using MappedIn we’re able to send out real time communication as students approach classrooms, by using the Customer Insights Journey functionality. We’re using customer insights journeys to send communication that contains a link with utm parameters. When the students open up the link a customer journey using the trigger “When Marketing Site Visited”. We’re then able to get the link they open which also have the contact ID and The event Registration ID. By using a power automate and a custom trigger we can get the event registration and change the status to “Attended”.

Image of the process for classes:

Image of the process for Social Event:

User interface and landing zones

Students and professors are presented with a model-driven application where they open a landing page (custom page). From there students have a separate landing zone from the professors andhere they can navigate to other areas of the application. The custom page has three navigation points, the social events, the active classes for today and the Marauders map for getting a guide to show you around the school. The navigation points are connected to views, forms and other custom pages in the Model-driven app using PowerFx Navigation() function. From the Student landing zone, there is a PCF with a gamification aspect. Students can compete in fetching the Golden Snitch and score House Points and level up. Each time they level up the snitch moves faster.


See your classes and get guidance from the map. When approaching the class room you get a message that is based on location, registrating you for the class automatically.

Category Alignment

Fabric Fera Verto Our solution creates deep magical insights through:

POWER BI

In our Hogwarts App, we’ve conjured up some magical tools to make life even more exciting for our students and teachers. These enchanting features are designed to inspire, motivate, and bring a touch of wonder to everyday activities. Here is a list over our Magical Insights:

House Points Tracker
The battle for house glory just got more thrilling! We’ve introduced a House Points Chart, where students can keep track of the current standings and see which house is leading the charge. The bars shimmer in the house colors—scarlet for Gryffindor, emerald for Slytherin, sapphire for Ravenclaw, and gold for Hufflepuff—bringing the spirit of friendly competition to life.

Golden Snitch Leaderboard
Catch the Snitch, and claim your glory! The Golden Snitch Leaderboard highlights the top players in the beloved Snitch-chasing game. The rankings sparkle with magical hues: gold for first place, silver for second, and bronze for third. Will you be the next Seeker extraordinaire?

Class Attendance Tile
At Hogwarts, striving for 100% class attendance is a noble goal! To aid in this quest, we’ve added an Attendance Tile to the report. It reveals how each class fares in attendance, with fascinating insights. However, beware—the data shows a troublingly low turnout in Defense Against the Dark Arts! Could a bit of extra encouragement—or perhaps a strong Patronus—be the solution?

Students by House Chart
Curious about the balance of Hogwarts houses? The Students by House Pie Chart offers a delightful overview, showing the distribution of students across the four houses. Each slice of the pie is enchanted with its house color, providing a clear and colorful glimpse into Hogwarts’ magical diversity. This tool fosters greater understanding and unity among the houses.

With these mystical updates, we’re ensuring that every student and professor can dive deeper into the wonders of Hogwarts life. Keep exploring, keep competing, and most importantly—keep the magic alive!
A close-up of a graph

AI-generated content may be incorrect.

Low-Code Charms We’ve woven powerful low-code spells through:
Power Pages for event registration
Power Automate flows for attendance tracking
Custom pages with responsive design to enhance users’ experience
Enhanced date handling through PCF
Model-driven app to help teachers administrate the school

Marketing Events automation
To ease the task of creating new Subjects every Semester, we have decided to use some Power Automate automation 😊

This flow will run at the beginning of each year, and for every semester contained, it will iterate through all the subjects that take place during it and will create an event for every occurrence of the subject.

Finally, for every student that enrolled into the subject, it will create an event registration for every event.

Teachers can:
Assign points to the different houses.

Handle emails sent to the customer and check the events and event registrations created through our different automation processes.

Define the different rooms in which subjects can take place and link them to the interactive app


  

Power Pages


We used Power Pages to customize our event registrations and upcoming sessions – responsive and user friendly.

Through our Power Pages portal, where they can browse and sign up for both classes and social events. Upon registration, a Power Automate flow checks event capacity and automatically assigns the appropriate status, followed by a confirmation email containing event details, a QR code, and a cancellation link (Generated by power automate). Students receive timely reminders as the event approaches. Should plans change, students can easily cancel their registration through a personalized link, triggering another Power Automate flow that updates their status to “Cancelled”.

When a student is created in Dataverse a power automate triggers generating a unique url to an overview of their upcoming classes. The url is sent out with marketing emails to student as the semester start is approaching to all of the students. When a event is created a unique url to that event is created. The url is then connected to the buttons on each event card presented in the event gallery.

We used FetchXML to fetch data from Microsoft Dataverse. It allowed The Golden Snitches to query for complex queries with filtering, sorting, and aggregation, making it ideal for creating dynamic and interactive content in our Power Pages Portal for the students and Professors.
A screen shot of a computer program

AI-generated content may be incorrect.

Because we are getting the form dynamically trough fetch xml we can remove another burden from the user that would need to copy a script and add it to a page. But now we can display the form by using liquid:
A screenshot of a computer

AI-generated content may be incorrect.

Custom page – Responsive design

Using containers, horizontal and vertical, to structure the layout and have proper responsiveness to resize and adjust the layout according to user screen size. Utilizing the dynamic values of Parent to set the width and height of controls within the screen

HTMLtext, syntax and code principles:

Use of $ to reference dynamic values within a string.

Seamless navigation: Utilizing the custom page within model driven apps makes it possible for us to easily navigate to other areas of the model-driven app.

Custom page:

PCF control with map directions

Pro-Code Potions Our solution enhances low-code with:

  • Custom PCF component for mapping

We developed a PowerApps Component Framework (PCF) using MappedIn’s React-based SDK documentation. This allowed us to embed their robust mapping and navigation functionality directly into Dynamics 365. The solution enables users to visualize spaces, navigate between rooms, and even calculate optimal routes within buildings. Custom PCF for semester date management.

Map in action

PCf’s react fragment example.

  • Custom PCF with an animated catchable golden snitch
  • Azure AI implementation for voice recognition (Ask Cathrine)
  • Powershell for advanced pipeline deployment

To ease the deployment of our PCFs, we made a short Powershell scripts that updates the version of both the solution and the PCF automatically before its compilation.

  • Specialized field customizations: Integration with Resco components

We used DateRangeBuilder PCF from Resco to enhance the creation of new Semesters in our App.

Oneflow:
• Auto-dispatches contracts faster than a Nimbus 2000
• Tracks signatures with the precision of the Marauder’s Map
• Sends confirmation owls (emails) that would make Hedwig proud

Now Muggle parents can sign from their “mobile devices” (fascinating contraptions), while Professor McGonagall tracks everything from her enchanted dashboard. The whole system runs smoother than a well-brewed Felix Felicis!

Digital Transformation We’ve bridged operational gaps through:
Maximum event capacity field:

Power automate that updates the event registration status based on the maximum capacity of the event.

We are then using generic journeys to send out the event registration with a QR code. And reminders for the event. Point Taken also use Power Automate to generate a cancellation URL on the event registration that will be sent out with the emails in the generic journey.

Cancel url on the event registration:

Power automate that generate the cancel url for sending out with the marketing emails:

The students will then be able to click the link and be navigated to a site on the power page where they can cancel their event registration.

When the students click the button they trigger a power automate that changes the event registration to status “Canceled”:

Since the social events also is only for students and employees at the school we will be able to track when the students is getting near the room of the event. We will then again use generic journeys with emails to track the attendance. The administration will then be able to send out communication after the event like surveys or other content.

ALM Magic Our ALM strategy includes:

  • Git Connect integration

We used Power Platform’s new Git Connect functionality to automate the commit process for solution changes.

This feature allows changes made in Power Platform to be committed directly to an Azure DevOps repository, with the user who made the changes reflected as the commit author. This integration not only saved time but also ensured proper traceability and alignment with our team’s Git workflows.

1. Components contained in the solution separated by name
2. Authors of the commits.

  • DevOps pipelines for building PCFs

To handle the custom PowerApps Component Framework (PCF) components, we reused and adapted an existing pipeline. This pipeline automates:

  1. Version Updates: Using a PowerShell script, we increment version numbers to maintain proper versioning.

2. Solution Packaging: The pipeline packs the updated PCF into a deployable solution.

3. Deployment: The final step deploys the solution directly to our environments.
This automation reduced manual effort, minimized errors, and ensured smooth delivery of components across environments.

  • Solution segmentation
  • Entra ID security implementation

Microsoft Entra ID Security Groups
To simplify user administration and have better control of user access to the environments, we have created teams of type Microsoft Entra ID security groups.

We created a security group in Entra ID where we add the users we want to give access to the environment.

We then created a team of type Microsoft Entra ID Security Group in Power Platform where we assigned the Entra Group to the team. We then assigned the team the desired security roles:
A screenshot of a computer

AI-generated content may be incorrect.

We now only have to add users to the Group in Entra ID to give access and assign the users security roles.

Power automate – Force Sync users from Entra ID Groups
Now that we have automated and gotten more control of the granting access to users to the environment apps and automations, we need to force sync the users.

The users will not appear in Dataverse unless they have logged into the environment. But building a power automate flow we can solve this issue:


The flow will be triggered once a day and then it will get the members of the Entra ID group. The flow then uses the force sync action to sync the users.

Solution Strategy
The team have created a solution strategy that separates the different types of components in different solutions for easy deploy and a better development process.



Power Platform Pipelines
We have used Power Platform Pipelines to automate the deployment process between environments.

Power Automate Connectors – Service Principal:

A service principal is specific to Microsoft Azure and is used to grant applications access to Azure resources. We have used a Service Principal for our Power Automate connectors to make sure that the governance of the flows is exceptional.

Magic Matrix We’ve created an enchanting experience using:
If another pandemic hits or a troll attacks the school, teachers will be able to stream the classes to teams. With Dynamics Customer Insights Journeys and Microsoft Teams, the professor can easily plan, host, and follow up on live-streamed events, so that the students never miss a class.
A screenshot of a video conference

AI-generated content may be incorrect. 

Digital transformation

Leave a Reply