(3min video)
Tuesday, 27 February 2024
My First Mendix Widget - Azure AI component to convert Text to audio
Sunday, 11 February 2024
Basics to setting up an AI Transformation Program - High level
Overview: Many large organisations have started on their Artificial Intelligence (AI) journeys, many have started in weird directions and some are taking the wait and see approach. As a general rule, I feel most organisations should try identify the most important use cases for AI and using a basic scoring system take the easy high values use cases first.
A good option is to get a AI focused team to put the AI program into your business. Get people seconded as they have key domain knowledge and couple with IT experts pref with strong AI skills.
1. AI Idea Generation: Collate a detailed list of possible ideas. I like to use SharePoint, it's a good idea to open ideas up to the business or make gamification of idea generation to get a good set of ideas. You;ll get lots of overlap, distill into unique ideas, and get the team/stakeholders together.
2. Business Impact: how does this help our customers or generate revenue or does this improve our operations. Can this be quantified?3. Technological Feasibility: Can technology meet the requirement, and at what cost? High level technical design is strongly advised as show below in figure 2.
4. Implement: If the idea holds up to Business impact, and is possible, select the highest value to lowest effort ideas. It is a good idea to start with the simpler ideas to get the ball rolling.
Wednesday, 31 January 2024
Low code ROI/TCO and observability - Monitoring Low code Platforms
Overview: With Low code gaining tremendous traction, the rate at which apps are being built is increasing quickly. More citizens can build and pro developers can build more.
Governance helps maintain the quality of the apps and their code, but as an app needs to be updated, it becomes significantly expensive to maintain and update the low code solutions. The P-F curve has been around for awhile for regular assets (I first saw this 20 years ago with Mining equipment in Southern Africa, Machine maintenance on the mines help significantly reduce the cost of the assets/equipment and reduce catastrophic outages, anyway I've digressed...).
Friday, 5 January 2024
Unique solution to reduce licencing costs for Power Apps for Guest users when using SharePoint for storage
I have a fairly unique situation where I have a user base of a company employees using a Canvas App to work with SharePoint list data. This data is used to generate word documents. This 4 minute video provides the overview of the setup i used:
Thursday, 7 December 2023
Upgrading Two web applications and verifying using Playwright - super fast
Overview: A couple of my internal recent projects all clipped together to allow my to upgrade two websites to .NET 8. And verify the upgrade and commit to source control in a regulated controlled manor and it took less than 30 minutes.
I download the latest version of Visual Studio 2022 Enterprise edition and noticed an option to upgrade my .NET projects, so I clicked it. The .NET Upgrade Assistant downloaded and installed upgrade in Visual Studio. The upgrade is done using a vsix template import: Microsoft.NET.UpgradeAssistant.vsix
I thought I may as well upgrade my two current .NET projects:
1. App Service on Azure running Blazor .NET 6, using TFS for source control and published using my Visual Studio profile.
2. Static Web App hosting a Blazor .NET 6 connected to Github and published as a gated checkin using git Actions. Upgrades, and when I checked into the main github branch, the action fired and upgraded the static web app.
Verify Build:
So I had checked both apps where running using the good old open in a browser and look around. A few days ago I was playing with Playwright and my testing covered validating the App Service website can send email, is running and text is visible, it also checks a Mendix low code website and lastly it looks at the Static Web App to validate it is service pages. I did this is Visual Studio Code.
The tests tell me both applications are running, verifies WAG compliance on 1 app and also checks a Mendix website is running. |
Mendix - Part 2 - Diving deeper (E2E automation testing of Mendix using Playwright)
Mendix Series
2. Mendix - Part 2 - Diving deeper (this post)
3. Extensibility for Mendix Studio
4. Building a Mendix Widget for the Mendix Market Place (Convert text to Audio using Azure AI)
AI with Mendix (current version Mendix 10.5.x):
- Logic bot - recommends what you are likely to do, like a copilot as you go along building the app
- Performance bot - shows redundancies, recommends performance improvements
- Chatbot in beta
Playwright is a good UI testing tool for Mendix:
For more advanced applications, Playwright is a good testing framework that can help developers know their code is running end-to-end, useful for monitoring applications and behaviour, and also can be used as part of the CI process to validate Mendix end user accessibility as shown in this mp4 (7 minutes - good video).
Thoughts:
- Deployment can take time when the project grows.
- Domain modelling: can use existing models and add to Mendix.
- Playwright is perfect for Mendix testing, here is a basic dev example.
- The Mendix Community is a good place to post questions.
Mendix Series
2. Mendix - Part 2 - Diving deeper (this post)
3. Extensibility for Mendix Studio
4. Building a Mendix Widget for the Mendix marketplace (Convert text to Audio using Azure AI)
Tuesday, 5 December 2023
Playwright series - Post 1 - Overview of E2E testing using VS Code for Low Code
Setup: I have installed Node 20.100.0 and the VS code extension for Playwright. The installation and getting started guides are straightforward and of a high quality. https://playwright.dev/docs/intro I am running on Windows 10 Surface 4 with 16GB. I use TypeScript (ts) as the default, and the recording mechanism works well with ts. Previously, I used C# as my language of choice, but it is easier to maintain, and there is no need for complex logic/functions in end-to-end (e2e) UI testing. New features always come out in TS/JS first.
Thoughts: Postman is easy to use, fast, configurable and flexible. UI e2e testing allows me to know my app/sites are working as expected. Manual testing is time consuming, and amending automated tests can be hard.
Setup Reminder:
1. Install the Playwright extension using VSCode (once at initial setup)
2. Open a new folder in VSCode, and open the "Command Pallette" (once for each new project)>Install Playwright
These are the defaults and will use TypeScript as the base language, stick to this it is the simpliest. VSCode builds the default file scaffolding as shown above |
3. Create your first New Playwright UI Test:
3.1. Record new
3.3. Save the Test
3.4. Execute the test
The Green tick can be used to quickly run the test locally. In the "Test Results" terminal, you can see the same test was run 3 times, my configuration is set to test Chrome, Firefox and webkit. |
Why Playwright?
- Easy to understand/follow,
- Easy to record,
- Open source,
- No paid licencing,
- Faster than Selenium,
- Various coding languages supported (bindings for C#, Python, Java, JS, TypeScript),
- UI verification using screenshots and AI to minimize flakiness/static DOM reliance,
- The ability to debug and trace is strong,
- Can do API testing,
Possible Playwright UI testing Layers:
- Full regressions go into detail and run in Chrome, Firefox, WebKit and specified devices
- Check-in tests are comprehensive on a single browser for code check-ins
- Continuous testing: Record logging in, reading from a database, and calling an API. You can write to logs, e.g., Dynatrace, Azure Monitor, and SolarWinds using APIs. Doing this every 5 minutes will tell you at a high level if the service and its dependencies are running and if there is a performance change.
- A developer can write detailed local tests when working in an area and reuse them if he comes back and changes any code.
Testing Challenges:
Unit testing is a challenge in low code - while they are fast and ideal for C# or code, not easy to implement for Low code. Their is a new beta feature for component testing in Playwright, i don't think it adds value. API Testing - I use Postman for API testing including controlling my CI. Low code automation testing is hard in the Power Platform, E2E playwright testing in context works pretty well. API's/ network traffic needs to be mocked.
Challenger products:
- Selenium - QA's highly skilled here
- Cypress - Devs tended to use this over Selenium
- Specific products like Power Platform Test Studio and ...
- I also like BrowserStacks low code testing, especially if no CI/CD and can manage from here and use different low code technology.
Summary: Generally, I'd go for Playwright over all the others.
=========================
Playwright Series
Playwright Post 1 - Overview of E2E testing using Playwright (this post)
Playwright Post 2 - Continuously Test/Monitor Canvas apps and website with MFA enabled
Playwright Post 3 - Add App Insights logging inside your Playwright tests
Playwright Post 4 - 6 Min walkthru of Playwright testing with Azure Monitor