Deutsch | English
Release Notes 3.5.0

Enterprise Content Management SDK (ECMSDK) is a robust and flexible runtime and development platform for building demanding content management applications. The features and capabilities of EMCSDK are designed to help developers bring enterprise-scalable content management-based applications to market faster and better than with any other platform. ECMSDK provides a set of Java APIs that developers can use to customize or extend the product's core functionality in numerous ways to build comprehensive enterprise-scale database numerous ways to build comprehensive enterprise-scale database solutions.

These notes are additional to the ECMSDK Installation Guide and supersede information supplied in that Guide.

The information in this document is current as of the date of publication.

New Features

The following features have been introduced with this release:

Features New in 3.5.0

Feature# Category Description Note
ECMSDK-1044 Runtime Add support for Handlers that distribute work load across a variable number of working handlers  
ECMSDK-1073 Runtime Add support for stop, restart on Handlers  
ECMSDK-1086 Repository Add search macros for SimpleProperty and object array Attributes  
ECMSDK-1116 Repository Add support for AES-256 encryption  

Features New in 3.4.0

Feature# Category Description Note
ECMSDK-964 Repository Support Rule-based matching in spaCy  
ECMSDK-965 Repository Support GPU for spaCy processing  
ECMSDK-966 Repository Infrastructure and Overview of adding algorithmic Relation Extraction support  
ECMSDK-968 Repository Support running Information Extraction manually  
ECMSDK-969 Repository Enhancement of Parsing Infrastructure for invertible tokens  
ECMSDK-995 Repository Add generic Python parser; refactor SpacyParser to be a subclass  
ECMSDK-1000 Runtime Major enhancements to Clustering and Runtime systems  
ECMSDK-1009 Runtime Add ControllerState to support new runtime Controller entity  
ECMSDK-1010 Runtime Basic support for Controller Request/Reply/Alert communication  
ECMSDK-1013 Runtime Add support for ServerSpecification  
ECMSDK-1014 Runtime Disable old clustering functionality  
ECMSDK-1016 Runtime Add new support for determining which Node should run a competing Server  
ECMSDK-1018 Runtime Add ControllerJob class for supporting work directed to the Controller  
ECMSDK-1034 Runtime Use ControllerPlanExecution to assign Servers/Handlers to plan Nodes  

Features New in 3.3.0

Feature# Category Description Note
ECMSDK-266 Repository Search API enhancements for advanced searching/scoring  
ECMSDK-590 Agents Handler base time should support dates  
ECMSDK-834 Scripting def-Script: embed variables in parameter string  
ECMSDK-858 Repository Add generic JSON parse utilities  
ECMSDK-866 Scripting Add script operation to create entire AuditSpecification  
ECMSDK-886 Repository Add support for aggregate functions and GROUP BY  
ECMSDK-887 Repository Add support to select array and map types attributes as specific select columns  
ECMSDK-892 Repository Add support for selecting context scores  
ECMSDK-893 Repository Add PreparedSelectorGenerator macros for table/view names  
ECMSDK-894 Repository Allow for the security clause to be omitted for certain PublicObject classes  
ECMSDK-895 Repository Add support for non-ClassObject tables/views to be used as auxiliary search targets  
ECMSDK-897 Repository Allow custom functions to be defined in PreparedSelectorGenerator subclasses  
ECMSDK-898 Repository Allow bind values to be used in ColumnDescriptors  
ECMSDK-899 Repository Allow Primary search target to be a non-ClassObject table  
ECMSDK-900 Repository Add JSON support for defining and persisting PreparedSelector searches  
ECMSDK-901 Repository Allow macros to be used in Search target definitions  
ECMSDK-902 Repository Allow selection of multiple LibraryObjects  
ECMSDK-905 Repository Allow JsonObject and AttributeValueTable to be interchangeable  
ECMSDK-910 Scripting Add generic create and update LibraryObject operations  
ECMSDK-911 Scripting Standardize String array handling in ScriptOperations and subclasses  
ECMSDK-914 Repository Simplify and standardize update operations  
ECMSDK-917 Repository Add support for applying definition settings without code  
ECMSDK-918 Scripting Generic support for showing LibraryObject details in script operation  
ECMSDK-919 Scripting Generic support for identifying a LibraryObject via a script operation  

Features New in 3.2.1

