blob: e9260f4400b0bae7752d7fbbae5c7b52f67990b6 [file] [log] [blame]
<!--
***************************************************************
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
***************************************************************
-->
<html>
<head>
<title>Apache UIMA v2.4.0 Release Notes</title>
</head>
<body>
<h1>Apache UIMA (Unstructured Information Management Architecture) v2.4.0 Release Notes</h1>
<h2>Contents</h2>
<p>
<a href="#what.is.uima">What is UIMA?</a><br/>
<a href="#major.changes">Major Changes in this Release</a><br/>
<a href="#get.involved">How to Get Involved</a><br/>
<a href="#report.issues">How to Report Issues</a><br/>
<a href="#list.issues">List of JIRA Issues Fixed in this Release</a><br/>
<a href="#migrating">Migrating from IBM UIMA to Apache UIMA</a><br/>
</p>
<h2><a name="what.is.uima">1. What is UIMA?</a></h2>
<p>
Unstructured Information Management applications are
software systems that analyze large volumes of
unstructured information in order to discover knowledge
that is relevant to an end user. UIMA is a framework and
SDK for developing such applications. An example UIM
application might ingest plain text and identify
entities, such as persons, places, organizations; or
relations, such as works-for or located-at. UIMA enables
such an application to be decomposed into components,
for example "language identification" -&gt; "language
specific segmentation" -&gt; "sentence boundary
detection" -&gt; "entity detection (person/place names
etc.)". Each component must implement interfaces defined
by the framework and must provide self-describing
metadata via XML descriptor files. The framework manages
these components and the data flow between them.
Components are written in Java or C++; the data that
flows between components is designed for efficient
mapping between these languages. UIMA additionally
provides capabilities to wrap components as network
services, and can scale to very large volumes by
replicating processing pipelines over a cluster of
networked nodes.
</p>
<p>
Apache UIMA is an Apache-licensed open source
implementation of the UIMA specification (that
specification is, in turn, being developed concurrently
by a technical committee within
<a href="http://www.oasis-open.org">OASIS</a>
, a standards organization). We invite and encourage you
to participate in both the implementation and
specification efforts.
</p>
<p>
UIMA is a component framework for analysing unstructured
content such as text, audio and video. It comprises an
SDK and tooling for composing and running analytic
components written in Java and C++, with some support
for Perl, Python and TCL.
</p>
<h2><a name="major.changes">Major Changes in this Release</a></h2>
<p>
Please see the <a href="README">README</a> for this information.
</p>
<h2><a name="get.involved">How to Get Involved</a></h2>
<p>
The Apache UIMA project really needs and appreciates any contributions,
including documentation help, source code and feedback. If you are interested
in contributing, please visit
<a href="http://uima.apache.org/get-involved.html">
http://uima.apache.org/get-involved.html</a>.
</p>
<h2><a name="report.issues">How to Report Issues</a></h2>
<p>
The Apache UIMA project uses JIRA for issue tracking. Please report any
issues you find at
<a href="http://issues.apache.org/jira/browse/uima">http://issues.apache.org/jira/browse/uima</a>
</p>
<h2><a name="list.issues">List of JIRA Issues Fixed in this Release</a></h2>
Click <a href="issuesFixed/jira-report.html">issuesFixed/jira-report.hmtl</a> for the list of
issues fixed in this release.
<h2><a name="migrating">Migrating from IBM UIMA to Apache UIMA</a></h2>
<p>
This section describes how to move from pre-Apache versions of UIMA to the
Apache version (starting with Apache UIMA 2.1).
</p>
<p>
Note: Before running the migration utility, be sure to back up your files, just
in case you encounter any problems, because the migration tool updates the
files in place in the directories where it finds them.
</p>
<p>
The migration utility is run by executing the script file
apache-uima/bin/ibmUimaToApacheUima.bat (Windows) or
apache-uima/bin/ibmUimaToApacheUima.sh (UNIX). You must pass one argument: the
directory containing the files that you want to be migrated. Subdirectories
will be processed recursively.
</p>
<p>
The script scans your files and applies the necessary updates, for example
replacing the com.ibm package names with the new org.apache package names.
</p>
<p>
The script will only attempt to modify files with the extensions: java, xml,
xmi, wsdd, properties, launch, bat, cmd, sh, ksh, or csh; and files with no
extension. Also, files with size greater than 1,000,000 bytes will be skipped.
(If you want the script to modify files with other extensions, you can edit
the script file and change the -ext argument appropriately.)
</p>
<p>
If the migration tool reports warnings, there may be a few additional steps to
take. The following two sections explain some simple manual changes that you
might need to make to your code.
</p>
<h3>3.1. JCas Cover Classes for DocumentAnnotation</h3>
<p>
If you have run JCasGen it is likely that you have the classes
com.ibm.uima.jcas.tcas.DocumentAnnotation and
com.ibm.uima.jcas.tcas.DocumentAnnotation_Type as part of your code. This
package name is no longer valid, and the migration utility does not move your
files between directories so it is unable to fix this.
</p>
<p>
If you have not made manual modifications to these classes, the best solution
is usually to just delete these two classes (and their containing package).
There is a default version in the uima-document-annotation.jar file that is
included in Apache UIMA. If you have made custom changes, then you should not
delete the file but instead move it to the correct package
org.apache.uima.jcas.tcas. For more information about JCas and
DocumentAnnotation please see Section 5.5.4,
"Adding Features to DocumentAnnotation" in the
<a href="docs/html/references/references.html">UIMA References</a> manual.
</p>
<h3>3.2. JCas.getDocumentAnnotation</h3>
<p>
The deprecated method JCas.getDocumentAnnotation has been removed. Its use
must be replaced with JCas.getDocumentAnnotationFs. The method
JCas.getDocumentAnnotationFs() returns type TOP, so your code must cast this to
type DocumentAnnotation. The reasons for this are described in Section
5.5.4, "Adding Features to DocumentAnnotation" in the
<a href="docs/html/references/references.html">UIMA References</a> manual.
</p>
<h3>3.3. Rare Cases Where Additional Manual Migration is Necessary</h3>
<p>
For most users there should not be any additional migration steps necessary.
However, if the migration tool reported an additional warning or if you are
having trouble getting your code to compile or run after running the migration,
please see Section 1.4.2. "Rare Cases Where Additional Manual Migration is
Necessary," in the <a href="docs/html/overview_and_setup/overview_and_setup.html">
Overview and Setup</a> manual.
</p>
</body>
</html>