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