About Objects/Options You Can Configure

This section provides conceptual information about some of the options/objects you can configure.

The following topics are discussed:

Login Process

The ENOVIA products use emxLogin.jsp and properties files to control the login process.

When a user logs in, the system goes to a general JSP for all applications, emxNavigator.jsp. The application submenus and commands are represented by administrative objects in the database.

The StringResource.properties files are different from the properties files discussed in this section. The StringResource.properties files define all text used in an application for internationalization. For more details, see Internationalizing Business Process Services Products.

About Passwords

Users enter a username and password using emxLogin.jsp. If the username and password is valid, the page forwards to emxNavigator.jsp. Users may also need to select a security context, if more than one has been assigned to them.

If your system uses Single Signon (SSO) for authenticating users, then users will use the SSO tool's login page and so the system bypasses emxLogin.jsp.

An ENOVIA administrator can require a user to change his/her password by setting Password Change Required for the person's administrative object. When the person attempts to log in, a message appears that says the person must change the password. When the user clicks OK, the Login page displays fields for changing the password.

The change password fields also appear on the Login page when the administrator sets system-wide password expirations for every x days. In Business Modeler, system-wide password settings are in the Settings > Password menu. Every x number of days, all users who have a password will be prompted to change their password. They must change their password before they can log in.

You can define the kinds of passwords that can be created for users using the system-wide password settings in Business Modeler. For example, you can set minimum and maximum character limits, require that passwords contain alphabetic and numeric characters, and restrict passwords from being the same as the username. For instructions, see the Business Modeler Guide.

Requirements for a Successful Login

This section describes requirements for logging into ENOVIA.

To log into a dynamic user interface application, a person must enter the username and password for a person who has:


  • a valid person administrative object defined with that username and password
  • a matching Person business object that is in the Active state and connected to an Active Company business object with the Employee relationship

If the first condition is met but at least one of the conditions in the second bullet are not met, the system presents an error message that asks the person to contact their administrator.

Logging in gains the person access to emxNavigator.jsp. To access menu items and other application components, the person must belong to roles that have access to those components, as described in Access Checks for Individual Components.

To log in as a different user, you must log out as the current user first. If you try to access the login page without first logging out, the system displays your default home page within emxNavigator.jsp.

About Secure ID and RSA Token Authentication

If the Login Type attribute for the user's Person business object is set to Secure ID and the emxLogin.UseSecureId property is set to true, the login page requires the user to fill in the Secure ID field. If the user's Login Type is set to Standard, the login page ignores any entry in the field.

The diagram below shows how the system authenticates a user whose Login Type is set to Secure ID and when the UseSecureID property is set to show the Secure ID field on the login page. To implement this kind of authentication, you need tokenAuthen.jar and supporting native libraries, which are all supplied by IBM/Tivoli, on your Web server.



About Single Signon

When running in an SSO environment that has been set up to bypass the emxLogin.jsp and emxLogout.jsp pages, the system performs the steps described in this section.

The ENOVIA system:


  • Forwards to emxNavigator.jsp after a user logs in through the SSO login page. If a user accesses the emxLogin.jsp directly (by entering the URL in the browser or by clicking a shortcut to the URL), the system goes to the SSO login page instead.
  • Forwards to the page set up on the SSO server for bypassing emxLogout.jsp, such as a web portal page, when a person clicks the Logout button on emxNavigator.jsp. The person is not logged out until the browser is closed and cannot log in as a new user until a new browser window is opened.

If the SSO server is not configured to bypass emxLogout.jsp, the system returns to emxNavigator.jsp when a user attempts to log out.

ENOVIA Business Process Services installs with a command object called AEFLogoutToolbar, which creates the Logout tool on the global toolbar. The Logout tool calls emxLogout.jsp. For more information on the Logout tool and command object, see Logout Command.

How the System Registers Viewers

To launch a viewer from within an application, the viewer must be registered and the formats that the viewer can open must be assigned to the viewer. This section describes the connections and objects that must exists in the database to register a viewer and assign formats.

To register a viewer and associate formats with viewers, Business Process Services creates the objects and connections for you. For information, see Registering Viewers.

The following graphic shows the database objects and connections needed to register a Brava viewer and a Spicer viewer and assign four formats to each.



The program object emxViewerRegistration is a placeholder for registering viewers. To register a viewer, there must be program object with the same name as the servlet used to invoke the viewer and this program must be connected to emxViewerRegistration with the installedViewer property. Formats that are compatible with the viewer must be defined as format objects and connected to the viewer program object with the supportedViewer property. The program objects that represent the viewers also have a property called viewerTip that stores the text for a ToolTip for the viewer.

