CTCv3 Notes and Lessons Learned

Work-in-progress

This is a work-in-progress study of the Content Template Catalog (CTC), which is a set of generic templates for IBM WebSphere Portal and IBM Web Content Manager provided for download from the IBM Collaboration Solutions Catalog. Anything written on this page may reflect some ignorance until I've gotten far enough to understand the CTC in detail. As such, I advise that you take anything written here with a bit of healthy skepticism. I'll remove this note later - when I can be sure this document provides some real value. This documentation should not supersede the CTC User Guide from IBM, or any other materials about the CTC produced by IBM.

Contents

Overview

IBM Web Content Manager (WCM) is a very robust content management system with enough tools and components to build just about any web experience you can imagine, as well as the back-end for managing it. In WCM, however, that entails a lot of pieces and parts. In the past, you've not only had to have a good understanding of those constituent parts, but also how to tie them all together effectively. For the uninitiated, the process could be quite intimidating and it wasn't too hard to shoot yourself in the foot with some well intentioned, but poor implementation patterns. At least or perhaps, until now.

Now, you can use the Content Template Catalog (CTC), which is a set of templates provided by IBM that can jump-start the process of building a website.The CTC provides a variety of templates and components that are assembled into micro-sites containing placeholder content, some eye-candy, and a variety of interactive features. With the CTC, you can create a new portal page using a CTC page template, drag-and-drop some pre-built CTC portlets onto it, and end up with fully assembled starter website in minutes. If you're pretty happy with what the CTC produces, you can then make some style adjustments, replace the placeholder content, and start publishing new content. Even if you wish to make significant modifications, you might still save valuable development time by using assets in the CTC as a starting point. Or you could simply use the CTC as a reference for the implementation patterns embodied within it - patterns cooked up by the IBMers who've developed WCM and/or otherwise spent countless hours in it.

In the nine years that my colleagues and I have been using WCM, we've evolved our own set of building-blocks and patterns. But as the product evolves, and as new stuff like the CTC is introduced, we continuously review and refine our tools and techniques where appropriate, which is what I'm doing here. I'm digging deep into the CTC to see what it provides, how to use it, and what it might teach us about how to improve our use of WCM. My method is to learn by teaching, so I'll be sharing my study in the words and illustrations on this page as I go. Bearing in mind that I write as a student, I hope you might also get some value from my notes.

Obtaining the CTC offering

Reference resources

  • IBM Content Template Catalog V3.0 / 3.1, WebSphere Portal Family wiki overview page containing some summary information and links to the user guide and CTC offering downloads.
  • Content Template Catalog User Guide, Guide to Getting Started, Understanding CTC, Using CTC, Customizing CTC, Deploying CTC, etc. This guide is a must-read if you're going to use the CTC; it's very good.

Installation

CTC3 is delivered as a Portal Application Archive, which is a package of WebSphere Portal and IBM Web Content Manager assets and code, that is installed using the Portal Solution Installer. After downloading the offering from the catalog, you should:

  • Extract the CTCInstall.zip
  • Refer to the installation instructions contained within; my notes are for CTC V3.1 on WebSphere Portal V8.0 and if you're doing this for other versions, the instructions may differ.
  • There are also more extensive installation instructions in the Content Template Catalog User Guide which you should review in full. It describes some installation options such as how to install only parts of the CTC (instead of all) and how to install for use in virtual portals.

Update Portal with the latest Combined Cumulative Fix

With CTCv3.1 for WebSphere Portal 8.0, we have a prerequisite that the Combined Cumulative Fix 1 or higher must be installed. For that, I simply used the IBM Installation Manager's Update feature, which found and installed CF01. To verify that the version was installed successfully, I used the page tools to add the 'About WebSphere Portal' portlet to a page, which provides version information as shown below (CF01, in the build level, is what we want to see).

In addition to CF01, the installation instructions say that we must install individual iFix: 8.0.0.0-WP-IFPM69289.zip, which is located under the ifix folder in the etxracted CTC offering. With WebSphere Portal V8, we no longer have to use the WebSphere Portal Update Installer to install fixes. Instead, we can use the IBM Installation Manger.

