Category Archives: PowerApps

PowerApps – No Items to Show

In a previous JS Link / CSR post we covered how to handle what is displayed in a web part when there are no items to show. SharePoint’s default message is an ambiguous:
“There are no items to show in this view of the [listname] list”

Not an awesome user experience. Something a little more contextually relevant might be more helpful to users – either in a simple list view, or in a more complicated solution.

A PowerApps Gallery control isn’t any better – merely showing a blank record. The Data Table control, on the other hand, has a handy ‘NoDataText’ property that can be configured to display a message when the control is empty. 

So, what do we do when using Gallery controls – until a ‘NoDataText’ property is added and/or the Data Table control allows for more configuration options? As is the answer with many things in PowerApps: We use a formula.

Using an appropriate text field control within a Gallery control, we can replace the Text property with a formula like the following:

If(CountRows([_List Name_])=0,”[_Put your message here_]”, ThisItem.Title)

For a SharePoint list named: DefaultList you get the following:

If(CountRows(DefaultList)=0,”Nothing to see here”, ThisItem.Title)

The ‘CountRows’ function as you might guess returns the number of rows in the list.

The ‘If’ function tells the control to set the displayed value of the control to “Nothing to see here” if the condition (there are 0 rows) evaluates to ‘true’. If not, the value of the control is ThisItem.Title – the normal field value we would expect in the control. The text is only displayed when there are no items in the list. 

That’s it. Smile 

References

PowerApps – Data Table Control

PowerApps takes another step in the direction of SharePoint lists. This isn’t intended to be a knock on anything, just an effort to put it into perspective for SharePoint user. With a data table (grid) control PowerApps is able to look a lot like a SharePoint list view.  Smile  PowerApps users now have a control to more rapidly replicate SharePoint view-looking solutions. True, it’s not just SharePoint… but that’s where many users are coming from… and the table/grid layout will be a nice comfort zone for ‘SharePointers’.

If users want to display items from a data source, they have a variety of options in PowerApps – initially centered on the gallery control. The gallery has a LOT of flexibility, allowing users to select gallery templates or build layouts from scratch. Layouts might look like a grid layout, or like a ‘card’ with fields arranged more like the old announcement web part in SharePoint. With this flexibility, however, comes more effort. Not a bad option, just a trade-off. 

The Data Table control has fewer configuration options, but is a big time-saver in that it drops a complete control on the PowerApps screen and allows for a quick configuration to a data source. Fewer options (for now), but quick and easy creation.

Once on a screen, the Data table can be found in the Insert tab: image

Once inserted on a screen, the control needs to connect to data. Clicking on ‘Connect to data’ will allow the user to use existing connections or add a new one. image

In the properties column before connecting to data:
image

Connecting to the SharePoint site, you need to enter the URL of your *site*, not the *list* directly. Once connected to the site you’ll be able to select the list you want.

Once a list is selected, the fields available are displayed. Fields are selected in the order they are to be displayed from left to right. They can be reordered by dragging the columns up and down in the property pane shown here:
image

The screen view and property page with fields selected:
image

As the fields are selected, they show up on the control itself. Boom. That’s it for starters.

The control has a standard collection of basic properties available for configuration, though I expect the options to expand over time. 

Notes

  • CSR – In SharePoint there was no option to configure the text displayed when a web part was empty without getting into some Client-Side Rendering or JS Link customizations. With the Data Grid control there is a “NoDataText” property that takes care of this capability out of the box. Yea!
  • Filtering and Sorting – These aren’t the only other properties of a SharePoint view, but they are the next pieces after choosing the fields to display. See how to use formulas in PowerApps to control the ‘view’ sort and filter options.  
  • Connected controls – The Data table can be connected to another control, like a form where record data can be displayed and edited. Definitely check this one out in the data table control documentation (listed in references below).

Top Wants