About User Preferred Viewers

Users can select a preferred viewer for any view format.

You can require that users select preferred viewers for specific formats. See emxSystem.properties. If so, the user (or administrator) chooses a preferred viewer using the Tools > Edit Profile menu (see Editing Person Details for instructions).

For each preferred viewer that a user chooses, the system creates an administrative property on the person's administrative object that represents the servlet to use for the viewer. The property is named FORMAT-ViewerPreference, where FORMAT is the name of the file format defined in ENOVIA Live Collaboration.

When the user clicks the View or Markup icon for a file with a format that has a preferred viewer selected, the system opens the file in the preferred viewer. If the user has not chosen a preferred viewer, the system does not open a viewer.

Some applications let you restrict the list of viewers in the preferred viewer list to a specific role. For information on how to implement this for a particular application, refer to the Administrator Guide for the application.

Custom User Documentation

If changes are made to an application or to the underlying ENOVIA Business Process Services, ENOVIA cannot ensure the accuracy of the documentation.

These changes include but are not limited to:


  • Changing onscreen text
  • Adding or removing fields on a page
  • Changing administrative objects in the schema
  • Adding new JSPs or changing existing JSPs
  • Changing trigger programs
  • Changing the installation or login process
  • Changing the values in any properties file

See Customizing User Documentation for instructions on making changes.

Types of Documents

Each ENOVIA product has two forms of user documentation as described in this section.

Documentation comes in these formats:

  • A user guide in Acrobat PDF format

    The PDF user guide is created from FrameMaker source files by saving the entire book as pdf from within the FrameMaker book file. FrameMaker uses Adobe Acrobat to perform the pdf conversion. Users must have Acrobat Reader or Adobe Acrobat to view the file.

  • An html-based online help system

    The online help is context-sensitive so when a user clicks help from a page (visual page, not JSP), the help system displays information about that page. The help system uses the same FrameMaker source files as the PDF user guide. These source files are converted to a JavaScript-based help system using WebWorks Publisher Professional Edition.

In addition, all ENOVIA products include two other context-sensitive html-based online help systems: AEF Help and Common Components Help (both part of ENOVIA Business Process Services). These are also created in FrameMaker as separate user guides.

AEF Help and Common Components Help contain information about ENOVIA Business Process Services, a prerequisite for all ENOVIA products. The needed help system is called when the user clicks the Help button on a page, such as pages called from toolbar tools (Change Password, Preferences, Discussions, Collections, and so on.)

Help called from within an application, such as the common routes page in Engineering Central, opens the appropriate help system (Common Components help, in this case).

The applications also have documentation for ENOVIA business and system administrators, such as an administrator guide. Although these documents are also created in FrameMaker and are produced in a similar way, this section applies only to documentation aimed at standard end users.

Strategies for Making Changes

When on-staff or partner writers update application documentation for a new release, they use the FrameMaker source files. This is the approach that should be used if the applications are heavily customized, rendering the out-of-the-box help obsolete.

Contact your Professional Services Representative to obtain a copy of the source files.

As an alternative to changing the existing help, you can add a Tip Page tool to a specific page and specify a URL to be called when the tool is clicked. Though this page would not be part of the help system as a whole, it is a method to provide additional information to end users about specific pages. For details, see the Tip Page entry in Settings for Tree Menu Objects.

You can make minor content changes--such as changing a term, adding a step to a procedure, or replacing an image--to the output files for both types of documentation. For example, suppose you customize the application by changing a term (replace the word "originator" with "creator"), changing the labels on buttons or links, changing the title of a page, or adding an additional field on a page. You can edit the online help and/or the user guide to reflect these kinds of changes in an application but keep these things in mind:


  • You must make the changes to both the pdf and help.
  • Maintaining the documentation may be more difficult when you receive a new version of the software with its documentation from ENOVIA because you will have to make all the changes again to the new output files. If you do not track the changes you make, this could be very difficult.
  • The new or changed information will not be included in the search and index features. For example, if you add a new term to the help system, the index and search features will not recognize the term so users will not be able to find the information you added except by browsing through the help system.

The best way to determine which strategy is best for you is to consider how extensive your changes are. If you can make a short list (maybe 6 or 7 items) of exactly what changes need to be made to each set of output files, then changing the output might be acceptable. You can keep this list and when you receive a new set of documentation files, implement these few changes again. Also remember to evaluate how serious it is not to have new or changed terms in the index or search.

System Notifications and Company-Specific Messages

Many of the applications regularly send notifications to users to inform them of important assignments and changes to objects that they own.