Feature# Category Description Note
ECMSDK-835 Repository Add support for a Fast Lane for IE processing  
ECMSDK-846 Repository Include metadata for each marking to indicate its source (trained Classifier, REGEX, or NER)  

Features New in 3.2.0

Feature# Category Description Note
ECMSDK-790 Repository Basic Relation Extraction with TokenRegex  
ECMSDK-802 Repository Add Regex Rule validator API  
ECMSDK-803 Repository Add Regex Pattern validator API  
ECMSDK-804 Repository Allow for group membership ancestor threshold to be customized  
ECMSDK-807 Repository Implement better solution for getAllAncestors() and getAllMembers()  
ECMSDK-824 Repository Add support for String-Double map data type  
ECMSDK-826 Repository Add option to specify "standard SimpleProperty array" semantics for an Attribute  

Features New in 3.1.0

Feature# Category Description Note
ECMSDK-591 Repository Information Extraction version 1.0  
ECMSDK-638 Repository Add support for SimpleProperty, SimplePropertyTable and SimplePropertyTableList  
ECMSDK-678 Scripting Support implied script line continuation in scripts  
ECMSDK-680 Scripting Allow structured String values to be specified in scripts  
ECMSDK-722 Repository Allow non-ClassObject tables to be specified as aux tables in PreparedSelector  
ECMSDK-728 Scripting Make AttributeValueTable case preserving & insensitive by default with respect to keys  

Features New in 3.0.0

Feature# Category Description Note
ECMSDK-413 Agents Add DatabaseManagementAgent for performing timed database maintenance functions 17
ECMSDK-423 Runtime Certify ECMSDK with the PostgreSQL 10.6 database 15
ECMSDK-491 Runtime Replace Oracle XML parser with standard Java parser  
ECMSDK-528 Runtime Certify ECMSDK with Oracle 18c 16
ECMSDK-534 Runtime Update JDBC drivers shipped with ECMSDK  
ECMSDK-556 Repository Add new format for Visio XML (vsdx)  
ECMSDK-584 Runtime Certify ECMSDK with Tomcat 9.x  
ECMSDK-588 Runtime Certify ECMSDK with OpenJDK  

Features New in 2.5.0

Feature# Category Description Note
ECMSDK-345 Scripting Improve tools for generating bean classes  
ECMSDK-349 Repository Add common name property for Attributes  
ECMSDK-354 Scripting Add removeAttribute() to ScriptOperations  
ECMSDK-356 Repository Enhance multi-valued Attribute capabilities  
ECMSDK-358 Repository Introduce new data type for String-String Map  
ECMSDK-367 Repository Add support for map types in NEW search API  
ECMSDK-370 Repository Add AttributeValue support for the String-Long Map type  
ECMSDK-372 Agents Need an option in StatsAgent to reduce the User Stats output 14
ECMSDK-373 Repository Support migrating data from scalar String or Long Attribute to Map attribute  
ECMSDK-380 Repository Phase II of Map and Array data type enhancements  
ECMSDK-391 Repository Add support for SimpleObject array data type  
ECMSDK-411 Repository Add PreparedSelectorGenerator functions CONTAINS_WORD and DOES_NOT_CONTAIN_WORD  

Features New in 2.4.0

Feature# Category Description Note
ECMSDK-175 Repository Introduce pattern to enforce single instance categories 10
ECMSDK-230 Installation Introduce new tool for ClassObject creation for improved perfomance and robustness 11
ECMSDK-240 Repository Improve PreparedSelectorGenerator ease-of-use  
ECMSDK-278 Repository Add new Format for Excel XLSM files  
ECMSDK-285 Agents Add new ServerConfiguration property 'RetryAttempts' for ExecutedActionRetainedEventAgent  
ECMSDK-291 Agents Enhance AuditEventHandlerAdapter to facilitate creating custom handlers  
ECMSDK-297 Repository Support Content Encryption 12
ECMSDK-299 Scripting Add identifyGroup() and identifyAcl() to script operations  
ECMSDK-311 Repository Add verifyCapabilities() method to PublicObject  
ECMSDK-316 Protocols Allow Basic Authentication over http with WebDAV  
ECMSDK-324 Runtime Add support for JDBC driver version 12.1  

Features New in 2.3.1

Feature# Category Description Note
ECMSDK-103 Runtime New script to re-create the GroupIndex  

Features New in 2.3

