-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1813eb7
commit 62f0cca
Showing
1 changed file
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
# v3 - Late 2020 | ||
|
||
## Framework Support | ||
|
||
Universal Dashboard currently uses Materialize CSS as it's primary set of controls. It isn't React based and really locks people into a single look and feel. We've made some progress at switching this out but it's not complete. | ||
|
||
We should be able to completely plug in a framework that changes the control set. Certain controls should be backwards compatible and only change how they look. The following cmdlets should work no matter the framework. | ||
|
||
- New-UDCard | ||
- New-UDCounter | ||
- New-UDGrid | ||
- New-UDTable | ||
- New-UDInput | ||
- New-UDChart | ||
- More? | ||
|
||
|
||
Frameworks should be able to define their own controls but should some how allow for backwards compabiltiy of the above controls. | ||
|
||
### Core Module | ||
|
||
As part of the framework support, we will isolate the core UD module. This will consist of things that are core to the UD experience. These cmdlets include the following. | ||
|
||
- New-UDElement | ||
- Set-UDElement | ||
- Remove-UDElement | ||
- Add-UDElement | ||
- Clear-UDElement | ||
- New-UDPage | ||
- New-UDDashboard | ||
- More? | ||
|
||
## Theme Support | ||
|
||
Themes are a never ending battle in the current implementation of UD. Themes are never up to date and are rebroken every release. We will be changing how themes work. | ||
|
||
### Color Definitions | ||
|
||
Themes will work via color definitions and not CSS. Controls and frameworks will need to opt in to themes to make sure they work appropriately. | ||
|
||
An example theme will be something like. We will better define the colors need through this document. | ||
|
||
``` | ||
@{ | ||
PrimaryColor = "#234234" | ||
SecondaryColor = "#2343242" | ||
SomeOtherColor = "#234234" | ||
} | ||
``` | ||
|
||
Themes should still support CSS but it should not be built into the box. | ||
|
||
## Material UI Framework | ||
|
||
As part of the move to a framework model, we should remove Materialize as the default framework and instead use Material UI. It offers more controls, supports the proposed theme model, is more actively maintained, is written in React and looks better. | ||
|
||
For the first v3 version, we should look to replicate the existing required components. | ||
|
||
## Remove Role Support | ||
|
||
Roles don't work with any authentication type besides endpoint based auth. We should remove roles and focus on authorization policies since they work everywhere. | ||
|
||
## Rename Endpoint to DynamicContent | ||
|
||
Endpoint is a very confusing name. We should consider renaming (or aliasing) all component-based Endpoint parameters to DynamicContent instead. | ||
|
||
## Enhanced JavaScript API | ||
|
||
As part of the framework work, we should improve the JavaScript API so it's much easier to implement custom components. This primarily focuses on improving the implmentation of the following cmdlets in your custom components. | ||
|
||
- Add-UDElement | ||
- Get-UDElement | ||
- Remove-UDElement | ||
- Set-UDElement | ||
- Clear-UDElement | ||
- Sync-UDElement | ||
|
||
## v2.+ - 2020 | ||
|
||
v2 will continue to be supported with development going in tandem with v3. We should focus on bug fixing and features that will enhance the core module but try to avoid adding features that rely on Materialize or introduce new Materialize controls. | ||
|
||
### Additonal Endpoint Support | ||
|
||
There has been some desire in the community for more cmdlets for managing endpoints. We should look at implementing these cmdlets. | ||
|
||
- Invoke-UDElement - Run endpoints synchronously and asynchronously from other endpoints | ||
- Get-UDElement - Return elements registered with the system |