This is a great start so I don’t want to appear too negative. I’m a fan of Microsoft’s newish approach to getting new features out and then moving forward with steady improvements over time. With that, here are the top things that came to mind when initially trying the new control:

  • Column widths, row heights, and word wrap – The ability to control the cells a bit more. You can see in the images above how the field widths aren’t acting like you’d hope or assume. The Title field should be bigger and the Priority field should be smaller. It’ll get there.
  • Column formatting, Conditional formatting – Right now the font controls are limited to the headers and the rest of the cells. It will be nice to have column/field level formatting and conditional formatting – one of the most requested and customized features in SharePoint views. 
  • A supported / best practices method for embedding these PowerApps into the SharePoint interface. THAT is how we’ll be able to replace and extend the current SharePoint list view with a PowerApp.

References

PowerApps Community Plan

Now, this is just awesome. In another move to increase user onboarding, Microsoft announced the PowerApps Community plan – free for users to get ramped up on building solutions with PowerApps, Microsoft Flow, and the Common Data Service.

Why is this particularly cool? Users have always been able to sign up for a free trial with their own tenant but that has time limitations. Literally millions of O365 users potentially have access to PowerApps via their organizations, but many of these organizations are hesitant to enable PowerApps in their environments. Regardless of your individual situation, you now have access to a free development environment to not just check out, but dig in and learn one of the most promising tools out there for business solutions.

From a SharePoint user perspective, this is a great way to check out the tool that will both replace InfoPath and extend SharePoint out of box capabilities previously covered by SharePoint Designer, Client-Side Rendering (CSR) and JS Link, and other power user tools. Ramp up on your own and be ready for when your administrator turns PowerApps on in your tenant – OR be the reason they turn it on when you understand it’s capabilities and can demonstrate both your skill and solutions ready for your particular business cases. While SharePoint is, and will continue to be a data source for PowerApps – also check out the Common Data Service. Not all apps should be in SharePoint (really, its not the only tool out there. Smile ).

Be sure to check out the FAQ at the end of the blog post for good info as well. You will be able to transfer apps from your individual environment to another tenant… It’s not a dead-end tenant.

References

  • Sign up for the PowerApps Community Plan
  • Check out the blog post for more details.

Update

Seems worth noting that you create your community account as a part of a business account – which many folks will already have. But not to fear, PowerApps keeps your community account separate from your actual work account by using the same account and password, but creating a new environment. Well done PowerApps Team!

image

  • ‘TrecStone (default)’ is, yep – the default PowerApps environment for my account.
  • ‘Demo Area’ is a separate environment created to try out environment functionality
  • ‘Wes Preston’s Environment’ is my new personal PowerApps Community Plan environment

SharePoint, PowerApps, and List View Permissions

While discussing SharePoint list views during a recent SharePoint 101 session at our local SharePoint User group, the inevitable question about permissions on columns and views came up. Standard answer: ‘No’. Permissions in SharePoint are set at the list level, or the item level. Nothing is available at the column or view level. However

Here are the facts (today – this stuff changes so fast…):

  • Permissions on SharePoint lists are set at the list or item level. There are no SharePoint settings for permissions on a specific view.
  • PowerApps are surfaced in the views dropdown.
  • PowerApps permissions are set at the App level.

Are you there yet? Did you make the connection? Yep. You can have an item in the view dropdown with permissions different than the list itself. You can now have a ‘view’ with its own permissions. PowerApps are even integrated enough to *not* show up in the dropdown if you are a user that doesn’t have permissions to the App.

image

Now, PowerApps are not as simple to create as a SharePoint view, but it is possible. Currently two facts hamper users a little bit here.

  1. The current SharePoint to PowerApps ‘wizard’ only creates a phone layout App. Not something that easily replicates a traditional SharePoint view.
    image
    Don’t get me wrong, this template (wizard) is awesome. it just doesn’t do what we’re talking about (replicate a list view) in this scenario.
  2. PowerApps are not yet embedded in the SharePoint interface – so the user experience is not as smooth as we’d like it to be.

I have to believe that both of these issues are on the roadmap for the PowerApps and SharePoint teams. We’ll just need to wait and see if and when they work their way up the list. Smile

Until these are addressed, you have a few things you can do manually with SharePoint and PowerApps. I’m walking through some of the options and steps with this blog series (References listed below – still have more posts to come…).