Feature# Category Description Note
ECMSDK-117 Runtime New script-based Node start and stop 9
ECMSDK-178 Environment ECMSDK sources now available as Maven project  
ECMSDK-187 Agents New handler that remove entries from any Audit Event History  
ECMSDK-191 Repository Enhance Activity framework for ReasonType, ReadIndication, and improved extensibility  
ECMSDK-215 Installation Support multiple software versions against a single schema version  
ECMSDK-218 Repository Add support for composite groups  

Features New in 2.2

Feature# Category Description Note
ECMSDK-115 Repository Adding additional configuration parameters for Multi-Threaded LibrarySessions 6
ECMSDK-137 Repository Adding additional formats 7
ECMSDK-143 Repository Enable new Oracle Text features in Oracle 12c database that are beneficial for markup and highlighting  
ECMSDK-145 Repository Identify a cloned session and provide clone and reservation info  
ECMSDK-153 Repository Introducing new base object type "SimpleObject"  
ECMSDK-158 Agents Automatic coordination of multi-instance AuditEvent handlers  
ECMSDK-168 Repository Add Category as target class for custom audit events  

Features New in 2.1

Feature# Category Description Note
ECMSDK-41 Installation Ability to split installation into DBA work and ECMSDK schema work 1
ECMSDK-92 Repository Added search macro for multiple array attribute values  
ECMSDK-93 Repository Added search macro for property qualification  
ECMSDK-99 Agents Introduce asynchronous mode for the group index 2
ECMSDK-109 Repository Introduce FileSystemMediaDriver as a CustomMediaDriver  
ECMSDK-123 Repository Introduce new GroupMembershipCache 3
ECMSDK-125 Repository Adding support for managed/pooled cloned LibrarySessions

Features New in 2.0

Feature# Category Description Note
ECMSDK-44 Repository New Action and Activity Framework for building IoT or Social driven applications 4
ECMSDK-24 Installation Dependency to Oracle Database Client installation removed  
ECMSDK-31 Installation New custom_classes directory for custom development class overwrites included in the CLASSPATH  
ECMSDK-34 Installation Single command installation process for clean installation and patching  
ECMSDK-37 Installation Added support for Oracle Database Express Edition (XE)  

Features New in 1.0

Feature# Category Description
  Repository New Social features such as like, follow, comments, status messages as well as activity streams and notifications
  Environment Support for Java 1.7
  Environment Support for Oracle Database 12c
  Environment Support for Oracle WebLogic Server 12c
  Environment Support for GlassFish Server 4.1
  Environment Support for Apache Tomcat 8

Bugs Fixed

The following bugs have been fixed with this release:

Bugs Fixed in 3.5.0

Bug# Category Description Note
ECMSDK-1059 Runtime Eliminate IfsEvent read/write contention  
ECMSDK-1074 Scripting Fix validator tests to remove environment-specific output  
ECMSDK-1076 Repository Reuse temporary files for Information Extraction parsing when applicable  
ECMSDK-1085 Runtime Reduce logging in SchemaCreator  
ECMSDK-1098 Repository SQL Distinct setting is ignored by PreparedSelector when using ColumnDescriptors  
ECMSDK-1121 Runtime Update CoreNLP version to 4.5.5  

Bugs Fixed in 3.4.0

Bug# Category Description Note
ECMSDK-955 Installation Remove vulnerable dependencies  
ECMSDK-962 Repository MaxItemCount for PreparedSelectors is inefficient on Postgres  
ECMSDK-1004 Repository PropertyBundle.setPropertyValue() is not the same as putPropertyValue()  
ECMSDK-1038 Runtime HandlerDispatcher should not dispatch events to an inactive AuditSpecification  
ECMSDK-1039 Installation Upgrade depending JARs after Whitesource-Scan  
ECMSDK-1043 Scripting ScriptDriver does not handle EOF properly when used with continuation syntax  

Bugs Fixed in 3.3.0

Bug# Category Description Note
ECMSDK-891 Repository Use LIMIT clause for Postgres in all cases where max row count can be specified  
ECMSDK-912 Repository AssertionError when creating an object with array attribute  
ECMSDK-920 Agents VACUUM cannot run inside a transaction block  
ECMSDK-930 Agents Unnecessary contention on the Node's ClusteringTokens  
ECMSDK-950 Repository NPE in SimpleProperty.getValue()  

Bugs Fixed in 3.2.1