Users receive these notifications in their IconMail inbox and, if email is configured for the user, at the email address specified for the user's profile. Your system must be set up to use SMTP for email transmissions if you want notifications to be emailed to users.

The content for these notifications is stored in the emxFrameworkStringResource.properties file (and the equivalent file for each language). Each message has a "tag" for its subject and text, followed by the content to use when constructing the message. For example, the tags for the "new owner" messages in English are:

emxFramework.Beans.DomainObject.NewOwnerSubject=New owner of '<type>' 
'<name>'.
emxFramework.Beans.DomainObject.NewOwnerMessage=You are the new owner 
of '<type>' '<name>'

If your company needs custom messages, you can edit these messages. Each standard mail message tag can have additional tags created that append the company name, with no whitespace. For example, a "new owner" message subject tag for Acme Company would be named:

emxFramework.Beans.DomainObject.NewOwnerSubject.AcmeCompany

When sending the notifications, the system always looks for company-specific messages defined for the current user's company. (The system uses the company connected to the person's business object.) If the system does not find company-specific tags for the messages, it uses the standard message.

See Configuring Notifications and Messages for instructions.

Caching

Caching of certain items can be enabled for server startup. In addition, you should understand which items are reloaded when you use the reload cache tool (typically used in a development or testing environment). Special considerations are required when reloading the cache in a system using an RMI gateway.

The following sections provide this information.

Caching at Server Startup

ENOVIA Business Process Services can be configured to enable caching at server startup.

See Enabling Cache Load at Server Startup) using the AefStartupServlet. This table lists what items are cached:

Cached Items Application Server RMI Gateway Comments

Symbolic Names

Cached

Cached

The symbolic name mappings for all registered administrative objects.

Properties

Cached

Cached

All application properties files.

Business Type hierarchy

Cached

Not cached

The type hierarchy as defined in Business Modeler. The hierarchy is used by the type chooser, trey-type menu mapping, and type-specific object generator. See Data Models for type hierarchy models.

Type-to-tree menu mapping

Cached

Not cached

Every type in the system is mapped to an equivalent administrative menu object for displaying the Categories menu.

Suite-specific type-to-tree menu mapping

Cached

Not cached

The administrative menu objects used by specific applications where special menus are configured for certain types.

All of the above items are cached in the application server tier. When the RMI gateway is used, only the symbolic names and properties are cached in the RMI tier. If the setup has multiple RMI gateways, the servlet checks and loads all the RMI servers in addition to the local application server cache.

For reference, this table lists the items that are not cached by the servlet, but are cached on-demand in the UI cache when a user accesses them:

Non-Cached Item Comments

Tables

UI cache for tables

Web Forms

UI cache for forms

Menus

UI cache for categories tree menu and toolbar

Commands

UI cache for categories tree menu and toolbar items

String resource properties

ENOVIA Business Process Services and application-specific string resource files used for internationalization of the user interface

Person

Person-related cache

Channels and portals

UI cache for PowerViews

The Reload Cache Tool

The Reload Cache tool (accessed by selecting > Utilities > Reload Cache) is configured using the administrative command object AEFReloadCacheToolbar, which is connected to the AdminTools menu, which is connected to the Toolbar menu object, which in turn is connected to the AEFGlobalToolbar menu.

The default access for this command is assigned to the Administration Manager role and therefore only appears when a user of that role logs in.

When the Reload Cache tool is clicked, the entire cache data is reset and all cached data expires. Any further request to an administrative object from the UI cache obtains the data fresh from the database and is cached again.

The cached data also includes trigger data, such as input arguments, program names, and changes to the state of the eService Trigger Program Parameters objects. When changes occur to this trigger data, the cache must be reloaded to reflect the change.

This table lists the items that are cached at the server start up and that are reloaded when the Reload Cache tool is clicked:

Server Start-up Cached Item Application Server RMI Comments

Symbolic names

Cleared and reloaded

Cleared and reloaded

Symbolic name mappings for all registered administrative objects

Business Type hierarchy

Cleared and reloaded

No cache

Type hierarchy as defined in Business Modeler. This tree is used mainly to display the type chooser, build tree-type menu mapping and type-specific object generators.

Type-to-tree menu mapping

Cleared and reloaded

No cache

Every type in the system is mapped to an equivalent administration menu object for displaying the tree page.

Type-to-tree menu mapping

Cleared and reloaded

No cache

Every type in the system is mapped to an equivalent administration menu object for displaying the Categories menu.

Suite-specific Type-to-tree menu mapping

Cleared and reloaded

No cache

Mapping where special menus are configured for certain types.

This table lists the items that are cached on demand, and that get cleared when the Reload Cache tool is clicked:

