Version 9.6
 —  Administering the CentraSite Business UI  —

CentraSite Business User Interface Pluggable Architecture

This document describes the CentraSite Business UI's pluggable architecture. Using this architecture, you can extend CentraSite Business UI's functionality by adding your own features with appropriate widgets and JavaScripts.

The content is organized under the following sections:


Introduction

CentraSite Business UI offers a pluggable architecture that allows you to extend the standard graphical interface by adding your own widgets.

The CentraSite Business UI extension framework is a plug-in to a core infrastructure, in other words, the core infrastructure provides extension points where CentraSite Business UI extension framework is plugged in. The core infrastructure comprises of the CentraSite Business UI built on top of the Google Web Toolkit (GWT), which provides the widget classes for the Business User Interface.

The pluggable architecture is illustrated in the following diagram:

graphics/plugin.png

Extensions are implemented as widgets. The points in the code at which extensions can be added are called extension points. CentraSite Business UI offers extension points that allow you to implement or extend the following features:

The available extension points are described in the section Extension Points below.

Top of page

Customizing the Login Page

The Login page that you see when you access CentraSite Business user interface can be customized to suit your own requirements. You can change aspects such as logos used, colors, text, time formats and layouts. You can also define links that will take you straight to the login screen or guest screen, and links to the user registration and the "Take a Tour" mechanism of the CentraSite Business UI.

The information contained in the following sections describes how to customize your login page.

Introduction

The standard Login page contains a header section, infopanel, login pane and a footer section.

The login page has the following schematic layout:

graphics/Login_Schematic01.png

The header section at the top contains a company logo and a product logo. You can change the logo and colors used to display the logo. You can hide the logos as part of the page customization. You can change the background color for the whole header section.

The infopanel contains a company logo, product name, and an overview of the CentraSite Business UI. Additionally, the infopanel includes a Take a Tour link that takes you to a download site, either from Software AG or a popular external site, or a delivered document such as a PDF document.

The login pane contains the text fields for username and password to access your CentraSite Business UI account. It includes links to the user registration and guest access screens. A Remember Me checkbox allows you to save the login credentials of your account.

The footer section displays the current date and time. Additionally, it contains the CentraSite copyright information and subtitle text. You can hide the copyright information and the subtitle text as part of the page customization. You can change the background color of the whole footer section.

Installing the Customized Login Page

The Login page is implemented as an extension point in the context of CentraSite's Business UI architecture. To install your customized login page, you need to modify the CentraSite Business UI configuration in the Software AG Runtime environment.

The required steps are described in the following sections:

Stop Software AG Runtime

Before you make any changes, stop the Software AG Runtime process.

Customizing the Login Configuration

The standard centrasite.xml configuration file delivered with the CentraSite kit contains all of the names of the CentraSite Business UI extension points, including the extension point for the login configuration. You must create a copy of the extension point for the login configurations in the centrasite.xml file in order to define a customized login page.

The CentraSite Business UI Configuration Files

The configuration files for the CentraSite Business UI reside in the following directory.

When you start Software AG Runtime, property settings in the following files determine the features of the CentraSite Business UI.

<CentraSiteInstallDir>\cast\cswebapps\BusinessUI\

File name Description
centrasite.xmlfile in the <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\conf\system\ directory

Contains property settings that are installed for the CentraSite Business UI.

Do not modify the contents of this file unless asked to do so by Software AG.
custom_centrasite.xml

Contains properties that modify the installed settings in centrasite.xml.

If you need to modify the property settings for the CentraSite Business UI, you make your changes in this file.

Login Configuration

The element <GUIConfiguration> in the standard centrasite.xml file refers to the login configuration.

<!-- HEADER PANEL CONFIGURATION -->
  <Header>
     <CompanyLogo tooltip="CS_MSG_INMBX_IMG_APP_MAIN_LOGO_ALT_TEXT">images/system/softwareag.png</CompanyLogo>
     <HeaderLogo tooltip="CS_MSG_INMBX_LBL_PAGE_TITLE">images/system/CS_Nameplate.png</HeaderLogo>
  </Header>
 
<!-- FOOTER PANEL CONFIGURATION -->
  <Footer>
     <Time visibility="true" />
     <CopyRight visibility="true">CS_MSG_INMBX_LBL_COPYRIGHT</CopyRight>
     <PoweredBy tooltip="CS_MSG_INMBX_LBL_FOOTER_TEXT" visibility="true">images/system/webfooter_powered_by.png</PoweredBy>
  </Footer>
  
<!-- INFORMATION PANEL CONFIGURATION	-->

  <InfoPanel visibility="true">
     <LoginCompanyLogo tooltip="CS_MSG_INMBX_IMG_APP_MAIN_LOGO_ALT_TEXT">images/system/SAG_Blue_Flag_forLogin_129x51.png</LoginCompanyLogo>
     <ProductLogo tooltip="CS_MSG_INMBX_LBL_PRODUCT_INTRO_HEADER">images/system/cs_product_logo_70x70.png</ProductLogo>
     <ProductName tooltip="CS_MSG_INMBX_LBL_PRODUCT_INTRO_TEXT">CS_MSG_INMBX_IMG_APP_HEADER_ALT_TEXT</ProductName>
     <ProductNameLogo tooltip="CS_MSG_INMBX_LBL_PRODUCT_INTRO_HEADER">images/system/cs_nameplate_forlogin_206x36.png</ProductNameLogo>
     <IntroductionText>CS_MSG_INMBXI0001</IntroductionText>
     <TakeATour visibility="true" url="http://www.softwareag.com">CS_MSG_INMBX_BTN_TOUR</TakeATour>
  </InfoPanel> 
    
<!-- LOGIN PANEL CONFIGURATION	-->    

  <LoginPage loginAsGuest="false">
     <RememberMe visibility="true" />
     <Guest visibility="true" />
     <RequestAnAccount visibility="true">
     <ReasonForRequest visibility="true" />
     </RequestAnAccount>
  </LoginPage>

To use your customized login page instead of the standard login page, set the following properties as required:

Header Panel Configuration
Layout Component Source Element Description
Header logo

HeaderLogo

Sets the header logo.

Company logo

CompanyLogo

Sets the company logo in header.

Information Panel Configuration
Layout Component Source Element Description
Company logo

CompanyLogo

Sets the company logo in information panel.

Product logo

ProductLogo

Sets the product logo in information panel.

Product name

ProductName

Sets the product name in information panel.

Product name

ProductNameLogo

Sets the product name logo in information panel.

Information panel

Infopanel

Sets the information panel. However, the Infopanel is only visible if the attribute visibility value is set to "true".

Introduction

IntroductionText

Defines the introduction text about CentraSite.

Take a tour

TakeATour

Sets the Take a Tour button. However, the Take a Tour button is only visible if the attribute visibility value is set to "true".

Login Panel Configuration
Layout Component Source Element Description
Login as guest

loginAsGuest

Sets the Access as Guest link. However, the Access as Guest link is only visible if the attribute visibility value is set to "true".

Guest visibility

Guest visibility

Defines the visibility of the Access as Guest link. A value set to "true" sets the Access as Guest link visible.

Remember me

RememberMe

Sets the Remember Me check box for supplying user login credentials. However, the Remember Me check box is only visible if the attribute visibility value is set to "true".

Request an account

RequestAccount

Sets the Request an Account link for registering a new user. However, the Request an Account link is only visible if the attribute visibility value is set to "true".

Reason for request an account

ReasonForRequest

Sets the Reason for Request text box. However, the Reason for Request text box is only visible if the attribute visibility value is set to "true".

Footer Panel Configuration
Layout Component Source Element Description
Copyright information

CopyRight

Defines the copyright information of CentraSite in footer. However, the CopyRight information is only visible if the attribute visibility value is set to "true".

Date and time

Time

Defines the current date and time in footer.

Powered by

PoweredBy

Sets the "Powered by" logo in footer. However, the "Powered by" logo is only visible if the attribute visibility value is set to "true".

Start Software AG Runtime

After you have made the changes, restart Software AG Runtime. The changes you have made should now be visible when you view the login page.

Top of page

Customizing the Welcome Page

The Welcome page that you see when you access CentraSite Business user interface can be customized to suit your own requirements. You can change aspects such as the search widget, search scopes, activity menus, the main navigation links and Welcome page.

The information contained in the following sections describes how to customize your Welcome page.

Introduction

The standard Welcome page gives you quick links to the pages of CentraSite Business UI that you will probably use frequently during your day-to-day work with CentraSite. It also provides links to external web sites that provide useful information related to CentraSite.

A search box allows you perform a keyword search for registry assets whose name or description contains the given keyword.

The Welcome page has the following schematic layout:

