Thursday, December 29, 2011

Content Organization and Adding Additional Columns to Folder View

Content organization is a feature that all content management system worth its salt provides. Since most CM system users are predominantly use GUI based operating system and are used to Folders, content management systems have similar  implementation.WebCenter Content provides content organization using Folders_g component. This component was part of Document Management feature in 10g and should be enabled in 11g for users to see them.
Folders in UCM is virtual. i.e when you delete a folder contents that are inside them are not deleted, contents hold reference to folders as a metadata field.
One can create hierarchical folder structure as per business needs add contents to them. Later one can drill down or navigate using folder to find there contents.
But the folder view provides very little information of the contents that are grouped under them.
Default Folder View

Below are the steps to add additional column to this default view. Lets add Title for the content items inside a folder.
  1. Identify the service: If your preffered view is Oracle Top Menus then, one can navigate to the folder and look at page URL. We see COLLECTION_DISPLAY is the service that is used to show the contents of a folders.
  2. Identify the template: Open Folders_g component in Component wizard and look for COLLECTION_DISPLAY service description. We see COLLECTION_DISPLAY as the template name
  3. Identify the htm page: Navigate to \oracle\ucm\server\custom\Folders_g\templates open collectioninterface_template.hda and search for COLLECTION_DISPLAY. we will see collectiondisplay.htm
  4. collectiondisplay.htm is the file that controls the display view of folders
  5. Form here on search begins for the right includes to modify to add one more column to the view.
  6. slim_result_table_header is the include which needs to be over ridden to add a header column.In this include <$loop ListFields$> is the loop that controls the column headers. This result set is part of the java method. Over riding a java method is complex and should be used a last option during customization. There fore after this loop add new column name that should be displayed on the page.
  7.  slim_result_table_content_row is the include which needs to be over ridden to add corresponding column value for each content inside a folder. In this include as well <$loop ListFields$> prints the values for individual items. After this loop add the value that should showed to in the new column. 
  8. We can get the required values from either CONTENTS result set object that is available in this service.
Custom Folder View

Tuesday, December 13, 2011

Related Content Component

Oracle UCM or I should start calling it WebCenter Content,  provides a number of add on components which can be used to mix and match to suit once requirements. These components uses core UCM services and provides additional functionality.  Related Content Component is one such component. This Component allows contents to relate to each other. There are few out of the box relations that can used to relate contents. Below are few limitation that one should be aware of.

  • One cannot do bulk activities around relations, It does allow linking a number of child contents to a given parent in one go, but when you want to un-link you have go with one element at time.
  • It does not allow users to add additional information of the established relation. Lets say we have established relations between Content A and Content B when we look into the relation we have only what  type of relation it is. We cannot add any thing more to it.
  • Replicating relations is a bit tricky. Relations are stored in 'RelatedContent' table and one has to use table replication to replicate to our consumption server.
  • Since we are doing a table replication to consumption server we cannot preview Relations and then publish to live.
  • When we replicate parent contents related contents are not triggered for replication.
Let me know what are your use case for Related Content and challenges faced. May be we can log few enhancement requests