As with anything you’re working on in SharePoint or PowerApps, you need to pay attention to permissions levels. Extending SharePoint with PowerApps – while awesome – adds to the details you need to pay attention to. #governance. You might run into something like this:
image

You can also use the ever popular ‘security by obscurity’ approach and remove the PowerApps listing from SharePoint:
image
Although, you don’t actually have to do the ‘obscurity’ approach though since we have the capability of setting appropriate permissions at both the SharePoint and PowerApps levels.

You have options to switch the visibility, permissions, and integration experience in the SharePoint list menu:
image

These are a few of the configuration options. Check them out to see if the integration between SharePoint and PowerApps can meet your particular needs. If it doesn’t now, by bet would be that it will eventually… soon even.

References

Top X Things Needed To Make PowerApps Awesome for SharePoint

While chatting about PowerApps recently, someone told me that I should always know my ‘top x’ things I want fixed, added, changed, etc. I can see where that might be handy to talk about with Microsoft, with other implementers, etc. It’s a quickly changing community and product and hey, they *are* listening. For PowerApps my current focus is on how it integrates with SharePoint. With that in mind, here’s my top 2. I’ll come up with more later. These are the ones I think are *really* important. 

  1. Embedded
  2. Embedded

PowerApps has great potential and already has a running start. But it has to nail the embedded story. If the integration of SharePoint and PowerApps is going to be *really* successful and gain the love of SharePoint users it needs to be easy and seamless. That means when a user selects a PowerApp in SharePoint it’s not going to jump to another application. It needs to run within the SharePoint interface.

So why do I list ‘embedded’ twice? Not because I really, really want it (I do) – but because there are (at least) two distinct embedded use cases:

Embedded Forms

EVERYONE has been talking about forms – which is well and good. They should be talking. They should (and have) been yelling. The gap is obvious and a solution is WAY overdue. With the scheduled end of InfoPath and the rudely unscheduled end of SharePoint Designer’s (SPD) visual designer, users have been left with one of the community’s longest and most obvious gaps. Thanks to third-party offerings (K2, Nintex, etc.) and community-efforts (Stratus Forms, etc.) certain needs have been met, but there are still gaps and it’s been far too long for a Microsoft-sponsored solution for business and power users.

Note: I don’t want this coming off as an anti-Microsoft rant. That is definitely not my intent. There were plenty of reasons for the delay. What they want to do and need to do is not trivial and the standards are extremely high. The integration we’re talking about also requires collaboration (see what I did there?) between two separate, complex, and rapidly changing products and teams. The PowerApps and SharePoint teams are also in different reporting structures within Microsoft. Fortunately both teams understand how important it is to get this particular integration done. The good thing is that there are many indications that this time around they’re going to make it – and maybe even exceed your expectations.

PowerApps needs to be able to replace existing SharePoint forms – the standard New, Edit, and Display forms – as well as add additional forms to a list or library. Form editing needs to be easy and intuitive in terms of which fields are displayed, how fields are laid out and formatted. Beyond that, there are plenty of other features we’d love to see, but the ones listed here are the core. Talk to anyone that’s used InfoPath or SPD and you’ll quickly get a list of wanted features.

We have every indication that Forms and the embedded experience will be addressed. Microsoft has gone as far as announcing that PowerApps IS the replacement for InfoPath. It is important to remember however that the features are coming iteratively, little by little, but continuously. So be patient.

Embedded Views

The embedded story that folks aren’t talking about as much is for Views. SharePoint views have historically been a powerful tool for business users. And while they are powerful out of the box, power users continue to find that they’d like to extend views beyond the out of box capabilities, and extend without involving developers when they are able.

Again, power users were once able to do some limited, yet still extremely useful, view customizations with SPD, but lost that power with the deprecation of the designer view. For the last few years, some customizations were again available using Client-Side Rendering (CSR) and the JS Link property of web parts. While extremely flexible, this approach was beyond most typical business users as it crept into a grey area between out of the box and ‘real’ customization and development. The approach never gained mainstream support or adoption. Now, as O365 continues to mature and lock down features that have the capability to jeopardize platform stability, CSR and JS Link are also going away from fringe power users and exclusively back into the hands of developers (good for the platform, unfortunate for those that were using it). 