graphics/Welcome_Schematic.PNG

The header section at the top contains a company logo and a product logo. You can change the logo and colors used to display the logo. You can hide the logos as part of the page customization. You can change the background color for the whole header section .

A set of header links in this section provide easy access to items (such as the assets, search capabilities etc.) that you use routinely, notifications and alerts, the CentraSite product documentation and related information.

The navigation bar contains a search widget which allows you to perform a keyword search for an asset. You can choose to have a user-defined search widget or the default search widget as part of the page customization. You can change the background color of the search widget. Additionally, a browse link is displayed by default, which allows you to perform an advanced search for an asset. You can customize the browse link to contain a custom URL that either opens an Advanced Search page or an external page of your choice. You can rename or hide the browse link as part of the page customization.

Adjacent to the search widget is the activities menu. This menu includes options that enable you to access the various CentraSite functions (such as the Create Assets, Import Assets etc). You can rearrange the order of these menu options. Also, you can customize the activities menu to include or exclude one or more CentraSite functions as part of the customization process.

Below the header section, we have the Welcome page. The Welcome page can contain one or more so-called portlets. Each portlet contains a header and content. The header includes a title, with an icon adjacent to the text, some selectable markers (example, set user configuration of an individual portlet, expanding and collapsing a portlet etc.) and a close button. Under the header, you can have a list of entries, either representing the result set of a search query, any external HTML page or a graphical image.

CentraSite Business UI supports the following portlets:

The portlets are rendered in the welcome page according to how you configure them. The portlets can be displayed side by side in rows. For details on the portlet configuration, refer to the section Installing the Customized Welcome Page below.

The footer section displays the current date and time. Additionally, it contains the CentraSite copyright information and subtitle text. You can hide the copyright information and the subtitle text as part of the page customization. You can change the background color of the whole footer section.

In general, you can use CSS stylesheet statements to customize the appearance of text and colors in the Welcome page.

Installing the Customized Welcome Page

To install your customized Welcome page, you need to modify the CentraSite Business UI configuration in the Software AG Runtime environment.

The required steps are described in the following sections:

Stop Software AG Runtime

Before you make any changes, stop the Software AG Runtime process.

Updating the centrasite.xml configuration file

The centrasite.xmlfile in the <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\conf\system\ directory contains the properties that are installed for the CentraSite Business UI.

If you need to customize the Welcome page for the CentraSite Business UI, copy the element <GUIConfiguration> from the installed filecentrasite.xml, and make your changes in the centrasite.xmlfile located in the <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\conf\custom\directory.

Start Software AG Runtime

After you have made the changes, restart Software AG Runtime.

. The changes you have made should now be visible when you view the Welcome page.

Welcome Page Configuration

Header Links

Header links are product-specific information links you can define to display pages or trigger functions when a user clicks on an information label. Header links only appear in the headers when defined in the <HeaderLinks> element of the configuration file.

By default, the CentraSite Business UI contains the following header links:

<HeaderLinks>
  <HeaderLink id="dashboard" displayName="CS_MSG_INMBU_LINK_DASHBOARD" token="welcome:welcome" />
  <HeaderLink id="inbox" displayName="CS_MSG_INMBU_LINK_INBOX" token="inbox:inbox" />
  <HeaderLink id="help" displayName="CS_MSG_INMBU_LINK_HELP" token="help:help" />
  <HeaderLink id="about" displayName="CS_MSG_INMBU_LINK_ABOUT" token="about:about" />
  <HeaderMenuSeparator tooltip="CS_MSG_INMBX_LBL_HEADER_MENU_SEPERATOR">images/system/Separator_White_1X1.png</HeaderMenuSeparator>
</HeaderLinks>

Additionally, you can create a custom header link to suit your requirement. You define a custom header link under the section Header Panel Configuration in the centrasite.xml file.

Important:
You cannot customize the header link Logout (even if you belong to the CentraSite Administrator role).

Search Scopes

The search scopes enable you to narrow the search for assets based on the following objects:

<SearchScopes>
   <SearchScope id="Assets" isExpandable="false" class="com.softwareag.centrasite.api.csom.search.impl.AssetScope" exclude="uddi:7613515f-77eb-11dd-bc9f-f62b6cf80b00">INMCL_STR_Assets</SearchScope>
   <SearchScope id="Everything" isExpandable="true" class="com.softwareag.centrasite.api.csom.search.impl.EverythingScope" exclude="uddi:7613515f-77eb-11dd-bc9f-f62b6cf80b00">INMCL_STR_Everything</SearchScope>
   <SearchScope id="Users" isExpandable="false" class="com.softwareag.centrasite.api.csom.search.impl.CSOTypeScope" types="User" include="uddi:2ebc76b4-128b-11dd-8c31-ae80cb45c029" exclude="uddi:7613515f-77eb-11dd-bc9f-f62b6cf80b00">INMCL_STR_Users</SearchScope>
   <SearchScope id="Organizations" isExpandable="false" class="com.softwareag.centrasite.api.csom.search.impl.CSOTypeScope" types="Organization" exclude="uddi:7613515f-77eb-11dd-bc9f-f62b6cf80b00">INMCL_STR_Organizations</SearchScope>
</SearchScopes>

Additionally, you can create a custom scope with the search query that you require. You define a custom search scope under the section Search Scopes Configuration in the centrasite.xml file.

Activity Menu

The CentraSite Business UI's Activity Menu helps you access the following functions by default:

<Activities>
   <Activity id="Create Assets" class="com.softwareag.centrasite.api.activity.impl.CreateAssetActivityImpl">INMCL_ACTIVITY_CREATE_ASSET</Activity>
   <Activity id="Global Reports" class="com.softwareag.centrasite.api.activity.impl.GlobalReportActivityImpl">INMCL_ACTIVITY_GLOBAL_REPORTS</Activity>
   <Activity id="Manage Organizations" class="com.softwareag.centrasite.api.activity.impl.ManageOrganizationsImpl">INMCL_ACTIVITY_MANAGE_ORGANIZATIONS</Activity>
 </Activities>

Additionally, you can create a custom activity that have the specific function and format that you require. You define a custom activity as an extension under the section Activities Configuration in the centrasite.xml file. For procedures, see Extend Activity Menu by Additional Functions.

Browse Link

The Browse link enables you to locate assets in the CentraSite registry using the advanced search options.

<BrowseLink visibility="true" displayName="CS_MSG_INMBU_LINK_BROWSE" token="browse:browse" />

You can customize the Browse link in the centrasite.xml file to show any of the following behaviors:

Portlets

Portlets are the information display components of the CentraSite Business UI. A portlet can process requests from the user and generate dynamic content such as report lists, notifications or performance metrics. In addition to a set of standard portlets, CentraSite provides a framework that enables you to define and deploy custom portlets that meet your requirements.

Portlets that are created with the framework provided in the CentraSite Business UI have a standard appearance. A portlet includes a title bar with icons that link to portlet actions, and a list of content items as shown in the following example:

graphics/Portlets.PNG

The CentraSite Business UI includes a default set of portlets. For a list of the design/change-time portlets and run-time portlets that CentraSite preships, see the section Built-in Portlets Reference.

<Portlets>
  <Portlet id="MyFavoritesPortlet"
           description="INMBU_STR_PORTLET_FAVORITES_DESC"
           type="text"
           dataFeed="MyFavorites"
           icon="images/system/favorites_16X16.png"
           row="0"
           column="0"
           isVisible="true"
           refreshInterval="0"
           actions="configure,refresh">
    INMBU_STR_PORTLET_NAME_MY_FAVORITES
  </Portlet>
  <Portlet id="TopXServicesBasedOnInvocationsPortlet"
           description="INMBU_STR_PORTLET_TOPX_SERVICES_BASED_ON_INVOCATIONS"
           type="text"
           dataFeed="TopXServicesBasedOnInvocations"
           icon="images/system/highest_invocation_16X16.png"
           row="0"
           column="1"
           isVisible="true"
           refreshInterval="0"
           actions="configure,refresh">
    INMBU_STR_PORTLET_NAME_TOPX_SERVICES
  </Portlet>
  <Portlet id="RecentLifecycleChangesPortlet"
           description="INMBU_STR_PORTLET_RECENT_LIFECYCLE_CHANGES_DESC"
           type="text"
           dataFeed="RecentLifecycleChanges"
           icon="images/system/recent_lifecycle_changed_16X16.png"
           row="0"
           column="2"
           isVisible="true"
           refreshInterval="0"
           actions="configure,refresh">
   INMBU_STR_PORTLET_NAME_RECENT_LCM_CHANGES
  </Portlet>
  <Portlet id="LastCreatedAssetsPortlet"
           description="INMBU_STR_PORTLET_RECENTLY_CREATED_ASSETS_DESC"
           type="text"
           dataFeed="LastCreatedAssets"
           icon="images/system/recently_created_16X16.png"
           row="1"
           column="0"
           isVisible="true"
           refreshInterval="0"
           actions="configure,refresh">
    INMBU_STR_PORTLET_NAME_LAST_CREATED_ASSETS
  </Portlet>
  <Portlet id="MySavedSearchesPortlet"
           description="INMBU_STR_PORTLET_SAVED_SEARCH_DESC"
           type="text"
           dataFeed="MySavedSearches"
           icon="images/system/saved_searches_16X16.png"
           row="1"
           column="1"
           isVisible="true"
           refreshInterval="0"
           actions="configure,refresh">
    INMBU_STR_PORTLET_NAME_MY_SAVED_SEARCHES
  </Portlet>
  <Portlet id="MyPendingApprovalRequestsPortlet"
           description="INMBU_STR_PORTLET_PENDING_APPROVAL_DESC"
           type="text"
           dataFeed="MyPendingApprovalRequests"
           icon="images/system/pending_approval_16X16.png"
           row="1"
           column="2"
           isVisible="true"
           refreshInterval="0"
           actions="configure,refresh">
    INMBU_STR_PORTLET_NAME_MY_PENDING_APPROVALS
  </Portlet>
