Login ProcessThe 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 PasswordsUsers 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 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 LoginThis 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:
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 AuthenticationIf 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 SignonWhen 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:
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 ViewersTo 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 ViewersUsers 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 DocumentationIf 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:
See Customizing User Documentation for instructions on making changes. Types of DocumentsEach ENOVIA product has two forms of user documentation as described in this section. Documentation comes in these formats:
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 ChangesWhen 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:
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 MessagesMany 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. CachingCaching 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 StartupENOVIA 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:
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:
The Reload Cache ToolThe Reload Cache tool (accessed by selecting ) 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:
This table lists the items that are cached on demand, and that get cleared when the Reload Cache tool is clicked:
This table lists the items that are cached and never get cleared:
Reload Cache Tool with an RMI GatewayThe 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:
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.
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. |