Users need a way to get the benefit of SharePoint views, specifically choosing a list of fields, the order of the fields in a grid or spreadsheet format, the filter for the list of items, and how they are sorted. Once those core features are available they’re going to want the ability to customize that view using PowerApps’ ability to change field formats, apply conditional formatting, and other rules.

PowerApps today are surfaced in O365 SharePoint Online via the view dropdown.

image

Selecting one of them initiates the loading of a PowerApp, but only give the user a button to open the PowerApp – opening the client application.

image

Embedding the PowerApp would (hopefully) spin up a PowerApp right in the SharePoint window – just like any other view – rather than having to launch a client application – which is a fairly jarring experience for users.

I think there’s some interest in this use-case in the community, but it’s definitely less discussed than the forms example. I’m not sure what the interest level is, but I imagine anyone that was doing CSR and JS Link work would be interested in it. We’ll just have to wait and see.

#3 – A View Template

OK. So I did think of a third item on my list.

The current SharePoint template for PowerApps starts with a SharePoint list and creates a series of three forms in PowerApps. It would be great is there was a PowerApps template that took the selection a step further – into the current views for a list (or library) – and had a default layout that looks more like a traditional SharePoint view – a table/grid layout. This feature alone would allow SharePoint users to leverage their existing investment in views straight into extending them in the PowerApps interface. 

Summary

PowerApps is a powerful addition to the suite of tools Microsoft is making available for power users – many of which are currently using SharePoint. The PowerApps team wants to see user adoption grow and has a large group of potential users in the existing SharePoint user base – and SharePoint folks are an eager bunch. We’re already intrigued by the potential PowerApps brings to the table. If Microsoft is able to smoothly embed PowerApps into SharePoint (and Teams!) pages, users will be chomping at the bit to use PowerApps (and Flow) even faster than they already are.

PowerApps – ‘List View’ Layouts For SharePoint Data (part 2)

In the last post we created a PowerApp app from scratch and connected to SharePoint list data. This post will talk about different ways of laying out the data on a PowerApps form (screen). This is EASY stuff. Hopefully you’ll think so too after seeing it.

Coming from SharePoint into PowerApps, the default method is to use the ‘Create an app’ menu item (Microsoft loves to demo this) in the SharePoint modern view that automatically creates a 3-form phone app connected to the list you started from. Yes, this is indeed awesome. However, that’s not what we want in this case – so we’re talking about a different approach. In this article we’re creating a tablet app – one that might look more like a PowerApp embedded in SharePoint (crossing our fingers here) would look. More like a traditional SharePoint view.

image

So, back to the tablet app approach…

By default when adding a Gallery control and selected the Vertical Text Gallery, we get a control that included 3 fields and ended up looking like this:

image

Coming from the SharePoint world, this looks like the default view for the Announcements web part or the ‘Newsletter’ view layout. While this is very useful, sometimes I’d like to see the data like we do in SharePoint, in more of a grid/table format. You could even do a hybrid of the two. Either way, it requires moving fields around a bit. Thankfully, this is super easy.

A few notes about the gallery control. You can select the entire control, a single item, or each field on the first item. All customizations to items and fields is done in a single item and will be replicated for all items. To select the item, select the round edit icon in the upper left of the control. This will allow you to resize the item within the gallery. Editing the item (rather than the whole gallery control or an individual field control) allows you to resize the item within the gallery. In our case once we’ve resized field controls and aligned them how we want them we’ll reduce the size of the item to look more like a grid. To go back to selecting the grid, select any item other than the first one.

image

The plan

I’m going for something similar to an All Items view minus the Description field. That’s 4-5 fields with room for future controls – probably something to view details of an individual item or kick of a Flow, or some other interesting option (future posts).

Resizing, reassigning, and moving field controls