</Portlets>

Additionally, you can create a custom portlet to suit your requirement. You define a custom portlet as an extension under the section Portlets Configuration in the centrasite.xml file. For procedures, see Add Portlet.

Top of page

Customizing Content Pages

This section describes the available extension points for the CentraSite Business UI, as well as the Java classes and methods that you need to implement in order to plug in to the extension points.

Extension Points

An extension point is characterized by the following properties:

The available extension points are described in the following sections.

Log in to CentraSite Business UI

Usage

Use at the start of a session of CentraSite Business UI.

Elements
  • element name=ExtensionPointLogin

  • Value of attribute "custom" (true or false)

Processing

When you log in to the user interface, a custom defined login page is rendered.

Provided by BusinessUI
Example

<ExtensionPointLogin custom="false" />

Request an Account

Usage

Use this when requesting an account in the CentraSite Business UI.

Elements
  • element name=ExtensionPointRegister

  • Value of attribute "custom" (true or false)

Processing

When you request an account in CentraSite, this invokes a user-defined registration page that displays parameters that are required for entering the user credentials.

Provided by BusinessUI
Example
<ExtensionPointRegister custom="false" />

Extend Activity Menu by Additional Functions

The Activity Menu contains a set of functions that you can perform on the CentraSite Business UI. CentraSite's flexible and extensible registry structure enables you to model any kind of activity menu that you might want to include in your Business UI.

The CentraSite Business UI's Activity Menu helps you access the following functions by default:

You can add a custom activity to have the specific function and format that you require.

Additionally, you can change the order of displaying activities within the activity menu.

To define a tailored activity, you perform the following high-level steps:

  1. Implement the new activity as a GWT extension point. For procedures, see Implement Activity as an Extension.

  2. Configure the new activity in centrasite.xml file. For procedures, see Enable Activity through Configuration.

Implement Activity as an Extension
Usage

Use this to define a custom activity menu. For example, add an activity, reorder the existing activities, and remove activities to suit your requirements.

Elements
  • id

  • class

Interfaces
  • ActivityManager

  • ActivityMenu

Abstract base class Activity
Processing

When starting the user interface, a custom defined activity menu is rendered.

Provided by CentraSiteLogicLayer
Code See the sample code.

You can find the following sample code for defining an activity as extension point in the CentraSiteBUIExtension.gwt.xml file that is provided in the demo folder under the CentraSite installation folder.

<!-- Use ExtensionWidgetFactory by default -->
  	<replace-with class="com.softwareag.centrasite.bui.extension.client.factory.ExtensionWidgetFactory">
    	<when-type-is class="com.softwareag.centrasite.bui.extension.core.client.IExtensionWidgetFactory"/>
  	</replace-with>
Enable Activity through Configuration

After you define a custom activity as an extension with the above steps, you need to enable the activity configuration so as to display the activity in the CentraSite Business UI. To enable the custom activity configuration, follow these steps:

Important:
The activity configuration parameters initially defined in the configuration file are editable and cannot be protected.

  1. Open the centrasite.xml file.

    The system configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\system\conf folder under the CentraSite installation directory.

    The custom configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\custom\conf folder under the CentraSite installation directory.

  2. Locate the Activities Configuration section under CLL Configurations.

    The configuration snippet looks like this:

    <CLLConfigurations>
     <Activities>
       <Activity id="Create Assets" class="com.softwareag.centrasite.api.activity.impl.CreateAssetActivityImpl">INMCL_ACTIVITY_CREATE_ASSET</Activity>
       <Activity id="Global Reports" class="com.softwareag.centrasite.api.activity.impl.GlobalReportActivityImpl">INMCL_ACTIVITY_GLOBAL_REPORTS</Activity>
       <Activity id="Manage Organizations" class="com.softwareag.centrasite.api.activity.impl.ManageOrganizationsImpl">INMCL_ACTIVITY_MANAGE_ORGANIZATIONS</Activity>
     </Activities>
    </CLLConfigurations>
  3. Append the required custom activity (for example, "Create Report Templates") configuration statement as below:

    <CLLConfigurations>
     <Activities
       <Activity id="Create Report Templates" class="com.softwareag.centrasite.api.activity.impl.CreateReportTemplatesImpl">INMCL_ACTIVITY_CREATE_REPORT _TEMPLATES</Activity>
     </Activities>
    </CLLConfigurations>

    wherein,

    Parameter Denotes
    id

    A unique identifier for the activity, in this example "Create Report Templates". It uniquely distinguishes an activity in the CentraSite registry. If you wish to reset the activity at a later stage, you identify the activity using this id.

    class

    The implementation class of "com.softwareag.centrasite.api.activity.Activity" interface.

    INMCL_ACTIVITY

    The i18n string to display the activity in CentraSite Business UI.

    If you want to specify a localized name, enter the message ID starting with a prefix "INMCL" (in this example, "INMCL_ACTIVITY_CREATE_REPORT_TEMPLATES"). The activity will internally identify the message ID, and display the localized name, if available in the message database. Else, if you specify a name without INMBU prefix, the activity will simply display a plain text name.

  4. Now the Activities Configuration section looks similar to this.

    <CLLConfigurations>
     <Activities>
       <Activity id="Create Assets" class="com.softwareag.centrasite.api.activity.impl.CreateAssetActivityImpl">INMCL_ACTIVITY_CREATE_ASSET</Activity>
       <Activity id="Global Reports" class="com.softwareag.centrasite.api.activity.impl.GlobalReportActivityImpl">INMCL_ACTIVITY_GLOBAL_REPORTS</Activity>
       <Activity id="Manage Organizations" class="com.softwareag.centrasite.api.activity.impl.ManageOrganizationsImpl">INMCL_ACTIVITY_MANAGE_ORGANIZATIONS</Activity>
       <Activity id="Create Report Templates" class="com.softwareag.centrasite.api.activity.impl.CreateReportTemplatesImpl">INMCL_ACTIVITY_CREATE_REPORT_TEMPLATES</Activity>
     </Activities>
    </CLLConfigurations>
  5. Locate the Activities Configuration section under BUI Configurations.

    <UIProperties>
      <Activities noOfActivitiesInMainNav="5">
        <Activity refId="Create Assets" numOfProfilesPerRow="3" token="activity:Create Assets"/>
        <Activity refId="Global Reports" token="activity:Global Reports"/>
        <Activity refId="Manage Organizations" token="activity:Manage Organizations"/>
      </Activities>
    </UIProperties>

    The configuration snippet looks like this:

  6. Append the defined custom activity (for example, "Create Report Templates") configuration statement as below:

    <Activity refId="Create Report Templates" token="customactivity:Create Report Templates"/>

    wherein,

    Parameter Denotes
    refId

    Refers to an unique identifier id for the activity, as defined in the CLL Configurations.

    token

    The place tokenizer of the activity that helps in rendering the activity as a deep link URL.

    Important:
    Be aware that for rendering any custom activity, the place tokenizer should contain the prefix customactivity:. Thus for example, a custom activity "Create Report Templates" would have the place tokenizer read as "customactivity:Create Report Templates".

  7. Now the Activities Configuration section looks similar to this.

    <UIProperties>
      <Activities noOfActivitiesInMainNav="5">
        <Activity refId="Create Assets" numOfProfilesPerRow="3" token="activity:Create Assets"/>
        <Activity refId="Global Reports" token="activity:Global Reports"/>
        <Activity refId="Manage Organizations" token="activity:Manage Organizations"/>
        <Activity refId="Create Report Templates" token="customactivity:Create Report Templates"/>
    </UIProperties>
  8. Save and close the configuration file.

  9. Restart Software AG Runtime.

