Sunday, February 17, 2008

Starlight Day SharePoint Site

Starlight Day is an annual event when volunteers from across Australia donate their time and money to give sick children a wish. This year Dimension Data Australia worked with Starlight Children's Foundation to create a new public Internet site that would allow the Foundation to sign up and track volunteers, as well as modify content on the fly, rather than going through the existing manual and laborious process.

For the last few months I've watched my colleagues working hard to create a MOSS Internet with some custom application development and last week their efforts were rewarded when the site launched. I thought it would be nice to profile the site as another example of what can be done in a short time frame with SharePoint, and to identify the challenges that they overcame.

The Solution

MOSS 2007 was used with the Internet Connector License to allow content updates by Starlight staff. In addition, a custom volunteer roster system allowed visitors to find and sign up for Starlight Day activities based on a postal code.

The Team

In alphabetical order, the Microsoft Solutions - Application Integration team members who worked on Starlight Day are:

  • Slava Gorbunov (Roster custom web development)
  • Hatim Hamid (Quality Assurance)
  • Marianne Hidalgo (Quality Assurance)
  • Abdul Khan (Deployment)
  • David Langeder (Practice Manager)
  • David Marsh (Deployment and web development)
  • Karina Smith (Visual Design and Information Architecture)
  • Viraf Wadia (Project leader)

Viraf: “I was responsible [for] delivering the project...It has been a fantastic achievement from the team. Makes me feel proud in helping Starlight achieve their goal of having an internally hosted internet site that they can manage from a content and branding perspective”

Hatim: "Basically, I have been testing, testing and more testing. Specifically, I have been [testing] the Starlight Day Roster...The other thing I have been doing is some performance testing."

David Marsh: "It went well - I could have made more structure and process around the deployment strategy. The best part was seeing the final design come together using all the WCM features."

The Challenges

Essentially Starlight Day presented the familiar challenges of any custom web application and website launch:

  • Coming up with the Visual Design and site architecture
  • Content development
  • Coding and refactoring
  • Deployment and change management
  • Bug, integration, and performance testing
  • Project management
  • Timeframe: The entire project including planning, infrastructure, installation, customization, content delivery, and live deployment fell within a 3-month window.

Development

The idea was to use as much "out-of-the-box" as possible. The customizations were broadly limited to:

  • Preventing core.js from loading for anonymous users
  • Creating rotating list of images using Summary Links Web Part and JavaScript
  • Preloading image scripts
  • Storing images in separate libraries
  • The Volunteer Roster was the most significant development piece

The team had to quickly come up with functional requirements to identify precisely how the process would work. The requirements had to be "as simple as possible, but no simpler". Then visual design had to commence to identify what pages were required and what the flow was like. At this point coding began in earnest using .NET 3.0.

Deployment

Deployment was carried out using SharePoint's Feature and Solutions model with some batch files to automate. The team used STSDev from CodePlex to help manage features and solutions. Content was updated live by Starlight's staff while work was still underway, so coordination and communication was critical.

They did a content migration using WCM instead of a database migration (using attach and reattach). David Marsh suggests that might have been better because some things in content migration didn't work such as some pages became corrupted and some options in SharePoint no longer worked since they were referencing the old development server's URL. Fixing this required some manual tweaking. In hindsight he suggested they needed to plan for more time to fully integrate roster functionality into SharePoint (via custom web part or as ASPX pages).

Bug Testing

Not all URLs were fixed up automatically during the migration to production. Database migration would have fixed this. The design layout and content needed to be tested in all browsers. Not surprisingly, older browsers had issues with the CSS - not a SharePoint issue, rather CSS-related.

Key Learnings

  • More prototyping is required up front to verify and validate design concepts. This de-risks the project and nails down task deliverable times
  • Plan deployment earlier - document and test each type of deployment
  • Never underestimate the time it takes to test and deploy
  • Use enough environments to adequately develop, integrate, test, and manage content approval and staging

Starlight Day is May 2, 2008. You can view the live site at http://www.starlightday.org.au/. The custom roster page is at http://www.starlightday.org.au/StarlightDay/GetInvolved/Volunteering/Pages/VolunteerForStarlightDay.aspx. Congratulations to the team for a job very well done!