JavaScript EditorFreeware javascript editor     Javascript code


Main Page

Previous Page
Next Page

Chapter 10: Personalization and Web Parts

One of the major new features of ASP.NET 2.0 is Web Parts, which are controls and islands of content that users can move around the page and place where they prefer, enabling users to build a page according to their interests and tastes. Web Parts can be dynamically added and removed by users, customized, closed, minimized, and restored, so that pages can be fully personalized. In this chapter, you'll see how to extend the current site with the addition of new home page customization options thanks to ASP.NET 2.0 Web Parts.

Problem

So far you've built a pretty complete web site with membership, content management system, and e-commerce features. You've also added a few personalization features, such as theme selection and the highlighting of events located in the user's city, state, or country. These personalizations are related to appearance — the way that content is presented to the user. Sites such as Windows Live, My MSN, and My Yahoo push this idea further, enabling users to personalize their pages by choosing the actual content they want to have on the page, together with its position and appearance. By default, the home page may contain the weather forecasts on the top, the economics news on the bottom-left corner, and the currency/stock exchange values on the bottom-right corner. However, a user interested in both economics and technology may prefer to move the economics news to the top, and add a new content box on the home page just below that, with technology news; the stock exchange box may be shifted to the bottom-left corner, with the weather forecasts on the bottom-right corner. Another user may not be interested at all in weather forecasts, and may prefer to have that box of content hidden, so that the page results are cleaner and easier to read, with less distractions, and are quicker to load. These are just a few examples of how users can greatly improve their own user experience by having their favorite content at their fingertips, in the place they find most appropriate and easiest to view.

Many portal frameworks, such as Microsoft's Windows SharePoint Services and the open-source DotNetNuke project, enable you to create sites with support and home page personalization, by means of Web Parts. In this chapter, we want to add the same feature to TheBeerHouse site because, besides making it a much cooler site, it's another reason for users to register (because personalization is only available to authenticated users) and provide their personal details (which are precious for marketing purposes). If your users find a place that can be tailor-made on a per-user basis, according to their needs, they'll recognize the advantages of the site and want to visit frequently.

Web Parts and home page personalization are good not only from the end-user's perspective, but also for site administrators and editors. In fact, while ASP.NET's Web Part Framework allows normal registered end users to personalize their own personal view, it also allows users with the proper rights to edit a shared view of the page as seen by all users. Do you see the great opportunity here? An editor can add, move, or remove content from the home page without modifying the page's source code and uploading the edited page. This makes edits more immediate and easier to perform, because an editor is not required to have the technical knowledge that would otherwise be needed, and a developer will no longer be asked to make simple changes (which is more costly). Additionally, these types of changes can be performed while on the go, from a mobile device such as a PDA with an Internet browser that supports advanced JavaScript, without having the site's source code and a FTP client to download and upload it. The bottom line is that the introduction of Web Parts will be greatly appreciated by end users and administrators/editors.


Previous Page
Next Page


JavaScript EditorFreeware javascript editor     Javascript code