Replace Standard Search Widget

Usage

Use this when the layout of a standard search widget (comprising of search field, search options and search execution) needs to be replaced with a custom search widget.

Elements
  • element name=ExtensionPointSearchWidget

  • Value of attribute "custom" (true or false)

Processing

When starting the user interface, a custom defined (keyword) search widget is rendered.

Provided by BusinessUI
Example
<ExtensionPointSearchWidget custom="false" />

Advanced Search Criteria

Usage

Extend the existing advanced search panel of an asset keyword search for entering custom related search settings, for example, you can add specific search predicates for your own object types.

Elements
  • element name=ExtensionPointSearchCriteria

  • Value of attribute "custom" (true or false)

Processing
  • This extension is initialized via the Extension.showSearchResults() method.

  • Returns a user-defined advanced search (layout) screen showing the available search options.

  • Refreshes the default search results page.

Provided by BusinessUI
Example
<ExtensionPointSearchCriteria custom="false" />

Browse Link

Usage
  • Change the text string Browse displayed in the default view.

  • Change the URL of the Browse link to contain either a page of your choice within the CentraSite Business UI, or to an external web page that you regularly visit within the context of your work with CentraSite.

Elements
  • element name=ExtensionPointBrowseView

  • Value of attribute "custom" (true or false)

Processing

Browse link that would either open a custom Search Results page or a custom link that would either open a CentraSite page or an external web page of your choice.

Provided by BusinessUI
Example
<ExtensionPointBrowseView custom="false" />

Browse Search Criteria

Usage

Extend the existing advanced search panel of an asset browse for entering custom related search settings, for example, you can add specific search predicates for your own object types.

Elements
  • element name=ExtensionPointBrowseCriteria

  • Value of attribute "custom" (true or false)

Processing
  • This extension is initialized via the Extension.showBrowseResults() method.

  • Returns a user-defined advanced search (layout) screen showing the available search options.

  • Refreshes the default search results page.

Provided by BusinessUI
Example
<ExtensionPointBrowseCriteria custom="false" />

Extend Search View

Usage

Change the default layout of entire search view to suit your requirements.

Elements
  • element name=ExtensionPointSearch

  • Value of attribute "custom" (true or false)

Processing

When you opt for a search of assets, this invokes:

  • a user-defined advanced search (layout) screen showing the available search options.

  • a user-defined search results (layout) screen displaying all assets that fit the search criteria.

Provided by BusinessUI
Example
<ExtensionPointSearch custom="false" />

Replace Standard Asset Detail Page

Usage

Use this to customize the layout of a standard asset details page to fit your needs.

Elements
  • element name=ExtensionPointAssetDetails

  • Value of attribute "custom" (true or false)

Processing

If the details page for an asset is opened, an user-defined asset details page is rendered.

Provided by BusinessUI
Example
<ExtensionPointAssetDetails custom="false" />

Add Action Menu

The Action Menu allows you to perform various actions such as modifying properties, attaching documents, generating reports etc., for a single asset or a set of assets.

CentraSite supports the following predefined actions:

You can define actions to suit your needs and configure the tailored action to display in the asset details page and Search Results page.

Additionally, you can customize the way in which you want action to render:

To define a tailored action, you perform the following high-level steps:

  1. Implement the new action as a GWT extension point. For procedures, see Implement Action as an Extension.

  2. Configure the new action in centrasite.xml file. For procedures, see Enable a Action by Configuration.

Implement Action as an Extension
Usage

Use this to define a custom action menu. For example, add an action, reorder the existing actions, enable/disable an action, and remove actions to suit your requirements.

Elements
  • String actionId

  • String commaSeparatedAssetId

  • String positionParam

Interface See the sample code
Abstract base class ActionListener
Processing

When a list of actions for an action menu is retrieved, the following steps are performed for each known action:

  • create an instance of class

  • implement the method processAction of type String.

Provided by BusinessUI
Code See the sample code

You can find sample code for defining the action menu as an extension point in the file CentraSiteBUIExtension.gwt.xml that is provided in the demo folder under the CentraSite installation folder.

<!-- Use ActionListener by default -->
  	<replace-with class="com.softwareag.centrasite.bui.extension.client.action.ActionListener">
    	<when-type-is class="com.softwareag.centrasite.bui.extension.core.client.IActionListener"/>
  	</replace-with>
Enable Action through Configuration

After you define a custom action as an extension with the above steps, you need to enable the custom action configuration so as to display the action in the CentraSite Business UI. To enable a custom action configuration, follow these steps:

