UK TechDays Virtual Client Conference–Resources

At the UK TechDays online conference last week there were a number of sessions around Silverlight and Windows that I wanted to provide follow-up resources on here.

Session: Modern Windows Applications

  1. Visit Develop For Windows
  2. Download the WPF Ribbon Control and get the information on it here
  3. Download the Windows API Code Pack
  4. Read more about the Code Pack
  5. Learn about the Task Bar with WPF 4 ( and part 2 )
  6. More on the Windows 7 TaskBar
  7. More on Windows 7 Libraries
  8. Windows 7 Sensors
  9. Restart/Recovery for Applications
  10. WindowChrome – altering the non-client area of the window.
  11. Subscribe to the Windows Team blog.

Session: User Interfaces with Touch

  1. Some recent local resources on touch;
    1. Touched ( Part 1 )–Getting Touch for Free
    2. Touched ( Part 2 )–Raw Touch Events
    3. Touched ( Part 3 )–Manipulation and Gesture Support
    4. Touched ( Part 4 )-Simple Example
    5. Touched ( Part 5 )–Touch-Ready Controls
  2. Read more about WPF 4 Multi-touch and more
  3. Check out the Native Extensions for Silverlight Preview 2

Session: Silverlight Platform Overview

  1. Visit Silverlight.Net
    1. Watch videos
    2. Try the QuickStarts
    3. Checkout hands-on labs
    4. Read books
    5. Read whitepapers
  2. Watch the Silverlight Firestarter
  3. Visit Channel 9
    1. Follow Silverlight TV
    2. Subscribe to the Silverlight tag
  4. Follow Silverlight Q&A on StackOverflow.
  5. Subscribe to the Silverlight Team blog.

Session: Buffers Guide to Expression Blend

  1. Visit Expression on the web.
  2. Learn Blend via tutorials, starter kits, etc.
  3. Check out the Toolbox resources
  4. Local resources on Blend;
    1. 20 recent posts on Blend
  5. Subscribe to the Expression Blend team blog.

Session: Silverlight for Line of Business Applications

  1. Refer back to the general section on Silverlight here.

Session: Silverlight and Multi-tier Applications

  1. Silverlight Networking Videos on Channel 9
  2. Visit the RIA Services Site
  3. Visit the OData site.
  4. WCF Data Services on MSDN.
  5. Understand the WCF subset in Silverlight.
  6. Understand the security options in Silverlight for service access.
  7. and again
  8. and again
  9. and again
  10. Understand the Client/Browser HTTP stacks in Silverlight

Session: WCF RIA Services

  1. Visit the RIA Services Site
  2. RIA Services on MSDN
  3. Watch Deepesh at TechEd 2010
  4. Subscribe to Deepesh’s blog.

Session: MVVM and RIA Services

  1. Watch John’s session from PDC 2010.
  2. Read Josh’s article on MVVM.
  3. Subscribe to John’s blog.
  4. Follow the RIA Services resources from the previous session.

Session: Silverlight Apps with PRISM

  1. PRISM on CodePlex
  2. PRISM on MSDN
  3. PRISM videos on Channel 9 ( previous PRISM version )
  4. Subscribe to Karl’s Blog

Session: Premium Media Experiences with Silverlight

  1. Learn about the Silverlight Media Framework.
    1. Watch videos on Silverlight.net
  2. Learn about IIS Media Services
  3. Subscribe to David’s blog.

WCF DataServices & the Processing Pipeline?

I spent quite a lot of time with WCF Data Services (‘Astoria’/’ADO.NET Data Services’ as it was) in its first iteration.

It’s a framework that I really like so I’m feeling a little guilty that I haven’t found time to completely revisit it as it becomes part of a ‘much bigger thing’ (i.e. OData) and as it got rev’d in .NET 4.0 and (from a client perspective) Silverlight 4.

I have been doing some of that revisiting in a piecemeal fashion though and there’s good material out there. For instance I came across articles such as Elisa’s and the main MSDN library page which give you enhancements such as;

  • the DataServiceCollection<T> type on the client side to do a tonne of binding goodness and auto-change tracking
  • server driven paging
  • obtaining a total row count for an entity set either with the data or on its own as a separate piece of data
  • client side projections (i.e. selecting just the columns of data that you want)
  • more flexibility around how you plug in your server side data in order so that you can expose;
    • Entity Framework (EDM) models
    • Reflection based models for LINQ to SQL and any other custom model where you know the “shape” of the model at compile time and can apply attributes to the codebase for the Reflection provider
    • Non-reflection based models including dynamic models via the new interfaces
  • improvements around BLOB support

But I realised that I missed something today when I was casting my eye over this great series of posts;

and I spotted something that I didn’t know about.

I had previously seen that you could hook into the Data Services client side pipeline – that is that the DataServiceContext supports a SendingRequest event that you could use to plug in to ( e.g. the article plugs in and adds an authorization header ).

But what I hadn’t previously seen that you could hook into the Data Services service side pipeline – that the DataService<T> has a property on it called ProcessingPipeline of type ProcessingPipeline with events for [Processing/Processed]Request and [Processing/Processed]Changeset.

I knew that you could write Query and Change interceptors but I had hoped for something more generic and I’d written back in 2008 that I was having trouble because;

“So far, I've not found any place to centralise this code and hook into the dispatch mechanism that Data Services is using”

Well – it looks like that centralised place is there in Data Services in .NET 4.0 and there’s a place to plug in code to the pipeline on the server – very glad to see it Smile

Now…back to that set of articles…