By John at October 03, 2009 23:33
Filed Under: Techy
I question came up over at silverlight.net that I wrote an example for. The scenario is that we want to bind our RIA Service data context to a DataGrid control via a DomainDataSource. We also want to have an extra column which computes a value based on other data that exists in each row.
My approach to this scenario is to utilize the code sharing feature of RIA Services to pass across a property which computes the value on client-side. As you will see, the DataGrid and DomainDataSource accommodate this approach rather nicely.
We’re going to keep things simple on the server-side for this example and not associate our Domain Service to any entities in a database. So add a new DomainService called “DemoService” but don’t associate it with any data.
Ok now that we have a Domain Service, lets create an entity object to work with in a class file called “Person.cs”:
- using System.ComponentModel.DataAnnotations;
- namespace RIAServicesSharedCodeExample.Web
- {
- public partial class Person
- {
- [Key]
- public string Name { get; set; }
- [Required]
- public int Age { get; set; }
- }
- }
More...
Want to be part of something really cool? I'm reaching the point where I can't do it alone folks, so join the myOSity development team today! Positions are open in the following areas:
-
UI Design - Have an artistic flair? You can be the person that develops the look and feel of myOSity.
-
Core Engine - Get into the guts and help improve/expand the myOSity runtime engine.
-
myOSity API - Develop the interface and tools that other developers will use to integrate their applications with myOSity.
-
Central Services - More of a server-side type? You can develop myOSity Web Services and RIA Services, back-end data models, etc.
-
Core Applications - myOSity has several important core applications that need lots of improvement (Applications, Files, Friends, Profile)
-
3rd Party Applications - Have an app that you would like to publish in myOSity, or something new in mind?
Requirements
-
Experience in C# is required and Silverlight experience is a big plus.
-
For designers, proficiency with Expression Design and Expression Blend will be essential for contributing to this project. Both are quite easy to learn if you have experience with other design tools.
-
Willingness to actively contribute. I don't require any specific time commitments for this project, but if you do join the team, do so with the commitment in mind that you will be a contributor.
What you will receive in return
myOSity is a volunteer gig at the moment (myself included, I've spent over 1.5 years developing this project) so I can't pay you. However, I can offer the following benefits:
-
Noteriety: When myOSity becomes world-famous, don't you want to be the one that can say "I was there at the beginning!". myOSity also becomes a great reference project for your future endeavors/career.
-
Skill-ups: I can tell you from personal experience, that a project of this size and scope will challenge your programming/design skills. myOSity will help you become a better developer.
-
A job reference: If you contribute materially to this project and need a reference for a job. I will provide a personal reference for you in writing or over the phone with the hiring manager/recruiter. Plus having "developer on a next-generation virtual operation system" on your resume/CV isn't a bad thing at all.
-
Future Riches? Maybe: My intention is to make myOSity commercially viable on it's own, or interesting enough for a larger company to want to buy it for themselves. There are no guarantees that this will ever happen, but if it does, people on the myOSity team will share in the profits. And yes I will put that in writing if necessary.
Interested?
Contact me via this blog here.
I've recently changed the way guest accounts are supported in myOSity. Previously, all guests shared the same account on the back-end, meaning that I had to disable certain features that required unique accounts - like chat. Now visitors who choose to login as a guest will receive a temporary unique account. Very soon I will be implementing an auto-join to a public chat channel for all guests, so that folks can experience the chat system and interact with each other in real-time.
I'm also in the midst of redesigning the web-services component of myOSity to take full advantage of the new "RIA Services" framework from Microsoft. After careful evaluation, I feel this is the right way to go for the long-term. Without getting too technical, using RIA Services will simplify the way that myOSity client/server interaction happens. I'm hopeful this will yield performance benefits, and also make future development easier and faster.
By John at July 20, 2009 14:27
Filed Under: Techy
I'm still trying to build the car, but Microsoft keeps wanting me to tune up the engine! Might be worth the time and effort though...
Silverlight RIA Services Video