Important:
The action configuration parameters initially defined in the configuration file are editable and cannot be protected.

  1. Open the centrasite.xml file.

    The system configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\system\conf folder under the CentraSite installation directory.

    The custom configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\custom\conf folder under the CentraSite installation directory.

  2. Locate the Actions Configuration section under CLL Configuration.

    The configuration snippet looks like this:

    <CLLConfigurations>
     <Actions>
          <Action id="SaveAction" inbox="false" bulk="false" group="basic" icon="images/system/actionbar/01_Save.gif" class="com.softwareag.centrasite.api.csom.action.impl.SaveActionImpl">INMCL_ACTION_SAVE</Action>
          <Action id="EditAction" inbox="false" bulk="false" group="basic" icon="images/system/actionbar/02_Edit.gif" class="com.softwareag.centrasite.api.csom.action.impl.EditActionImpl">INMCL_ACTION_EDIT</Action>
          <Action id="NewVersionAction" inbox="false" bulk="true" group="basic" icon="images/system/actionbar/03_NewVersion.gif" class="com.softwareag.centrasite.api.csom.action.impl.NewVersionActionImpl">INMCL_ACTION_VERSION</Action>
          <Action id="DeleteAction" inbox="false" bulk="true" group="basic" icon="images/system/actionbar/04_Delete.gif" class="com.softwareag.centrasite.api.csom.action.impl.DeleteActionImpl">INMCL_ACTION_DELETE</Action>
          <Action id="DownloadDocumentAction" isAllowedForGuest="true" inbox="false" bulk="true" group="attach" icon="images/system/actionbar/download_32x32.png" class="com.softwareag.centrasite.api.csom.action.impl.DownloadDocumentActionImpl">INMCL_ACTION_DOWNLOADDOCS</Action>
          <Action id="AttachDocumentAction" timeout="600000" inbox="false" bulk="false" group="attach" icon="images/system/actionbar/08_Attach.gif" class="com.softwareag.centrasite.api.csom.action.impl.AttachDocumentActionImpl">INMCL_ACTION_ATTACH</Action>
          <Action id="Export" isAllowedForGuest="true" inbox="false" bulk="true" group="attach" icon="images/system/actionbar/Export.gif" class="com.softwareag.centrasite.api.csom.action.impl.ExportActionImpl">INMCL_ACTION_EXPORT</Action>
          <Action id="WatchAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/watch.png" class="com.softwareag.centrasite.api.csom.action.impl.WatchActionImpl">INMCL_ACTION_WATCH</Action>
          <Action id="UnwatchAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/unwatch.png" class="com.softwareag.centrasite.api.csom.action.impl.UnwatchActionImpl">INMCL_ACTION_UNWATCH</Action>
          <Action id="AddToListAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/AddtoList_32x32.png" class="com.softwareag.centrasite.api.csom.action.impl.AddToListActionImpl">INMCL_ACTION_ADD_TO_LIST</Action>
          <Action id="RemoveFromListAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/RemovefromList_32X32_up.png" class="com.softwareag.centrasite.api.csom.action.impl.RemoveFromListActionImpl">INMCL_ACTION_REMOVE_FROM_LIST</Action>
          <Action id="Consume" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/consume.png" class="com.softwareag.centrasite.api.csom.action.impl.ConsumeActionImpl">INMCL_ACTION_CONSUME</Action>
          <Action id="ApproveAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Approve.png" class="com.softwareag.centrasite.api.csom.action.impl.ApproveActionImpl">INMCL_ACTION_APPROVE</Action>
          <Action id="RejectAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Reject.png" class="com.softwareag.centrasite.api.csom.action.impl.RejectActionImpl">INMCL_ACTION_REJECT</Action>
          <Action id="RevertAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Revert.png" class="com.softwareag.centrasite.api.csom.action.impl.RevertActionImpl">INMCL_ACTION_REVERT</Action>
          <Action id="ViewReportAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/ViewReport.png" class="com.softwareag.centrasite.api.csom.action.impl.ViewReportActionImpl">INMCL_ACTION_VIEW_REPORT</Action>
          <Action id="DeleteNotificationAction" inbox="true" bulk="true" group="moniter" icon="images/system/actionbar/04_Delete.gif" class="com.softwareag.centrasite.api.csom.action.impl.DeleteNotificationActionImpl">INMCL_ACTION_DELETE_NOTIFICATION</Action>
          <Action id="Permission" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Permission_32x32_up.png" class="com.softwareag.centrasite.api.csom.action.impl.PermissionActionImpl">INMCL_ACTION_PERMISSION</Action>
    </Actions>
    </CLLConfigurations>
  3. Append the required custom action (for example, "Change Owner") configuration statement as below:

    <Action id="ChangeOwnerAction" inbox="false" bulk="false" group="basic" icon="images/system/actionbar/ChangeOwner.gif" class="com.softwareag.centrasite.api.csom.action.impl.ChangeOwnerActionImpl">INMCL_ACTION_CHANGE_OWNER</Action>

    wherein,

    Parameter Denotes
    Action id

    A unique identifier for the action, in this example "ChangeOwnerAction". It uniquely distinguishes an action in the CentraSite registry. If you wish to reset the action at a later stage, you identify the action using this id.

    class

    The implementation class of "com.softwareag.centrasite.api.csom.action.impl.ChangeOwnerActionImpl" interface.

    INMCL_ACTIVITY

    The i18n string to display the action in CentraSite Business UI.

    If you want to specify a localized name, enter the message ID starting with a prefix "INMBU" (in this example, INMCL_ACTION_CHANGE_OWNER). The action will internally identify the message ID, and display the localized name, if available in the message database. Else, if you specify a name without INMBU prefix, the action will simply display a plain text name.

  4. Now the Actions Configuration section looks similar to this.

    <CLLConfigurations>
     <Actions>
          <Action id="SaveAction" inbox="false" bulk="false" group="basic" icon="images/system/actionbar/01_Save.gif" class="com.softwareag.centrasite.api.csom.action.impl.SaveActionImpl">INMCL_ACTION_SAVE</Action>
          <Action id="EditAction" inbox="false" bulk="false" group="basic" icon="images/system/actionbar/02_Edit.gif" class="com.softwareag.centrasite.api.csom.action.impl.EditActionImpl">INMCL_ACTION_EDIT</Action>
          <Action id="NewVersionAction" inbox="false" bulk="true" group="basic" icon="images/system/actionbar/03_NewVersion.gif" class="com.softwareag.centrasite.api.csom.action.impl.NewVersionActionImpl">INMCL_ACTION_VERSION</Action>
          <Action id="DeleteAction" inbox="false" bulk="true" group="basic" icon="images/system/actionbar/04_Delete.gif" class="com.softwareag.centrasite.api.csom.action.impl.DeleteActionImpl">INMCL_ACTION_DELETE</Action>
          <Action id="DownloadDocumentAction" isAllowedForGuest="true" inbox="false" bulk="true" group="attach" icon="images/system/actionbar/download_32x32.png" class="com.softwareag.centrasite.api.csom.action.impl.DownloadDocumentActionImpl">INMCL_ACTION_DOWNLOADDOCS</Action>
          <Action id="AttachDocumentAction" timeout="600000" inbox="false" bulk="false" group="attach" icon="images/system/actionbar/08_Attach.gif" class="com.softwareag.centrasite.api.csom.action.impl.AttachDocumentActionImpl">INMCL_ACTION_ATTACH</Action>
          <Action id="Export" isAllowedForGuest="true" inbox="false" bulk="true" group="attach" icon="images/system/actionbar/Export.gif" class="com.softwareag.centrasite.api.csom.action.impl.ExportActionImpl">INMCL_ACTION_EXPORT</Action>
          <Action id="WatchAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/watch.png" class="com.softwareag.centrasite.api.csom.action.impl.WatchActionImpl">INMCL_ACTION_WATCH</Action>
          <Action id="UnwatchAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/unwatch.png" class="com.softwareag.centrasite.api.csom.action.impl.UnwatchActionImpl">INMCL_ACTION_UNWATCH</Action>
          <Action id="AddToListAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/AddtoList_32x32.png" class="com.softwareag.centrasite.api.csom.action.impl.AddToListActionImpl">INMCL_ACTION_ADD_TO_LIST</Action>
          <Action id="RemoveFromListAction" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/RemovefromList_32X32_up.png" class="com.softwareag.centrasite.api.csom.action.impl.RemoveFromListActionImpl">INMCL_ACTION_REMOVE_FROM_LIST</Action>
          <Action id="Consume" inbox="false" bulk="true" group="moniter" icon="images/system/actionbar/consume.png" class="com.softwareag.centrasite.api.csom.action.impl.ConsumeActionImpl">INMCL_ACTION_CONSUME</Action>
          <Action id="ApproveAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Approve.png" class="com.softwareag.centrasite.api.csom.action.impl.ApproveActionImpl">INMCL_ACTION_APPROVE</Action>
          <Action id="RejectAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Reject.png" class="com.softwareag.centrasite.api.csom.action.impl.RejectActionImpl">INMCL_ACTION_REJECT</Action>
          <Action id="RevertAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Revert.png" class="com.softwareag.centrasite.api.csom.action.impl.RevertActionImpl">INMCL_ACTION_REVERT</Action>
          <Action id="ViewReportAction" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/ViewReport.png" class="com.softwareag.centrasite.api.csom.action.impl.ViewReportActionImpl">INMCL_ACTION_VIEW_REPORT</Action>
          <Action id="DeleteNotificationAction" inbox="true" bulk="true" group="moniter" icon="images/system/actionbar/04_Delete.gif" class="com.softwareag.centrasite.api.csom.action.impl.DeleteNotificationActionImpl">INMCL_ACTION_DELETE_NOTIFICATION</Action>
          <Action id="Permission" inbox="false" bulk="false" group="moniter" icon="images/system/actionbar/Permission_32x32_up.png" class="com.softwareag.centrasite.api.csom.action.impl.PermissionActionImpl">INMCL_ACTION_PERMISSION</Action> <Action id="ChangeOwnerAction" inbox="false" bulk="false" group="basic" icon="images/system/actionbar/ChangeOwner.gif" class="com.softwareag.centrasite.api.csom.action.impl.ChangeOwnerActionImpl">INMCL_ACTION_CHANGE_OWNER</Action>
    </Actions>
    </CLLConfigurations>
  5. To enable an action entry for bulk usage, change "false" to "true". Similarly, if the action is already available for bulk usage and you want to revert back, set the value to "false".

  6. Save and close the configuration file.

  7. Restart Software AG Runtime.

Add Portlet

Portlets enable you to create shortcuts and access the frequently-used functions (for example, Most Popular Assets, Recent Searches etc.) that you routinely use or otherwise want to keep close at hand.

The CentraSite Business UI's Welcome page contains a default set of portlets, where each portlet represents a collection of predefined entries fetched using a saved search query.

You can define portlets to suit your needs and configure the tailored portlet to display in the Welcome page.

Additionally, you can customize the way in which you want portlet to render:

To define a tailored portlet, you perform the following high-level steps:

  1. Implement the new portlet as a GWT extension point. For procedures, see Implement Portlet as an Extension.

  2. Configure the new portlet in centrasite.xml file. For procedures, see Enable Portlet through Configuration.

Implement Portlet as an Extension
Usage

Define a portlet of type "custom" in the CentraSite Business UI.

Elements
renderPortletContent
  • String portletId

  • String contentId

  • String commaSeparatedParam

executePortletAction
  • String portletId

  • String actionId

  • String contentId

  • String commaSeparatedParam

Abstract base class IPortListener
Processing

When the Welcome page containing one or more "custom" type portlets is loaded in the CentraSite Business UI, the following steps are performed for each "custom" portlet:

  • create an instance of class

  • implement the method renderPortletContent (within the class instance) to render each custom portlet defined in the configuration file.

  • implement the method executePortletAction (within the class instance) to render each action of a custom portlet defined in the configuration file.

Provided by BusinessUI
Code See the sample code

You can find the following sample code for defining a portlet as extension point in the CentraSiteBUIExtension.gwt.xml file that is provided in the demo folder under the CentraSite installation folder.

<!-- Use PortletListener by default -->
  	<replace-with class="com.softwareag.centrasite.bui.extension.client.portlet.PortletListener">
    	<when-type-is class="com.softwareag.centrasite.bui.extension.core.client.IPortletListener"/>
  	</replace-with>

Important:
On a "custom" portlet defined as GWT extension point, whenever you execute a basic action (e.g., Expand, Collapse or Close) through the user interface, CentraSite internally sends a corresponding actionId to the GWT extension.

