Musings on WCF RIA Services #2: The Backlog

The original User's Voice site for WCF RIA Services seems to be gone, luckily the Internet Archive Wayback machine has a copy. I thought it might be interesting to go through the list of the issues from the first page that have not been completed yet and see what I would do in my own fork of WCF RIA Services if it were open sourced.

 Support data change notifications from the server

I have a proof of concept design for a change notification system that uses SignalR. The DomainService needs a tweak to make it easier to get the primary keys of each entity on the server.

RIA Services support for Windows Phone 7 [Windows Phone 8, WPF, WinRT)

Windows Phone 8, WinRT, Mono (Droid and IOS), and WPF support are all a top priority and, I think, doable. However, I would not be porting the DomainDataSource as it is too specific to Silverlight.

Fluent-API based metadata (to replace buddy classes)

This is already an active project being spearheaded by Merijn.

EntityQuery<T>.Select() to project entities from the RIA Clients without creating DTOs at the server

This is very unlikely as it goes against the basic design and purpose of WCF RIA Services.

Support more of OData

In general, I think replacing the current WCF based DomainService with a WebAPI based "DomainController" would be a good direction to go in. However, WCF RIA Services is not WCF Data Services and attempts to make either one of them more like the other is misguided.

Ability to Include Navigation Properties Based on Many-to-Many relationships

The M2M4RIA project on CodePlex would be rolled into WCF RIA Services itself. I am not sure exactly what that would look like but I know Merijn is ready to handle it.

 A visual plugin for VS to manage domain services

This is very unlikely, I would be moving away from visual editors and towards direct code editing. If somebody else wants to tackly this then I would happily add it to my version.

Offline support in RIA Services

An open source WCF RIA Services would have a much improved version of RiaServicesContrib.EntityTools which does support complex types and composition. Those new hooks should allow the easy creation of rich offline capabilities.

MVVM support in project Template

 Targeted NuGet packages will probably be preferred over project templates going forward.

RIA Services support for AJAX (HTML clients)

I think HTML5 support will be important, figuring out what that means is the difficult part.

Propagate authorization/role metadata from server to client so that it can be used for building authorization-specific UI; e.g. admin sees additional named update methods that a user does not.

Honestly, I have no idea what that even means.

Paging support without requiring LINQ backend (e.g. sprocs)

This is a maybe. To some degree I feel that user defined table valued functions would accomplish the same goal without needing any changes made. I do have a few ideas here which I may try out, however it may wait until there is a user who is willing to be the guinea pig.

Transaction support from client

Same as paging support, I have some ideas here on how to package multiple SaveChanges calls from multiple DomainContexts into a single communication with the server but  no real proof of concept.

RIA Service support for ORMs besides EF

This request was about adding support for more ORMs to the DomainService wizard. Honestly, thinking long term, I am not sure if the DomainService wizard is going to keep working for EF.


blog comments powered by Disqus

Month List