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.
About this Release
This version of ECMSDK 3.1 is a full ECMSDK release, and
can be applied as a cumulative patch on top of a previous
ECMSDK release.
ECMSDK 3.1 is architecturally compatible with the latest
middleware versions. It contains an updated set of APIs that
are JDK 1.8 compliant, and also contains tools to create an
ECMSDK 3.1 schema that is compatible with these APIs. This
release should be reviewed carefully by development teams that
have built custom applications with previous versions of
Oracle CM SDK, as there are a number of differences between
this version and the previous Oracle CM SDK versions. This
release implements the features and bug fixes listed below.
New Features
The following features have been introduced with this
release:
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 |
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:
IFS.SERVER.TIMER.ServiceAvailabilityCheckPeriod
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
and
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,
IFS.CATEGORY.AllowMultipleInstances
for each Category subclass where
this enforcement is desired.See an example of this pattern that sets the class-level property in file
$ECMSDK_HOME/install/adm/CreateActivityClassObjects.def.
- 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
$ECMSDK_HOME/install/adm/CreateInstalledClasses.def.
- 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:
- 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 9.0.4.2 and later (since
ECMSDK 2.0)
-
Support for iFS Browser (Since ECMSDK 2.3)
Software Requirements
ECMSDK 3.1 is supported with the following software versions:
Supported optional middlware components:
-
Apache Tomcat 7.0.50 and higher
-
GlassFish Server 4.1 and higher
-
Oracle WebLogic Server 12.1.3 and higher
-
JBoss WildFly 8 and higher
-
JBoss EAP 6.4 and higher