Installing the prerequisite iFix on WebSphere Portal V8.0

  • Extract the iFix: 8.0.0.0-WP-IFPM69289.zip where it sits.
  • Start the IBM Installation Manager (IIM) and select File > Preferences > Repositories > Add Repository...
  • Browse and select the repository.config file in the CTC ifix directory.
  • Stop the portal if it's running.
  • In IIM, select Update > IBM WebSphere Portal V8 > Next > Select the iFix, Next > and finally click the Update button, and Finish.
  • After the fix has been applied, you can remove the repository from IIM Preferences > Repositories.
  • Start the portal.

Installing the CTC

  • Edit the ctc.properties file to match the configuration of your environment
  • For Windows: run ctc-install.bat from the command line
  • For Unix/Linux: run ./ctc-install.sh from the command line

Warning!

You will get a BUILD FAILED unless you first ensure that the WasPassword and PortalAdminPwd are filled out in the wkplc.properties file before executing ctc-install. The path to that file is: /wp_profile/ConfigEngine/properties/. I think the CTC documentation assumes that you know this; I'll let IBM know that it could be improved.

Tip: Passwords sometimes get deleted from the wkplc.properties file when it runs. If you're in a development environment and wish to retain those passwords, add PWordDelete=false to the bottom of the file.

Run the Member Fixer task after install

The sample content and demo site included with CTC contains the users that was used in the environment they were created in. These will not resolve on most environments,
resulting in unresolved names appearing on the templates. To remedy this, the Member Fixer task must be run against the CTC Libraries.

The member fixer can be run from the ConfigEngine using the following steps:

  • Change to the ConfigEngine directory.
    • Windows™: C:/IBM/WebSphere/wp_profile/ConfigEngine
    • Linux: /opt/IBM/WebSphere/wp_profile/ConfigEngine
    • AIX: /usr/IBM/WebSphere/wp_profile/ConfigEngine
  • Run the member fixer task run-wcm-admin-task-member-fixer with the arguments:
    • fix=true/false – Run the task in fix mode (modify the content)
    • library=MyLibraryName – Specify the library to run the task on
    • invalidDn=update – Update users with invalid usernames to the admin user
    • altDn=update – Update users with an alternate username available
    • E.g.
      • Windows™: ConfigEngine.bat run-wcm-admin-task-member-fixer -Dfix=true -Dlibrary="CTC Content" -DinvalidDn=update -DaltDn=update
      • AIX®/Linux™: ./ConfigEngine.sh run-wcm-admin-task-member-fixer -Dfix=true -Dlibrary="CTC Content" -DinvalidDn=update -DaltDn=update
  • Run the task again, changing the library argument to CTC Demo, CTC Design, and then CTC Process.

Warning!

The CTC documentation assumes you are aware that you must enable the member fixer first. You can find out how to do that in the product documentation: Using the web content member fixer task.

The CTC Demo site

After you've installed the CTC, you'll find a published site in the main navigation called CTC Demo. The demo provides you with a way to quickly explore some of the things you can accomplish when using the CTC. The CTC Demo site was created purely through template instantiation amd drag-n-drop of portlets, so it showcases what can be done with the CTC without any development at all.

Note

If the CTC Demo page appears blank (no portlets) when you click on it, you may need to start the CTC application in the deployment manager or IBM console (WAS console). That's under Applications > WebSphere enterprise applications. If the application named CTC is stopped, check it and click the start button. This happened to me on one particular installation in an environment with remote deployment manager, just after install.

There are a lot of interesting things going on in the CTC Demo, but I'll list just three that stuck out as things I'm looking forward to stealing.

Social integration

One nice feature is the social integration; users can post each page to Facebook or Twitter.

Inline authoring

Another thing I like about the CTC Demo site is the implementation of inline authoring. If you go into edit mode, you'll find a nice little inline authoring toolbar when you hover over content items. Using that toolbar, authors can modify the content or create new items in the visible context.

Content rating

The CTC Demo also exhibits integration of the Portal's content rating feature.

In my humble opinion...

