Roadmap of EAV and 2sxc - Vision of the Future
The 2sxc roadmap contains the things we think are fairly important to tackle next. Since we're all working for free, there is no commitment to do this in the order you see below. And sometimes a customer will need a feature quickly - and pay for it - then it will appear sooner.
Tip
You too can sponsor a feature to make things happen sooner!
Last Update: 2024-10-10
v18.02 (released 2024-10-09)
- ✅ Shared Field Configurations / Content-Type Composition
- ✅ Pickers stable
- ✅ Picker Source CSV
- ✅ Picker Source Custom List
- ✅ Picker Source Entity
- ✅ Picker Source Query
- ⌛ Picker Source CSS (BETA)
- ✅ Picker Data Type: Number now supported as well
- ✅ Picker Outputs
- ✅ Radio buttons
- ✅ Checkboxes
- ✅ Auto-Inline (which will take radio/checkboxes depending on your settings)
- ✅ Picker Previews
- ✅ Font-Icon preview
- ✅ SVG-Icon preview
- ⌛ Image preview (BETA)
- ✅ Finalize Content-Type Composition
- ✅ Ctrl + S (upper case) now works too
- ✅ Ctrl + Alt + s now saves and closes
- ✅ Host user now always sees the developer tool bar, but can unpin it for a while
- ✅ Edit UI: Update Angular 18, Material 3, and other JS dependencies, refactor to use signals.
- ✅ Edit UI: Massively improve pickers - ca. 90%, also with Number and CSS / SVG / Image icons
- ✅ HotBuild: Enhance to use SHA fingerprint for cache-busting
v18.03 (planned 2024-11-15)
- ✅ Clean up data model, remove unused table
ToSIC_EAV_AttributeGroups
(may be breaking) - ✅ Pickers - Stabilize most features so final
- ✅ Tweak API for Image Service Settings, Img, Picture
- ✅ Tweak API for Typed Items
.Img(..., tweak: t => t.Alt(...)...)
and.Picture(...)
- ⌛ JSON Bundle Export, Import, Persist
- ✅ Ongoing Angular refactoring (switching to signals, deduplicate code, ...)
- ⌛ Support Ctrl+Click in Admin-UI to open dialogs in new windows/tabs
- ⌛ Ability to switch UI languages (not just content-languages)
Note: Picker Features still not final
- Picker Formulas (beta)
- Picker Source WebService (not started)
- Picker Source CSS (beta)
- Picker Preview Icon, Image, etc. (beta)
2024 Q3 Finish DoD / Almost-Done Work
- ✅
ICacheService
onKit.Cache
- ⌛ Dnn Force use of Roslyn
- ⌛ Include Dlls on Compile for Dnn/Oqtane
- Improve Intellisense
- Harden more Dlls and include more XML docs
- ✅/✅ ToSic.Sxc
- ✅/🔳 ToSic.Sxc.Code.Generate
- ✅/🔳 ToSic.Sxc.WebApi
- 🔳/🔳 ToSic.Sxc.Dnn
- 🔳/🔳 ToSic.Sxc.Dnn.Core
- 🔳/🔳 ToSic.Sxc.Dnn.Razor
- ✅/🔳 ToSic.Sxc.Dnn.WebApi
- ✅/🔳 ToSic.Eav.Apps
- ✅/🔳 ToSic.Eav.DataSources
- 🔳/🔳 ToSic.Eav...other
- ToSic.Sxc.Oqt / Razor
- Harden more Dlls and include more XML docs
also...
- Oqtane Menu Control
- Oqtane Multi-language
- Oqtane professional theme
Q2
- Improve CSP in Oqtane 5 (once SSR is ready)
- Create a User service to get more user data
also...
- Improve Pickers all kinds of small issues
- tree
- Improve Oqtane Pages DS to also respect all known settings - @STV
- Finalize Deprecation system @2dm
- Improve CSP so it can work in a pure DNN skin without 2sxc @STV
Done but not communicated, or still tweaking / WIP
- ✅ Auto-Installer - Features to configure at system level which apps are allowed / must be installed
- Data Sources
- ✅ Internal data source to get data from app parents
- ✅ Internal Query to get data from app-parents
- ✅ New DataSource
AppFiles
- ✅ New DataSource
AdamFiles
- ⏳ Publish
SharePoint
DataSource (Premium/Patrons only) - ⏳ New data sources like: ADAM (Files, Folders), Navigation, etc. - ca. 2d
- ✅ Compress Timeline: Feature to compress the existing history
- ✅ Entity Serialization Improvements
- ⏳ Language editing permissions - improve, test, finalize, document - ca. 3-5d
- also allow non-admins to possibly translate resources
- Ability to set default compiler in Dnn to always be Roslyn
- Ability to include Dlls in the compile process for Dnn/Oqtane
Post LTS
- Apps / App Maintenance: publish other new apps
- New timeline
- Files
- etc.
- CSP - ca. 5d
- ⏳ CSP Tutorials, docs and more
- Standardize / complete
IDataBuilder
API - User Service - requires some final decision in regards to the data-format returned
Blazor CMS / cre8magic
- ⏳ cre8magic - auto-generate sitemap.xml
Minor: Tutorial App Enhancements
- Get tutorial app to run perfectly on Oqtane - ca. 0.5d 2dm
Probably 2024 Q3
2sxc
- Page Level Settings and Metadata
- User Help / Manual in-page
- Plan new Metadata Target/Address system using only a string
- Major update on dropdowns/selectors
- Improve Export-Import Bundles
- Ability to create bundles in the Admin UI
- Ability to review bundles and what's inside in the Admin-UI
- Ability to download/export bundles
- Ability to import bundles in the Admin-UI
- Ability to save bundles to App_Data
- Ability to import bundles from App_Data
- Maybe ability to auto-save bundles to App_Data on standard export
- Notes / Metadata
- Provide Page-Level Metadata and Settings (outside of a specific App) - ca. 2d
- Metadata for Page, User, Site incl. Notes for each - ca. 2d
- Notes everywhere - especially on the page - ca. 2d
- Massively improve JSON import with language checks, overwrite/vs new etc.
- Code editor intellisense for most APIs - ca. 3-4d
- ⚠️ Deprecation System (show in UI, mark all APIs clearly, blog) - ca. 2d
- Many automated tests in the core JS APIs (toolbar, etc.) - ca. 5d - SDV
JS Docs for formula
Blazor CMS / cre8magic
- Oqtane Theme release and cre8magic Nuget v0.0.2
- cre8magic Google Analytics
- Improve getting started with theme etc.
- Create section with showcase
- Create section with partners / experts
Backlog
New Stuff and Major Enhancements
CSP
- CSP for inline code - eg using nonce
- CSP for the Edit UI incl. custom extensions etc.
Note-feature to add notes to various things like entities, fields etc. (show, persist show, add to all kinds of things, ...) - ca. 3d
sxc-angular
- Re-release sxc-angular demo-app for it
- Js Docs for sxc-angular
- React sample application
⏳ Edit UI Picker (Entity, Number, String, etc.) - completely rework concept / system - SDV ca. 10d
⏳ Edit UI Picker - hierarchy / tree of data
⏳ string-Dropdowns from many data sources like
- CSVs
- WebService
- svg files icon-picker
after new Selectors - improve permissions UIs
New Icon-Dropdowns from other data sources for better icons-support without fonts
⏳ Edit and Admin UI Dependencies Upgrades @SDV
- ⏳ Improve / Refactor some public types code
Apps / App Maintenance
- maybe Status App
WIP / Ongoing Larger Projects / Enhancements
- Language Editing Permissions based on roles/users
- Implemented v13 2022 Q1 but not in production, so probably not fully ready / tested / documented
- Enable viewing read-only data / configuration to better discover options/features
- Implemented to ca. 70%, but shared data metadata can't be accessed in UI ATM
- Provide more help UIs for using REST APIs
- Make the Metadata-System completely discoverable
- Standardize how to integrate into other systems (non-Dnn/Oqtane) (ca. 70% done)
- OpenGraph system - probably requires rewrite of CSP-Stack
- Create demo app with react
- More public headless APIs and Demos
- Improve WYSIWYG
- Ability to do more configuration on WYSIWYG
- ability to override toolbar buttons
- ability to set various easy-to-set configuration
- Possibly ability to preset various configurations globally or at site-level and use in other places
- Ability to do more configuration on WYSIWYG
Oqtane specific
- CSP for Oqtane
- It's partially done, but docs are missing
- Unsolved aspect: collecting all necessary resources for CSP of pages not initially loaded
- Oqtane Page/Module integration / use (also for notes etc.)
Future / Other
- Update DB-Schema
- Support for persisting data to the file-system instead of DB
- Blazor integration for use in client-side Blazor
ATM not really usefuly, because blazor is not run-time compiled yet, so development would be super difficult - Review further integrations
- nopCommerce integration
- Orchard integration
- Umbraco integration
- In-Page direct upload / replacement of images
- In-Page direct editing of texts
- Possible side-by-side editing with live-preview
- Multi-import apps (drag-drop many) - probably patrons only
- Import Export
- Improve JSON import (language differences etc.)
- Improve xml and app import (language differences, etc.)
- App Update System (features to help migrate an App to a newer template)
- Unclear how to do this, but probably needs some kind of compare/merge features
- ...or whatever is needed next :)