RoadMap
CompleteMinimum viable productActive - Currently working onPlanned - not started onSome task for planned feature are skipped to meet the dead-line of Project Portal
Authentication Q1 2022
Core of the Fusion Framework is to provide tooling for executing authenticated service requests.
Developers of the Fusion platform should with minimal effort consume Fusion Services and provide their own.
Developers should be able to configure named clients for services. When using the client it should acquire scoped user identity token for the requested endpoint.
The client should also internally expose requests and responses, which can be managed from the portal (example telemetry, custom headers)
initial modules for moving from ADAL to MSAL
Foundation Q2 2022
Fusion Framework is buildt on a modular design.
Functionality for apps and portals composed together by small building block called modules
The framework provides essential modules, but developers can pick or create additional modules needed.
Fusion Framework provides scoped functionality.
Each collection module instances has their own sandbox to not pollute other applications.
When a applications is ejected, all facilitated functionality is disposed.
Fusion Framework Modules are independent and should be interchangeable.
Example: if the technology for authentication changes,
only the authentication module should be replaced.
Fusion Framework is ecosystem independent.
Written in plain TypeScript for future upgrade of libraries or platforms
Tooling for easy development on React
Fusion Framework is the foundation of applications
build once, run anywhere
, Fusion Apps should run on any host(portal).developers can focus more on UI, framework handles complexity
Service Discovery Q2/Q3 2022
Applications consumes data from Fusion services.
The Framework should dynamically resolve services from the host portal.
Developers should easily configure which services the application needs and maintainers see which one are used.
developers should only name the service, then the framework resolves the endpoint and authentication requirements
Ag Grid Q3 2022
Allow application to register AgGrid
license for removing watermark.
Events Q3 2022
Since modules are decoupled, the Framework needs a bus to communicate on.
Application can interact with events and prevent default behaviors
Context Q3 2022
Fusion context is scoped data with user-friendly name and follows users throughout session.
Applications present the user with a interface related the to selected context.
The framework needs to facilitate query, filtering and selecting scoped data.
The framework maintains the cache of context, aborts dangling request and throttles queries
Application Loading Q4 2022
Fusion provides metadata about registered applications and configuration for runtime environment.
When loading an application the Framework resolves and provides this information,
which the application uses to dynamically configure before rending.
The framework also keeps track of selected application and notifies when when current application changes.
Bookmarks Q4 2022
Bookmarks are snapshots of application states which users can navigate to and share with other Fusion users.
The framework should facilitate functionality for storing and restoring bookmark.
Widgets Q4 2022
Widgets are small applications which are uploaded to an global storage and consumed by portals and applications.
The framework should manage loading metadata and configuration for the widget.
Application migration Q4 2022
Q4 2022
Convert existing application to be compatible with dynamic loading and configuration of framework
Navigation Q4 2022
Q4 2022
The Framework should provide functionality for applications and portals for navigating.
Application CLI Q4 2022
Q4 2022
Create a CLI for building and developing application
Not planned yet
Tasks need grooming
Exposes users Fusion tasks/actions
Notification need grooming
Exposes users Fusion notifications
Telemetry
Observer events happening in the framework an log back to application insight
This module exists but missing wiring and final touches
Service Messages need grooming
Module for subscribing to Fusion service messages (SignalR)
Person need grooming
Module for resolving persons (person-card, person-picker, person-avatar, person-availability)