Kjøleskapet kan se!

Etter mye klabb og babb har vi endelig fått satt opp Raspberry Pie’en vår med Python, Vs code, ssh-tilkobling til git-repo og selvfølgelig et fungerende webkamera!

Ved hjelp av et lite bash-script, Azure’s egne pythonmoduler får vi lastet opp og analysert bildene innen få sekunder, med en liste over alle objekter i bildet. Etter litt testing er vi veldig imponert over presisjonen, selv om Azure insisterer på at klementin vår er et eple. Svaret sendes videre til en Power Automate flow som oppdaterer data verse.

Arbeid utført. Pull request til godkjenning

Når arbeidstempoet er såpass høyt, er det fort gjort å glemme skikkelig testing eller linting der det trengs, så før det merges inn i develop branchen, må endringene godkjennes av en av teammedlemmene. Konfigfiler og nøkler skal for eksempel ikke inn i kildekoden.

Progressive web app – Submit your problem from any where

This is a form that you can report an issue from anywhere. Its responsive, works on both desktop and mobile screens.

It could be hosted any way. It is a progressive web app build with react, node.js

Citizens can report the issue by specifing title, description, take a photo of what the see and tag a location to help the turtles resolving the issue faster.

Desktop screen
Mobile screen
What is the issue with Sondre 🙂

We gonna contnuie build this to add administration functionalities and gather new batched. Update will come 🙂

Cutting Edge Double Whammy for MaMNT

When creating an app to fight crime and aid in emergencies, do you exclude every iOS user? Do you manually port your app and work hard to make the visual profile and functionality work in different operating systems?

Discriminating against user groups goes against the very essence of MaMNT’s platform, so of course we had no choice but to build the entire app in .NET MAUI! This cutting edge iteration of Xamarin is currently in preview, and allows cross-platform development of native apps. In short, it’s Microsoft’s newest and hippest cross-platform mobile tech.

The depiction of Maui in the film has been described as ‘half pig, half hippo’.
Hang on, wrong Maui. With a dash of humbleness he’d make a great addition to the turtle army, though!

Developing separate native apps for different operating systems? Forgeddaboudit!

The MAUI app communicates with the backend using gRPC, the coolest way to do APIs. Using gRPC, the app has a two-way connection to the server, which enables the server to push updates to the app. The gRPC server communicates with Dynamics using the new Dataverse ServiceClient for .NET 6, only available as preview.

It’s like a peanut butter and clam pizza; it may not work flawlessly immediately, but when it does you’ll never regret the time you spent acquiring the taste!

Peanut butter and clam pizza recipe, in case it piqued your interest

Badges claimed:

Plug n Play!

The Salespeople get a call from a new customer, they can register a new client using our simple form in SharePoint. The forms have been created using SPFx (SharePoint Framework) with React. The data from the form will then be processed and sent to DataVerse using a Cloud Flow to create a new contact.   

When the form is submitted, it creates a record in SharePoint, which we then create a contact in DataVerse with.

When the customer gets created in DataVerse we figured out we want to create a flow that alerts on both email and teams chat when a new customer arrives, this allows our resources to verify the customer and add the customer to our flow.

When a contact record is created, we automatically post a message in teams and send an email to our dedicated email.

Tag: Plug’n’Play & Stairway to Heaven

Its all about apps and responsiness

We have created a model-driven app to contain our customer card, this customer card contains a lot of data about the customers and which deal they have, and started with.

We have also embedded a Canvas App into this model-driven app which includes top deals right now.

During the creation of these apps, we had a focus on making this responsive. So the information could be reached whether you are on a mobile, tablet, or desktop device.

As you could see in the picture above, we can see that the model-driven app, with an embedded canvas app, is responsive.

Power Automate is awesome!

We have creagted a flow that once a day lists that tasks that are assigned to different employees in the company in the Task Management module in Dynamics 365 Human resources. We filter out the tasks that are completed and canceled, and we only look for tasks that are due in 10 or 3 days, or that is due today or is overdue.
By using Vitual Tables in Dataverse to gather this data, we’ll have the flow looking up the data we need in other tables than the table for tasks, as we of course want the email to be sent to the assigned employee, with the information the employee needs to perform the task:

It finally works like a charm, as we now in Dynamics 365 Human Resources have 1 overdue task, and no tasks falling due in 10 or 3 days or today, and the flow sends 1 email with the correct information:

Skill bombshell heier på Skill powershells

Å ha et motiv betyr å ha en grunn til å gjøre noe. At handlingene våre i en bestemt situasjon er motivert av et eller annet, vil si at vi sikter mot å nå bestemte mål. Det er vanlig å skille mellom indre og ytre motivasjon. Drivkraften ved indre motivasjon er dine egne interesser og nysgjerrighet. Vi støtter de rundt oss med positive ord, men siden vi må fokusere også på egen motivasjon samt at vi er i forskjellige cohorter så har vi valgt å automatisert dette.

En gang i døgnet sender vi en SMS til teamleder av Skill powershells. Dette for å motivere.

Ved behov så kan vi øke frekvensen ytterliger, noe som er nærliggende mot innspurten. Ved behov kan vi også motivere andre lag.

Play? Develop? Discord.

Discord is a platform most known within the gaming community for its voice- and text-chat features. MaMNT needed a hip platform for collaboration up and running quickly during the initial stages of the day, and landed on using Discord with their pre-existing user profiles.

In order to avoid merge conflicts with three developers working in the same repo, a Discord bot was set up to post new commits as chat messages in a dedicated channel. This bot receives new commits via a GitHub webhook, enabling a trunc-based development cycle in MaMNT. All the hip, cool companies run trunc-based development, now including MaMNT!

MaMNT also avoids Teams like the plague, so Discord was immediately qualified as a collaboration solution simply by not being Teams.

Claimed badges:

Setting up Synapse Link to Dynamics 365

Middle-Age Mutable Ninja Tuples know there will be a lot of requests for help once the solution is released to the public. They plan on using Synapse to analyze all the data from the system. To get started they set up Synapse Link to Dynamics 365.

With the deprecation of Export Service, Synapse Link seems to be the go-to replacement for a simple, yet powerful tool to extract data from Dynamics 365.

Prerequisites to setup Synapse to Dynamics link:

  1. Azure subscription.
  2. Resource group
    • Synapse workspace
    • Storage account (Data lake gen. 2)

Setting up Dynamics link to Synapse

  1. Make sure you have completed the prerequisites (above)
  2. Go to https://make.powerapps.com/
  3. Navigate to your environment

Select the entities/tables you want to synchronize:

Click save, and your data will begin to show up in Synapse!

You can now run Queries against Synapse on Dynamics 365 Data:

Optional if you want to use Azure Data Studio:

Install Azure Data Studio to work with the data:

With data in Synapse, we can now start crossing data from several sources and make reports.

NOTE: One challenge we came across with Synapse is that all OPTIONSETS are only available as INT values. There is no way to export the entity to Synapse with both the Optionset int value and language-dependent label. This may end up being fixed using a “dirty hack,” alternatively MaMNT will find a prettier way to solve it going forward.

Badges claimed: