Recent surveys have shown that over two-thirds of Internet users live outside the United States and that they would very much like to see sites in their own languages and sensitive to their cultural and national conventions. So globalization is important for e-business applications. The key to globalization architecture is a single executable: One instance of software, executing on a single server that can process multilingual data and present culturally appropriate information.
In this article, we will demonstrate how to use IBM Lotus Workplace Web Content Management 2.0 to quickly build a simple globalization Web site. Lotus Workplace Web Content Management provides a sophisticated content management system for Web sites that can be used by both non-technical and technical users. One of its main features is dynamic presentation: Content displayed on a Web page will change depending on how objects are profiled and on different parameters. In our solution, we use Lotus Workplace Web Content Management's componentization and personalization features to implement a globalization solution--a multilingual Web site. This article assumes that you are familiar with Lotus Workplace Web Content Management development and know the software terminology.
Lotus Workplace Web Content Management manages the content and design of pages in a Web site, the framework and navigation of a Web site, and the creation, editing, approval, and publication process of a Web site's content. Lotus Workplace Web Content Management provides a very flexible way to build personalized Web sites. Our solution uses one Web site to deliver content in more than one language. Lotus Workplace Web Content Management is shown in the following screen.
Figure 1. Lotus Workplace Web Content Management
Personalization and multilingual feature in Lotus Workplace Web Content Management
Personalization allows Web designers to take advantage of a user's interaction with a Web site to determine what each user sees and has access to. Personalized components can be incorporated into any Lotus Workplace Web Content Management Web page. This means that information is tailored to the user's needs to suit these needs exactly.
A multilingual Web site is one that delivers content in many different languages to different Web users. Usually the Multilingual Site Management engine provides the ability to simultaneously create several copies of a document on several different databases, possibly over several different servers. However, although the Lotus Workplace Web Content Management Java edition 2.0 provides National Language Support for Group 2 languages for both content storage and for the user interface, it does not provide a Multilingual Site Management engine in which common content links to other language copies.
In this article, we will use the personalization feature to manually implement a multilingual Web site. In this solution, the user-preferred language is also personalized. For example, when a Chinese user registers on a Web site, he may set his preferred language to Simplified Chinese. Then when the user logs in the Web site, the site displays all the content in Simplified Chinese. The user can also select another language and read content in that language.
We will use categories in our solution to specify the languages available to the user. Content can then be seen as a localization package (or LP) in the globalization solution. These packages contain content in different languages. Every visible component on a Web page is created as a content component to allow us to display components in the appropriate language. The common content components (explained later) are not referenced directly in the page design; instead, we use a menu component in the page design to select and display the common content components for the current language. In this way, content in different languages can be displayed using only one page design.
In the following sections, we describe the steps for building a globalization Web site using Lotus Workplace Web Content Management. Because we only focus on the steps related to our solution, we ignore other steps, such as the creation of the site, site area, and workflow. For information about how to create a site, site area, and workflow, refer to the Lotus Workplace Web Content Management InfoCenter.
Creating the taxonomy and categories
Within Lotus Workplace Web Content Management, a category refers to the subject matter of content (that is, what the content is about). Categories are grouped within a taxonomy. In our Web site, we use language information as a taxonomy and different languages are different categories. For instance, Simplified Chinese is a category in our language information taxonomy. The following screen shows two language categories, English and Simplified Chinese, which constitute our category taxonomy:
Figure 2. Category Management
Creating content templates
After determining the category taxonomy, we build two basic content templates, LP_Template and DocumentTemplate.
A typical Lotus Workplace Web Content Management Web page contains a page design that has elements that are common across the different content documents that use the design. A globalized site requires support for different languages in the common elements of the page, so we use a second content template to define these labels for each language. The LP_Template is used to contain all the common information that will be rendered in the Web site. For example, in our sample Web site, content is published as a table. The header of the table and other labels that are rendered in different languages are contained as components in LP_Template. Usually, they are text components in LP_Template. Other components, such as HTML components, are also possible. Figure 3 shows some components of our LP_Template. All these components are text components and are rendered in the Web site in different languages.
Figure 3. LP_Template components
The DocumentTemplate is used to publish Web pages (documents). In our sample, this template contains three text components (title, publish date, and department) and one rich text component (content).
Figure 4. DocumentTemplate components
Other templates are optional. For example, in our application, we implement a content template named ListTemplate that is used as the template for all document lists.
Creating Web content
After implementing the workflow and content templates, you can build your Web content. Because your aim is to build a multilingual Web site, each piece of content should have multilingual versions. In our sample, we take Simplified Chinese and English as an example. First, we create a document in the LWWCM/Regulation/docs site area named r_en_0003 using the DocumentTemplate, and the category is set to /Language/en to indicate that the content is in English.
Figure 5. Creating content (English)
The next step is to build the corresponding Simplified Chinese version of the document r_en_0003. We name the new document r_zh_0003 and save it to the LWWCM/Regulation/docs directory. We use the same content template, DocumentTemplate, for this document. The difference is the values of the components are all written in Chinese, and the category is set to /Language/zh.
Figure 6. Creating content (Simplified Chinese)
There are two pieces of content stored in the site area LWWCM/Regulation/docs. To accompany these two documents based on the DocumentTemplate, we create two other documents, lp_en and lp_zh, using the LP_Template as their content template. These two documents are categorized in /Language/en and /Language/zh respectively.
Creating the menus
After the creation of all the content, it’s time to build the other important part: the menu. For all the menus, we set the Matching Profile Search Rules option as Current User Categories. Each menu should also specify a corresponding content template or site area to distinguish them from each other. The following code is the component design of the menu for searching published documents:
<tr> <td width="18%" class="table2"> <div align="center"> <AptrixCmpnt context="autoFill" key="PublishDate" type="content"/> </div> </td> <td width="64%" class="table1"> <a href="<Placeholder tag="href"/>" target="_blank"> <AptrixCmpnt context="autoFill" key="Title" type="content"/> </a> </td> </tr>
Creating the page design
The next step is to build the page design. No component or content is directly rendered in the page design. All content should be rendered via the menu. Here is one page design example:
Here the Menu_List component is used to display the menu list in the Web page.
Creating the language-select form
After building the basic content, you need to add a language-select form that allows logged in users to select their preferred language. The Lotus Workplace Web Content Management InfoCenter provides an example category-select form; however, it is built as a checkbox. In our sample, we build a drop-down list that is easier to use. This form consists of two taxonomy components. One component is used to build the form's appearance, the other is used to set hidden parameters. The details are as follows:
|Header||<PathCmpnt end="/LWWCM?MOD=AJPECatSelect' method=post>"start="< FORM name=category action='" type="servlet"/>|
<input type="hidden" name="redirectURL" value="< PathCmpnt ype="noprefixservlet"/>
/Lotus Workplace Web Content Management/
<AptrixCmpnt context="current" key="RedirectURL" type="sitearea"/>">
<input type="hidden" name="updateSourceProfile" value="true">
<input type="hidden" name="profileMapperName" value="Current User Categories">
<select name="selectedCategories" onChange="document.category.submit()">
<option value="" >
|Unselected Component Design||<option value="<Placeholder tag="idnum"/>" >|
|Selected Component Design||<option selected value="<Placeholder tag="idnum"/>" >|
|Unselected Component Design||<input type="hidden" name="visibleCategories" value="<Placeholder tag="idnum"/>"/>|
|Selected Component Design||<input type="hidden" name="visibleCategories" value="<Placeholder tag="idnum"/>"/>|
In the page design, we need to retrieve both taxonomy components. In the HTML Component tab, enter the following code:
<AptrixLibCmpnt name="TaxonomyComponent1"/> <AptrixLibCmpnt name="TaxonomyComponent2"/>
Substitute your taxonomy names for TaxonomyComponent1 and TaxonomyComponent2. After all these steps, our sample Web site is completed. The following is our sample Web site in Simplified Chinese and English respectively.
Figure 7. Web site in Simplified Chinese
Figure 8. Web site in English
Adding a new language
Even after you publish the Web site, it is very easy to add new languages. Suppose that you need to add a Japanese version of your Web site. First, add the category name jp to the language taxonomy. Second, add a new document that has LP_template as its content template. In this document, add all the Web site common components written in Japanese. Then add Japanese versions of current documents to your site. For example, add a new document named r_jp_0003. The new document has /Language/jp as its category.
When adding a new language, you do not need to know HTML nor do you need to master advanced Lotus Workplace Web Content Management development skills. One advantage of our solution is that you can develop content templates to create simple content.
This article provides a globalization solution using Lotus Workplace Web Content Management. This article can assist you in developing multilingual Web sites quickly and efficiently.
For more information about Lotus Workplace Web Content Management, see these resources:
- IBM Redbook, Lotus Workplace Web Content Management
- Tutorial, "Streamline your Web content management: How Lotus Workplace Web Content Management gives you control"
- Technical article, "Quick Guide to using IBM Lotus Workplace Web Content Management Content in a Portlet"
- Technical article, "Configuring IBM Lotus Workplace Web Content Management for use with LDAP"
Dig deeper into WebSphere on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.