Imagine that you are involved in a project that plans to develop a website for the House of Effects – a museum of nature and science dedicated to explaining natural phenomena to an interested audience. The website should inform visitors about what the museum has in store, offer interactive online presentations and announce forthcoming special events. In addition, there is going to be an online shop, where registered users will be able to buy tickets as well as books, DVDs and the like. Finally, the site is supposed to express a community feel. It will allow registered users to comment on and rate online materials and shop items. Users will also be able to receive personalised recommendations that match their interest profiles.

The screenshot in Figure 1 shows the start page for the House of Effects. It gives you a rough idea of how this website will look.

However, there are more requirements. Content editors must be able to add presentations and announcements smoothly, so straightforward workflow processes are required. Some online presentations might invite user-generated content, so the website must also be able to receive submissions from users. The site must be reliable, as it will be the main channel by which the House of Effects will be advertised to the general public. Response times should be reasonably short. The site has to scale to a potentially large number of users. Last but not least, the website's owners want to retain the option to change or extend the site ...

Get Where Code and Content Meet: Design Patterns for Web Content Management and Delivery, Personalisation and User Participation now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.