We start with three fields, two of which are larger fonts used as a title and subtitle. There are plenty of ways to go about getting the right fields on the page. I’m going to do the following:

  • Delete the title and subtitle fields.
  • Reduce the size of the remaining ‘description’ field
  • Change the Wrap property from ‘true’ to ‘false’. This cleans up the field a bit if there is enough text to wrap and doesn’t show up along the bottom of the field.
  • Make any other formatting changes to the field control. (before we copy it…)
  • Copy and paste the fields to get the number of fields needed
  • Move the fields around – I’m putting them in what looks like a row of fields, aligned along the top of the ‘item’ space.
  • Select the item and reduce it’s vertical space to just enough to contain the row of field controls. This compresses the items into what looks a lot more like the grid format we’re used to with a SharePoint view.
  • Reassign the data assigned to each field to match how you want your view to display
    Remember: For some field types you may need to use the Advanced tab or the formula box
  • As needed, reformat or resize the fields to make the best use of space

Now, the screen looks a bit more like this:
image

Probably a good idea to add some text controls across the top as field headers. Now we have:
image

Easy! Hopefully you think so too…

Thoughts

There are a lot of directions you could go from here:

  • Add some navigation to the screen in the header or footer
  • Change the column headers to more interesting controls
  • Add some conditional formatting to the fields
  • What feature would you like to see added?

The stuff we’ve done is still pretty straight-forward, but if we eventually have the option of embedded PowerApps as views in SharePoint, it would be nice (especially for less-techy folks) to have a wizard or template that can take an existing view and convert it to a PowerApp. The more features we add to a page like this, the nicer it would be to have it automated. Smile

References

PowerApps – Build a Simple List View from SharePoint Data (part 1)

PowerApps has a number of integration points with SharePoint. For starters, you can use a template create an app from SharePoint list data. Right now, the template is limited to an app targeted at the phone form factor. Cool, but not what I want in this case.

image

What if you want to do the same thing from scratch?
What if you’d like to create an app that connects to SharePoint list data for a tablet? (or maybe what could be an app eventually embedded into SharePoint)

As with many things in PowerApps, it’s not too difficult (once you know what you’re doing with a little clicking around Smile ).

Build it

Open PowerApps studio. On the ‘New’ page, select the blank app with a Tablet layout. PowerApps will create a single form sized for a tablet. Let’s get building.

image

Start with the content. Select the ‘Content’ menu item and ‘Data Sources’.

image

In the right side property pane, select ‘Add data source’.

image

I already have a connection set up to SharePoint. So I can use that connection. If you don’t already have a connection you can set one up from here. I’m selecting the SharePoint connection.

image

Enter the URL of the SharePoint site:
 image

PowerApps will get a list of lists on the site you entered. Select the list you want – I’m using ‘Requests’ – and click ‘Connect’. 

image

Now, I’ve got a data source from my SharePoint list: Requests.

image 

So, now what? We add a Gallery to our screen. In the menu, select ‘Insert’ and then ‘Gallery’. For this example I’m selecting a Vertical Text gallery.

image

The Gallery control is then dropped on the screen. 

image

Resize and move the control around to fit your needs. I’m filling up the bottom part of the screen an leaving room at the top for a header/title thing later and maybe a few navigational controls. Control size and location are easily changed later as needed. 

image

Now, what’s cool here is that the gallery control has a bunch of features baked into it already. It can be tied to a data source and has additional controls baked into the gallery. This particular example has 3 fields available as shown below. The data for the default fields are kind of nonsense – we’ll fix that in a few minutes. 

image

We need to start by connecting the gallery to the data source. And it’s really easy. While the gallery as a whole is selected (see above), select ‘Advanced’ in the right pane.

image

Selecting the Items field, start typing the name of your data source – in this case ‘Requests’. It should show up as an option in the dropdown.

image

As soon as you select the data source, the screen preview updates with actual data from the data source. When you switch back to the ‘Options’ in the right pane, you’ll find that the controls have already tied to the data source. When you select the fields, they show all the fields in your list that PowerApps can recognize.

image image

So, you can quickly set the initial 3 fields to data in your list. If you don’t have enough sample data – go ahead and add some. Then refresh your data source and the screen preview should also update. Now you’re off and running.

image

That was a very simple run through of connecting to SharePoint data and getting it on a screen. We skipped over a LOT of details that you can dig into but will get into those at another time.

