Preamble
ARender 4.0 and up uses only a REST API (http) to communicate with its rendition server.
If your Websphere server does not possess the API level 2.0 (minimum) of JAX-RS, follow this procedure:
-
Disable the embedded JAX-RS engine by setting a JVM property
com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true.
NoteYou can set this property using the Websphere Web Admin console on the following path: Servers>WebSphere Application Servers>yourServerName -
Then, in Server Infrastructure section:
Java and Process Management > Process definition > Java Virtual Machine > Custom properties
Set
com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine
for the name,true
for the value. Description can be set to your preference. -
One final step will be to configure the class loader for the ARender war/ear component in PARENT_LAST, following this procedure:
-
Go to the deployed ARender application > Manage Modules > ARender war.
Class loader order: Classes loaded with local class loader first (parent last).
-
Go to the deployed ARender application > Class loader.
Class loader order: Classes loaded with local class loader first (parent last).
-
Once the configuration is done, restart the web server containing ARender.
The connectors
Connectors for FileNet P8 4.x and 5.x are provided. However, a unique configuration is required regardless version.
Parameter | Description |
---|---|
id | Unique id of document version |
vsId | VersionSeries id allowing to fetch last version of a document |
objectStoreName | The name of the ObjectStore used to store the document |
objectType | Document type: document, folder, containerXML, mixedObjects (optional for documents) |
Some examples:
-
To open a document stored in FileNet P8, try:
http://{arender_server}/ARender.html?id={345A81-KT7SK95747S-5IS8-8SK0}&objectStoreName=OS1
-
To open simultanously two documents with the mixedObjects syntax:
http://{arender_serveur}/ARender.html?ids=doc:{345A81-KT7SK95747S-5IS8-8SK0},doc:{F64A9342-6114-4A5C-A5E1-589A2FFB159F}&objectStoreName=OS1&objectType=mixedObjects
-
To open simultanously two docments and a folder:
http://{arender_serveur}/ARender.html?objectStoreName=OS1&ids=doc:{3DBE573A-1AC9-4B08-8CB1-8F9495619954},doc:{F64A9342-6114-4A5C-A5E1-589A2FFB159F},folder:{55714817-BDAC-4C8A-9EFB-963E4620A4E4}&objectType=mixedObjects
Define the connector
As detailed below, the connector is composed of two parts. First one is designed for the access of an ObjectStore and its documents. Second one is responsible to manage metadata fetching.
<bean id="fileNetUrlParser" class="com.arondor.viewer.filenetce.FileNetURLParser">
<property name="objectStoreProvider">
<ref bean="objectStoreProvider" />
</property>
<property name="documentPropertiesConfiguration">
<ref bean="documentPropertiesConfiguration" />
</property>
</bean>
Définition
Add following lines to registeredURLParsers property of servletDocumentService bean:
<ref bean="fileNetURLParser"/>
Document access
Regarding authentication mode, two provider types can be used to provide document access.
Sharing FileNet session
In the same JVM (or at least in a shared JAAS context) using IIOP protocol:
Parameter | Description |
---|---|
ceConnectionUri | URI of Content Engine using the IIOP protocol |
<bean id="objectStoreProvider"
class="com.arondor.viewer.filenetce.helper.impl.JaasObjectStoreProvider">
<property name="ceConnectionUri" value="iiop://localhost:2809/FileNet/Engine"/>
</bean>
Technical account
Otherwise, FileNet web services can be consumed using:
Parameter | Description |
---|---|
ceConnectionUri | URI of Content Engine based on FileNet WS (MTOM ou DIME) |
login | Username of technical account |
password | Password of technical account |
<bean id="objectStoreProvider"
class="com.arondor.viewer.filenetce.helper.impl.LoginPasswordObjectStoreProvider">
<property name="login" value="{p8_identifiant}"/>
<property name="password" value="{p8_password}"/>
<property name="ceConnectionUri" value="http://{content_engine_server}/wsi/FNCEWS40MTOM/"/>
</bean>
Configuration the annotation format to be saved in FileNet
Save annotations as XML FileNet format
Default configuration, nothing to do here.
Save annotation as XFDF
Simply add the line below to the following file:
arender.server.default.annotation.accessor=xfdfAnnotationAccessor
Metadata fetching
<bean id="documentPropertiesConfiguration"
class="com.arondor.viewer.filenetce.config.DocumentPropertiesConfiguration">
</bean>
Include system metadata
By default, no system metadata is fetched. In order to force it, you need to add/edit includedSystemProperties property.
<property name="includedSystemProperties">
<list>
<value>DateCreated</value>
<value>DateLastModified</value>
<value>Creator</value>
<value>LastModifier</value>
</list>
</property>
Exclude custom metadata
By default, all custom metadata are fetched and displayed. In order to force exclusion of some ones, you need to add/edit excludedCustomProperties property
<property name="excludedCustomProperties">
<list>
<value>FactureRef</value>
</list>
</property>
If the following error appears: No LoginModules configured for FilenetP8WSI, an additional configuration is required:
-
Save the file jaas.conf.WebSphere in a folder on the WAS server
-
Add the following parameter to ARender’s JVM:
-Djava.security.auth.login.config=[Path_to_jaas_file.conf.WebSphere]
How to:
- Navigate to the menu Server and select the related server.
- open Java and Process Management and click on Process Definition.
- In Start command arguments add the argument.
From an user interface
IBM Workplace & Workplace XT
In order to define which document types have to be opened within ARender, you need to edit the configuration file content-redir.properties (for Workplace XT, in folder: C:\Program Files\FileNet\Config\WebClient) as follow:
{mimeType}=/../ARender/ARender.html?{JSP_QUERY_STRING}
IBM Content Navigator
A specific plugin has been implemented to integrate ARender within ICN.
To use it, follow the instruction below:
-
Connect to Content Navigator.
-
Go to the ‘Administration View’ and click on ‘Plug-ins’
-
Click on the button “New Plugin-in”.
-
Enter the JAR file path and click on ‘Load’. (Example: C:\sources\ARenderHMI*arondor-arender-navigator-plugin-2.2.1.jar)
-
Fill ‘ARender context root’ field with ARender’s address (hots + port + context root). Like below:
If you want the plugin to automatically detect the host name and replace it in the configuration when called, use the keyword
--arender.hostname--
. -
Click on the ‘Save’ button.
-
Click on Edit and check that the plugin is correctly installed.
-
Map the new viewer. Go to ‘Viewer Maps’
The default map is called ‘Default viewer map’ and is not editable.
-
Click on it and then click on copy.
-
Click on “New Mapping”. Then select ‘Filenet Context Manager’ for the Repository type. Then select ARenderPluginViewer in the list of viewer available.
-
You can now choose the MIME Types you want to open with ARender, then click on OK.
-
To use this Map, you just need to link it to a Desktop (Desktop tab -> Edit the desktop -> Select the Map in the Viewer Map list)
Advanced features
Document Builder with advanced merge of metadata
Description and configuration
For each input Document Builder FileNet document :
- If all documents share the same property, with the same value
- The property and the value are propagated
- If the property is common to all documents, but the values are diverging
- The property is propagated, but the value is zero-ed with the following logic :
- String types will receive an empty String value
- Integer/Double types will be set to 0
- Date types will be set to the current Date of the Builder operation
- Boolean types will be false
- List types will be populated of a List of the correctly typed single element (empty lists not supported by the engine)
- The property is propagated, but the value is zero-ed with the following logic :
- If the property is existing in a single document
- By default, the property will not be propagated, unless specified by its SymbolicName in the configuration
In order to propagate a unique property by its SymbolicName, you can add those in the following ARender HMI property, in a comma separated list.
arender.server.filenet.document.builder.update.first.document.properties.advanced.updater.propagation.symbolic.names
How to activate the advanced merge of metadata
In order to activate this feature you will have to edit the following ARender HMI property :
arender.server.filenet.document.builder.update.first.document.properties.copy.bean.name
The two possible values are legacyFileNetPropertiesCopy (to keep the legacy behavior, by default), or advancedFileNetPropertiesMerger to active the new feature.
If you want to have the same behavior as well when updating a document content (and not only when creating document) you will have to add the following bean to the configuration :
<bean id="filenetDocumentUpdaterNewVersion"
class="com.arondor.viewer.filenetce.helper.impl.FileNetDocumentUpdaterNewVersion">
<property name="fileNetPropertiesUpdater"
ref="${arender.server.filenet.document.builder.update.first.document.properties.copy.bean.name}"/>
</bean>
By default, this bean does not possess a fileNetPropertiesUpdater to keep its legacy behavior. With this configuration, the bean will follow the same behavior as the one configured for creating new documents.
Forbid document creation/update in specific ObjectStores, by IDs
In order to disable the creation or update of documents from some specific FileNet ObjectStores, we added a configuration so that you can list (separated by commas) theirs IDs :
arender.server.filenet.document.builder.unauthorized.object.store.ids=
The IDs listed in the configuration property will be protected from any Document Builder operation, and throw an exception when trying to do one regarldess.
By default, this list is shipped empty, to keep legacy behavior.
Configuration of watermark display
You can configurate the watermark display depending on user group and/or Filenet document class.
To activate watermark depending on groups and/or document classes, you need to add this property :
arender.server.watermark.display.provider=fileNetDisplayWatermarkProvider
To display watermark to all user in certain groups :
#Comma-separated values that indicates which FileNet groups should have the watermark defined in arender.watermark.bean.name
arender.server.watermark.filenet.group.with=
To not display watermark to all user in certain groups :
#Comma-separated values that indicates which FileNet groups should not have the watermark defined in arender.watermark.bean.name
arender.server.watermark.filenet.group.without=
To display watermark depending on Filenet document class :
#Comma-separated values that indicates which FileNet document classes should have the watermark defined in arender.watermark.bean.name
arender.server.watermark.filenet.document.class.with=