Agnostic Guides
...
Developers Guide
SCRUD API’s

CMS_API_SEARCH

5min

Functionality 

Description

FileNet Notes 

Documentum Notes 

Box Notes 

M365/SharePoint Notes 

IV_CMSPROFILE 

Required: Determines which configured CMS Profile in Link Enterprise SAP to utilize. Combination of CMS Profile and CMS Tag determine the API destination and thus load across an RFC destination. 









IV_CMSTAG 

Required: Determine which configured CMS Profile in Link Enterprise SAP to utilize. Combination of CMS Profile and CMS Tag determine the API destination and thus load across an RFC destination. 









IV_REPOSITORY 

Required: Determines which configured repository in Link Enterprise SAP to utilize 

Object Store 

Docbase 

Default is the only Store/Repository supported since Box currently doesn’t support the notion of different repositories.

Site, site collection 

IV_TYPE 

Optional: what CMS type to create. 

DOCUMENT

CLASS 

Defaults to the searching “Document” document class if unspecified. If “Include Subfolders” configuration is enabled on connector it will also include all sub classes of the document class.

OBJECT TYPE 

Defaults to the searching “dm_document” class and all sub types if unspecified. 



METADAT TEMPLATE 

Includes all documents with or without metadata templates if empty. 



CONTENT TYPE 

Defaults to searching a document of content type Document if not specified. 



IV_USE_MAPPING 



Optional: use mapping of IV_TYPE to CMS type in Enterprise Connector if CMS. Used if ArchiveLink doctype name to CMS type mapping is required. 









IV_WHERE 

Allows for adding additional search criteria with the search. With Box if used it is the only thing that can be specified while searching. 



Refer to the “Relational Queries” section from the online FileNet P8 Info Center documentation for help with constructing advanced where clauses. 



Examples: DocumentTitle = ‘TEST.tif” <Property Name> IS NULL DateCreated > 20160801T080000Z DateCreated > 2016-08-01T12:00:00-08:00 

Refer to the Documentum DQL reference material for more information on constructing advanced where clauses.



Examples: <Property Name> IS NULL r_modifer <> '<username>' <Property Name> IS NOT NULL r_modify_date > DATE('08/01/2016') 

Refer to the Box api for the search api call for what can be used as the where clause. 