Bug# Category Description Note
ECMSDK-836 Installation Upgrade does not continue against postgres  
ECMSDK-838 Installation Oracle 19c install: SetupContextJobs fails due to missing privilege  
ECMSDK-847 Repository SimpleXmlParserImpl does not support SimpleObject  
ECMSDK-849 Repository Unique Constraint Violation when using document encryption in an multi-threading use case  

Bugs Fixed in 3.2.0

Bug# Category Description Note
ECMSDK-809 Repository Failure of drop column within removeAttribute operation is not logged  
ECMSDK-810 Repository RemoveAttributeAction ignores dropColumn option  
ECMSDK-823 Repository Problem adding SimpleProperty array Attribute to DirectoryUser  

Bugs Fixed in 3.1.0

Bug# Category Description Note
ECMSDK-762 Repository Incorrect default table name used for Long-String and Long-Long map attributes  
ECMSDK-786 Agents DanglingObjectAVCleanupAgent does not handle SimpleObject array attribute cleanup properly  

Bugs Fixed in 3.0.0

Bug# Category Description Note
ECMSDK-499 Repository Allow Join condition to be specified in PreparedSelector searches  
ECMSDK-503 Repository Improve support for subselects in PreparedSelectorGenerator  
ECMSDK-504 Repository CONTAINS clause with an OR condition should return Documents with no indexable content  
ECMSDK-554 Repository Simplify creation of RetainedEvent and RetainedEventAgent subclasses  
ECMSDK-309 Repository Office 365 : Documents saved over WebDAV remain locked  

Bugs Fixed in 2.5.0

Bug# Category Description Note
ECMSDK-339 Repository Inherited ClassObject properties should have mode to handle null valued properties  
ECMSDK-347 Repository Add missing bean-side capability checks  
ECMSDK-362 Repository Attribute.attributeDataTypeResourceBundleKey() is obsolete  
ECMSDK-369 Repository ParameterTable.getStringsFromArrayToken() does not handle null entries at beginning or end  
ECMSDK-381 Repository Allow non-default tables to be used for array Attributes  
ECMSDK-382 Repository Add ability to specify options on AttributeValues for special updates  
ECMSDK-383 Repository Add ability to append to existing array attribute value  
ECMSDK-387 Repository ContentObject.CONTENTSIZE should reflect unencrypted size  
ECMSDK-394 Repository Add ability to remove entries from an existing array attribute value  
ECMSDK-397 Repository Change addAttribute to include default and not null clause for object types  
ECMSDK-399 Repository Add array update option that prevents duplicate values  
ECMSDK-401 Repository DataLength for String array Attributes should be 1000 when default table is used  

Bugs Fixed in 2.4.0

Bug# Category Description Note
ECMSDK-151 Repository PreparedSelectorGenerator has restrictions in its FRQ support  
ECMSDK-179 Repository Category flags are not in sync with categories  
ECMSDK-241 Repository Enhance caching of objects to reduce memory usage  
ECMSDK-253 Agents Dangling SimpleObject references are not cleaned up  
ECMSDK-283 Repository Race condition during creation of activity data  
ECMSDK-289 Repository Unable to perform deep copy without copying categories  
ECMSDK-296 Repository Improve performance of accessing group hierarchy information  
ECMSDK-303 Repository PreparedSelector.getItems() should not return null to indicate zero results  
ECMSDK-308 Repository Enforce LockEntry restrictions in server-side operations  
ECMSDK-310 Repository addAttribute fails if a tableless ClassObject exists lower in the class hierarchy  
ECMSDK-332 Repository Treat a null value the same as 0 for object type attributes 13
ECMSDK-335 Repository Improve performance of adding attributes to existing ClassObjects  

Bugs Fixed in 2.3.2

Bug# Category Description Note
ECMSDK-152 Runtime Make JDBC code application server independent  
ECMSDK-164 Runtime Skip optional UserManager operations if unsupported by Credential Manager  
ECMSDK-274 Runtime Prevent RuntimeException when initializing SessionStatisticsCache  
ECMSDK-277 Runtime Add exception logging upon abort transaction failure  
ECMSDK-284 Agents Add support for retry processing of ExecutedActionRetainedEvents  

Bugs Fixed in 2.3.1

