eXpress Persistent Objects 2019 Roadmap - Your Vote Counts

XPO Team Blog
18 December 2018

As we make our plans for 2019 we would love to get your feedback, help us determine the features you would like to see for the DevExpress eXpress Persistent Objects (XPO) ORM library.

EDIT: Here is our final roadmap: eXpress Persistent Objects – 2019 Roadmap.

Housekeeping

There are a number of housekeeping tasks that need to be carried out during every release cycle. The following outlines what we have planned for 2019.

  • Enhance our async/await method support and apply it to the underlying ADO.NET drivers where applicable (not all drivers provide async methods). Currently, asynchronous execution is implemented at the XPO layer and XPO connection providers use synchronous versions of IDbConnection, IDbCommand, IDataReader, and other ADO.NET APIs.
  • Support .NET Core 3.0 and .NET Standard 2.1 specification when they are officially released.
  • Test and expand .NET Core connection providers support as and when RDBMS vendors provide it.
  • Add support for Visual Studio 2019. We have identified updating and testing our extensions for Item and Project Templates (ORM Data Model Designer, Persistent Object, OData Service). There is currently some work scheduled for the minor update of v18.2.4, other tasks such as support for AsyncPackage will be completed with the official release of Visual Studio 2019.
  • Keep XPO connection providers up to date with the latest database engine versions and extend their support according to user feedback. This is a repetitive task that sees enhancements being made numerous times each release for example in 2018: one, two, three, four.
  • Introduce more demos and enhance the learning materials for the main platforms where XPO is used (WinForms, ASP.NET Core, ASP.NET WebForms, WPF, Xamarin).

These items along with fixing bugs and support will keep our team busy for approximately 5 months.

Your Vote Counts!

In addition to the above housekeeping we will focus on introducing some important features based on user feedback. The following list represents the most important items we have identified.

Feature Group #1

1.1. XPServerModeDataView and XPInstantFeedbackDataView are mixtures of XPServerCollectionSource/XPInstantFeedbackSource and XPView for use with our grids. These are new read-only server mode components offering:

  • Handle large data sources with less memory (no entire persistent object instance load);
  • Customize SELECT statements to exclude unused data columns;
  • Include reference property data in the root query to avoid the 1+N problem;
  • Include custom (virtual) properties calculated on the server side (similar to ViewProperty).

1.2. XPBindingSource is a lightweight data source for WinForms and WPF (runtime only) applications. This enhances usability in the following scenarios:

  • XPO data sources on visually inherited Windows forms and user controls (T121952);
  • Easy persistent object and collection reload (A643);
  • Immediate data-bound control refresh (T685021);
  • Binding to nullable properties (S33566) and object references without complex or full custom property descriptors (T319505).

Feature Group #2

2.1. First class support for custom database column types beyond the default set. Initially, users will still need to create custom connection providers, but generic APIs will make this extension much easier. Once the new infrastructure is established, we will consider built-in support for Microsoft SQL Server datetimeoffset, datetime2, spatial and other popular database types.

2.2. Various ORM Data Model Designer enhancements:

  • Detect use in XAF projects and automatically enable DevExpress.Persistent.BaseImpl.BaseObject in the base class selector (T686856);
  • Optionally generate XAF RuleRequiredField, RuleValueComparison or RuleCriteria validation attributes based on NOT NULL and size of underlying database columns (S172157);
  • Remove ambiguity between the connection string users specify in the XPO designer, its ConnectionHelper class and XAF data store settings (T686307);
  • Generate plain XPO data model code without the visual designer (ORMDataModel.xpo). We are thinking of a new wizard option or even some CLI for this.
  • Handle the "Could not load type Npgsql.NpgsqlConnection" and similar errors due to improperly installed database providers better.

Feature Group #3

XPO Migrations: a simpler process to incrementally update the database schema and preserve existing data after XPO data model changes (AS4684). Currently we handle initial database creation and schema tuning along with basic data model changes only (create tables and columns for new classes and properties). For more complex sync tasks, developers need to create database scripts or specialized helper methods. For instance, XAF's ModuleUpdater ships with the DropColumn, RenameTable, DropConstraint and other APIs for Microsoft SQL Server for that purpose. Our goal is to make this process easier and more efficient than that of our main competitor (EF Core Migrations).

If you vote for this feature, please tell us your requirements:

A) update schema automatically via a special command in the ORM Data Model Designer or some CLI;
or
B) generate diffs between the latest data model and existing database schema so that you can apply the SQL script manually.

Please note, this feature may be optimistic due to the size of the work required and the fact that we support more than 14 database engines.

Your Feedback Is Needed!

The above features have been intentionally grouped into three choices, each estimated approximately 5 months to research, implement, test and document.

As always we welcome your comments and specific usage-scenarios, the more you share, the better we can understand your business needs now and into the future.

Love XPO and want to help us promote it? Add the package through Nuget.org instead of DevExpress Nuget!

Free DevExpress Products – Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We’ll be happy to follow-up.
HICHAM SBAGHI
HICHAM SBAGHI

I hope for devexpress in 2019 asp mvc:

1-facebook red notification and facebook menu.

2- Xp theme : royal blue,olive,metallic

3- supertooltip like facebook with image,database,theme....

4-Report and dashbord server with 15 cals inclued in UNIVERSAL SUBSCRIPTION.

THANK YOU AND HAPPY CRISTMAS

18 December 2018
Martin Pelletier
Martin Pelletier

If I may add, would be cool to have some WPF or Winform Scaffolding wizard that would create the necessary code files if we choose XPO instead of EF.

By the way, I would have chosen the 3 options ;)

18 December 2018
Kiryl Y.
Kiryl Y.

Option 1 is my choice. Please add 2.1 if possible.

Thank you

18 December 2018
Nate Laff
Nate Laff

1 but also 2.1

18 December 2018
Manuel Grundner [DevExpress MVP]
Manuel Grundner

1!

2 wouldn't be nice, but as you mentioned, it is already possible for users Them self today.

3 would be cool, and increase devs productivity.

1 on the Otherhand is getting value directly into the end Users hand!!

I Tried to implement 1 my self, and failed miserably 😅

Greetings,

Manuel

18 December 2018
Neven
Neven

Regarding demos in Housekeeping, please provide MVVM demo with XPO.

19 December 2018
Gustavo Marzioni
Gustavo Marzioni

my vote to 1)

19 December 2018
Clinton Dale
Clinton Dale

Thank you for asking us!  For custom data types over SQL Server, I like to use Date rather than DateTime, and I've had trouble making a custom one.

19 December 2018
Eric Upton 1
Eric Upton

I definitely vote for 1.

If possible, also include 2.1

19 December 2018
jerome crevecoeur
jerome crevecoeur

Vote 1

19 December 2018
renejdm
renejdm

My vote for Group #3 - XPO Migrations

19 December 2018
Norbert Kustra
Norbert Kustra

Vote 1

20 December 2018
Dusan Pupis
Dusan Pupis

1. *****

2.1 ***

20 December 2018
Nicolas Zaragoza 2
Nico Zaragoza-Grifé

My vote for group #1

9 January 2019
Dennis (DevExpress)
Dennis Garavsky (DevExpress)

Thank you for your feedback!

9 January 2019
SUDIANSYAH NOVI
SUDIANSYAH NOVI

Vote no 1

13 January 2019
SUDIANSYAH NOVI
SUDIANSYAH NOVI

Vote no 1

13 January 2019
Miro Mz
Miro Mz

vote 1 but also 2.1

24 January 2019

Please login or register to post comments.