Examples: mdfilters=[{"templateKey”:”<template name>","scope":"enterprise","filters":{“<metadata name>":"True"}}]&limit=50&offset=0 

Refer to the Graph api for the search api call for what can be used as the where clause. 



Examples: mdfilters=[{"templateKey”:”<template name>","scope":"enterprise","filters":{“<metadata name>":"True"}}]&limit=50&offset=0 

IV_LOCATION 

Limit the search results to the specified location. 

Relative folder names are used with / being the root. 



Currently unfiled documents cannot be searched from the Profile Wizard utilities. 

Relative cabinet/folder names are used with / being the root. 

A number for the exact folder location can be specified. 



Relative folder names are used with a / being the root. If a root folder is configured for the Box CMS in the Enterprise connector all relative folder locations will be relative to the root folder configured. 



IV_MAX_RESULTS 

Limits the returned results to the amount specified. 

Generally the maximum results by default are around 5000. Tests should be made to confirm that the system is configured to return a max of 5000 results though. 



The default max search results is currently unknown. Tests should be performed to determine if there is a default maximum if it is of concern. 

With a where clause type of query the max results you can get is 200. 



You may retrieve more with sub folders on the API destination configuration in the connector. 

The default max search results is currently unknown. Tests should be performed to determine if there is a default maximum if it is of concern. 



IV_MAX_TIME 



Limits the returned results to the time specified. 









IV_DATE_TIME_FMT 

IF date/time is specified, what format is it in. 



Leave empty for default configured in enterprise connector (recommended).





Must be MM/dd/yyyy hh:mm:ss a z, where a z = the AM/PM and TIMEZONE 



example: 12/31/9999 12:00:00 PM MST 

Must be MM/dd/yyyy hh:mm:ss a z, where a z = the AM/PM and TIMEZONE 



example: 12/31/9999 12:00:00 PM MST 



IT_METADATA_FILTER 



If specified, only metadata properties indicated will be returned. By default of no filter is provided, all metadata for a document is retrieved. 

See notes in ET_METADATA_ID. 



See notes in ET_METADATA_ID. 



Not supported. 



See notes in ET_METADATA_ID. 



Not supported 



See notes in ET_METADATA_ID. 



IT_METADATA_ORDER 

Allows ordering of search results by the specified properties in the order selected. 

If a single property is passed in the results are ordered in ascending order for the property name. 



If unspecified the results are ordered by “Id”. Optionally you can specify ASC or DESC after the property name to make the sort happen ascending or descending respectively. *The property being ordered by must also be specified as one of the selected properties. 

If a single property is passed in the results are ordered in ascending order for the property name. 



If unspecified the results are ordered by “r_object_id”. Optionally you can specify ASC or DESC after the property name to make the sort happen ascending or descending respectively. *The property being ordered by must also be specified as one of the selected properties. 

Not supported 

Not supported 

ET_METADATA_ID 

Contains the metadata retrieved. 

If no properties are specified (IT_METADATA_FILTER ) then by default only the below will be returned: 



Id DocumentTitle 



Some properties can’t be returned in searches like: ContentElements FoldersFiledIn 



Some key properties that have special handling via Search: VersionSeries = will return the version series Id ClassDescription = Gets the symbolic name StorageArea = Gets the display name StoragePolicy = Gets the policy name SecurityPolicy = Gets the policy name OwnerDocument = Gets the Id of the owner document SourceDocument = Gets the Id of the source document ReplicationGroup = Gets the display name of it SecurityFolder = Gets the folder path name PublishingSubsidiaryFolder = Gets the folder path name 

If no properties are specified (IT_METADATA_FILTER ) then by default only the below will be returned: 



r_object_id title 



Some properties can’t be returned in searches like: ContentElements FoldersFiledIn VersionSeries 

If no metadata is specified (IT_METADATA_FILTER – currently not supported by Box API endpoint) then by default only the below will be returned: 



id name 

If no metadata is specified (IT_METADATA_FILTER – currently not supported by Graph API endpoint) then by default only the below will be returned: 



Id_Object Name_Object 

ET_RETURN 

Table that indicates a success of an error. The TYPE field will contain an ‘S’ or ‘E’ respectively and the MESSAGE field will contain information in the case of an error. 









CT_CUSTOM 

Future use. 









General comments: 

  • Behind the scenes at the connector level, the search uses either a select or a where clause.
  • What determines this from the SAP side is the usage of the IV_WHERE parameter vs. not (in tern uses a SELECT).

General FileNet comments: 

  • If not using paged search results and if the number of results exceeds the content caches default max search results you will only get that many results and you won’t be able to see the other results. Generally this is around 5,000 results.
  • Using the Profile Wizard search utility screen as an example the generated SQL behind the scenes (if “Include Subfolders” is selected)
    • SELECT TOP <Max Results> <Select Clause> FROM <From Clause> WITH INCLUDESUBCLASSES WHERE <Where Clause> AND <FROM Clause>.this INSUBFOLDER ‘<Location>’ ORDER BY <Order By Clause>
  • Using the Profile Wizard search utility screen as an example the generated SQL behind the scenes (if “Include Subfolder” isn’t selected)
    • SELECT TOP <Max Results> <Select Clause> FROM <From Clause> WHERE <Where Clause> AND <FROM Clause>.this INFOLDER ‘<Location>’ ORDER BY <Order By Clause>
  • Refer to the relational queries section on the IBM InfoCenter documentation for FileNet P8 for help with configuring advanced where clauses. http://www.ibm.com/support/knowledgecenter/SSNW2F_5.2.1/com.ibm.p8.ce.dev.ce.doc/query_sql_syntax_rel_queries.htm?cp=SSNW2F_5.2.1%2F10-2-1-34-4-1&lang=en

General Documentum comments: 

If not using paged search results and the number of results exceeds the default max search results you will only get that many results and you won’t be able to see the other results. 

  • Using the Profile Wizard search utility screen as an example the generated SQL behind the scenes (if “Include Subfolders” is selected)
    • SELECT <Select Clause> FROM PUBLIC <From Clause> WHERE <Where Clause> AND FOLDER (‘<Location>’,DESCEND) ORDER BY <Order By Clause> enable (return_top <Max Results>)
  • Using the Profile Wizard search utility screen as an example the generated SQL behind the scenes (if “Include Subfolder” isn’t selected)
    • SELECT <Select Clause> FROM PUBLIC <From Clause> WHERE <Where Clause> AND FOLDER (‘<Location>’) ORDER BY <Order By Clause> enable (return_top <Max Results>)
  • Refer to the Documentum DQL reference manual for help with configuring advanced where clauses.

General Box comments: 

  • Currently paged search results are only supported when using a where clause.
  • If using the where clause the max search results can be a maximum of 200.
  • If using the select clause the max search results is 1000 per folder.
  • Adjusting the metadata templates requires restarting the Link Enterprise services and Profile Wizard for the changes to be visible.
  • Updated metadata can take upwards of 10 minutes before a search using a where clause will find it.
  • Locations can be specified either using the exact folder number or via a relative path with / being the root. If the location is specified via a relative path the folder names can take upwards of 10 minutes before a search using a relative path in the location field will find it.
  • Searches can either be performed by using a where clause (and nothing else) or by using a select clause and optional location and optional max results.
  • When searching via select clause (instead of a where clause) there is a performance hit when searching with a specified from clause since documents are just listed out by folders and specifying metadata template information to query requires each document to be read from a folder listing. Use searches with a select clause and from clause sparingly if possible. In those cases using a where clause search is advisable.
  • Refer to the Box Content API for the search api call for help in configuring advanced searches using the where clause. https://docs.box.com/reference#searching-for-content