Experiences and Experiments in Programming

 Monday, April 21, 2008

I got the Silverlight Code Camp Template out on CodePlex last Wednesday.  It still needs a little work but I wanted to go ahead and get it out for folks to start using it if they wanted.  This is the same template that I built for the Alabama Code Camp site.

The template is built to be deployable on the widest range of machines.  It does not use ASP.NET.  In fact, there are no dynamic server side technologies involved.  The site is 100% HTML, JavaScript, CSS, and Silverlight.  It utilizes XML files on the server for data storage since all the data is read-only.  The template also utilizes Silverlight's downloader object and zipped up assets in order to increase network performance.

Yes, more could be accomplished utilizing a combination of ASP.NET, AJAX, Silverlight, and perhaps asmx services, but then the deployment scenarios would be restricted.  And part of the point for developing it the way I did was to demonstrate that none of this was necessary in order to develop a Silverlight site!

The template consist of a main frame that contains the header and navigation.  Each subsequent page is dynamically loaded from the server when needed, then cached in the browser cache for subsequent requests.  Some pages are actually zipped up sets of assets which are then parsed and displayed by Silverlight.  This decreases the number of connections from the browser to the server and decreases overall download size.

By default, there are 5 pages:

  • Home
    The home page is the landing page.  The home page contents are not dynamic.  They are edited directly allowing maximum flexibility.
  • Speakers
    The speakers page is a zipped up set of assets.  Contained within the zip are the XML data for the page, pictures of the speakers, the main page layout, the left speaker item template, and the speaker bio template.  This page is generated entirely from the XML file.
  • Sessions
    The sessions page lists all the sessions from all the speakers.  Clicking on a session title, displays the full description of the session.  This page is also a zipped set of assets containing the page layout, the session template, and the XML file for the data.
  • Agenda
    The agenda page is a scrollable agenda.  This page was originally dynamically created but, quite honestly, I broke it!  So it is currently edited manually.  The content has been ordered to make it easy to edit in Expression Blend.  One of my first orders of business is to fix what I broke so I can get the dynamic generation part working again.  It will be driven from an XML data file as well.
  • Contributors
    The contributors page is dynamically generated from an XML data file.  This page is downloaded as a zipped up set of assets containing the page layout, the contributor pics, and the XML data file.

There are a number of enhancements that will be made quickly.  Most of these are easy changes that I just did not get to before posting the project: things like better mouse support in scrollable regions, fixing the dynamic agenda generation, etc.  Hopefully it will be of some use to folks interested in quickly setting up a Silverlight site for their code camp.  I'll be sure to keep my blog updated as enhancements are made!

Monday, April 21, 2008 12:17:35 PM (Central Standard Time, UTC-06:00)
Who Am I - Todd Miranda
MVP Visual Developer - ASP/ASP.NET
On this page....
<November 2019>
Aggregate Me!
RSS 2.0 | Atom 1.0 | CDF
Contact me
Send mail to the author(s) E-mail