Bug# Category Description Note
ECMSDK-120 Runtime LibrarySessionEventPollerThreadPerProcess logs excessively for session with disconnected LibraryConnection  
ECMSDK-217 Runtime Improve performance of getAllMembers() with admin mode pushed  
ECMSDK-232 Installation Patch introduces null-valued domain property  
ECMSDK-234 Runtime Cannot get SimpleObject from AttributeValue  
ECMSDK-236 Runtime S_LibrarySession.setLastOperationTime() throws NPE  
ECMSDK-238 Installation ApplyCategoryFlag upgrade action requires temporary installation mode  
ECMSDK-239 Runtime Fix incompatibilities with the JDBC 12c driver  
ECMSDK-246 Runtime Cannot create new session if DB becomes unavailable while EventExchanger is stopped  
ECMSDK-275 Runtime Creation of SimpleObject server-side incorrectly constructs AttributeValue  

Bugs Fixed in 2.3

Bug# Category Description Note
ECMSDK-90 Agents LockExpirationAgent can't release expired LockEntry  
ECMSDK-220 Runtime Running Node names should not be case-sensitive  

Bugs Fixed in 2.2.1

Bug# Category Description Note
ECMSDK-166 Installation Clean up DO NOT MODIFY area in  
ECMSDK-176 Agents Node creates high server load on unexpected exceptions 8
ECMSDK-188 Installation Clean up obsolete SchemaCreator parameter logging  
ECMSDK-189 Agents Log messages from agents should indicate the specific agent  

Bugs Fixed in 2.2

Bug# Category Description Note
ECMSDK-57 Repository PARSelector throwing IFS-10659  
ECMSDK-86 Repository Milliseconds are missing in Dates  
ECMSDK-134 Installation SchemaCreator logs same line twice  
ECMSDK-135 Repository Race condition when processing PublicObject IDs  
ECMSDK-146 Scripting Specified ServiceConfiguration not used in Node start if service already started  
ECMSDK-150 Scripting ScriptOperations.create() registers the wrong object  
ECMSDK-155 Repository AuditEvent selection does not support the use of bind variables  
ECMSDK-157 Scripting Server.startStandalone() does not use ServiceConfiguration specified in .def file  
ECMSDK-159 Scripting does not work from ANT_HOME if it contains a space in its path  
ECMSDK-165 Installation DB_URL configuration error results in wrong source schema version  
ECMSDK-170 Scripting Cannot load Java sources into DB with .sql file via SQLAction  

Bugs Fixed in 2.1.1

Bug# Category Description Note
ECMSDK-148 Installation ClassNotFoundException during upgrade to 2.1.0  

Bugs Fixed in 2.1

Bug# Category Description Note
ECMSDK-75 Installation Simplify  
ECMSDK-79 Repository Cache invalidation not accessible Bean-side  
ECMSDK-81 Protocols WebDav throws XMLParseException  
ECMSDK-87 Repository Changing security of a community throws exception when modifying child objects afterwards  
ECMSDK-89 Repository Need a process to clean up disposed state objects  
ECMSDK-100 Agents FolderIndexAgent relies solely on timer in processing deferred updates  
ECMSDK-101 Repository Change core API code to use implicit transactions  
ECMSDK-119 Repository S_LibrarySession.disconnect() is not transaction safe  
ECMSDK-127 Installation SchemaCreator does not abort if ScriptOperation fails due to .def file not found.  
ECMSDK-129 Repository Cache all ancestor IDs for the session's user within session context  

Bugs Fixed in 2.0

Bug# Category Description Note
ECMSDK-8 Protocols FTPServer does not support custom object types  
ECMSDK-20 Protocols FTP Server does not support switch to admin mode  
ECMSDK-22 Protocols ApplicationSessions are not cleaned up when calling disconnect() on the LibrarySession  
ECMSDK-23 Agents ContentAgent does not use batching when destroying expired content  
ECMSDK-27 Agents IFS-21000: Session is not connected or has timed-out in FolderIndexAgent  
ECMSDK-29 Repository NPE in LibrarySessionEventPollerThreadPerProcess  
ECMSDK-32 Agents ContentAgent need better exit criteria for deleteContentObjects()  
ECMSDK-35 Protocols WebDAV does not work with windows 7  
ECMSDK-38 Repository Remove unused Workflow schema 5
ECMSDK-49 Repository SharedState of a LibraryObject gets overwritten during DataCache put  
ECMSDK-51 Documentation ecmsdk.war stalls during startup if wrong LogFilePath specified  
ECMSDK-53 Repository Custom LockEntries can't be unregistered  
ECMSDK-68 Clients Object Inspector uses wrong JAR file reference  

Bugs Fixed in 1.0

