A first time for everything. I want to learn new spells and want to try fabric and power BI for the first time.
Testing import data to Power BI desktop – With both data import and Direct Query.
Setting the Data source credentials to get the queried data to the Power Bi Service.
Test is working – Now lets wave the wand and build!
Fabric
HACK:
Got help from a team in the same house – HUFFLEPUFF POWER.
We can not get the trial to work in our tenant that we have for ACDC, so i had to create a service principal user in the ACDC tenant – and make it available multitenant. And then use this service principal in fabric in my work tenant to get the data in there.
We want to make a lakehouse with fabric, so after the data is clean, we can use it in Power BI and also share the data with other instances that needs to use the data.
Made a new Lakehouse: WizardData
Made the connection to the ACDC tenant
Cleaned the data:
Did this for all 7 tables.
I could not get compliant with the Power BI for my work tenant. So i decided to use Power BI desktop direct query to get the data from Dataverse and build a dashboard.
Start of dashboard: To be continued.
One last comment – We helped another team with the HACK to get the ACDC data into another tenant. COMMUNITY! – SHARING IS CARING!
Famous words spoken by Hermione Granger after they defeated the troll.
We have really felt the impact of this during this hackathon. When venturing into new territory and using tools and setting up applications that are new and unfamiliar, we often rely on documentation to get started. More often than not, at some point the documentation fails us and we are blocked from getting further. That’s when you need friends to help unblock you.
Like when Philip helped Emil to install the correct version of .NET on his new computer to enable him to finish setting up the tooling needed to build his first PCF component.
Ulrikke got help from Andy Wingate when she got stuck setting up Business Central as a virtual table in Dataverse. Andy jumped on a Teams call in the early morning hours to help unblock her.
Stig got help from unexpected sources when he got stuck setting up a trial for Fabric in our demo environmnent. Fredrik Engseth from another team – BUT the same Hufflepuff HOUSE as us, overheard our conversation and helped us figure our a smart hack to get Dataverse connected to a developer instance of Fabric, using a Service Principal with cross tenant permissions. Thank you Fredrik <3
Sharing really is caring, and like Hermione says,
“Books And Cleverness – There Are More Important Things; Friendship And Bravery”
Even before the sun was up, we were wide awake—coffee mugs in hand and Harry Potter costumes at the ready! Our team is determined to grab that Morning Glory badge for our early start, and we’re keeping the energy high to earn the Remarkable Teamspirit badge. We’ll snap plenty of photos (wands and laptops included) and share the excitement across our social channels. Here’s to a day of coding magic and unbreakable camaraderie!
This is the first draft of or data model. Started looking at the Harry Potter Dataset and discussed in detail among us Wizards how the data should look like.
Pasted the tables below and this description into the Power Platform Plan Designer In our Ulrikke Potters Play Chamber environment – this environment is a play environment, because we do not want to use a preview feature in our other environments.
“Hello, we are building a way for wizards to collect Ingredients, and with the Ingredients they can make potions. When they make potions the wizards can go up levels, and spells gets available for them to use aswell. They will use a canvas app to scan the environment on spawn instances that will be created with power automate. The Ingredients will have a 3d model URL that will be used for the spawns. Could you please help me make the data model, below is what we have come up with.”
We also
Lets see what the plan designer comes up with – Scroll to the bottom of the tables.
Table: Contact(users) – Custom columns
Field Name
Data type
Data type specification
Level
Number
Table: Ingredient Inventory
Field Name
Data type
Data type specification
Ingredient
Lookup
Table: Ingredient
(1:N)
Quantity
Number
Contact
Lookup
Table: Contact
Table: Potion Inventory
Field Name
Data type
Data type specification
Potion
Lookup
Table: Potion
(1:N)
Quantity
Number
Contact
Lookup
Table: Contact
Table: Spell Inventory
Field Name
Data type
Data type specification
Spell
Lookup
Table: Spells
(1:N)
Mastered
yes/no
Contact
Lookup
Table: Contact
Table: Potion
Field Name
Data type
Data type specification
Potion
string
Main column
Ingredient
Lookup
Table: Ingredients
(N:N)
Effect
Text
Singe line
Characteristics
Text
Single line
Required Level
Number
image column
img
Primary image column
Table: Ingredient
Field Name
Data type
Data type specification
Ingredient
string
Main column
Rarity
Choice
Image column
img
Primary image column
Model Url
Test
Single line
Table: Spell
Field Name
Data type
Data type specification
Spell
string
Main column
Rarity
Number
Required Level
Number
Table: Spawn Instance
Field Name
Data type
Data type specification
Ingredient
Lookup
Table: Ingredients
Spawn Point
text/lookup?
– Hva AI builder produserer
Accepted the user stories
The data model that came out of the plan designer – before doing changes.
The contact table should be used as the “wizard” table:
IT made a Contact table, a custom one. So that is a big big fail from the Planner.
Did not want any data in the tables. I asked the planner to remove the data, but it made the tables with the data anyways.
Another thing it did wrong, was to make an image column – it made it an URL column. I stated that it should be a primary image column. – So needed to do a clean up of the image columns in two tables.
Many to many relationship on potion to ingredients was not made
Added a model driven app to configure the Ingredients the potion needs to be made.
NEXT step – Export the solution out of the play environment and get it into or DEV environment.
Ok, so after import to the DEV environment – an unmanaged solution. We saw more problems with the data model. So we decided to Export a managed solution form the play environment and import that into the dev – delete, and do the process again.
Ok. So it does not work the way i want it to. It is almost there, but it can NOT change a URL column to an image column. And it can not use the standard contact table.
Hermione collects and stores lots of ingredients to use for potions and spells in her beaded bag. The bag has infinite capacity, so it’s a bit hard to keep track of it’s contents.
Canvas App The solution to this is using our new interactive digital Bead Bag App that will allow you to scan items and store them to your digital bead bag. The also contains a spell book with spells and potions you can make from the ingredients you collect.
AI Builderand Power Automate We use Object Detection Model in AI Builder will analyse the images and extract information and automatically store this information in the Bead Bag.
Power Pages and Model driven app You can log on to a Power Pages site to get an overview of your inventory on a desktop view, and there is a Model Driven app back office app for admins, to view the inventory and manage all the ingredients and items in it.
Copilot Agents A Copilot Agent will work autonomously in the background to match ingredients together and present you with potions and spells that are available to you with your current inventory.
Copilot Chat You will also have a Copilot chat experience that allows you to prompt to learn what kind of potions and spells you can make with the ingredients you have in your inventory.
Power BI and Fabric A Power BI dashboard will show statistics on where different ingredients are likely to appear, user statistics and the most commonly used potions and spells
Finance and Operations After a while we expect the inventory to be quite full and you might want to sell some of the ingredients you have collected. This is where Finance and Operations come in. We want to connect Dataverse to F&O through Dual Write to access financial information, and also allow for transactions to enable selling and buying of ingredients.
Link Mobility When you put an item up for sale you will be notified by SMS when a buyer shows interest
Behold, the enchanted method of Application Lifecycle Management (ALM), where Power Platform Pipelines act as the Floo Network of solutions, transporting them safely from the cobblestone streets of Development to the bustling halls of Test and the grand castle of Production. Alas, our quest for a fourth environment—the illustrious Pipeline Host Environment—was thwarted by the restrictions of our trial license, which only permits the conjuring of three realms. As a result, we have cast a clever spell to install the pipeline application directly within the Development realm.
In the Development realm, solutions are left unmanaged, much like a young wizard’s first spell. By the time they graduate to Test and Production, they transform into managed solutions—properly polished and fit for their duties in the wizarding world.
With the ancient power of the run history scrolls, we shall keep an eye on the timeline of events, tracking mishaps and ensuring that the pipeline’s magic flows seamlessly. This vigilance allows for swift, safe development that races faster than a Firebolt broomstick
Realm Details
Realm Name
Type
Region
Language
Currency
Dev – Power Potters
Trial
EU
English (US)
EUR
Test – Power Potters
Trial
EU
English (US)
EUR
Prod – Power Potters
Trial
EU
English (US)
EUR
Pipeline Host Realm
Trial
EU
English (US)
EUR
All realms are cloaked in the protective spells of “Managed” type and are set within the European Union’s borders. They share a common tongue (English, US) and currency (EUR), creating a unified magical system that prevents dependency conflicts, as if warding off a rogue boggart.
Let the Power Potters harness this method to charm their way to flawless, fast-paced development! 🧙♂️
The pipeline:
Naming conventions
What
Convention
Example
Columns
Pascal case
pp_PowerPotters
Solutions
Capital letter for each word, short and descriptive name
Power Potter Potion Solution
Forms
Views
Adding copilot to agent and moving across environments
Of course, because we developed the datamodel in DEV, we could also easily develop and train the Copilot Agent in DEV and move it to production using solutions and Power Platform Pipelines, as well as the AI Models, and the Power Pages site
Entra ID Security Groups
We use Entra ID / Azure AD Security groups to control who has access to the different environments.
The security group is linked to the environment.
A security team is linked to the security group in Entra ID, where security roles are assigned.
Step into the world of Peaches Mini Games, where education meets innovation and business value takes center stage. Join us on a journey through an English classroom case study, user-centric design principles, and the integration of killer AI in crafting an engaging quiz game. Uncover the core philosophy behind Out of the Box Fun and understand why our participation in this competition is driven by a passion for spreading joy and fostering inclusivity. This post will guide you through the various components of Peaches Mini Games, providing insights into its educational impact, user-centric design, and groundbreaking use of AI technologies.
Most Extreme Business Value
The business value of Peach Mini Games is linked to education. The game is designed to make learning motivating for children while providing valuable insights for teachers. By analyzing the results from the game, teachers can tailor their instruction, optimize time usage, and address each student’s specific competency level.
Let’s go through the business value with a case study.
English teacher Katrine is going to teach class 2A about Australia. She wants to focus on where the country is located and what makes it special. She plans to use traditional chalkboard teaching methods, but to ensure that the students have truly grasped the information, she needs to assess them. She will do this in two ways:
Quiz
Glossary test
The quiz gathers information about Australia from ChatGPT, but Katrine has, of course, double-checked the content to ensure it aligns with her teaching materials. The purpose of conducting the quiz is to find out if the students have understood the key topics from the lesson.
In addition to the quiz, Katrine wants to take the opportunity to have a glossary test focusing on Australian animals. This way, she ensures that the children learn about the country’s unique animals and how to spell the related words.
After conducting the two tests, Katrine sees in her PowerBI dashboard that the class, as a whole, has a good understanding of Australia based on the quiz. However, she notices that many students had difficulty spelling the words for the Australian animals. Therefore, she needs to make some adjustments before moving on to the next topic in the curriculum.
Next week, Katrine focuses on improving the class’s spelling skills, and on Friday, she conducts the vocabulary test again. This time, she sees in PowerBI that the results are excellent, and the measures she implemented have had a very positive impact. This means that Katrine can continue teaching with confidence, knowing that Class 2A has a solid understanding of Australia.
Excellent user experience
From the outset, our primary focus was on designing a seamless and exceptional user experience. Our aim was to establish a cohesive visual identity throughout the entire solution, ensuring that users felt immersed in a unified universe.
Given that the overarching storyline across all the games revolves around the badass Princess Peach rescuing Super Mario from certain peril, we decided to make Peach’s signature color, pink, our primary color. However, we also wanted to infuse our own unique twist into the design, moving away from the traditional 2D aesthetic of the older Super Mario games.
To set the tone and serve as a foundation for our visual identity, we began by creating the logo. Additionally, we strived for consistency by employing the same background across all the games, maintaining a cohesive look and feel. This background was meticulously crafted from scratch, utilizing a photograph of a brick wall and incorporating Photoshop effects. Similarly, the buttons and other geometric elements in our apps were also created from scratch using Photoshop.
During our design process, we stumbled upon an incredible image of Princess Peach donning battle gear, perfectly aligning with the vision of our universe, where she portrays a badass version of herself while rescuing Mario.
In addition to our visual considerations, we were committed to ensuring accessibility in our design. To achieve this, we utilized a color contrast checker to ensure compliance with the Web Content Accessibility Guidelines, particularly in terms of color usage.
To deliver a remarkable user experience, we prioritize physical inclusion and social value creation in our game design. Our game is thoughtfully designed to be played both physically and digitally, catering to different preferences and abilities. In the physical version, players engage in outdoor play by moving around a designated area, scanning QR codes to access various mini-games, promoting physical activity and enjoyment of fresh air. For those with mobility challenges, the digital version allows players to control Princess Peach on a game board, unlocking mini-games in different rooms. This ensures inclusion and flexibility, enabling gameplay outside of school hours. By considering physical inclusion and offering a diverse range of play options, we enhance the user experience while also aligning with business value, expanding our market reach and creating an inclusive environment for all players. Additionally, our website is fully responsive, ensuring seamless access to the game on desktop and mobile devices, further promoting inclusivity and convenience for players of all backgrounds and preferences.
Killer AI
Our journey to make a Bowser Quiz mini-game revolves around creating an innovative chatbot browser quiz game using Copilot Studio. We embarked on an exploration of different AI technologies to enhance the functionality of our game.
Initially, we experimented with Generative AI, which proved effective in generating answers. However, we encountered a challenge in verifying the correctness of these answers. To overcome this limitation, we decided to leverage AI Builder in a power automate flow. Unfortunately, we encountered another obstacle as the process required an approval text before further processing.
Undeterred, we continued our pursuit of a robust solution and discovered the new Prompts feature in Copilot Studio. Through multiple iterations and fine-tuning of the prompts, we successfully trained Copilot to accurately determine whether a given answer is correct or incorrect.
Some examples:
It works!
By combining the power of exploring the limitations and uses of Generative AI, AI Builder, and Copilot’s Prompts, we have created a chatbot browser quiz game that not only provides answers but also verifies their accuracy. This innovative approach showcases our ability to harness the limitless possibilities of AI technologies, such as machine learning and neural networks, to craft unique and intelligent solutions.
Through our project, we aim to demonstrate the potential of AI in creating engaging and interactive experiences. The incorporation of various AI techniques and the iterative development process highlight our commitment to pushing the boundaries of AI innovation.
We are excited to present our Bowser Quiz mini-game, showcasing how we have harnessed the power of AI to create a cutting-edge chatbot browser quiz game that not only entertains but also ensures the accuracy of answers.
Pandoras Box
Out of the Box Fun is in many ways both the core of the product we deliver and the reason why we participate in the competition. The product, or more precisely, the game, is crafted based on pure joy with the primary goal of contributing to learning in a fun and engaging way for students. Inspired by the nostalgia of Super Mario, the opportunity to put our own spin on things (yes, made Super Mario into a pink paradise), and the ability to create whatever we wanted, planted a seed in all of us to develop something that genuinely stems from joy and fun.
In addition to the fact that what we have created obviously has the primary purpose of spreading joy, our participation is also based on the same. Our team comprises superstars in low code as well as those who never felt at home in the coding world but wanted to give it another chance and created their first canvas app this weekend (and now definitely want to do more of it).
The opportunity to create exactly what we want has given us the chance to explore our most creative ideas in an environment with the industry’s most skilled individuals. This unique environment has opened up opportunities for learning and mutual support in a way that surpasses other available options.
Peaches Mini Games
In the description of Peach Mini Games, we will first showcase the game as a whole and then delve deeper into each of the different parts of the solution.
We can we to four games and a power bi report from the Power Pages site
Power User Love
The Power Pages site is showing that we can use pro code (the game) and low code together seamlessly
Client Side Salsa
All the games and the website is browser based and make up an extremely fluent and cohesive solution. It’s not a heavy monolith, but we have built each app individually.
Retro
We are using HTML and vanilla Javascript (ONLY) to make the interactive game on the website. No libraries, no dependencies, it’s sustainable to not load big libraries and only use a little bit of the code. This is very Retro! vanilla, baby!
Camelion
The website is fully responsive and work on mobile and desktop, enabling users on all devices to have fun with our game.
Styling Power Pages
Bringing it all together with a cohesive visual identity on the Power Pages site that will be the landing page for our game.
Setting the logo – no code style
Setting a theme – no code
Adding Pro Code with custom CSS
Game Play Pro Code in a Low Code solution
Adding the game code in a Web template and including it on the home page
The web template has HTML and vanilla Javascript.
You can find all the code of this web template in this open repository:
Of course the web page is responsive so that players can play from their desktop or phone. Some kids are not able to run outside and we want to be inclusive.
When Peaches hit one of the boxes, the game will be launched in a new tab for the user to play! How’s that for feature bombing!
Hangman
Peaches Flight
Glossary Test
Bowser Kill Quiz
Hammer Bro Head 2Head
PowerBI report
We embedded the Power BI report in the Power Pages site to give the logged in user the ability to see where on the Scoreboard they are.