Enable Portlet through Configuration

After you define a custom portlet as an extension with the above steps, you need to enable the custom portlet configuration so as to display the portlet in the CentraSite Business UI. To enable a custom portlet configuration, follow these steps:

Important:
The portlet configuration parameters initially defined in the configuration file are editable and cannot be protected.

  1. Open the centrasite.xml file.

    The system configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\system\conf folder under the CentraSite installation directory.

    The custom configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\custom\conf folder under the CentraSite installation directory.

  2. Locate the Portlet Configuration under BUI Configuration.

    The configuration snippet looks like this:

    <Portlets>
      <Portlet id="MyFavoritesPortlet"
               description="INMBU_STR_PORTLET_FAVORITES_DESC"
               type="text"
               dataFeed="MyFavorites"
               icon="images/system/favorites_16X16.png"
               row="0"
               column="0"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_MY_FAVORITES
      </Portlet>
      <Portlet id="TopXServicesBasedOnInvocationsPortlet"
               description="INMBU_STR_PORTLET_TOPX_SERVICES_BASED_ON_INVOCATIONS"
               type="text"
               dataFeed="TopXServicesBasedOnInvocations"
               icon="images/system/highest_invocation_16X16.png"
               row="0"
               column="1"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_TOPX_SERVICES
      </Portlet>
      <Portlet id="RecentLifecycleChangesPortlet"
               description="INMBU_STR_PORTLET_RECENT_LIFECYCLE_CHANGES_DESC"
               type="text"
               dataFeed="RecentLifecycleChanges"
               icon="images/system/recent_lifecycle_changed_16X16.png"
               row="0"
               column="2"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_RECENT_LCM_CHANGES
      </Portlet>
      <Portlet id="LastCreatedAssetsPortlet"
               description="INMBU_STR_PORTLET_RECENTLY_CREATED_ASSETS_DESC"
               type="text"
               dataFeed="LastCreatedAssets"
               icon="images/system/recently_created_16X16.png"
               row="1"
               column="0"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_LAST_CREATED_ASSETS
      </Portlet>
      <Portlet id="MySavedSearchesPortlet"
               description="INMBU_STR_PORTLET_SAVED_SEARCH_DESC"
               type="text"
               dataFeed="MySavedSearches"
               icon="images/system/saved_searches_16X16.png"
               row="1"
               column="1"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_MY_SAVED_SEARCHES
      </Portlet>
    </Portlets>
    
  3. Append the required custom portlet (for example, "My Custom Portlet") configuration statement as below:

    <Portlet id="MyCustomPortlet"
    	        description="INMBU_STR_PORTLET_CUSTOM_DESC"
             type="text"
             dataFeed="MyFavorites"
             icon="images/system/custom_16X16.png"
             row="1"
             column="1"
             isVisible="true"
             refreshInterval="0"
             actions="configure,refresh">
      INMBU_STR_PORTLET_NAME_MY_CUSTOM_PORTLET
    </Portlet>
    

    wherein,

    Parameter Description
    id [Portlet] A unique identifier for the portlet. It uniquely distinguishes a portlet in the CentraSite registry. If you wish to reset the portlet at a later stage, you identify the portlet using this id.
    description A comment or descriptive information about the portlet.
    type The type of portlet. CentraSite Business UI supports the following portlet types:
    • text

    • iframe

    • graphical

    dataFeed Required for text/graphical type. Name of a saved search query that feeds in the data to the portlet.
    url Required for iframe type. An arbitrary URL that points to any external HTML page. It renders the HTML content within an HTML IFRAME on the portlet.
    icon

    An icon to display at the top left corner of the portlet header.

    The icon is specified as the path to an image file.

    Prerequisite:

    The icon must be in PNG format. To ensure proper alignment when it is displayed in the user interface, the icon must be 16 x 16 pixels in size.

    The icon must reside in the folder <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\images\system.

    The path for the icon should be specified as "images/system/icon.png"

    row, column

    The row and column number to place a portlet in the Welcome page.

    By default, the portlet is configured to start at level 0. Thus a setting of 0 (zero) refers to the first portlet in the Welcome page.

    For example, if you want to place a portlet in second row and fourth column, you will need to specify row=1 column=3.

    However, if at a later state, you attempt to drag and drop a portlet in the Welcome page, automatically updates the GUI configuration in the repository.

    Important:
    To define a portlet of type custom, make sure that you have set the value of row=-1 column=-1 in order to dynamically place the custom portlet in your Welcome page.

    isVisible

    To show/hide the portlet in the Welcome page when you log in to CentraSite Business UI for the first time after product installation. Once you have logged in, you can show/hide the portlet directly from the Welcome page.

    Possible values: true (default value) – show the portlet; false – hide the portlet.

    refreshInterval

    The time interval (in seconds) to refresh your portlet content automatically.

    Note:
    A value 0 is indicates that the portlet content will not be refreshed automatically.

    actions

    Actions that you want to display in the portlet's configuration.

    By default, CentraSite supports the following actions:

    • Configure

    • Refresh

    Note:
    You can specify a comma separated list of actions.

    Important:
    When you define a custom action, make sure that you do not specify any of the inherited actions (Expand, Collapse and Close) explicitly.

  4. Now the Portlet Configuration section looks similar to this.

    <Portlets>
      <Portlet id="MyFavoritesPortlet"
               description="INMBU_STR_PORTLET_FAVORITES_DESC"
               type="text"
               dataFeed="MyFavorites"
               icon="images/system/favorites_16X16.png"
               row="0"
               column="0"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_MY_FAVORITES
      </Portlet>
      <Portlet id="TopXServicesBasedOnInvocationsPortlet"
               description="INMBU_STR_PORTLET_TOPX_SERVICES_BASED_ON_INVOCATIONS"
               type="text"
               dataFeed="TopXServicesBasedOnInvocations"
               icon="images/system/highest_invocation_16X16.png"
               row="0"
               column="1"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_TOPX_SERVICES
      </Portlet>
      <Portlet id="RecentLifecycleChangesPortlet"
               description="INMBU_STR_PORTLET_RECENT_LIFECYCLE_CHANGES_DESC"
               type="text"
               dataFeed="RecentLifecycleChanges"
               icon="images/system/recent_lifecycle_changed_16X16.png"
               row="0"
               column="2"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_RECENT_LCM_CHANGES
      </Portlet>
      <Portlet id="LastCreatedAssetsPortlet"
               description="INMBU_STR_PORTLET_RECENTLY_CREATED_ASSETS_DESC"
               type="text"
               dataFeed="LastCreatedAssets"
               icon="images/system/recently_created_16X16.png"
               row="1"
               column="0"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_LAST_CREATED_ASSETS
      </Portlet>
      <Portlet id="MySavedSearchesPortlet"
               description="INMBU_STR_PORTLET_SAVED_SEARCH_DESC"
               type="text"
               dataFeed="MySavedSearches"
               icon="images/system/saved_searches_16X16.png"
               row="1"
               column="1"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_MY_SAVED_SEARCHES
      </Portlet>
      <Portlet id="MyCustomPortlet"
               description="INMBU_STR_PORTLET_CUSTOM_DESC"
               type="text"
               dataFeed="MyFavorites"
               icon="images/system/custom_16X16.png"
               row="1"
               column="1"
               isVisible="true"
               refreshInterval="0"
               actions="configure,refresh">
        INMBU_STR_PORTLET_NAME_MY_CUSTOM_PORTLET
      </Portlet>
    </Portlets>
    
  5. Define the actions that you want to render in the portlet's settings as described in the following property statements.

    <PortletActions>
            <PortletAction id="configure">INMBU_STR_PORTLET_ACTION_EDIT</PortletAction>
            <PortletAction id="refresh">INMBU_STR_PORTLET_ACTION_REFRESH</PortletAction>
          </PortletActions>
    Parameter Description
    id [PortletAction]

    A unique identifier for the action. It uniquely distinguishes an action in the CentraSite registry. If you wish to reset the action at a later stage, you identify the action using this id.

  6. Define the parameters that you wish to display in the portlet as described in the following property statements:

    <PortletParameters>
        <PortletParameter id="MyFavoritesPortletParam" ref="MyFavoritesPortlet" params="noOfAssets#VSEP#10#PSEP#assetTypeKeys#VSEP#uddi:cd906138-59f5-4d7f-4f5f-6115adfa8d9c#ASEP#uddi:cd906138-59f5-4d7f-4f5f-6115adfa8e3d" attributes="" />
    </PortletParameters>
    Parameter Description
    id [PortletParameter]

    A unique identifier for the parameter. It uniquely distinguishes the portlet's parameter in the CentraSite registry. If you wish to reset the parameter at a later stage, you identify the parameter using this id.

    ref

    The specified unique identifier for the portlet.

    params

    Parameters that you want to display in the portlet's configuration. The parameter values determine which data displays in the portlet.

    When you define a parameter, keep the following points in mind:

    • A value separator (#VSEP#) is required between the parameter name and the value.

      Thus, for example, if you want to define a parameter noOfAssets with value "10", you can write the parameter name-value pair as noOfAssets#VSEP#10

    • A parameter separator (#PSEP#) is required between the multiple parameters.

      Thus, for example, if you want to define two parameters, one parameter noofAssets with value "10", and another parameter assetTypekeys with value "uddi:cd906138-59f5-4d7f-4f5f-6115adfa8d9c", you can write the above parameters as params="noOfAssetsToReturn#VSEP#10#PSEP#assetTypeKeys#VSEP#uddi:cd906138-59f5-4d7f-4f5f-6115adfa8d9c"

    • An array separator (#ASEP#) is required between multiple values (i.e., an array of values).

      Thus, for example, if you want to assign a parameter assetTypeKeys with more than one value ("uddi:cd906138-59f5-4d7f-4f5f-6115adfa8d9c", "uddi:cd906138-59f5-4d7f-4f5f-6115adfa8e3d"), you can write the parameter as assetTypeKeys#VSEP#uddi:cd906138-59f5-4d7f-4f5f-6115adfa8d9c#ASEP#uddi:cd906138-59f5-4d7f-4f5f-6115adfa8e3d

    attributes

    List of attributes you wanted to display in the portlet's configuration.

  7. For a graphical chart configuration. If you have opted to show different colors in a "graphical" chart configuration, specify the colors for each bar, line or pie plot.

    In this case, the line would look like this:

    <Colors>
    		<Color id="#233356">OceanBlue</Color>
    		<Color id="#038299">LagunaBlue</Color>
    	</Colors>

    The <Colors> list should have the colors specified in the HEX color code format. The HEX format is a hash (#) followed by 6 numbers or letters. The position of the numbers/letters correlates to the RGB value. For example, "#233356" translates into "OceanBlue".

  8. Locate the following property statement and specify the required values:

    <PortletConfigurations portletsPerRow="3" settingsPopupColumnCount="2" helpToken="HELPCENTER_007" headerMaxCharacterLength="27">
    Parameter Description
    PortletsPerRow The number of portlets to display per row in the Welcome page.
    settingsPopupColumnCount The number of columns to display in the Configure Your Welcome Page dialog.
    helpUrl The URL of the standard Help Center that's delivered with the CentraSite Business UI.
    headerMaxCharacterLength The maximum content length of a portlet's header text. By default, the allowed header text length is 27 characters. If the character in the header text exceeds 27, the text gets automatically truncated.
  9. Save and close the configuration file.

  10. Restart Software AG Runtime.

Portlet Display Names

The display name for a portlet or an action is the name that is displayed by the CentraSite Business user interface. A portlet's or action's display name can either be a localized string fetched from the message database or a plain string.

If you want to specify a localized name, enter the message ID. The message ID (e.g., "INMBU_LBL_PORTLET_PENDING_APPROVALS") must begin with a "INMBU" label. The portlet will internally identify the message ID, and display the localized name, if available in the message database. Else, if you specify a name without INMBU label, the portlet will simply display a plain text name.

For details on configuration of the portlets using the user interface, refer to the section Working with Portlets.

Computed Runtime Actions

If you would like a runtime workflow to execute a task that is not provided by a built-in runtime action, you can create a custom computed runtime action to perform the work.

The CentraSite Business UI contains a default set of actions, where each action represents a collection of predefined parameters.

Your CentraSite installation contains a sample computed action (which is contained as an extension in demos folder) that you can adapt to suit your needs and configure the tailored action to display in the policy accordion.

To define a tailored computed action, you perform the following high-level steps:

  1. Implement the new runtime action as a GWT extension point. For procedures, see Implement Runtime Action as an Extension.

  2. Configure the new runtime action in centrasite.xml file. For procedures, see Enable Runtime Action through Configuration.

Implement Runtime Action as an Extension
Usage

Define a computed runtime action in the CentraSite Business UI.

Elements  
Abstract base class  
Processing  
Provided by BusinessUI
Code See the sample code

You can find sample code for defining a computed runtime action as extension point in the CentraSiteBUIExtension.gwt.xml file in the demos folder under the CentraSite installation folder.

Enable Computed Action through Configuration

After you define the computed action as an extension with the above steps, enable the computed action configuration so as to display the action in the policy accordion.

Important:
The action parameters defined in the configuration file are editable and cannot be protected.

  1. Open the centrasite.xml file.

    The system configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\system\conf folder under the CentraSite installation directory.

    The custom configuration (centrasite.xml) file resides in the cast\cswebapps\BusinessUI\custom\conf folder under the CentraSite installation directory.

  2. Locate Policy Action Templates under the CLL Configuration.

    The configuration snippet looks like this:

    Tham: Initial snippet should be written here.
  3. Append the required computed runtime action ("MyComputedRuntimeAction") configuration statement as below:

    <PolicyActions>
       <PolicyAction id="uddi:44e3e2de-064c-432f-b67a-8fbca0fb04d6" class="com.softwareag.centrasite.bui.extension.service.MyComputedRuntimeActionParser" />
    </PolicyActions>

    wherein,

    Parameter Description
    id

    A unique identifier for the computed action.

    It uniquely distinguishes an action in the CentraSite registry. If you wish to reconfigure the action at a later stage, you identify the action using this id.

    class

    A parser implementation for the computed action.

  4. Save and close the configuration file.

  5. Restart Software AG Runtime.

Action Display Names

The display name for a portlet or an action is the name that is displayed by the CentraSite Business user interface. A portlet's or action's display name can either be a localized string fetched from the message database or a plain string.

If you want to specify a localized name, enter the message ID. The message ID (e.g., "INMBU_LBL_PORTLET_PENDING_APPROVALS") must begin with a "INMBU" label. The portlet will internally identify the message ID, and display the localized name, if available in the message database. Else, if you specify a name without INMBU label, the portlet will simply display a plain text name.

For details on configuration of the portlets using the user interface, refer to the section Working with Portlets.

GWT Sample Code Location

You can find sample code for defining the above mentioned extension points in the file ExtensionViewFactory.java that is provided in the demos folder under the CentraSite installation folder.

For configuring an extension on the CentraSite Business UI, refer to the section Configuring an Extension.

Step-by-Step Guide

A step-by-step guide of how to create customized extensions for the CentraSite Business UI content pages is provided in Installing an Extension.

Top of page

Installing an Extension

This section gives examples of how you can use the pluggable architecture to define and install the extensions.

Eclipse Prerequisites

The descriptions in this section are based on the GWT project CentraSiteUIExtension. We will show how to use Eclipse and standard CentraSite features in order to add the extension to CentraSite.

Before you start, ensure that you have a recent Eclipse version installed on your machine. Eclipse is available as a download from http://www.eclipse.org/.

In Eclipse, select Help > Install New Software in order to configure usage of GWT plug-in with the Java version currently supported by CentraSite.

The system requirements can be checked at http://documentation.softwareag.com/.

Setting up the GWT project

To set up a new GWT project in Eclipse, you must perform the following high-level steps:

Setting the Classpath

Specify the classpath variables for the new GWT project as follows:

Start of instruction setTo specify classpaths for the new project

  1. In Eclipse, select Window > Preferences > Java > Build Path.

  2. Expand the Build Path node.

  3. Select the Classpath Variables.

  4. In the Classpath Variables dialog, choose New. The New Variable Entry popup displays.

  5. Specify a name for the new classpath variable ("CENTRASITE_REDIST_LOCATION") and the location. The redist folder is typically located at C:\SoftwareAG\CentraSite. Instructions throughout the remainder of this section refer to this directory as the <CentraSiteInstallDir>.

    Example:

    graphics/Redist.png

  6. Click OK.

  7. In the Classpath Variables dialog that becomes visible again, click OK.

  8. Specify a second classpath variable "CENTRASITE_RTS_LOCATION". The rts folder is also typically located at <CentraSiteInstallDir>.

    Two new Java classpath variables called "CENTRASITE_REDIST_LOCATION" and "CENTRASITE_RTS_LOCATION" have been created due to the previous actions.

  9. Add all of the JAR files contained in the redist folder to the classpath.

    Additionally, if you upgraded to CentraSite 9.6 using the overinstall method, and you want to use the extension points of the previous version, copy the following JAR files contained in the old_installation_directory into the MANIFEST.MF file available under new_installation_directory\cast\cswebapps\BusinessUI\META-INF folder.

Importing the GWT Project

Import a new GWT project in Eclipse as follows:

Start of instruction setTo import a project in Eclipse

  1. Select File > Import from the main menu.

  2. On the Select page of the Import wizard, select Existing Projects into Workspace and click Next.

    graphics/ImportProject.png

  3. On the Import Projects dialog, choose the Select root directory radio button.

  4. Click the Browse button that is located beside the input field labeled Select root directory. The Browse for Folder dialog is displayed.

  5. Within the Browse for Folder dialog, navigate to and click on the CentraSiteUIExtension folder of the Software AG Runtime application. This folder contains the definitions for the extensions that CentraSite supports out of the box.

    The CentraSiteUIExtension folder resides in the demos folder under the CentraSite installation directory.

  6. Click OK.

  7. In the Import Projects dialog that becomes visible again, click Finish.

    A new Java project called "CentraSiteUIExtension" has been created due to the previous actions. This project is now visible in the Package Explorer view in Eclipse.

    It contains example implementations of the existing extension points for the Business UI. You can modify them to suit your needs. For using your own Widget as Extension Point, specify it as a return value in the ExtensionWidgetFactory class in the com.softwareag.centrasite.bui.extension.client.factory package.

  8. Open the file build.properties. Enter the paths to your GoogleWebToolkit_HOME, the Extension target location, the redist and the rts folder. Now the project can be build using apache ant. Run the build.xml script.

  9. To install the extension, use the ant deploy target. Open a command line and navigate to your project location. Enter: ant deploy.

Configuring an Extension

We have now created a Java project inside the Business UI web application. The extension functionality for the CentraSite Business UI is contained in the centrasite.xml file. You can configure this file to adapt to the appropriate extensions as required.

Start of instruction setTo configure an extension

  1. On the file system, locate the configuration file centrasite.xml in the folder <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\custom\conf .

  2. Open the file in a text editor, and locate the configuration entry EXTENSION POINTS:

    <Extensions src="">
      <! --
        centrasitebuiextension/centrasitebuiextension.nocache.js -->
       <ExtensionPointLogin custom="false" />
       <ExtensionPointRegister custom="false" />
       <ExtensionPointBrowseView custom="false" />
       <ExtensionPointBrowseCriteria custom="false" />
       <ExtensionPointSearchWidget custom="false" />
       <ExtensionPointSearch custom="false" />
       <ExtensionPointSearchCriteria custom="false" />
       <ExtensionPointAssetDetails custom="false" />
          <ExtensionPlaces protected="true">
          <ExtensionPlace className="com.softwareag.centrasite.bui.client.place.home.ExtensionPlace" />
          </ExtensionPlaces>
    </Extensions>
  3. Specify the extensions file path as centrasiteuiextension/centrasiteuiextension.nocache.js in order to point to the location of the Java script files.

  4. Identify the extension point that you want to configure to the CentraSite Business UI.

  5. Enable the extension point by modifying its custom value from "false" to "true". The default value is "false".

  6. After making the above changes, the extension entry would look like this:

    <Extensions src="centrasitebuiextension/centrasitebuiextension.nocache.js">
       <ExtensionPointLogin custom="true" />
       <ExtensionPointRegister custom="true" />
       <ExtensionPointBrowseView custom="true" />
       <ExtensionPointBrowseCriteria custom="true" />
       <ExtensionPointSearchWidget custom="true" />
       <ExtensionPointSearch custom="true" />
       <ExtensionPointSearchCriteria custom="true" />
       <ExtenstionPointAssetDetails custom="true" />
          <ExtensionPlaces protected="true">
          <ExtensionPlace className="com.softwareag.centrasite.bui.client.place.home.ExtensionPlace" />
          </ExtensionPlaces>
    </Extensions>
  7. Save and close the file.

  8. Locate the configuration file web.xml in the folder <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\WEB-INF .

  9. Open the file in a text editor, and locate the ExtensionServlet entry:

    <servlet>
        <servlet-name>ExtensionServlet</servlet-name>
        <servlet-class>com.softwareag.centrasite.ui.extension.service.ExtensionServiceImpl</servlet-class>
    </servlet>
      
    <servlet-mapping>
        <servlet-name>ExtensionServlet</servlet-name>
        <url-pattern>/centrasiteuiextension/extensionService</url-pattern>
    </servlet-mapping>
  10. Uncomment the ExtensionServlet entry in order to enable the extension configurations that are performed in the previous actions. Similarly, if the extension configuration is already enabled and you want to disable it, simply comment out the ExtensionServlet entry.

  11. Save and close the file.

  12. Restart Software AG Runtime.

Note:
The extension point's readme file is recommended for reading. The readme file is available in the <CentraSiteInstallDir>\demos\CentraSiteUIExtension directory.

Top of page

Uninstalling an Extension

The following actions need to be performed to uninstall extension(s) manually:

Start of instruction setTo uninstall an extension

  1. Locate the configuration file centrasite.xml in the folder <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\custom\conf .

  2. Open the file in a text editor and locate the configuration entry for extension points:

    <Extensions src="centrasitebuiextension/centrasitebuiextension.nocache.js">
       <ExtensionPointLogin custom="true" />
       <ExtensionPointRegister custom="true" />
       <ExtensionPointBrowseView custom="true" />
       <ExtensionPointBrowseCriteria custom="true" />
       <ExtensionPointSearchWidget custom="true" />
       <ExtensionPointSearch custom="true" />
       <ExtensionPointSearchCriteria custom="true" />
       <ExtenstionPointAssetDetails custom="true" />
          <ExtensionPlaces protected="true">
          <ExtensionPlace className="com.softwareag.centrasite.bui.client.place.home.ExtensionPlace" />
          </ExtensionPlaces>
    </Extensions>
  3. Identify the extension point that you want to uninstall.

  4. Set the extension point's custom value to "false". Similarly, you can uninstall multiple extension points.

  5. After making the above changes, the extension entry would look like this:

    <Extensions src="centrasitebuiextension/centrasitebuiextension.nocache.js">
       <ExtensionPointLogin custom="false" />
       <ExtensionPointRegister custom="false" />
       <ExtensionPointBrowseView custom="false" />
       <ExtensionPointBrowseCriteria custom="true" />
       <ExtensionPointSearchWidget custom="false" />
       <ExtensionPointSearch custom="false" />
       <ExtensionPointSearchCriteria custom="true" />
       <ExtenstionPointAssetDetails custom="true" />
          <ExtensionPlaces protected="true">
          <ExtensionPlace className="com.softwareag.centrasite.bui.client.place.home.ExtensionPlace" />
          </ExtensionPlaces>
    </Extensions>
  6. Save and close the file.

  7. Restart Software AG Runtime.

If at a later stage you want to remove all the extensions, proceed as follows:

Start of instruction setTo uninstall all extensions

  1. Locate the configuration file centrasite.xml in the folder <CentraSiteInstallDir>\cast\cswebapps\BusinessUI\custom\conf .

  2. Open the file in a text editor and locate the configuration entry for extension points:

    <Extensions src="centrasitebuiextension/centrasitebuiextension.nocache.js">
       <ExtensionPointLogin custom="false" />
       <ExtensionPointRegister custom="false" />
       <ExtensionPointBrowseView custom="false" />
       <ExtensionPointBrowseCriteria custom="false" />
       <ExtensionPointSearchWidget custom="false" />
       <ExtensionPointSearch custom="false" />
       <ExtensionPointSearchCriteria custom="false" />
       <ExtenstionPointAssetDetails custom="false" />
          <ExtensionPlaces protected="false">
          <ExtensionPlace className="com.softwareag.centrasite.bui.client.place.home.ExtensionPlace" />
          </ExtensionPlaces>
    </Extensions>
  3. Remove the above configuration entry for extension points.

  4. Save and close the file.

  5. Restart Software AG Runtime.

Note:
The extension point's readme file is recommended for reading. The readme file is available in the <CentraSiteInstallDir>\demos\CentraSiteUIExtension directory.

Top of page

Creating a Custom Extension

To create a custom GWT specific extension to your requirements, perform the following steps:

Start of instruction setTo create a custom extension

  1. Write a new widget class.

  2. Open the file ExtensionWidgetFactory.java that resides in the CentraSiteUIExtension folder.

  3. Locate the method corresponding to the extension Id whose widget you wish to customize.

  4. Return the new widget in the corresponding method.

  5. Save and close the ExtensionWidgetFactory.java file.

  6. Edit the centrasite.xml file to configure the extensions as appropriate. For more information on configuring the extension properties, refer to the section Configuring an Extension.

Top of page