On the 5th of October the event Power Platform Saturday Sweden was held in Stockholm at Microsoft’s facilities. Looking back to it, I am still amazed by the quality of this event, beeing free of charge and put together by a few energetic souls (sponsors not to be forgotten though). I had the priviledge to be there both as a speaker and of course also as an attendee. Such an amazing day simply must be documented.
This is the first blog post of two. In this one I will tell you about what I learned from being a participant and a part of the audience. The next blog post will be dedicated to the session that I held – Introduction to Dataflows and Data integration.
From ”should I go” to being a speaker
Having seen pictures and heard about the Power Platform Saturday events from all around the world, how could I not attend one when it was time for the second Power Platform Saturday event ever to occur in my home county (I am really sorry I did not show up last year).
Well, it is on a Saturday and it is not in my home town, which basically meant I was going to dedicate the whole weekend to work. Or, somewhere in between work and private live. Community activities could be considered as something in between.
I considered staying in my hometown for a while, then I heard there would be a PCF session which caught my attention and actually got me to claim a seat, since PCF is one of the areas of the Power Platform that I would like to dig deeper into. A few days later I was asked to attend as a speaker (the company where I work was one of the sponsors, therefore had a session and needed someone to speak). Once I had said yes of course, there simply was no way back to staying at home.
I am so glad I went on this amazing event! The best part of it? It was not actually the sessions (even though the sessions were really awesome and full of interesting content) it was the PEOPLE. I was amazed by the energy, enthusiasm and the fact we were all united because of the joy for (and sometime struggle with) the tools and services that Microsoft has put in our hands.
So many interesting sessions to attend – so impossible to replicate myself
There were four ongoing sessions at the same time the whole day. Having seen the amazing line-up of speakers it was quite hard to choose which sessions to attend and not. I wish I would have had the time (and knowledge) to invent a time machine or a teleporting toolkit before this event, then I might have had a better chance of attending all the sessions.
First the key-notes, which included wise words from several different persons. A slide with the text DARE2GEEK was put on. Awesome, immediately I knew I was among friends.
To code or not to code – that is the question
Scott Durow is quite a legend, how could I not attend his session, having used his Ribbon Workbench for so many years. He was also going to present with my former colleague and friend Sara Lagerquist. Their session “Code or no-code that is the question!” was a must-see.
They put on a real entertaining show. Clever thoughts about the different roles of pro-devs and functional consultant nowadays. Interesting “battle” going on there, you could sense some tense between the two “camps”. 🙂 But in the end, we should all be friends, be working together and definitely not be afraid of each other. Do not think code or no-code, instead use what is best for the situation. Components and the PowerApps Component Framework sure opens up new angles for pro-devs. Wise advise included:
Configure first – how far can you get without hacking
Don’t over complicate to keep in “low-code” – Quality first
After Sara and Scotts presentation me and my colleague Carl Aspernäs was up next. More about that in my next blog post.
What’s new and cool in the 2019 Release Wave 2 for Dynamics 365 and Power Platform
Next up was Andrew Bibby – What’s new and cool in the 2019 Release Wave 2 for Dynamics 365 and Power Platform. I’ve commited to hold a Release Wave 2 session on the next Power Platform Community Sweden meet-up so I though I might as well go to this session to be inspired. Even though I have already read the release plan and tried out some of the features.
It was awesome! There were demos of some of the features, the “before” was compared to the “after the Release Wave 2 had been turned on”. Among other things we got to see some Unified Interface improvements, such as the new high density header, improvements for the timeline and views. We also got to see opportunity close customization and the new experience for modifying forms and views.
There were also a few words about licensing, everybody’s favourite topic.
Then it was lunch time. I had several lovely chats with new faces during lunch and after that there were three very interesting sessions right after each other in the same room.
Using Azure Functions as Microsoft Flow and PowerApps Custom Connectors
First up after lunch was Julian Sharp and “Using Azure Functions as Microsoft Flow and PowerApps Custom Connectors.” Sounded techy and fun, could not miss that! Really great stuff he had there, guiding us through how to create an Azure Function, use a web hook, create a Custom Connector which then can be used in PowerApps and Flow. Interesting with Webhook to Azure Function. According to Julian that is the future. I should look more into that.
Deep dive using Microsoft flow with CDS
Next up was David Yack and the topic “Deep dive using Microsoft flow with CDS”. I simply had to attend this session, in my Microsoft Flow t-shirt. There was a lot to learn from this session. Here follows some of my findings. In fact, this session was the one which gave me the most findings/new knowledge.
First of all, do not use the Dynamics 365 connector, it has been replaced by the CDS Connectors. That I knew already. There are two CDS Connectors, Common Data Service and Common Data Service (Current Environment). The first should be used when you do not work in a solution or when you need to integrate across environments. Use the CDS (Current Environment) connector when the flow is built within a solution and when connecting to CDS in the same environment.
When working with the CDS (Current Environment) connector you will need to know the exact names of the filtering attributes, that you do not need with the CDS Connector. But besides for that, according to David Yack, you will really like the CDS (Current Environment) connector. I do believe him. For instance, it has more actions (it has Associate/Disassociate entities which does not exist for the other CDS connector).
Using List Records – default you will get 512 records. You can enable pagination to increase to 100 000 records, which is the upper limit. Can be changed under Settings -> Paignation. Using List Records – Fields returned are from FetchXML attribute list and not from Select Query. You can return fields from related entity and you use item() to access those.
Updating records – Use null to clear a value. Using Update with a generated guid() will insert a new row.
You can create a Flow which calls a Custom Action or a Custom Workflow Activity. Might be good to know if you have some old once you want to continue to use.
Regarding Microsoft Flow vs. Classic Workflows, it was pointed out that Classic Workflows are not deprecated yet, but they are called Classic. There are more changes planned for Microsoft Flows to increase parity between classic workflows and Microsoft Flow: e.g. Run As capabilities (owner of the Flow or the user who performed the action which triggered the flow) and the possibility to call other Flows and pass parameters to them.
There also were a very interesting slide about comparing actions with classic workflows. (In the end of this blog post I will give you a link to where Jonas Rapp has gathered the presentations/slides. Take a look, there is lot’s of interesting content in there!
As summary: Trigger on the minimum (reminds me of best practise for writing plugins). Filter your queries and select only what you use (same here – best practise for when writing plugins), use child flows so you don’t repeat logic too much (just as with plugins and code in general of course – do not repeat the code, break it down and reuse it), add comments so you remember why you did something (oh my, you should comment your code as well), rename your action cards and do not use the default names such as get Record 1 etc.
PCF = Web resources v2.0?
Last, but not least (remember I said this was what got me to claim a ticket), PCF time with Ivan Ficko. Ever since Microsoft launched the PowerApps Component Framework for preview I have been interested in putting my hands on it. I have not started yet though but I have followed developers from around the world who has and seen their controls popping up on the PCF Gallery This was a must-see.
We were guided through the creation of a project and building a PCF control. It was pointed out that the configuration currently is best done in the classic UI (I really recommend everybody to switch to the new experience, but what to do when some pieces are missing).
It was also pointed out that one might want to consider using an embedded Canvas App as an alternative to creating a new component. Well, you could, but then you would miss out on building a new conponent is my spontanous thought about that. It would make sense though if for instance the requirement was very customer specific and noone else would make use of the specific component.
After all the sessions it was time for the Pub Quiz, lead by Andew Bibby. What a show! I very much enjoyed this part of the day. I love digging into details and the history about the Power Platform and the Dynamics CRM/xRM platform. Having worked with it for about 10 years kind of makes you a bit nostalgic when you think about the old versions, names etc.
What a day! What a weekend! All the energy, brilliant minds, great bunch of people, old friends as well as new faces. Will I attend a Power Platform Saturday event again? Yes, I will. Time will tell where and when.
Here is a link to where you can find the slides.
This was the first blog post of two regarding the Power Platform Saturday Sweden 2019. In my next blog post I will tell you about the session that I held together with my colleague Carl Aspernäs, Introduction to Dataflows and Data Integration.