Dashimo is only having five functions for now and the idea is to add 6th function in the near future.
Dashboard – treat it as an opening block. You define its name, you define FilePath where to save the file. You can even add AutoRefresh in seconds if you have the need. I may give it some more options in the future, but the idea is that it shouldn't be overloaded.
Tab – well as the name suggests it adds tabs to your HTML page. You should only use it if you have large amounts of data or you want to split your data into tabs (obvious right?). If you add a tab you define its name and you simply open a block where your data will be. Anything that you put there will be put under that tab.
Table – last but not least is a way for you to display your data. As a table. That's it. It has the ability to sort, export to excel, CSV, or search.
And that's it. Below code is all you need to understand how Dashimo works. It's simple, direct. You can add multiple panels, and it will add more of them. If you add three, you will have three columns, and if you add just two, you will have two columns. If you add 5, you will get five columns. The same idea is for sections. You can have multiple sections per row but they merely look differently, and those give you an additional way to name your data by using Name. Remember you can always use Invisible switch if you want to further position your data, just like I did using first, invisible section.
Dashboard -Name 'Dashimo Test' -FilePath $PSScriptRoot\Dashboard.html {
Tab -Name 'Forest' {
Section -Name 'Forest Information' -Invisible {
Section -Name 'Forest Information' {
Table -HideFooter -DataTable $DataSetForest.ForestInformation
}
Section -Name 'FSMO Roles' {
Table -HideFooter -DataTable $DataSetForest.ForestFSMO
}
}
Section -Name 'Forest Domain Controllers' -Collapsable {
Panel {
Table -HideFooter -DataTable $DataSetForest.ForestDomainControllers
}
}
Section -Name 'Forest Optional Features / UPN Suffixes / SPN Suffixes' -Collapsable {
Panel {
Table -HideFooter -DataTable $DataSetForest.ForestOptionalFeatures -Verbose
}
Panel {
Table -HideFooter -DataTable $DataSetForest.ForestUPNSuffixes -Verbose
}
Panel {
Table -HideFooter -DataTable $DataSetForest.ForestSPNSuffixes -Verbose
}
}
}
}
The 6th function that I've planned is adding Charts. Charts are on their way but they require a bit more work as I need them to be easy to use, and just the way I want them. I am still experimenting with them, so it takes a little more time. I do have some charts that are ready (and you can see them below), but I haven't added all types that I wanted, and I am still struggling on data definitions for ease of use. But to keep you entertained some gallery is below.
Have I got you entertained? Most of those are generated with 1-4 lines of code depending on data you want to display. But like I said above it's not yet ready for Dashimo. Therefore it's only available as part of PSWriteHTML. Ah, that's right, I've almost forgotten. Dashimo is based on PSWriteHTML. PSWriteHTML is a ReportHTML fork that has gone thru a total redesign so if you fancy some experimenting feel free to see what I've cooked up on GitHub. There are about 15 examples to get you started. The thing with PSWriteHTML thou is that I experiment with it a lot. That means changes of parameters, changes of order, changes of naming convention. The idea behind Dashimo and Statusimo is that whenever I change something in PSWriteHTML that impacts those modules, I update them as well so that functionality should change much (still dependant on feedback from YOU). Do you remember how I mentioned Brad in the beginning? Brad's work actually got me into exploring ReportHTML but when I tried to use it I found out small things could break HTML and display things in an unpredictable way. You had to care for opening content, closing content. But if it weren't for ReportHTML this wouldn't happen so you can thank ReportHTML author as well, right after Brad.