Apache UIMA (Unstructured Information Management Architecture) v2.7.0 SDK ------------------------------------------------------------------------- Backwards Compatibility ----------------------- New releases strive to maintain backwards compatibility; in general you should expect that upgrading will not break existing UIMA pipelines. From time to time, non-backward compatible changes are made, such as increased checking for error situations. This may cause existing pipelines to fail. In most cases, there are new JVM -D properties that can be used to disable new features, until the underlying issues are corrected or accommodated. The JVM -D property names for these, and their meaning, are: -Duima.allow_duplicate_add_to_indexes Adding the same exact FS instance to the indexes multiple times no longer results in duplicate entries in the indexes. You may restore the previous behavior using this flag. -Duima.disable_auto_protect_indexes UIMA now checks and automatically protects indexes if users (after adding a feature structure to the indexes) updates a feature which is being used as a key. For production runs, after insuring there are no such updates going on, or explicitly protecting those that are being done using the protectIndexes() method, you can disable this protection and checking, which may make things run slightly faster. -Duima.report_fs_update_corrupts_index See https://issues.apache.org/jira/browse/UIMA-4135. Updating Features which are used in Set and Sorted indexes as "keys" may corrupt the indexes, if the Feature Structure (FS) has been added to the indexes. To update these, you must first completely remove the FS from the indexes in all views, then do the updates, and then add it back. UIMA now checks for this (unless specifically disabled), and if this property is set, will log WARN messages for each occurrence unless the user wraps these updates inside explicit protectIndexes blocks. To scan the logs for these reports, search for instances of lines having the string While FS was in the index, the feature -Duima.disable_enhanced_check_wrong_add_to_index See https://issues.apache.org/jira/browse/UIMA-4099. Feature Structures which are subtypes of AnnotationBase may only be added to the View corresponding to their Sofa reference. From version 2.7.0, there is additional checking of this which can be disabled if needed for backward compatibility. See the UIMA References http://uima.apache.org/d/uimaj-2.7.0/references.html#ugr.ref.config for a table of these and other settings. Building from the Source Distribution ------------------------------------- We use Maven 3.0 or later for building; download this if needed, and set the environment variable MAVEN_OPTS to -Xmx800m -XX:MaxPerSize=256m. Then do the build by going into the .../uimaj directory, and issuing the command mvn clean install This builds everything except the ...source-release.zip file. If you want that, change the command to mvn clean install -Papache-release Look for the result here: target/uimaj-[version]-source-release.zip (if run with -Papache-release) For more details, please see http://uima.apache.org/building-uima.html What's New ---------- Please refer to the RELEASE_NOTES.html Backwards Compatibility ----------------------- This version has changes which can affect backwards compatibility. Out of the box, it will do additional checking and fixups for some hard-to-find user errors; see the first section above coping with backwards compatibility issues. Supported Platforms -------------------- Apache UIMA requires Java version 7 or later; it has been tested with Sun/Oracle Java SDK 7, and 8, and IBM Java 7 and 8. Running the Eclipse plugin tooling for UIMA requires you start Eclipse using a Java 7 or later, as well. The supported platforms are: Windows, Linux, and Mac OS X. Other platforms and Java (7+) implementations should work, but have not been significantly tested. Many of the scripts in the /bin directory invoke Java. They use the value of the environment variable, JAVA_HOME, to locate the Java to use; if it is not set, they invoke "java" expecting to find an appropriate Java in your PATH. Environment Variables ---------------------- After you have unpacked the Apache UIMA distribution from the package of your choice (e.g. .zip or .gz), perform the steps below to set up UIMA so that it will function properly. * Set JAVA_HOME to the directory of your JRE installation you would like to use for UIMA. * Set UIMA_HOME to the apache-uima directory of your unpacked Apache UIMA distribution * Append UIMA_HOME/bin to your PATH * Please run the script UIMA_HOME/bin/adjustExamplePaths.bat (or .sh), to update paths in the examples based on the actual UIMA_HOME directory path. This script runs a Java program; you must either have java in your PATH or set the environment variable JAVA_HOME to a suitable JRE. Note: The Mac OS X operating system procedures for setting up global environment variables are described here: see http://developer.apple.com/qa/qa2001/qa1067.html. Verifying Your Installation ---------------------------- To test the installation, run the documentAnalyzer.bat (or .sh) file located in the bin subdirectory. This should pop up a "Document Analyzer" window. Set the values displayed in this GUI to as follows: * Input Directory: UIMA_HOME/examples/data * Output Directory: UIMA_HOME/examples/data/processed * Location of Analysis Engine XML Descriptor: UIMA_HOME/examples/descriptors/analysis_engine/PersonTitleAnnotator.xml Replace UIMA_HOME above with the path of your Apache UIMA installation. Next, click the "Run" button, which should, after a brief pause, pop up an "Analyzed Results" window. Double-click on one of the documents to display the analysis results for that document. Getting Started ---------------- For an introduction to Apache UIMA and how to use it, please read the documentation located in the docs subdirectory. A good place to start is the overview_and_setup book's first chapter, which has a brief guide to the documentation.