Bug# Category Description
ECMSDK-4 Validator Validator in non-english locale throws exceptions
ECMSDK-6 Installation Patching a fresh installation with or higher fails
ECMSDK-17 Scripting addGlobalOperationActionSpecification() method missing in ScriptOperations

Additional Notes

Note 1:

This new installation option supports the separation of duty model. The installation process can now be separated and executed by two different administrator roles, the database administrator and the application administrator. For more details please see chapter 4 in the ECMSDK Installation Guide.

Note 2:

To change the group index update mode from synchronous (default) to asynchronous, you can use the following script command:

cd $EMSDK_HOME./ecmsdk script install/config/UpdateAclIndex.def
Note 3:

The new GroupMembershipCache can increase the overall performance of security checks if larger group hierarchies are in-place. Depending on the number of group memberships configured in the system the startup process of the ECMSDK node can take a bit longer, as the caches are initially populated during this startup phase. To make use of the new GroupMembershipCache, you need to enable it by setting the following ServiceProperty:

IFS.SERVICE.GroupMembershipCacheEnabled = true
Note 4:

The new ECMSDK Activity module improves and simplifies the communication and collaboration between users and/or devices. Any action can be recorded and automatically processed for easy context-sensitive information access. In addition, data is enriched with statistics and provide personalized delta states and views on activities.

This outstanding product feature enables the modeling of many user and data driven use cases in the real world. For example, social intranet actions such as "follow", "like" or "suggest" can be captured and summarized for documents or other supporting data objects, and can be tracked in an organized manner by users with access to the object. Many other use cases in the area of IoT or Smart Data can also benefit from this product enhancement.

From a technical point of view, each data object in the ECMSDK repository can be enabled for activities. The object can be a traditional content management object (such as a document or forum post entry), or any object that models a real world entity such as an electronic device or a car. The activity of an object is comprised of the set of actions that were performed with it as its target. Predefined actions are provided out of the box and can be easily extended. Every single action contains a variety of detailed information such as the actor, action type, timestamp, and objects related to the action. The behavior of actions can be configured and customized via Activity Specification objects. Advanced search and filter options allow for a fine-grained analysis and evaluation of tracked activities.

In addition to the Activity API, numerous new ECMSDK business objects will be introduced to simplify context-sensitive conversations such as MessageList, MessageEntry, Conversation, ContactList, and Attachment. For a full list of new ECMSDK objects introduced in the ECMSDK 2.0 release, please refer to the API summary bundled with this release under ECMSDK_HOME/docs/api.

Note 5:

The database schema that was used in previous Oracle CM SDK installations for Oracle Workflow functionality will not be installed anymore starting with ECMSDK 2.0. Oracle Workflow was shipped by Oracle until late 2007. This schema was left in for compatibility reasons. Today, similar functionality can be achieved in different ways, such as inxire Processes or other BPEL engines.

Upgrading an existing Oracle CM SDK or ECMSDK 1.0 installation will not remove this schema for data security reasons. This unused schema could be removed manually after patching to ECMSDK 2.0 with the following SQL command, executed by system

drop user ECMSDK$WF cascade;
Note 6:

The following additional ServiceProperties have been added with the ECMSDK 2.2 release to support better configuration of Multi-Threaded LibrarySessions:

  • IFS.SERVICE.MaximumClonedSessions This property defines the maximum number of cloned sessions you can generate from a master session. Default value is 0, which means unlimited. If the limit is reached an exception is thrown

  • IFS.SERVICE.ClonedSessionRetryPeriod This property defines the period in milliseconds after which another check will be made to look for an available session in the cloned session pool, before an exception is thrown. Default value is 100ms.

Note 7:

The following formats have been added with the ECMSDK 2.2 release and are therefore now searchable out of the box:

  • MS Word (docx)

  • MS Powerpoint (pptx)

  • MS Excel (xlsx)

  • Computer Graphics Metafile (CGM)

  • Scalable Vector Graphics (SVG)

  • StarOffice Document

  • StarOffice Picture

  • StarOffice SpreadSheet

  • StarOffice Slides

  • XML Document Type

  • XML Stylesheet

  • Resource Description Framework (RDF)

  • OpenDocument Text

  • OpenDocument Spreadsheet

  • OpenDocument Presentation

  • OpenDocument Drawing

  • OpenDocument Chart

  • OpenDocument Formula

  • OpenDocument Database

  • OpenDocument Image