The content rating feature only shows up when you go into edit mode. In my opinion, a feature like that should be present for anonymous users accessing the public site. I can't imagine that the portal action bar and view modes would even be exposed to most users of a public site like the one the demo simulates. But, I'm guessing you could modify that in your own sites without too much trouble.

CTC Artifacts

Now, one of the proposed benefits of using the CTC is that your average content author may not have to spend near as much time in the traditional views of the WCM Authoring portlet. Still, it's not a black-box and IBM fully expects you to dig down and take a look at how things from the CTC are structured and assembled in WCM. Though you can drive creation from the CTC using the Managed Pages and edit mode controls, you still have as much creative control in WCM as you are accustomed to. In other words, you can still use all the artifacts provided by the CTC even when you do not use the CTC's site building capabilities.

So, let's take a look at some of the artifacts we can find after installing the CTC.

CTC content libraries

Since the content libraries created by the CTC are new, they will not be visible in your WCM Authoring portlet UI as shown below:

To make the CTC's content libraries visible complete the following procedure:

  • In the WCM Authoring portlet UI, expand the Preferences section.
  • Click the Edit Shared Settings link.
  • Expand the Library Selection section.
  • Select and move the four CTC libraries from the left to the right (shown below).
  • Click OK.

Now, as you can see, the libraries are visible and accessible...

Did you know?

  • When configuring a portlet, the settings apply to all instances of the portlet deployed to any pages.
  • When editing the shared settings of a portlet, the settings apply only to the instance of the portlet on the given page.

Following is a brief explanation of each of these content libraries:

CTC Content library

One of the main goals of the CTC is to enable users to build entire sites from templates. The process of doing this begins by creating a portal page using one of several portal page templates provided by the CTC. The creation of the templated page kicks off the creation of your site by copying resources out of pre-built 'micro-sites' from this library into your sites.

You can use the CTC as a tool for building websites and never modify this library. However, if you intent to use the CTC as a tool for ongoing site development in your organization, you might end up replacing some of the micro-site sample content or even add your own micro-sites for your own associated page templates.

In the terminology we use at Base22, micro-sites are like pre-built WCM assemblies which are intended to be reused for the creation of new sites.

Here's a look at all the micro-sites in CTC v3.1...

CTC Micro-site templates

CTC Design

All of the design assets of the CTC exist in this library - authoring templates, presentation templates, and components.

This library should not be modified.

  • If you need to make changes to to the assets in this library, you should create copies of them and place those copies in your own Design library. But keep in mind that when new features are provided in a new version of the CTC, you may have to cross-reference and add the additional elements to your copies if you wish to take advantage of the new features introduced.
  • You should also copy presentation templates into your own Design library to modify them. You can then modify the authoring template to presentation template mappings in your site.
  • If you want to change or add components, they should be created in your own Design library and then referenced from your micro-sites and actual websites.

CTC Process

To quote the user guide directly,

"This library contains categories and workflows. It is likely that you will need to modify and add categories, and modify and add workflows to match your profiling and change management strategies."

CTC Demo library

The CTC Demo library contains resources specific to the CTC Demo site. As such, you do not have to keep or even install the CTC Demo library. In fact, if you look at the CTC User Guide, you'll even find an alternative method for installing the CTC without the CTC Demo library. In other words, it's only for a demo of what you can do with the CTC. If you inactivate or remove it from the portal, you will not be touching the CTC's primary assets and templates.

Portal Page Templates

CTC v3.1 comes with 31 portal page templates at my count. Each page is pre-configured with CTC portlets, which in turn are pre-configured to present WCM content and/or components. Creating a site with the CTC entails the creation of new portal pages based on these portal page templates. When you create a new page based on one of these templates a process is kicked off in the background, which copies a micro-site from the CTC Content library into your own library. Following is a list of all the CTC templates that you have to work with:

Title

Unique name or Identifier

Landing

ctc.template.landing

News Index

ctc.template.newsIndex

-- News Detail

ctc.template.newsDetail

Press Release Index

ctc.template.pressReleaseIndex

-- Press Release Detail

ctc.template.pressReleaseDetail

