Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Universal Dashboard Marketplace #1022

Closed
adamdriscoll opened this issue Aug 15, 2019 · 4 comments

Comments

@adamdriscoll
Copy link
Member

commented Aug 15, 2019

General Concept

A marketplace to store UD dashboards similar to Grafana's dashboard community.

Some History

I've gone back and forth on this concept in the past. I had built a UD marketplace that sync'd with the PowerShell Gallery and looked for particular tags and then displayed those modules on the marketplace. It was ok but didn't really get much traction so I took it down. I've also configured a way to upload dashboards to IronmanSoftware.com but only 2 dashboards were uploaded.

A Call For Feedback

What I'm looking for is some feedback as to whether this is something that the UD community wants. I see it as a great way to get examples, share work so it's not duplicated and provide additional controls without having to dig around the PSGallery or GitHub.

Some questions I have for everyone:

  • Would you find something like this useful?
  • What type of features are make or break for something like this? I have some ideas below.
  • Could you see yourself publishing to the Marketplace? I know a lot of people build dashboards for their employer which is either IP or too specific to be used widely.

Features

Publishing Dashboards

Users should be able to publish dashboards. Grafana allows users to upload a file directly through their website since it's just JSON. We could do this with a ZIP file or something to include all the bits and pieces of a dashboard.

I think dashboards should be packaged like modules because then you could include all the dependencies, version it, include a description etc.

We could update Publish-UDDashboard to also publish to the Marketplace\Gallery. It could just be a wrapper around Publish-Module with some additional validation and metadata collection about a dashboard.

Publish Controls

Users should be able to publish controls. Controls should also be packaged like modules for the same reasons as dashboards.

We could add a Publish-UDControl to publish to the Marketplace\Gallery. It could just be a wrapper around Publish-Module with some additional validation and metadata collection about a dashboard.

Installing Dashboards and Modules

Users should be able to install dashboards from their command line using Install-UDDashboard and\or Install-UDControl. It might not be necessary to create these if we want to just take advantage of Install-Module.

Parameterizing Dashboards

Dashboards don't know how to just hook up to the data sources. You need to include some sort of configuration. This hasn't been standardized and should be so that users can easily configure a dashboard for their environment. Import-Module provides an -ArgumentList that we could take advantage of to allow users to provide configuration info when importing the dashboard module.

Another idea would be to augment Start-UDDashboard to include a parameter to pass in information.

We just need to make sure that if a user attempts to run a dashboard that doesn't have the required parameters, it asks them for them. They need to be discoverable in some way.

Web UI

There should be a website that users can visit to locate dashboards. We want an easy way for people to just Google something like Active Directory Dashboard and it will show up.

The basics should be there. You should see information about the dashboard or control. The web site should be searchable. A way to include screenshots, author, description, dependencies, UD version and edition, etc.

Some nice to haves would be:

  • Download count and other stats
  • User registration\authentication
  • Ratings
  • Comments
  • Tags\categories
  • Upload dashboard\control via UI ?

Technical Considerations

PSGallery integration

I think the right way to do this is to either integrate with the Microsoft PSGallery and just publish there. This would be similar to the first incarnation of the UD Marketplace but would could create Publish-UDDashboard and Publish-UDControl to put metadata about the module into the UD Marketplace rather than the UD Marketplace having to try and sync with the PSGallery.

The other alternative is to stand up a separate instance of the Gallery. I'm not quite sure this is the right way to go but would like to hear feedback.

Marketplace Implementation

This would have to be a web app hosted on Azure or something with a database to store dashboard and control information. It should have APIs for allowing Publish-UDDashboard and Publish-UDControl to communicate with it. It could be open-source and in another repository.

Improvements to UD

We need to improve the UD experience to support pluggable dashboards. Controls are pretty pluggable right now but there isn't a great way to download a module, configure it and then get it running.

Let's standardize that by providing some mechanism to parameterize modules, publish them and install them.

@cadayton

This comment has been minimized.

Copy link

commented Aug 15, 2019

Yes definitely a great idea to implement. It appears you have pretty much covered all of the basics, so can't of anything else to include. Need some help standing it up?

@psDevUK

This comment has been minimized.

Copy link
Contributor

commented Aug 16, 2019

I think this would only strengthen the awesome product you have already. To have more examples and a place where people can go "all under one web-link" is a big plus in my book.

@adamdriscoll

This comment has been minimized.

Copy link
Member Author

commented Aug 17, 2019

@cadayton Once we decided exactly what to stand up, I'm all for a hand! I think we need to figure out the technical details and then we can start coming up with a roll out plan.

I might open-source the old marketplace code and we can go from there.

@adamdriscoll

This comment has been minimized.

Copy link
Member Author

commented Aug 20, 2019

The UD Marketplace is now live. You can publish you own items through the PowerShell Gallery and they will be listed on the marketplace. More information here: https://ironmansoftware.com/back-by-popular-demand-universal-dashboard-marketplace/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.