Next up: Layouts, sorting, filtering, etc…

References

JS Link in SharePoint – Choose your Path Forward

Times they are a changin’…

Microsoft continues to roll out the new ‘modern’ interfaces within the SharePoint platform. This is happening initially with SharePoint Online, but is also coming to on-premises deployments with SharePoint 2016 and Feature Packs. While this is a good thing for end-users overall, it does come with a price when it comes to customization options and JS Link. The new interface – the new approach – locks down client-side customizations and unmanaged code in a bid to increase the stability of the platform.

I should clarify that the JS Link approach I’m talking about is the one I’ve been working with and sharing the past few years: Using the JS Link web part property in the web interface and uploading JavaScript files via the browser. This is different from the JS Link approach used by ‘real’ SharePoint developers accessing JS Link via managed and deployed solutions. 

Classic Mode

The JS Link approach we’ve been using is still available through ‘Classic Mode’. Microsoft has stated that Classic Mode isn’t going away any time soon.

image

This means we can continue to develop solutions and customizations using JS Link and Client Side Rendering (CSR) for the foreseeable future.

Downsides of continuing to use JS Link in Classic Mode are: While the ‘modern’ and ‘classic’ interfaces work just fine together they aren’t visually consistent – so it’s a bit of a shift switching from one to the other during day-to-day usage. There also aren’t any migration paths from JS Link solutions to PowerApps or new custom solutions.

The future for power users, however, is really in PowerApps.

PowerApps

Get on the bandwagon now. PowerApps is the future and is a tool not just for SharePoint users – though it does bring new capabilities to SharePoint with forms and mobile accessibility. Between Power BI, Flow and PowerApps, the Business Application Platforms tools are the new area for power users to work in.

Currently, the integration between SharePoint and PowerApps is just scratching the surface, but there is more to come and in all likelihood those changes are going to be coming pretty quickly. Today you can create a PowerApp from SharePoint Online lists and the app will show up in the list view dropdown. Selecting a PowerApp today launches the PowerApps interface. While it’s not live yet, Microsoft has already demoed and shown functionality (in screenshots) of PowerApps embedded right IN a SharePoint page. Once this is possible, the user experience will be dramatically better and solutions (apps) built in PowerApps will start to replace what we previously built with separate SharePoint pages, views, and forms.

With the tools available today, PowerApps can create an app from a SharePoint list – either in O365 or on-premises if using a Gateway – and will create a form-based solution. What I hope to see is an additional template/wizard type of project that looks more like a traditional SharePoint view –hopefully even based on an existing view in more of a grid-focused solution rather than forms on a mobile-device-sized screen. We’ll see what we get. 

SharePoint Framework (SPFx)

When it comes to real customizations, the grey-area we’ve been operating in with JS Link is going away. *Real* customizations are intended to go through developers using the new SharePoint Framework (SPFx). This is managed and deployed code. Where with the current JS Link approach we could have a single JavaScript file, you now need a new stack of open source tools, projects with hundreds of files totaling over 100MB, customization of just the right files, and then deliver the finished package to an IT Pro to deploy in your environment. While this is better for the stability of the platform (again, which is good…), it is now significantly out of the reach of power users.

There’s a lot of information out there about the SharePoint Framework, but it is also new. So, we’ll be seeing changes and additions to it as it gets closer to mainstream. Bottom line is if you’re a developer in the SharePoint space, you’ll want to add SPFx to your list of things to ramp up on sooner rather than later. 

Future ‘Modern’ Interface Updates (?)

Disclaimer: This is *not* real. These concepts are a figment of my imagination and wishful thinking. There has been no word from Microsoft on any new features here.

Some of the things we’ve been doing with JS Link and CSR are relatively simple things, like column/field formatting and conditional formatting. It would be really cool if some of these ‘simple’ additions could be added to the web interface so we don’t even need to do customizations or PowerApps solutions.

What I’m thinking of is updates to how the SharePoint View is defined within the web interface. Today we have the list of columns/fields available in the list. We select the fields we want displayed in the list and set the order that the fields are displayed in.

image

