Project Oakdale – AKA – APP Development (RAD) for Teams

By | November 2, 2020

First impression,

Looks like SQL – creating table experience – and yes Tables, not entities.

Next thought,

Back to MS Access days – do nothing and have a fully functioning app!

That’s Project Oakdale! And no, it is CDS framework but it does not include Common Data Model entities – so I had the impression that this would provide us with what we call a CDS environment – no it provides you with a blank environment with just the required configuration platform level entities. That means, you do not see the Account and Contact entities that you see in CDS. You could read more about the differences in this article on docs

If you have a Dynamics 365 subscription along with subscription for MS Teams, you are all set to go.

If you would like to start off from a pure Teams environment without any D365/PowerApps licenses, start off with a Office 365 E3 trial from here

Once you have an account created, login to MS Teams client with the same credentials and lets start exploring Project Oakdale!

Begin with adding Power Apps App to your team. Click on the ellipsis (…) and more apps and look for Power Apps as shown below

Project Oakdale – AKA – APP Development (RAD) for Teams

Select Power Apps and add and you are in Project Oakdale now.

Project Oakdale – AKA – APP Development (RAD) for Teams

Click Create an app to get started. The approach here is design first and get the user started without too many clicks and too many places to navigate to.

You are presented with a Canvas App scaffolding that is fully functional once you attach it to a table. Even if you have no prior experience of CDS / D365 / Power Apps / Canvas Apps – you can still get through by exploring the existing template that is auto created for you. It implements everything from listing of records to selection, editing, deletion and creating of new records.

Remember apps are tied to a Team and the environment is tied to the Team as well. When you begin to create an app, you are first prompted to choose the Team, that is where the environment for your app will be created and all your tables stored.

Project Oakdale – AKA – APP Development (RAD) for Teams

Once the environment has been created, you are presented with the following canvas

Project Oakdale – AKA – APP Development (RAD) for Teams

Ability to create tables right away from within this canvas that you could tie the app too.

Name your app and click save to proceed.

Click Create Table aka Entity à Going back to tables nomenclature

Project Oakdale – AKA – APP Development (RAD) for Teams

This experience only provides the option to enter table name. This is the new simplified experience for creating tables or entities in Project Oakdale. This table will be auto created as User Owned with the owner lookup added to the table by default.

New experience for adding columns too on the fly

Project Oakdale – AKA – APP Development (RAD) for Teams

From this experience, you are only allowed to add attributes aka fields / columns of the following types only

Project Oakdale – AKA – APP Development (RAD) for Teams

Currency and multi-select option amongst others are noticeably missing from this experience.

For choice, we are allowed to choose colors but looks like we are restricted to only 5 unique colors. It does not allow for entering color codes.

Project Oakdale – AKA – APP Development (RAD) for Teams

Add data to the table right away. This helps when we quickly want to add dummy data to help design and test our app.

Project Oakdale – AKA – APP Development (RAD) for Teams

Once you save the table, you see the canvas app refreshes to automatically tie itself to this entity

Project Oakdale – AKA – APP Development (RAD) for Teams

And this is a fully functional app with all CRUD functionality included.

Click Save and Publish to Teams. Select the channel and tab existing or add new

Project Oakdale – AKA – APP Development (RAD) for Teams

It is that easy to get started with a table and app from within teams environment. An app that is available to the users of that team. You can add this app as a tab to a team.

Switch to Teams section within the Teams app and you will find the new tab added with the canvas app functioning from right within teams.

Project Oakdale – AKA – APP Development (RAD) for Teams

Now let’s have a behind the scenes look at what is available to us. Similar to the make.powerapps.com experience, you can see all the resources created within this environment when you click on the Build tab of the Power Apps

Project Oakdale – AKA – APP Development (RAD) for Teams

Click See All to be navigated to the maker portal

Project Oakdale – AKA – APP Development (RAD) for Teams

You have access to Apps, Flows and Chatbots as well.

The tables, when accessed from here, give us the familiar experience that we have with the make.powerapps.com

Add column from here exposes all the detailed properties that could be set for the column

Project Oakdale – AKA – APP Development (RAD) for Teams

And we also have access to all the attribute types supported by CDS including Currency and Multi-selection optionset.

Project Oakdale – AKA – APP Development (RAD) for Teams

Similarly, when you add a new table from here you have access to additional metadata of the table

Project Oakdale – AKA – APP Development (RAD) for Teams

I go ahead and create a flow that would send notification each time a new Company is created

Project Oakdale – AKA – APP Development (RAD) for Teams

The result each time a new company is added is a notification posted to the teams channel

Project Oakdale – AKA – APP Development (RAD) for Teams

Notice that connections to all the 3 apps were auto created as connection references in the environment

Project Oakdale – AKA – APP Development (RAD) for Teams

Note:

  1. Environment is per team; delete the team and you have lost your environment and all the work done there.
  1. Currently there is no way to move customizations i.e apps and assets created in one team to another.
  1. Currently there is no way to administer environments i.e backup/copy/restore experience.