On Demand Cached Item Application Server RMI Comments

Tables

Cleared

No cache

UI cache for table

Web Forms

Cleared

No cache

UI cache for forms

Menus

Cleared

No cache

UI cache for tree and toolbar

Commands

Cleared

No cache

UI cache for tree category and toolbar items

Persons

Cleared

Cleared

Person related cache

Channels and Portals

Cleared

No cache

UI cache for PowerViews

Trigger Program Parameters

Cleared

Cleared

Trigger Program Parameters

This table lists the items that are cached and never get cleared:

Cached Items Not Cleared Application Server RMI Comments

String Resource Properties

Cached but never cleared

Cached but never cleared

ENOVIA Business Process Services and application-specific String resource files used for internationalization

Properties

Cached but never cleared

Cached but never cleared

All application Properties files such as emxEngineeringCentral, emxSystem properties

Reload Cache Tool with an RMI Gateway

The reload cache interface provides System Administrators with the ability to reset the cache maintained in the application server tier and RMI server if some change occurs in the administrative objects or configurable administrative objects in an ENOVIA products environment.

See the component age property described in emxSystem.properties for a list of objects that are cleared and reloaded when this tool is used.

In an RMI Gateway environment, an additional two JPOs, emxReloadCacheServerInfoBase.java and emxReloadCacheServerInfo.java, are required. The server information (Application and RMI servers) variables and methods are declared and defined in the emxReloadCacheServerInfoBase.java as follows:

//App Server List 
public String[] APP_SERVER_LIST = null; 
//RMI Server List 
public String[] RMI_SERVER_LIST = null;
... 
... 
public String[] getAppServerList(Context context, String[] args) 
    throws Exception 
{ 
    return APP_SERVER_LIST; 
} 
... 
... 
public String[] getRMIServerList(Context context, String[] args) 
    throws Exception 
{ 
    return RMI_SERVER_LIST; 
} 

By default, these variables are set to empty to indicate that the application is running on a single application server without the RMI gateway server environment. If you use multiple application servers and/or multiple RMI servers, you must modify either APP_SERVER_LIST or RMI_SERVER_LIST or both, as follows:


  • Multiple application servers with no RMI gateway: APP_SERVER_LIST must be modified to include application server hosts.
  • Single application server running on RMI gateway servers: RMI_SERVER_LIST must be modified to include RMI servers.
  • Multiple application servers with multiple RMI servers: both APP_SERVER_LIST and RMI_SERVER_LIST must be modified to include application server list and RMI server list, respectively.

This JPO is installed and modified by ENOVIA Live Collaboration. Custom code should not be placed here.

A list of application servers and/or RMI gateway servers should be assigned to APP_SERVER_LIST and RMI_SERVER_LIST variables in the constructor of the JPO emxReloadCacheServerInfo. This JPO is the custom JPO and the change should be made in here.

The following example shows how the change can be made.

public ${CLASSNAME} (Context context, String[] args) 
   throws Exception 
{ 
super(context, args); 
 
/* 
Following is the example for configuring remote App server List - 
format; 
"<protocol><servername>:<port number>/<webapp name>": 
 
  APP_SERVER_LIST = new String[] { 
                 "http://myserver1:7001/ematrix", 
                 "http://myserver2:7001/ematrix" 
                }; 
*/ 
 
// Update the following variable to include your app server list.
// Note: Do not update this in case of single APP server setup 
APP_SERVER_LIST = new String[] {}; 
 
/* 

Following is the example for configuring RMI Gateway Server List:

"//<servername>:<rmi port number>" 
RMI_SERVER_LIST = new String[] { 
              "//myserver01:1100", 
              "//myserver01:1101" 
              }; 
*/ 
// Update the following variable to include your RMI gateway server 
list. 
// Note: Do not update this, in case of single RMI server or RIP setup 
RMI_SERVER_LIST = new String[] {}; 
} 

When finished making changes, recompile the JPO. The change should take effect right after the JPO had been successfully recompiled.

When a user with the Administration Manager role clicks the Reload Cache link, the application checks whether there is a list of application servers and/or RMI servers. If either or both list is present, the cache reload is performed on them accordingly.

  1. The Application and RMI server lists should contain legitimate application and RMI server names.
  2. If the application server list contains an invalid application server name or the name is valid but it is not up and running, an error will indicate which application server has failed to reload the cache.
  3. If the RMI server list contains an invalid RMI server name or the name is valid but it is not up and running, there will be an exception thrown to indicate the problem

Cache Reload on the application server uses an http connection to connect to the remote application server. Connect access to the remote application server must be allowed.