Alert Index

ctc.template.alertIndex

-- Alert Detail

ctc.template.alertDetail

Communication Index

ctc.template.communicationIndex

-- Communication Detail

ctc.template.communicationDetail

Job Opening Index

ctc.template.jobOpeningIndex

-- Job Opening Detail

ctc.template.jobOpeningDetail

Event Index

ctc.template.eventIndex

-- Event Detail

ctc.template.eventDetail

Course Index

ctc.template.courseIndex

-- Course Detail

ctc.template.courseDetail

Meeting Index

ctc.template.meetingIndex

-- Meeting Detail

ctc.template.meetingDetail

Section Index

ctc.template.sectionIndex

-- Section Detail

ctc.template.sectionDetail

Standalone Topic

ctc.template.topic

Topic Index

ctc.template.topicIndex

-- Topic Detail

ctc.template.topicDetail

Link Index

ctc.template.linkIndex

-- Link Detail

ctc.template.linkDetail

Download Index

ctc.template.downloadIndex

-- Download Detail

ctc.template.downloadDetail

FAQ Index/Detail

ctc.template.faqIndexDetail

Biography Index

ctc.template.biographyIndex

-- Biography Detail

ctc.template.biographyDetail

Facility Index

ctc.template.facilityIndex

-- Facility Detail

ctc.template.facilityDetail

If you have access to the Portal's Administration area, you can navigate through each of these templates to preview what they will create when you use them. When you have a particular design goal, for example, you can cycle through the page templates to see which appears to match the closest to your goal. Here's how:

As an administrative user, navigate to Administration > Portal User Interface > Page Templates as shown below:

Once you click the Page Templates link, the Administration interface will disappear, but then each portal page template will appear in the navigation, which you can then click to browse.

Authoring templates

TO DOCUMENT

Presentation templates

TO DOCUMENT

Component configuration items

TO DOCUMENT

Rendering Plugins (custom WCM tags)

TO DOCUMENT

Theme

Do I need to use the CTC Theme as a basis for any custom theme that I want to create that allows for use of the CTC?

The theme does appear to have a little bit of code that is specific to the CTC. For example, you will not get the CTC portlet tabs in the PageBuilder portlet palette if your using another theme. But the CTC theme itself was based on PageBuilder (for CTC V3) and the new Portal theme in CTC V3.1. So, you could just use the CTC Demo's theme as a base instead of the Portal 8 theme. Otherwise, I suppose you'd have to dig around the code to find out which pieces you need to copy out and put into your own code. I think, if you're starting a brand new theme, it might therefor make sense to just base it on the CTC Theme so that you are sure to get what you need for the CTC; then you can just customize the rest.

Layouts

TO DOCUMENT

Theme Navigation

TO DOCUMENT

Style

TO DOCUMENT

CTC General Portlets

Portlet Name

Description

Teaser Reference

Dynamic Sidebar

Component Configuration Reference

Dynamic Post-Body

Metadata and Analytics

Teaser

Dynamic Body

Landing Navigation

Landing Navigation Reversed

Side Navigation Index

Side Navigation Detail

Footer Sitemap

CTC List Portlets

Portlet Name

Description

Jobs Latest

Events Upcoming Featured w/ Overflow

News Latest w/o heading

Promo Slideshow

News Featured w/overflow

Events Upcoming Featured

Courses Upcoming

News Latest

Events Upcoming No Heading

Events Recent No Heading

Events Recent Featured w/ Overflow

Releases Latest

Events Recent Featured

Special Features Carousel

Events Recent

News Featured

Events Upcoming

Meetings Upcoming

Comms Latest

General Latest

Alerts Latest

Topics Featured

Topics Latest

Meetings Recent

Tpoics Featured w/Overflow

JSPs

TO DOCUMENT

Context Processors

TO DOCUMENT

Text Provider

TO DOCUMENT

Implementation Patterns

TO DOCUMENT

Using CTC

TO DOCUMENT

Customizing CTC

TO DOCUMENT

Compatibility with Base22 xWidgets

TO DOCUMENT

My Conclusions

TO DOCUMENT