Skip to content

Vision Roadmap

Daniel Svensson edited this page Apr 4, 2021 · 21 revisions

Open Ria Services - Roadmap/Vision

The below areas are areas that are identified as extra interesting for future development. The different points are not prioritized and none of them are promised to ever be implemented. In general most development is focused on small investments to unlock easy to reach but inpactful features. It is most about evolution and not revolution. Apart from the features below, performance improvements are always interesting.

This list contains areas where community investment is extra appreciated and contains issues of varying size. If you are interested in developing a feature, please open an issue if none exist in order to start an discussion so help and additional information/hints can be provided.

https://github.com/OpenRIAServices/OpenRiaServices/issues/127 can be used for feedback and other discussions.

Client

  • Add more transport (cross platform) options
  • Structural chagens
    • Split OpenRiaServices…Client.Web into .Wcf assembly and "web" ("binary endpoint"
    • Consider "transports" (DomainClientFactory) implementations from "Client.Core" nuget
      • Consider separate nuget for wcf rest transport
  • Improved EntityRef with FK based lookup in O(1) instead of O(n) ( https://github.com/OpenRIAServices/OpenRiaServices/issues/6)
  • Look into client side caching status (OutputCache support)
  • Extensibility
    • Consider allowing access to server headers (or just add hints to documentation)
  • Look into Controls package and se what can be useful for other targets
    • Primary WPF / desktop
  • Look into Silverlight.MVVM package and se what can be useful for other targets
    • Primary WPF / desktop
  • Look into moving ComboBox project into controls project
  • Investigations (long term)
    • Look into using EF.core for change tracking etc instead of current approach which mimics the "ObjectContext" approach popular in EF 4 and EF 5.
    • Look into using odata/graphql library or any other standard for query serialization/deserialization

Server

  • net5+ support
    • codegen update, should also allow portable pdb support and allow sdk based projects to be used on server side
    • hosting support
  • Consider shipping SOAP endpoint by default
  • add built in support for enitiyframeworkcore

Look into using asp.net MVC hosting (DomainController project) for DomainService

Infrastructure/Other

  • Reconsider nuget package naming

    • Client packades should use "OpenRiaServices.Client.*"
    • Server packades should use "OpenRiaServices.Server.*"
    • Should "transports" have own "namespaces"?
      • Client.Transports.Wcf or Client. Wcf
  • Reorganize folder structure This should allow flattening the hierarcy as well as make it easier to use shared settings in the form of Directory.props and .targets Since VS 2017 support multitargeting no separate folders are required for Silverlight/desktop etc. Should we have a "Transports" folder under client with Wcf, Web (binary), BinaryHttpClient

    • Framework/Source
      • Client
        • Client (OpenRiasServices.DomainServices.Client)
        • Web/WCf? (OpenRiasServices.DomainServices.Client.Web)
        • Controls
        • MVVM? ..
      • Server
        • Server
        • Hosting
    • Tooling (? Maybe separate repro)
    • Test
      • Client
      • Web
  • Documentation

    • Look into possibility of getting documentation from MSDN and updating it
    • Add more documentation for new features
    • Add Getting started project
  • Release updated tooling

    • Update nuget packages referenced by samples / items