Design a site like this with WordPress.com
Get started

Working with Power Automate

The power of no-code, low-code programming.

Have you ever heard of low code or no-code environments? It’s where you can create an application or a process visually without having to know a programming language. If you are familiar with IFTTT, then you will understand. Power Automate from Microsoft is one of those tools that we use at work.

Power Automate (formally known as Flow) is an exciting tool in that it is flexible and has a ton of connectors that integrate to a lot of services. Most connectors are free, but some are premium services (cost money). See for yourself; I’m sure you can find something to connect to.

Creating a flow visually is very similar to creating a flow chart, except that each element has actual code behind it. You have all (or most) of the features of a programming language. Factors include input, output, case statement, variables, if-then conditions, loops, etc.

Simple Approval Workflow

I use it primarily for managing approval workflows for my applications. I would instead create a flow visually than wire one up in code. It is easier to see what is going on and make changes. The process runs in the cloud, and I can communicate to and from with it via HTTP service calls.

I can send notifications to email or Microsoft Teams within the flow, or both. I have my flows send me alerts to our Teams channel if something went wrong or emails to the application owner with updates to the workflow. It’s pretty nice.

Besides workflows, I use Power Automate to run various things on a schedule. It’s easy to do scheduled tasks like hitting an API endpoint every Monday morning at 7 am so that a report is run and results sent out. Or to check to see if specific Flows are still active and, if not, turn them back on (Microsoft has a habit of turning off Flows due to inactivity). My favorite is the “I got an email from the Boss Alerts” type of Flow that I created for myself.

There are a few downsides that, like everything else, I don’t like l. There is no CI/CD pipeline to push changes to a Production environment. I have to make the changes manually.

There is no code repository either, so there is no version history. If you want a version history, you have to manually create an export and save that somewhere. It’s a manual process in need of automating.

Overall, Power Automate has been a positive experience for me. There have been issues that I have gotten stuck on, but the community forum is a good source of knowledge to search for or to post a question. I like it and want to find more uses cases for it.

Drop me a comment if you tried Power Automate and tell me what you think.

Happy Coding!

Advertisement

Laptop Upgrade and Coding Environment Issues

Upgrading my laptop to M1 Apple presents a challenge to create a Windows coding environment to use.

I am a proud owner of the new Apple M1 MacBook Pro 16” laptop. Well, it’s on order. I should get it sometime in March so, that gives me time to setup a working Windows environment and have Visual Studio installed. But I have a problem.

Why is that an issue? I got Parallels to load Windows on. Long story short, running the Intel version of Windows on M1 is not a good idea. Was I caught off guard with this issue? No, I had plans to resolve the problem by Remoting into the Dell laptop that the University provided.

I planned to RDP into the University laptop from my M1-based Apple Mini and MacBook, but I ran into a problem. That laptop is configured not to remote into it and has a group policy that prevents me from turning on RDP. Well, there goes that idea.

My next option is to use my Ubuntu Mac Mini (I have two Mini’s) and install a Windows VM. I am currently using it for my Homebridge server, and having a Windows VM wouldn’t be much of an issue. That seemed like a good idea until I checked the memory on it. It only had 8 Gb of RAM, which is the maximum allowed for that mini. Allocating six gigs of RAM for the VM for Windows 10 didn’t sound like a good idea. So ok, I need something else.

I remembered that I have my old 27″ Mac that I planned on trading in for a gift card. That will work perfectly since it has plenty of RAM and hard drive space. So I downloaded Windows 10 and got a product key from my visual studio subscription. I now had a computer that I could RDP into and do my work.

During RDP setup, I saw a link saying that opening up a port is a security risk to your internal network. It suggested that I should connect via a VPN instead. That sounded like a good idea.

I created an OpenVPN Cloud free account and got my Windows developing environment as a Host RDP Server and my other M1 Apple computers as the clients. Bingo Bango, it all works now. I can now continue to go to my favorite coffee shop, Jitterz, remote into my Windows machine and continue coding.

Well I thought all was good until I tried to VPN into work. While it connected, network traffic wasn’t going through it since traffic is going through the OpenVPN connection. I’m not sure if I can tunnel into the computer and direct university traffic through their VPN.

I’m sure there is a way to do that but it is beyond my skill set. I’m back to the open the RDP port on my router.

I’m sure there were better ways of resolving my issue, but it gave me something to do over the weekend, and now I am a happy camper. Happy Coding!

Azure DevOps is my Favorite Tool