A nice addition here would be to add formatting options for each column. Simplest would be simple HTML/text formatting. Next level of complexity would be conditional formatting. Next level up from that would be more along the lines of a calculated field, but combining HTML and field data like item ID. The first two at least seem reasonable to request. Smile Conditional formatting alone would likely meet the majority of requests by power users.

You certainly wouldn’t be able to do *all* the things we were doing with JS Link field and item overrides, but there are a few things that seem within reach if the SharePoint Team had them high enough on the priority list. 

Conclusion

So, choose your path. And yes, it (still) depends. Winking smile 

If you’re in an on-premises 2013 environment, you can continue using and building JS Link solutions. However, you’ll need to rebuild those solutions when you move to SharePoint 2016 or SharePoint Online. I haven’t tested migration from 2013 to 2016, but I suspect JS Link customizations would come forward as ‘Classic mode’ customizations.

If you’re in an on-premises 2016 environment, you can continue using JS Link solutions, but I would start looking at PowerApps here as well. Even with PowerApps living in the cloud, you have the ability to reach on-premises environments using Gateways. The integration likely won’t be quite as seamless as it will be in SharePoint Online, but Feature Packs may continue to improve this.

If you’re using SharePoint Online (O365), send your power users down the PowerApps path and your developers down the SharePoint Framework path. In the meantime, continue using JS Link and the pages in Classic Mode until you’re ready for the new stuff.

Previous Posts and References

PowerApps: Admin Center, Environments, and Data Policies –First Look

A few new features have been added (or are in the process of being added) to PowerApps for us to review. These pieces are capabilities administrators and governance folks will be happy to see once flushed out.
(10/27) Updates! Per a webinar with the product team today. Shown below…

Admin Center

The Admin Center is available in the settings dropdown and allows you to manage both Environments and Data Policies.

image

Once in the Admin Center, the view defaults to Environments.

image

I created a Demo Area environment just to have another one listed for now. There’s certainly seems to be room for more controls here, so we’ll see what else gets added eventually. Smile

Note: Navigation is a bit odd right now. It appears the only way back to the PowerApps page from the Admin Center is by using the waffle control – which opens a new tab. Being able to click on ‘PowerApps’ in the top might be useful and more consistent with how SharePoint in O365 works.

Now that we have the Admin Center to launch from, let’s take a look at what’s in it.

Environments

Environments available to you are visible in the upper right in a dropdown. As an Admin I can see the default environment and a new one I created. The dropdown control will switch you between environments while working in the PowerApps interface. If you’re browsing around and it seems like apps or connections are missing you’ll need to remember which environment they belong to.

image

Note: Switching environments brings you back to the Home page for that environment. I haven’t decided if I’m a fan of that or not… it might be nice to be able to stay on the Connections or Apps page and switch between environments within those pages quickly.

Environments are managed in the Admin Center (see screenshots above or below).

Note: Creating a new environment differed a little from the initial PowerApps post in that I didn’t see any controls for a Database. Update: This is addressed by latest blog post from the team. Some features are unavailable while changes are rolled out.

image

Once you’ve created a new environment it shows up in the list:

image

Selecting an environment drops you into the environment details page which defaults to the Security groups. This is another page that looks ripe for enhancements. We’ll see what else eventually gets built here. Will there be a need to add additional roles? What’s the reason for the additional left-ish nav control that currently only lists ‘Environment Roles’? Update: Well, more stuff. 🙂 In addition to ‘Environmental roles’, we’ll see ‘User roles’ and ‘Permission sets’ coming soon. Additional environmental roles were also mentioned… 

image

Digging a level deeper we can add users to a group. As the person who created the environment I’m automatically added to the Admin group. ‘Details’ here shows the name and description of the security group – which are currently not editable.

image

‘Details’ for the environment shows just that. But also nothing that appears to be editable at present.

image

I’d hope to eventually see a way to edit the name of an environment, if nothing else. Also missing is a way to *delete* environments. I expect the default to be locked up, but it seems logical to be able to remove the others. Maybe name changes and deletes will be available via PowerShell or via some other method.

Data Policies

