IBM FileNet
IBM FileNet Content Manager is a flexible, full-featured content management solution that provides the foundation for the IBMCloud Pack for Business Automation. Use it to create innovative business applications on any cloud and more effectively manage all your content, from any source. Learn more.
Authentication Connection
An Authentication Connector is required to connect to any FileNet instance. Click here for more information on setting up an Authentication Connection.
Authentication Connection Configuration
-
Name: The Authentication connector name.
-
Username: The username
-
Password: The password
-
Host: The URL or Path to connect to.
-
Server Port: The connection port (defaults to 9080)
-
Protocol: Choose between http or https (for SSL).
-
Repository Name: The name of the repository you're attempting to connect to. This is not the ID.
-
Connection Timeout: Time to wait for a connection. A value of zero waits for infinity
Note: FILENET API
3Sixty currently leverages the FileNet P8 API v5.2.0
Example |
Preview |
Name: FileNet Demo Authentication Connection Username: Admin Password: Password Host: http://ec2-52-4-181-197.compute-1.amazonaws.com Server Port: 9080 Protocol: HTTP Repository Name: P8G6ObjectStore Connection Timeout: 30000 |
|
Discovery Connector
Discovery Instance Fields
-
Name: Unique Name for the Discovery Connection to identify it in the UI.
-
Authentication Connector: Select your FileNet Authentication Connector
-
Ignore Types : (Optional) A comma delimited list of types to ignore.
Integration Connector
Integration Connection Configuration
-
Connection Name: This is a unique name given to the connector instance upon creation.
-
Description: A description of the connector to help identify it better.
-
Authentication Connector: Your FileNet Auth Connector
Job Configuration
FileNet Repository Job Configuration
-
FileNet Query: This query will gather the document Ids to be transferred.
-
Sample Document Query: Document d WHERE d.[Creator] = "jsmith"
-
Sample Folder Query: Folder f WHERE f.This INSUBFOLDER '\4523'
-
See FileNet Query Documentation here.
-
-
Process Folders Tells 3Sixty you are using a folder query. This will treat folders as documents, allowing you to extract metadata and transform folders in the process.
Note: IMPORTANT
When choosing to process folders make sure you apply a Folder query. -
Name Property: The property to check to set the Filename. Will default to DocumentTitle if prop is empty. (Document queries only.)
-
Query Limit: When populated, will set a limit on the number of IDs returned from a Repository query. If blank, the server default values will be used.
-
Page Size: Sets the page size for the FileNet query. Default value is 200
-
Get Versions: Retrieve document version numbers
-
Documents have multiple binaries: Check to include
-
Get Annotations: Check to include
-
Filesystem Staging Location
-
Filesystem Staging Timeout (Seconds)
FileNet Output Job Configuration
-
Output Folder Path Cannot be root folder (/)
-
Do Not File new Documents: Output Path will be ignored, no new paths will be generated
-
Do not check if document is filed before adding it to a folder: Will version if the file already exists.
Content Services Connector
The only configuration required for this connector is the FileNet authentication connection.
Supported Methods
-
checkIn
-
checkOut
-
createFile
-
createFolder
-
createVersion
-
deleteACL
-
deleteFolder
-
deleteObjectByID
-
deleteVersion
-
getACLs
-
getFileContent
-
getObjectProperties
-
getTypes
-
getVersionContent
-
getVersionProperties
-
listFolderItems
-
listVersions
-
lockDocument
-
revertVersion
-
setACLs
-
unlockDocument
-
updateFile
-
updateProperties
Content Services Basic Configuration
-
Connector ID: A unique identifier for this connection i.e. simflofy_demo(Alphanumeric, dashes and underscore characters only)
-
Description: The text that will be displayed on drop-downs etc. to identify this connection.
-
Type: The type of Search Connection (Solr, Mongo, Alfresco Faceted etc.)
-
Keep Connection Alive: How long until connection is expired if unused.
-
Keep Alive in Milliseconds: How long until connection is expired if unused.
-
Security Mode
-
Authentication Connection
-
Pass-through Credentials
-
Mapping Type
Managing Permissions
As of Version 2.7.6, this connector also offers permissions support using the /acls content service endpoint.
-
The API supports GET, POST, and DELETE calls.
-
All endpoints require an id parameter. Ex. id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8
-
All endpoints also take the isFolder parameter, which tells the API whether the item is a file or folder. Default to false.
3Sixty has a number of default access templates for FileNet. They were created using the following tables:
Folders: Folder security levels
Files: Document security levels
Templates:
-
MODIFY_PROPERTIES
-
VIEW_PROPERTIES
-
FULL_CONTROL
-
PUBLISH_DOCUMENT
-
MAJOR_VERSIONING
-
MINOR_VERSIONING
-
ADD_TO_FOLDER
-
MODIFY_FOLDER_PROPERTIES

