Today, I’m happy to announce the release of Universal Dashboard 2.7 and UDStudio! Universal Dashboard 2.7 boasts a bunch of new features and tons of bug fixes. I’ll be outlining some of the notable items below. UDStudio is a new Visual Studio Code extension for Universal Dashboard Premium and Enterprise users. It allows you to easily debug your dashboards directly in VS Code. Check out the demo below to see how easy developing UD websites and apps can be.

Universal Dashboard 2.7

AdminMode

AdminMode is a new Universal Dashboard Premium and Enterprise feature that allows you to better visualize what is going on within your website. To enable AdminMode, use the -AdminMode switch parameter on Start-UDDashboard. AdminMode offers an improved admin terminal, layout copy options, licensing information page as well as a diagnostics page.

Clipboard Support

Set-UDClipboard was added to allow users to set clipboard data from within their websites. You can call Set-UDClipboard from any endpoint to automatically copy data into the users clipboard.

Select-UDElement

Select-UDElement allows you to set the user’s focus to any element on the page. All you need to do is specify the element ID. You can call Select-UDElement from any endpoint.

New Tight Theme

A new tight theme was added to reduce the padding for controls within Universal Dashboard. If you find the default theme to waste too much white space, try giving the DefaultTight theme a shot.

Listen Address Configuration

You can now configure which addresses Universal Dashboard listens on. Specify the IP Address to listen on via the -ListenAddress parameter of Start-UDDashboard and Start-UDRestAPI. This is especially handy if you are building UDForge apps and you want your dashboard to only listen on localhost.

Improvements to JSON Web Tokens

JWTs are used for authentication and authorization via REST APIs. You can now configure both a basic auth authentication method and a JWT authentication method when using Start-UDRestAPI. This means users can authenticate with a user name and password and receive a JWT that they can use for further calls to the REST API. You can also customize data that is stored in the JWT using the Payload parameter of Grant-UDJsonWebToken. Finally, you can now parse JWT tokens using ConvertTo-UDJsonWebToken. This enables the ability to read the data stored within the JWT without having to parse it yourself.

Performance Improvements to Authorization Policies

Authorization policies used to run every time you needed them. That meant that any time you loaded a restricted page or used Get-UDAuthorizationPolicy, it was running the authorization policy script block. This resulted in a delay for elements to load or pages to render. With UD2.7, authorization policies are evaluated when the user logins in. The result of the policy is then cached in the user’s session so they don’t need to be evaluated every time. It’s a huge performance increase.

Improvements to Session and Cache Management

Sessions have been improved to better handle user session times out. You should notice a large reduction in memory usage in UD2.7 dashboards when using lots of nested Endpoints in your pages. The Cache is now using a thread-safe collection so you shouldn’t see issues when updating and accessing cached items in your dashboard. Both the session and cache values are now visible in both the AdminMode diagnostics page and with UDStudio.

UDStudio

PowerShell UDStudio is a VS Code extension that you can install directly from within VS Code. Just search for PowerShell UDStudio and install it right now. Here are some of the notable features.

Endpoint Debugging

UD endpoints have been notoriously hard to debug. UDStudio helps solve this. When running your dashboard in VS Code, you can set breakpoints via UDStudio on the endpoints. Then, when you exercise the endpoint, the breakpoint will cause VS Code to automatically break within the endpoint. You can then inspect variables and step through the code, just as you would with any other PowerShell script.  You’ll be able to set breakpoints in endpoints, scheduled endpoints, REST API endpoints, authorization policy endpoints, and login page endpoints.

Status Inspection

You can view the status of your dashboard. This includes values that are stored in the Cache and session information.

Toggle AdminMode

You can toggle AdminMode without having to set the parameter on Start-UDDashboard. This means you won’t have to modify your script just to turn on AdminMode.

Module Version Information

UDStudio will ensure that you have the latest version of UD installed by checking the gallery for new versions and notifying you when a new one is out.

Links to Resources

UDStudio provides some quick links to UD resources such as the GitHub repo, forums, and marketplace.

More Resources

To read more about Universal Dashboard 2.7 and UDStudio, please follow the links below.