The API playground is a pre-authenticated software testing tool which is part of the Dataverse Accelerator App. API playground allows you to quickly interact with the Microsoft Dataverse Web API - check out Explore and test Dataverse in the Web API playground (Preview)
JOPX on Microsoft Business Applications and Azure Cloud
Occasional rantings about Dynamics CRM/365, Power BI and Azure cloud. Taking the first small steps in machine learning, Python and algorithmic trading
Friday, December 20, 2024
Sunday, September 29, 2024
Book review: beyond diversification - what every investor needs to know about asset allocation
I recently finished reading Beyond diversification from Sebastien Page. Sebastien Page (Chief Investment Officer at T. Rowe Price) explains in Beyond diversification the different approaches to forecasting returns, risks and correlations across asset classes by combining academic research and practical hands-on examples.
This book is most likely targeted at the sophisticated investor and should not be the first book to pick up if you want to understand diversification but it provides great insights on how asset managers think about their portfolios.
The book also extensively refers to a number of academic papers that Sebastien Page has written on asset allocation, risk measurement and return forecasting. It explores a number of dynamic asset allocation strategies, acknowledging that risk is time-varying and requires adaptive approaches. Sebastien Page also explains why the typical fixed weight asset allocation (60-40 portfolio) does not deliver a constant risk exposure.
Saturday, September 28, 2024
Dynamics 365 and Power Platform monthly reading list September 2024
2024 Release Wave 2
Release plans for 2024 release wave 2 are now publicly available - Release plans for Dynamics 365, Power Platform, and Cloud for Industry - Dynamics 365 | Microsoft Learn - from July 29th, early access will be available for activation - other key dates for 2024 release wave 2 are also available . Also check out the videos like Dynamics 365 Service 2024 Release Wave 2 or Dynamics 365 and Power Platform 2024 Release Wave 2 - these might also contain features/functionality which are not listed in the release plans.
- 2024 Wave 2: Dynamics 365 Customer Service (YouTube) by @d365goddess
- 2924
- Use the Power Platform Environment Settings App
- Change history 2024 release wave 1 and change history 2024 release wave 2 - there are frequent changes on features which are part of a release wave - follow up using the change history
- 2024 release wave 2 for Dynamics 365 Contact Center
- Managed identity support for Dataverse plugins
Copilots, AI and machine learning
- Document classification with Power Automate and Azure AI by @mattbdevaney
- Understanding Copilots at Microsoft (YouTube)
- Microsoft Copilot Studio implementation guide
- So you want to build your own copilot
- Use Dataverse timeline highlights powered by generative AI
- Microsoft Copilot for Finance (YouTube)
- Simplify IT management with Microsoft Copilot for Azure - save time and get answers fast
- Microsoft Copilot for Service on ServiceNow
- Building a multi-channel notification system with Azure Functions and Azure Communication Services - Part 1 #60daysofIA
- Azure AI Translator GitHub repo
- Unlocking the full potential of Dynamics Digital Contact Center Platform with Bring Your Own Carrier (BYOC)
- How Microsoft does Quality Assurance (QA)
- Why use managed solutions by @BergmannBene
- Filtering embedded Power BI reports
- Outbound dialer enhancements in Dynamics 365 Customer Service
- Setting up Postman environment to test the Dataverse APIs - quick tip
- Application Insights integration with model-driven Power Apps explored
- Power Platform Well Architected
- User Experience in model-driven apps - the good, the bad and the ugly (YouTube)
- Customer Service: Setup Copilot (YouTube)
- Power Platform Community Tools series - Bulk Data Updater (YouTube)
- Build your own agent using Microsoft Copilot Studio (GitHub Repo)
- The scarce resource of Dataverse storage capacity
- Demo: Build intelligent and scalable solutions with Power Apps and Power Platform (YouTube)
- Manage application users in the Power Platform Admin Center (PPAC)
- Dataverse: Azure Synapse Link vs Fabric Link (YouTube)
- Adjust other Dynamics 365 copilots in Copilot Studio
- What is a Power Platform Solutions Architect? Action packed explanation! (YouTube)
- Building smarter bots with copilot studio (YouTube)
- Announcing General Availability of Block unmanaged customizations
- 6 stages of solution deployment by @LinkeD365
- Everything you didn't know you needed to know about Power Platform Solutions
- Dynamics 365 Finance is gradually moving onto the same base platform as Dynamics 365 CE - useful shortcuts
- Three ways AI is transforming service from the field to the contact center (Microsoft white paper)
- Capture and communicate value with the business value toolkit (Power Platform CoE toolkit)
- Introducing Microsoft Dynamics 365 Contact Center(YouTube)
- Eneco Mobility supercharges its customer car with generative AI by introducing Dynamics 365 Contact Center (Case study - Capgemini) - follow Peter Ruiter (@pajruiter) to learn more about copilots and Dynamics 365 Contact Center
Thursday, September 26, 2024
Quick tip: Get-AzSubscription and Azure Cloud Shell
The Get-AzSubscription PowerShell cmdlet gets the subscription ID, subscription name and home tenant for subscriptions that the current account can access. You can also pass this values in as a parameter e.g. "Get-AzSubscription -SubscriptionId" to find the name of a subscription.
The easiest way to execute this cmdlet (without having to install anything on your machine) is by using Azure Cloud Shell. A handy feature of Azure Cloud Shell is predictive intellisense - use the RightArrow key to accept an inline suggestion.
Book tips: Gently easing into Agile and DevOps with the Phoenix project and the Unicorn project
If you are not familiar with Agile or DevOps, I highly recommend the books below:
- The Phoenix Project: a Novel about IT,DevOps and Helping Your Business Win (Gene Kim) is a book which illustrates how Agile principles can be applied to solve complex problems in IT. It is written like a novel, which makes it both educational and entertaining. The main character, Bill Palmer, an IT manager is tasked to rescue a critical business project named Phoenix Project. Thebook is best suited for IT professionals, managers and executives.
- The Unicorn Project: A Novel About Developers, Digital Disruption, and Thriving in the Age of Data (Gene Kim) was written 6 years later and takes us back to the same fictional company but this time we get the perspective from the people directly involved in development, testing and operations.
Thursday, September 19, 2024
Power Platform Managed Identity support for Dataverse Plugins (preview)
This is a long overdue feature which allows Dataverse plug-ins to connect to Azure resources (e.g. Azure Key Vault) using managed identities, eliminating the need for credential management and enhancing security. It currently is available in public preview but GA is expected for November 2024
You will need to create a managed identity record in Dataverse and link it ot your specific plugin assembly - for more details take a look at Set up managed identity for Power Platform (Preview) and Power Platform managed identity overview (Preview) for more details.
In your plugin, you will need to the implement the IManagedIdentityService interface which allows your plugins to interact with managed identities. Using this interface, your plugin can request an access token for a specific Azure resource. I asked Copilot to generate the code for this below but did not check it yet ...
References:
Sunday, August 11, 2024
Unmasking hidden issues in Dataverse: the surprising role of event expander operations in System job logs - down the rabbit hole we go
As outlined in Large AsyncOperationBase increase in Dataverse/Dynamics 365 CE: the canary in the coalmine - an increase in the amount of storage consumed by system jobs (visible in the Power Platform Admin Center storage capacity report) is a tell-tale for a Dataverse or Dynamics CRM environment which has some hidden problems.
The AsyncOperationBase table keeps a record of all asynchronous jobs (Async plugins, async workflows, internal Microsoft jobs, etc ...) which are running in the background processing data in your environment. If you have a lot of failed or cancelled jobs, there might be an issue with plugins or workflows. If you see a lot of awaiting resources jobs, there might be a big data load happening on your environment (or maybe an infinite loop).
During a periodic review of the System jobs health status, we noticed that there were a lot more jobs in status "Waiting for resources" then we were used too (More than 200.000). We raised a Microsoft support ticket for this and we got an update on this (redacted version below):
"Microsoft is rolling out a new way of how audit logs are being written in station 4 (EMEA) in a deferred manner. Entities representing these deferred operations are created in the AsyncOperationBase table.
These operations, while rolled up in the AsyncOperationBase table, execute outside of the Async Service and are not meant to be interpreted as additional backlog that the Async Service needs to process. These operations have no negative impact on System Job throughput. When the Audit operation has been fully processed outside of the Async Service, these operations will be removed from the AsyncOperationBase table. Event Expander Operation jobs are used as part of this new audit functionality, these are important jobs to ensure auditing is not lost.
These jobs are however processed by a separate service, so they do not affect async throughput, etc. in any way. Seeing a lot of these jobs (operation type 92 - event expander operation) is not an issue, as these are constantly churning in order to write audit history. If you have custom reporting in place to monitor system jobs - you should exclude AsyncOperationType 92"
Saturday, August 03, 2024
Quick tip: Don't bother upgrading very old Raspberry Pi OS version with apt upgrade, just re-install
A couple of weeks ago, I uncovered an old Raspberry Pi 2 in a drawer and I wanted to try to upgrade the OS to a more recent version. The Raspberry PI still had Debian 8 (Jessie) installed. After a number of failed attempts I just gave up and did a fresh install with Debian 11 (Bullseye)
PS To check the installed Raspberry PI OS version type "cat /etc/os-release" in the command prompt or "hostnamectl"
From boring to soaring: why leaders need to master story telling
"The most powerful person in the world is the storyteller - Steve Jobs"
I recently read the Harvard Business Review article : your strategy needs a story and the central idea resonated with me: "storytelling is crucial for business leaders because it effectively bridges the gap between strategy and action, making complex strategies engaging, memorable, and motivating for implementation1". Steve Job's quote also aligns with this view on the importance of storytelling in business and marketing
Story telling transforms the complexity of numbers and logic behind a business strategy into simplicity and action. (Narrative and numbers: the values of stories by Aswath Damodaran is a great book on this same topic, but with a different take on it)
93% of a company's employees do not understand its strategy and storytelling can be a solution to make sure that employees understand and implement the strategy and customers understand your value proposition.
PS Although the quote "The most powerful person in the world is the storyteller" is often attributed to Steve Jobs, there's no definitive evidence that he actually said it.