I don’t know about anyone else, but I have always liked Azure DevOps since we moved to it. It has everything a developer needs. Our GitLab account had everything we needed to hold our repositories. However, we didn’t know how to take advantage of its CI/CD pipeline. I also used Asana to manage my projects and their numerous tasks. I loved Asana, but it was external to GitLab’s. I was constantly juggling websites to get my work done. It was getting tedious, and I forgot things. Something had to change.

I was excited to learn that we were moving to Azure and Azure DevOps. It has all I need, ways to manage your repository, CD/CI, tests, tasks, boards, wiki, and integration to everything Microsoft (at least to Teams and Visual Studio). With some training classes and lots of experimenting, we flow from local to Development, Test, and Production instances.

What I like about Azure DevOps are the boards. I love that I can track and update tasks. My boss can add tasks and see where I’m at without bugging me with a status update. I can also post questions to my boss about a particular task, responding to it. It’s all stored on the board and not email. Goodbye to lost in email hell. Fantastic!

I now figured out how to see and update those same tasks within Visual Studio 2022. The only thing I have not figured out is how to tag someone in a conversation. For example, I would use the @ symbol on the DevOps and start typing the user’s name. It would IntelliSense the correct contact and fill it in, but in Visual Studio, it doesn’t seem to have that feature. Perhaps a future update will have it.

Now not every team member likes using the system. They want to code and push their changes and that’s it. They are not into Kaban boards and wiki’s for documenting their web apps. What a shame. I think it makes you a better developer. All I can say is that I love it!

By the way, you can get a free account to learn Azure and Azure DevOps. I encourage you to check it out and give it a try.

My To-Do List

My coding to-do list.

Being my first job as a programmer, I’ve come a long way in my skills. I still consider myself a junior programmer compared to the rest of the world. I am cognate that should be using best practices when developing a Web App. That is why I have made a to-do list to get me in that position I feel I should be at.

So, without further delay here is my list.

  • Use services to separate business logic from controllers
  • Once services are implemented, work on Unit testing
  • Implement MOQ to supplement Unit testing
  • Use EF to connect to Oracle databases
  • Figure out how to do a DAST security can from Azure DevOps CI/CD pipeline.

It’s a small list but it’s essential for me to master it in order to construct my applications in a readable and manageable fashion. We are a young development team in the same boat as me where I work. We all need to up our skills to produce better code at a quicker pace.

Not included on the list but ongoing are improvements in accessibility in all of our applications. Our application needs to be user-friendly for anyone that uses it, including those with disabilities.

I am constantly discussing accessibility issues or best practices with my boss. I also reach out to the developers of some of the technology I use and ask if they have plans to improve accessibility. Hopefully, I can nudge them in that direction.

Out of the list I provided, I would say that the top three items are high on my list. If I can master those three tasks, that will go a long way in improving my code. I can then document and teach the others in my team how to do the same.

What’s on your list? Add your list to the comments and explain why you chose them.

Cheers, and happy coding.

COVID Fallout

I work at the local University as a Software and enjoy the atmosphere there. Students shuffling from one class to the next, co-workers out doing their lap around campus, and the squirrels busy hunting for food. Even though my office was a little warm, I could easily step out and wander the halls for a brief recess. There were many exciting applications to create and departments to collaborate with. As far as I was concerned, life was good on campus.

All of that came to a screaching halt when the threat COVID-19 swept the University. Within a week we were all booted out and working from home. Life had changed.

Working from home was an adjustment but it turned out it was not that hard of a change. Even though I lost a lot of the benefits from working on campus, I gained many other perks. Perks such as cutting an hour of driving time, sleeping later due to not having to drive to work, new standing desk, and I get to see my two cats all day long.

Another perk is the use of my laptop anywhere I want. I could code anywhere other than home. Lately, I would hop on my bike and pedal over to the local coffee shop and work there. In fact, I’ve been riding my bike a lot more. I’ll ride over to the coffee shop to work, head out to lunch, and finish the afternoon working at home. What a way to work! I do miss the squirrels though. They were fun to watch.

A year later, the campus has gone to a hybrid learning model. It’s a combination of on-campus classes mixed with online learning. The Information Technology (IT) department has mostly stayed as work from home permanently. We programmers can work anywhere with a computer and Internet access. I think we were well prepared for work from home. Our job, correspondence, timekeeping, meetings, and project assignments were already done online. It wasn’t a big stretch to start working from home for us.

Thanks for reading my initial post. I haven’t figured the details out yet, but I know it will be coding-related.