Request
GET /api/repo/<connectorid>/acls?id=<id>&listAll=<listAll>&isFolder=<isFolder>
Description:
Retrieves a list of in the format of ["Grantree:Access1,Access2",..... ]
Path Parameters:
-
connectorid : The connector id of your content service connector
Query Parameters:
-
id: The repository id of the item.
Optional Parameters:
listAll: Boolean value. If the access lists falls under a default permissions sets and this is true, will list all permissions instead of template names. Default false,
isFolder: Is the item a folder? Default false.
Example
GET /api/repo/fn/acls?id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8
Returns:
{
"results": [
"cn=P8User,O=SAMPLE:FULL_CONTROL",
"cn=P8Viewer,O=SAMPLE:VIEW_PROPERTIES"
],
"success": "true"
}
Example With CURL
curl -u admin:admin "localhost:8081/3sixty-admin/api/repo/fn/acls?id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8" | json_pp

Request: POST /api/repo/<connectorid>/acls?id=<id>&isFolder=<isFolder>
Description:
Adds or replaces permissions for a user/group/grantee
Preset template and the breakdown for each is found above.
If the grantee already exists, their list will be replaced with the posted access rights.
Path Parameters:
connectorid : The connector id of your content service connector
Query Parameters:
id: The repository id of the item.
Request Body:
A JSON in the format {"Grantee":"Template1,Access1,..."}.
Optional Parameters:
isFolder: Is the item a folder? Default false.
Example
POST /api/repo/fn/acls?id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8
Body: {"cn=TESTUser,0=SAMPLE":"READ_ACL,VIEW_CONTENT,WRITE_ACL"}
Returns:
{
"results": [
"cn=P8User,O=SAMPLE:FULL_CONTROL",
"cn=P8Viewer,O=SAMPLE:VIEW_PROPERTIES",
"cn=TESTUser,0=SAMPLE:READ_ACL,VIEW_CONTENT,WRITE_ACL"
],
"success": "true"
}
Example With CURL
curl -u admin:admin "localhost:8081/3sixty-admin/api/repo/fn/acls?id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8 -d '{%22cn%3DTESTUser,O%3DSAMPLE:%22FULL_CONTROL%22}'" | json_pp

Request:
DELETE /api/repo/<connectorid>/acls?id=<id>&aclId=<aclId>&isFolder=<isFolder>
Description:
Removes a grantee from the item.
Path Parameters:
connectorid : The connector id of your content service connector
Query Parameters: id: The repository id of the item.
aclId: A pipe (|) delimited list of grantees to remove.
Optional Parameters: isFolder: Is the item a folder? Default is false.
DELETE /api/repo/fn/acls?id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8&aclId=cn%3DTESTUser,0%3DSAMPLE|cn%3DTESTUser2,0%3DSAMPLE
Returns:
{
"success": "true"
}
A GET call should not return:
{
"results": [
"cn=P8User,O=SAMPLE:FULL_CONTROL"
],
"success": "true"
}
Example With cURL
curl -u admin:admin -X DELETE "localhost:8081/3sixty-admin/api/repo/fn/acls?id=6385C1A5-EF01-45F1-86C3-FDC3C4E3B6A8&aclId=cn%3DTESTUser,0%3DSAMPLE|cn%3DTESTUser2,0%3DSAMPLE" | json_pp

3.0 and 3.1
While annotations can be gathered from the queried documents, accessing the annotations requires a JavaScript task to allow them to be exported as document fields. This will change in future versions.
The following code will retrieve the annotations for each document and add each as a field
var rp = rd.getExtendedProperties().toString();
rp = rp.replace('[', '').replace(']', '');
print(rp);
var split = rp.split(',');
var i = 0;
for each(var r in split) {
rd.addSingleField('annotation' + i, r);
i++;
}
3.1.1+
Annotations will be added as fields to the document with the name annotationX, where X is an integer.
API Keys
IBM FileNet Connector: Read=true: Write=true: MIP=false
Repo (Read) Specs
Key |
Description |
Data Type |
---|---|---|
fileNetQuery | FileNet Query Select Id from" is automatically included" | String |
processFolders |
Process Folders |
Boolean |
filenet_name_prop |
Name Property |
String |
filenet_query_limit |
Query Limit |
String |
filenet_page_size |
Page Size |
Integer |
attach_extensions |
Add extension based on mimetype. Use this if your title field does not supply an extensions |
Boolean |
getVersions |
Get Versions |
Boolean |
multiple_content |
Documents have multiple binaries |
Boolean |
get_annotations |
Get Annotations |
Boolean |
get_permissions |
Get Permissions |
Boolean |
fsStage |
Filesystem Staging Location |
String |
fsStageTimeout |
Filesystem Staging Timeout (Milliseconds) |
Long |
Output (Write) Specs
Key |
Description |
Data Type |
---|---|---|
output_folder | Output Folder Path | String |
do_not_file |
Do Not File new Documents. Output Path will be ignored, no new paths will be generated |
Boolean |
check_filed |
Do not check if document is filed before adding it to a folder. Will version if the file already exists. |
Boolean |
Move files into or out of FileNet? We can help.