WCF RIA Services 4.2 Planning

What is it

4.2 will be the initial open source release of WCF RIA Services. Here we will fix bugs, add M2M support, change a bunch of internal code to public, and other things which do not break backwards compatibility.

 Features

Compiled against Silverlight 5

The original SP2 release of RIA Services was compiled using Silverlight 4 to maintain backwards compatibility. 4.2 will be compiled using Silverlight 5.

M2M support

Using the M2M support currently provided in M2M4RIA on Codeplex, add native M2M support into WCF RIA Services itself.

Change Notification

One of the long standing requests is the ability for server side changes to bubble up to the clients. I have a design for the feature using SignalR which I will probably implement as a separate NuGet package but some changes need to be made to the DomainServer's metadata code first to expose primary key information. 

Fluent-API based metadata (to replace buddy classes)

This is already an active project being spearheaded by Merijn. Long term I would like this to replace the ugly buddies completely.

NHibernate support

A real NHibernateDomainService would be a great addition to WCF RIA Services. The big ticket item that needs to be created is the NHibernateDescriptionProvider. I personally am not familiar enough with NHIbernate to tackle this myself, but if someone is willing to work on this then I will provide as much guidance as I can on how the DescriptionProvider works.

Indexed EntitySets with EntityCollection/EntityRef support

WCF RIA Services is currently tunes for small to medium size entity caches. To better support larger cache sized the EntitySets need to have index support and the EntityCollection/EntityRef need to be modified to support those caches.

Server side updates during SaveChanges

Currently, if the server modifies entities that are not in the ChangeSet there is no way to send those changes back to the client during the SaveChanges. As long as this feature can be added without breaking changes it will be in this branch.

Bug Fixes

Primary/Foreign key behavior for new entities where key exists

The EntityRef and EntityCollection change their behavior when entities are in New state to accommodate server generated keys. In situations where entities do have primary keys while they are in new state, for example when a client-side only key strategy is used like counting down from -1 or when guids are used, the normal behavior should be used instead. This may be a breaking change that needs to move to the 5.0 branch.

Client-side only properties are reset to null after a submit or load refresh

 This is an annoying bug for programmers who want to extend the client side entities.

Server side IValidatableObject support doesn't work if no validation attributes exist

 If you have a server side IValidatableObject which has no other validation attributes attached to it no validation will be performed server side.

blog comments powered by Disqus

Month List