Note 8:

In the case of an unexpected exception, e.g. database unavailable, the background processes now go into a sleep mode, waiting until the repository is available again. The following optional ServerConfiguration property can be set to define the period the background processes should check for the status of the repository:


The default value of this property is 30 seconds (30s).

Note 9:

In addition to the possibility to deploy a ECMSDK Node to an application server, you can run an ECMSDK Node standalone. There are new commands available to do this from command-line:

ecmsdk node.start
ecmsdk node.stop

For more details please see chapter 7 in the ECMSDK Installation Guide.

Note 10:

ECMSDK uses a zero value in the associated Database column to indicate a null value for object data types (PublicObject, SystemObject, etc.). This fix allows for a null value in the column to also represent a null value for object data types, which can occur in some situations resulting from upgrading from an earlier version of ECMSDK.

Note 11:

This feature introduces a new data-driven pattern for enforcing certain Categories to have no more than one instance defined on any given PublicObject. The pattern involves setting a class-level property,


for each Category subclass where this enforcement is desired.See an example of this pattern that sets the class-level property in file

Note 12:

This feature introduces a new set of script operations for creating ECMSDK ClassObjects during installation, and for creating or modifying ClassObjects during upgrade. These new script operations improve the performance of the installation and upgrade processes, and provides a complete and robust definition of the entire object model used within ECMSDK.See an example of this new scripting pattern in

Note 13:

This feature introduces a new API that can be used to indicate that new content being added to ECMSDK (via creation or update of a Document) should be encrypted when it is stored in the database or within a designated custom Media store. This prevents unauthorized access to the content when the Media store is inspected directly. When the content is accessed in an authorized manner via the API or protocols, the content presented to the user will be automatically decrypted.If the content being introduced requires full-text indexing, the indexing process will operate on a transient decrypted copy, which will not persist in the database or custom Media store.See the javadoc for class oracle.ifs.beans.DocumentDefinition for details about this API.

Note 14:

The following additional ServerProperty for the StatisticsAgentConfiguration has been added with the ECMSDK 2.5 release to support fewer statistics logging output in large environments:

  • IFS.AGENT.STATISTICSAGENT.VerboseOutput When unset, the false defaults to true. If set to false, the Session statistics will skip the user session details and only log the count summaries.

Note 15:

ECMSDK 3.0 can now be used with either Oracle or PostgreSQL databases. The database type must be selected prior to installation. It is not yet possible to upgrade or migrate an existing instance of ECMSDK to a different database type.

ECMSDK 3.0 is certified for PostgreSQL database version 10.6 or higher.

Some ECMSDK features are not yet available when using a PostgreSQL database, including:

  • HTTP digest and challenge/response authentication methods

  • Full text search for non-textual documents

  • Writable Random access content APIs

  • Oracle BFILE storage option

  • Oracle Advanced Queuing

  • Lyke index for string searches

  • Oracle Intermedia metadata full text search option

  • Showing DDL syntax (e.g. for CREATE TABLE statements) in Fingerprint files

  • Replacing an existing view without dropping it first, if the view's column list has changed

Note 16:

Starting with ECMSDK 3.0 we are now certified with Oracle 18c, whereas the minimum patch version need to be 18.5 (Patch 28822489).

Note 17:

The new DatabaseManagementAgent runs the analyze.sql script that was previously required to run in a separate cron job against the ECMSDK repository. If you previously created a cron job or other periodic mechanism to execute the analyze.sql script, you now need to remove this job, as it could cause problems if two processes are running concurrently. This agent now performs the scheduled analyze work for you. Interval and execution period can be configured via the ECMSDK Control interface.

Unsupported Features

The following previously deprecated Oracle CM SDK features have now been fully removed since the ECMSDK 1.0 release:

  • Integration with Oracle Application Server 10g

  • Integration with Oracle Enterprise Manager

  • Out of the box integration with Oracle Internet Directory

  • Oracle CM SDK Configuration Assistant

  • Oracle CM SDK Manager

  • Oracle FileSync

  • Out of the box Web Starter Application

  • AFP, IMAP, SMTP, NFS, NTFS and SMB protocol servers

Additional features that are unsupported in this ECMSDK release:

  • Support for Oracle Database 9i and 10gR1

  • Online Upgrade from Oracle CM SDK and later (since ECMSDK 2.0)

  • Support for iFS Browser (Since ECMSDK 2.3)