Also in the Admin Center is management of Data Policies. Data Policies allow administrators to control which data and connectors can coexist in which environments. This functionality still needs some clarification. Hopefully it’ll be cleared up as documentation is released.

image

When adding or editing a policy, there are two configuration pages here: Choosing the environment – ‘Applies to’ and choosing how data groups are used within those environments – ‘Data Groups’.

Something that didn’t immediately jump out to me is the Policy Name editing, available at the top of the page.

image

Note: It might be nice to add a ‘Description’ or ‘Notes’ field here as well. Otherwise folks are going to need to use longer, more descriptive policy names. Time will tell.

Choosing environment seems pretty straightforward. You’ll be able to set specific policies for each environment and/or broader rules to multiple environments at the same time.

image

Note: One thing I saw that was a bit wonky was after selecting ‘Apply to ALL environments’ and saving the setting actually changed to ‘Apply to Only selected environments’ with both environments checked. So, functionally was ultimately the same – but a bit confusing from a user experience perspective.

The Data groups page is a bit more confusing. (the ‘Learn more’ link doesn’t currently work) If I interpret this correctly you are defining which connections or services are allowed by the apps in the environment.

image

Note: Hopefully verbiage can be made consistent if that is the case… it might be confusing to use both ‘connections’ and ‘services’ when talking about the same thing – though it does seem pretty intuitive. I’m just getting nitpicky here…

Best Practices

At this point, TBD (To Be Determined). It’s too early to tell, but these are the kinds of controls that IT Pros and/or governance folks are pretty happy to see.

  • Use descriptive names for data policies
  • Should you create Dev, Test, Stage, Prod environments?
  • Should environments be created per team, group, department, etc.…

As it has with the unofficial SharePoint motto “It Depends”, I’m sure there will be conversations about these going forward. Smile

Notes and Feedback

First off, PowerApps is still in Preview and features are still in the process of being rolled out and refined – so nothing to gripe about. Just some findings. I happen to think PowerApps is going to be a pretty spectacular product… just to be clear. Smile

  • There doesn’t appear to be any visibility into which environment you’re in when working in the PowerApps Studios – either Windows version or web version. Update: Reported to be updated TODAY (10/27)
  • When in a non-default environment and attempting to create a new app, the new app will be created in the default environment. Again, both Windows and web version of Studio.
  • I was able to copy a sample app into a new environment. After opening it in Studio I’ve had inconsistent experience with the app staying in the new environment or being automatically moved to the default environment.
  • I still need to get a better understanding of the Data Policy functionality, but after creating a policy with SharePoint in Business data and Twitter in No Business data I was still able to create an app using both connections in it. I’m not sure where the policy is blocking at this point (more research needed).

References

PowerApps: Environments

Overview

New from Microsoft this week: PowerApps Environments.

The quick and short story is that environments will be another taxonomy-element-like container.

  • In SharePoint we have:  Site Collections –> Webs –> List and Libraries.
  • In PowerApps we’ll have:  Environments –> Apps, Flows, and Common Data Service databases.

As with site collections in SharePoint, Environments will be the containers with ‘high fences’ between them. All part of the same tenant (or ‘server farm’ in legacy SharePoint-speak). Environments will give us a convenient way to group and isolate objects – for management, permissions, and Dev/Test/Prod scenarios.

Also in the blog post comments: There is an announcement coming soon regarding GA (General availability) timeline – getting past ‘preview’ stage). Smile Woo hoo!

Roles

Environments have a few roles defined.

  • Environment Admins will operate much like tenant or server admins in that they can create environments and manage the settings and policies for them.
  • Environment Makers are somewhat analogous to Site Collection Administrators or Site Designers. They’ll be able to create new apps, connections, etc. and assign permissions to users of those apps.

PowerApps Admin Center

A new feature to PowerApps for managing environments and more. More to come on the details of this one, but I expect it’ll be a blend of what we’ve seen with other O365 Admin controls and/or similar to what we’ve seen with ‘site settings’ in SharePoint in the past. 

What’s next?

Reference

https://powerapps.microsoft.com/en-us/blog/powerapps-environments/ 

No new links available yet in the Learn section, but I expect them to be available soon…