Customizing OpenText Content Server
Project Titanium

Customizing OpenText Content Server

OpenText Content Server is a web-based system used by enterprises for content management and collaboration. The content server follows a modular architecture design where each functionality comes from a separate module. The content Server has modules that provide the core functionality for the application which are known as "core modules". Core modules are shipped with the product and are installed by default during the initial setup of the content server (CS). If a customer requires additional functionalities then OpenText provides optional modules. However, these optional modules are limited and may not satisfy all the requirements. We can achieve most of the user requirements using the objects in CS like WebReports, ActiveViews, Appearances, and Custom Views. I have discussed these modules below and also mentioned what can be done if we cannot achieve the customer requirements using the above options.

Note - All the options that I have discussed here are related to classic UI, we will discuss the Smart UI customization in the next article.

Classic UI

WebReports?- WebReports is a content server core module, but this must be licensed to make it available for the users. WebReports provides a powerful processing engine that enables customers to develop a wide range of solutions from a basic HTML report to a complex multi-layer application.

  • Tag system is the heart of WebReports, Tags written in the WebReports decide where to display the data, when to display the data and how to process the data.
  • WebReports has the option to use different sources from which we can take data as input and different destinations to which we can send the output. Some of the sources include livereports, search queries, CSV file, categories, etc.., Some of the destinations includes a browser, desktop, FTP etc..,?
  • There are three main types of tags.

Content control tags - These tags decide whether to display the section/footer/header of the reportview based on the logical condition.??

Example tags -?[LL_WEBREPORT_IF /]

[LL_WEBREPORT_INCLUDEIF /]

Data tags - These tags show where the data from the source should be inserted in the output.

Example tags -?[LL_REPTAG_1 /]

[LL_WEBREPORT=DATAID /]

Sub-Tags - Sub-Tags format or manipulate data returned by a data tag, a classic example includes getting the name of the object using the Data ID retured by data tag.

Example tags -?

[LL_WEBREPORT=DATAID NODEINFO:NAME /]

  • We can combine HTML, Javascript, JQuery, CSS and other ECMAScript based libraries with WebReport tags that are mentioned above to
  • We can make Ajax calls or REST API calls to external systems, and can send data to external applications or retrieve data from external applications.
  • If the inbuilt sub-tags do not satisfy your requirement, then we can build our own custom sub-tag.

ActiveView?- ActiveView is very similar to WebReports in many aspects but the key difference is that ActiveViews are linked directly to CS interface which allows developers to provide alternative interfaces without custom development.

  • Heart of the ActiveView is the WebReports engine, This contains the same tags and subtags that we use in WebReports. One tag that is specifically designed for ActiveView is [LL_REPTAG_OVERRIDEOBJID /] which returns the DataID of the Object that is overridden by ActiveView.
  • It is not possible to run an ActiveView in the same way as a WebReport because they are only ever executed in response to other Content Server events. The basic paradigm is that ActiveViews are defined to override specific Content Server events such as browsing a folder. When the folder browse occurs, the ActiveView is processed and the content it returns is used to replace the standard content pane
  • ActiveView supports only LiveReports as a data source.
  • ActiveView comes with four different types of overrides.

Container Browse Overrides - This type of override allows you to define different views for different types of containers.

Personal Report Overrides - This type of override allows you to override collections, Projects, etc.., this is also used to override the search results screen too.

Property Tab Overrides - This type of override allows you to override tabs like audit, category, versions, etc..,

Miscellaneous Component Modifications - This type of override allows you to override function menus, Add Item menus, and Top Menus.?

Appearances - Appearances enable you to customize certain locations in the Content Server, much as you would design a Web page. Appearances are useful in situations like the following (Below details are from content server help page):

  • To make the interface conform to the established graphic design standard used by your organization. Customizations can include static content in the form of custom graphics, text, and links to external resources.
  • To simplify the interface for certain users or groups by hiding some of the controls or tools in a workspace, project, or folder.
  • To embed the interface in another application framework, suppressing the display of everything except the actual content from the Content Server.
  • To enhance a Workspace, Project, or Folder to display dynamic content that is derived from the page and tailored to the role of the user.
  • To enable the personalization of a Workspace, Project, or Folder that is used by a particular group, such as a department.
  • It is possible to create custom JavaScript files, replacement variables and macros for use with the Content Server

Custom View - Custom View contains HTML Code which can be added to a folder, project or compound document and the HTML Code is displayed as part of the interface. A custom view can contain the below.

  • HTML, JavaScript, VBScript, Java applets or any other code that can be interpreted by a web browser.
  • Links to other items in Content Server or to other Web pages.
  • References to image, audio, or other files that are stored either in Content Server or in a directory on any other accessible web server.

If we cannot achieve the customer requirement using the above-mentioned options then we need to develop a custom module.

Custom Module - ?If you want to change the look and feel of the interface, or if you want to modify or add to the basic functionality, you need to use CSIDE. CSIDE is a plug-in for Eclipse used for creating and manipulating objects, a programming language, and more. At its most basic level, Content Server is a set of scripts and a set of values used by those scripts. OScript is the content server's scripting language. CS SDK provides options to develop our own custom modules.

  • OScript is a full featured programming language which lies at the heart of Content Server. OScript is used in three ways:?
  • Many of the features of objects are scripts (methods) written in OScript.
  • OScript is embedded in the Weblingo files which are used to dynamically generate HTML pages for the classic user interface.
  • There are also files external to Content Server that contain OScript scripts. For example, the launch script that is run to start Content Server is written in OScript.

In OScript, you will see the power of Content Server as an object system and as a knowledge management system development environment, especially when you peruse its packages of built-in functions.

The basic tasks in customizing the Content Server include:

  • Creating a module in which to store your customizations. If you do this properly, your enhancements will be easy to install and maintain.
  • Creating request handlers, nodes, user interfaces, and other module components to implement new functionality or to change the look and feel.
  • Overriding existing components to change existing functionality.

To conclude this article, OpenText Content server provides multiple options to customize with less coding. We have to compare all the options and decide which is the best fit for the customer's requirement.

Jens Friehmelt

Senior Manager Professional Services EMEA at OpenText

2 年

Happy to see that you are sharing a bit of your great compentence as an OpenText developer.

要查看或添加评论,请登录

Charan Teja Katari的更多文章

  • WebReport Trigger

    WebReport Trigger

    The WebReport Trigger is used to initiate a WebReport based on the content server events like, create, update, rename…

社区洞察

其他会员也浏览了