The Ontopia Knowledge Suite

What's new

Published by: Ontopia
Date: $Date: 2009/05/22 09:34:36 $
Version: 4.1 ($Revision: 1.147 $)

Table of contents

Abstract

This document describes what has changed in the Ontopia Knowledge Suite between releases, both at a higher level, and in more detail.

1. OKS 4.1.0 release notes

This release contains a major upgrade of Ontopoly, the Topic Maps editor. The internals of the editor has to a major extent been rewritten and modularized. Most of the old functionality is still there, and we have also added a lot new features:

Other minor changes in this release are:

2. OKS 4.0.5 release notes

This release fixes several bugs and adds support for importing CTM files (ISO 13250-6: CTM (Compact Notation)). The following bugs have been fixed:

3. OKS 4.0.4 release notes

This release is a security release.

Warning

There is a security hole in earlier releases that made it possible to upload web archive files (.war) files remotely. Please upgrade to releases 3.4.7 or 4.0.4 as these do not have this problem.

As an alternative to upgrading one can delete the directory $OKS_HOME/apache-tomcat/server/webapps/manager and the files $OKS_HOME/apache-tomcat/conf/Catalina/localhost/manager.xml and $OKS_HOME/apache-tomcat/conf/tomcat-users.xml before restarting the Apache Tomcat server.

4. OKS 4.0.3 release notes

This release is a bug fix release.

5. OKS 4.0.2 release notes

This release is a bug fix release.

A new feature in Ontopoly is that the create button now opens the new topic in a modal window. This was done to prevent navigating away from the current topic.

Note that the backport-util-concurrent.jar jar-file has been added to the distribution, so an upgrade of an OKS application must include this file.

6. OKS 4.0.1 release notes

This release is a bug fix release.

7. OKS 4.0.0 release notes

This is a major new release. The main changes are complete support for the TMDM and XTM 2.0 specifications, clustering support and an Ontopoly reimplementation. Note that there are also changes made to the public APIs that are not backward compatible. See below for more information on how to handle this.

Other than the changes described below all other existing components of the OKS should continue to work like before.

Warning

As the new TMDM support required substantial API changes this release does not guarantee backward compatibility. This means that existing applications that use the Java APIs must be recompiled before deployed with OKS 4.0.

Warning

Because the RDBMS database schema contains a lot of changes existing topic maps must be exported from the old schema and reimported into the new schema. Use the XTM 1.0 format to do this. (If you're upgrading from the 4.0 beta release you'll have to upgrade the database schema before using the final release.)

Warning

The OKS now requires Java 1.4 or newer.

7.1. New features

7.2. Removed features

7.3. Other changes

Bug fixes:

The Web Editor framework actions have seen a few changes because of the changes to the object model. The changes are:

8. OKS 3.4.5 release notes

This release is a bug fix release.

Warning

If you get the following error message when starting one of the web applications, then you must remove the DOCTYPE declaration from the top of the actions.xml file.

org.xml.sax.SAXParseException: Relative URI "actionConfig.dtd"; can not be resolved without a base URI.

This error occurs because of the XML parser cannot retrieve the DTD through the class loader.

8.1. General

The following change has been made:

8.2. Ontopoly

The following change has been made:

8.3. Omnigator

The following change has been made:

8.4. Navigator Framework

The following change has been made:

8.5. Web Editor

The following change has been made:

8.6. RDBMS

The following change has been made:

9. OKS 3.4.4 release notes

This release is a bug fix release.

9.1. General

The following change has been made:

9.2. Query Engine

The following change has been made:

9.3. Ontopoly

The following changes have been made:

9.4. RDBMS Backend

The following changes have been made:

10. OKS 3.4.3 release notes

This release is a primarily a bug fix release, but it also introduces a much requested extension to the event model in the topic map engine.

10.1. Engine

The following changes have been made:

10.2. Navigator

The omnigator, manage and i18n web applications was updated to use the new tag library URIs. This means that they will no longer use the .tld files in the WEB-INF/jsp directories.

10.3. Ontopoly

The following bugs have been fixed:

10.4. Classify

The following bugs have been fixed:

10.5. Vizigator

The following bugs have been fixed:

11. OKS 3.4.2 release notes

This release is a bug fix release.

11.1. Admin console

The following bugs have been fixed:

11.2. Ontopoly

The following bugs have been fixed:

11.3. Topic Maps Engine

The following constructors of XTMTopicMapWriter have been changed so that they are now declared to throw IOException: XTMTopicMapWriter(File file, String encoding) and XTMTopicMapWriter(Writer writer, String encoding). Note that this may cause compilation errors.

The following bugs have been fixed:

11.4. Query Engine

The following bugs have been fixed:

11.5. RDBMS backend

The experimental RDBMSPatternSingleTopicMapSource class was added in the net.ontopia.topicmaps.impl.rdbms package. This source can be used to swap topic maps used by an implementation at runtime.

The --title and --comment options for setting the title and comments of a topic map were added to the RDBMSImport command-line utility.

12. OKS 3.4.1 release notes

This is a bug fix release. If you are using Ontopoly then it is important that you do an upgrade as this release fixes a serious problem with character encoding of form data in Ontopoly. This release includes a few more bug fixes as well.

12.1. Ontopoly

The following bugs have been fixed:

12.2. Omnigator

The following bugs have been fixed:

12.3. Engine

The following bugs and improvements have been made:

13. OKS 3.4 release notes

The main change in this version of the OKS is various upgrades to Ontopoly, especially the improved locking support, and the new approach to sharing topic maps between web applications.

There is also a new OKS distribution, called Ontopoly Runtime, which is essentially OKS Samplers with the RDBMS backend and support for authentication. This means that the new distribution can be used by customers which want to use Ontopoly to create topic maps without developing new custom applications. The price also reflects this. See the OKS price list for more information.

13.1. Ontopoly

The following improvements have been made:

13.2. Omnigator

The following improvements have been made:

13.3. Auto-classification

The recognition of compound terms (terms consisting of more than one word, like "Topic Maps") has been improved, as has the scoring of these terms.

The following bugs have been fixed:

13.4. Navigator Framework

The Navigator Framework has been changed to use a new and much simpler API for sharing topic maps between applications. Please see the Navigator Framework Configuration Guide for details. The API has also been simplified, and a number of classes made INTERNAL.

The following bugs have been fixed:

13.5. Web Editor Framework

The readonly attribute has been introduced on many tags to allow applications to control whether or not forms and form controls should be read only.

13.6. Topic Maps Engine

The following improvements have been made:

The following bugs have been fixed:

13.7. Vizigator

The performance of the Vizlet has been improved substantially by changing how the Vizlet loads Topic Maps fragments from the server. The result is less network traffic and a more responsive Vizlet.

The following bugs have been fixed:

13.8. Query Engine

The source-locator predicate has been renamed to item-identifier. The old predicate will continue to work, but it is no longer documented.

13.9. RDBMS Backend

The following improvements have been made:

13.10. DB2TM

The following improvements have been made:

14. OKS 3.3 release notes

The main new addition in this release is the autoclassification module, which is still experimental. For more about this, see section 14.9. There are also some new features in the Vizigator and a new string module in tolog, but beyond that the changes are mostly bug fixes.

14.1. Engine

The following changes have been made to the Engine:

14.2. Query Engine

The following changes have been made to the Query Engine:

14.3. Navigator Framework

The following changes have been made to the Navigator Framework:

14.4. RDBMS Backend

14.5. Omnigator

The following changes have been made to the Omnigator:

14.6. Ontopoly

The following changes have been made:

14.7. Vizigator

The following new features have been added to the Vizigator:

14.8. DB2TM

14.9. Automatic classification

This module has been added, but in an experimental state. It is only accessible through a plug-in to Ontopoly, and is described in the Ontopoly User's Guide. There is no publicly available API at the moment, but an API exists, and will be made available once we have received more feedback regarding customer requirements. Supported languages are English and Norwegian, but support for more languages can be added.

15. OKS 3.2.4 release notes

This release is a bug fix release.

15.1. Engine

15.2. Query Engine

15.3. DB2TM

16. OKS 3.2.3 release notes

This release is a bug fix release. If you are using the Web Editor Framework or DB2TM then an upgrade is recommended.

16.1. Engine

16.2. Query Engine

16.3. Navigator

16.4. Web Editor

16.5. Omnigator

16.6. Ontopoly

16.7. DB2TM

17. OKS 3.2.2 release notes

This release is a small bug fix release.

17.1. Engine

17.2. Web Editor

17.3. DB2TM

18. OKS 3.2.1 release notes

This release is primarily a bug fix and improvements release, but some new functionality have been added. It contains a couple of important bug fixes, so an upgrade is recommended. Java 1.6 support has been verified.The main new features are the new management web application and native full-text support for PostgreSQL and Microsoft SQL Server.

18.1. Query Engine

18.2. RDBMS Backend

18.3. Engine

18.4. DB2TM

18.5. Navigator

18.6. Full-text

18.7. Vizigator

18.8. Ontopoly

19. OKS 3.2 release notes

The main change in OKS 3.2 is that Ontopoly has been significantly extended with new functionality, described below, and that the DB2TM module now supports updating the topic map with changes from the source database. In addition, there is a long list of minor improvements and bug fixes to various parts of the product suite.

19.1. Ontopoly

The modifications to Ontopoly are quite extensive, and have required changes to the Ontopoly meta-ontology. This means that all old topic maps have to be upgraded in order to make them editable in the new Ontopoly version. Ontopoly can handle this by itself, however. The main improvements are:

The following bugs have been fixed in Ontopoly:

19.2. Vizigator

The Vizigator has been extended slightly with two new pieces of functionality, described below. Note that it was also substantially extended in the OKS 3.1.1 release; you may want to check section 21.2 as well.

The following bugs have been fixed in the Vizigator:

19.3. Omnigator

The "No name topics" choice on the topic map page now always appears, and without a count of nameless topics. This is a small step backwards in terms of functionality, but this query is very expensive, and has made it difficult to use the Omnigator with large topic maps. This problem is now gone.

The following bugs have been fixed in Omnigator:

19.4. Query Engine

The tolog query engine now has support for plugging in external full-text search predicates that behave much like the current built-in "value-like" predicate. To create a new full-text search predicate, one only needs to implement two Java interfaces. The new predicate will then be available in a module which can be imported into queries that need it.

The query engine now also supports getting a trace from a specific query as a string, instead of logging it to log4j. This support is available at the API level, and also in the Omnigator query plug-in. This makes it much easier to debug slow tolog queries.

The following bugs have been fixed in the query engine:

19.5. DB2TM

The main extension to DB2TM is the support for synchronizing the topic map with new information from the database. This makes it easy to keep the topic map up to date as the source database changes. See the documentation for more details on how this works.

The DB2TM module has been extended with support for mapping values in the database to new values using either a mapping table or a Java method. These mappings can now be declared in the XML mapping file.

19.6. Web Editor Framework

The webed:link and webed:form tags now have a new attribute, target, which tells the framework in which window/frame to open the next page.

The following bugs have been fixed in the Web Editor Framework:

19.7. Navigator Framework

The TMLoginModule now exposes user-groups/roles names and privilege names as role principals. This means that applications can make use of the HttpServletRequest.isUserInRole(String rolename) method to check privileges and user-group memberships.

19.8. Topic Maps Engine

The TMSync implementation has been extended so that it now supports using filter on the source topic map as well, to filter the characteristics to be included in the synchronization.

The DeletionUtils class now has a new method for deleting a collection of topics in a single operation. This is much faster than deleting the topics individually.

The TM/XML exporter now accepts a filter that lets you control which parts of the topic map should be exported.

The TopicMapSourceIF interface now has a new method createTopicMap, which allows new topic maps to be created within the source. Some of the source implementations support this method, and there is a getSupportsCreate method which can be used to query for such support.

The XTM path source now has a boolean property to control whether topic references to external documents should cause those documents to be merged in. This is implemented using a new class net.ontopia.topicmaps.utils.NoFollowTopicRefExternalReferenceHandler which tells the XTM importer to not follow external topic references, but to still load any topic maps referenced by the mergeMap element.

The Merger command-line utility now has an option to enable name-based merging (which used to be enabled, because of a bug), and an option to do duplicate suppression on the resulting topic map.

The following bugs have been fixed in the Topic Maps Engine:

19.9. RDBMS Backend

A new property net.ontopia.topicmaps.impl.rdbms.Cache.shared.identitymap.lru has now been added, which can be used to control the size of the identity map LRU for the shared cache independently from the LRUs of the individual transactions.

Another new property is net.ontopia.infoset.fulltext.impl.rdbms.RDBMSSearcher.type which is used to control how full-text searching in the RDBMS backend is done.

A new option has been added to the RDBMSImport command-line tool, to control whether external references are followed or not.

The RDBMS backend now always sets the transaction isolation level, which it only did before when using a connection pool.

20. OKS 3.1.2 release notes

This release primarily consists of some new functionality and a couple of bug-fixes for Vizigator.

20.1. Vizigator

The following functionality has been added to Vizigator:

For more information, please consult the Vizigator User's Guide.

The following bugs have been fixed in Vizigator:

20.2. Web Editor Framework

A problem regarding passing java.util.Map instances as parameters to web editor actions was resolved.

21. OKS 3.1.1 release notes

This release primarily consists of some new functionality for Vizigator, and support for Microsoft SQL Server. There is also improved support for TM/XML in Omnigator.

21.1. Topic Maps Engine

The following bugs have been fixed:

21.2. Vizigator

The following functionality has been added to Vizigator:

For more information, please consult the Vizigator User's Guide.

The following bugs have been fixed in Vizigator:

21.3. RDBMS backend

The RDBMS backend has seen substantial internal reworkings that cause it to need fewer database connections per transaction, and which reduce lock contention in the database quite significantly. As a result of these changes the RDBMS backend now supports Microsoft SQL Server. A sample database properties file and database scripts can be found in ${OKS_HOME}/rdbms.

21.4. Omnigator

It's now possible to drop TM/XML files with the extension .tmx into the topicmaps directory and have Omnigator detect them. It is also possible to topic maps to TM/XML in Omnigator using the export plug-in.

22. OKS 3.1.0 release notes

This release adds significant new functionality, primarily the DB2TM module and the new TMRAP version. However, the Vizigator has also been significantly improved, support for the TM/XML format has been added throughout the OKS, and an event API has been added to the engine. The improvements are described in more detail below.

Documentation of the two new modules (DB2TM and TMRAP) can be found as part of the OKS documentation.

22.1. Vizigator

The Vizigator has been extended with support for a default topic and association type configuration, as well as for controlling the rendering of topics which have more than one type.

The following bugs have been fixed in the Vizigator:

22.2. Topic Maps Engine

The main improvements to the Topic Maps engine are the addition of support for the TM/XML Topic Maps syntax and the event API. The event API is documented in the javadoc for the package net.ontopia.topicmaps.core.events.

The following bugs have been fixed in the Topic Maps engine:

22.3. The RDBMS backend

A number of performance improvements have been made to the RDBMS backend. The RDBMS backend now distinguishes between read-only and read-write transactions, where the former can be shared by several users (because no changes can be made), thus reducing the memory consumption. In addition, the use of synchronization has now been streamlined to allow better throughput with many concurrent transactions. The garbage collector now has an easier job because the soft references in the shared cache are more fine-grained, making it possible to collect smaller amounts of data on each iteration.

The default tolog implementation when using the RDBMS backend is now the in-memory implementation, and not the RDBMS implementation. Note that this change might affect the performance of existing installations. Existing installations may want to override the tolog implementation in the database properties file.

The following bugs have been fixed in the RDBMS backend:

22.4. Navigator Framework

Two new methods have been added to the NavigatorUtils class: getTopicMapRepository(PageContext pageContext) and getTopicMapRepository(ServletContext servletContext).

The code which finds the label to display for a topic has been replaced with a new implementation, which is much simpler, and much faster, thus resulting in improved performance.

The following bugs have been fixed in the Navigator Framework:

22.5. Web Editor Framework

The TologDelete action now accepts objects of any types as parameters, and not just topics.

The following bugs have been fixed in the Web Editor Framework:

22.6. Ontopoly

The following bugs in Ontopoly have been fixed:

23. OKS 3.0.2 release notes

This release is a bug fixing release for the Vizigator. The last few versions of Vizigator have been somewhat buggy and unstable, and the behaviour of the Vizigator has not really been entirely consistent. This release fixes the known bugs, and makes the Vizigator behaviour much more consistent.

The following bugs have been fixed:

24. OKS 3.0.1 release notes

This a bug-fix release that includes fixes to three bugs.

Important:

If you are using the RDBMS Backend you should upgrade to this new version as there is a critical bug in the jdbcspy driver shipped with earlier OKS releases. This bug only occurs when using the jdbcspy driver, but to be on the safe side an upgrade is recommended. If you cannot upgrade then you must not use jdbcspy (disabled by default).

24.1. Topic Map Engine

The following bugs have been fixed:

24.2. RDBMS backend

The following bugs have been fixed:

25. OKS 3.0 release notes

This release is a major release that has seen changes to most parts of the OKS, as well as the inclusion of a major new component, the Ontopoly Topic Maps editor. Also, the distribution now includes Tomcat 5.5, instead of Tomcat 5.0.

Important:

If you are using the RDBMS Backend you will have to make a few changes to the database schema before proceeding. A description of how to do the upgrade can be found in the section called RDBMS Backend in this document.

25.1. Web Editor Framework

A new policy for error handling in the Web Editor Framework has been added, with support for distinguishing between critical and non-critical errors. The only change is really that it is now possible to report non-critical errors to the user.

The form tag library has been extended with better support for accessing JSP attributes, which greatly simplifies using the form tag library together with other tag libraries.

The pattern attribute has been added to the webed:field tag, providing support for validating user input against a regular expression.

The Velocity macros used by the Web Editor Framework tags have been moved into the OKS .jar file. It is still possible to use custom Velocity macros, but by default the macros used will be those in the .jar file. This greatly simplifies upgrades to new OKS versions. Existing applications will continue to use the Velocity macros in the file system, which they have been configured to use. We recommend that applications switch to using the .vm files in the .jar file.

The TLD files are now also stored in the OKS .jar file, and the tag libraries have been given identifying URIs that can be used to load these. We recommend that applications start using these URIs and remove local copies of the TLD files.

The following new actions have been added to the Framework:

The following bugs have been fixed in the Web Editor Framework:

25.2. Navigator Framework

The tolog tag library has been extended with better support for accessing JSP attributes, which greatly simplifies using the tolog tag library together with other tag libraries. In addition, the tolog:set tag now supports setting JSP attributes in any scope (in addition to setting OKS variables), through the new scope attribute.

The tolog:out tag now has an attribute named escape, which can be used to control whether or not the output string is to be HTML-escaped.

The TLD files are now stored in the OKS .jar file, and the tag libraries have been given identifying URIs that can be used to load these. We recommend that applications start using these URIs and remove local copies of the TLD files.

The tm-sources.xml can now be loaded from the classpath, and in the distribution this is where it is now loaded from.

25.3. Vizigator

The Vizigator has been extended with support for filtering associations by scope. It also now has support for localization, and has been localized to Japanese and German.

25.4. Topic Map Engine

The engine now supports typed names, in accordance with the TMDM.

The engine now supports automatically keeping the full-text index for a topic map up to date as changes are made to a topic map. This is primarily of interest with in-memory topic maps.

The topic map repository framework has now been extended so that topic map sources can create new topic maps. New methods have been added to the TopicMapSourceIF interface to support this. The XMLConfigSource class has also been extended with new methods to allow the configuration to be loaded from the classpath.

The following new additions have been made to the API:

The following bugs have been fixed in the engine:

25.5. RDBMS backend

25.5.1. Upgrading the database schema

There has been a few minor changes to the database schema in this release. In order to upgrade your database instance you will have to execute the SQL statements listed below in your database.

If you do not have an existing database instance you should not perform the upgrade shown below, but instead follow the standard database installation procedure described in The RDBMS Backend Connector - Installation Guide.

25.5.2. PostgreSQL

Use the psql command line tool to execute the statements below, or any other database access tool of your choice.

  alter table TM_BASE_NAME add column type_id integer null;
  alter table TM_TOPIC_MAP add column base_address varchar(512) null;
  alter table TM_TOPIC_MAP add column title varchar(128) null;
  create index TM_BASE_NAME_IX_myi on TM_BASE_NAME(topicmap_id,type_id,id);

If foreign keys are enabled the following command should also be issued:

  alter table TM_BASE_NAME add constraint FK_TM_BASE_NAME_3 foreign key (type_id) references TM_TOPIC (id);

25.5.3. Oracle

Use the sqlplus command line tool to execute the statements below, or any other database access tool of your choice.

   alter table TM_BASE_NAME add type_id integer null;
   alter table TM_TOPIC_MAP add base_address varchar2(512) null;
   alter table TM_TOPIC_MAP add title varchar2(128) null;
   create index TM_BASE_NAME_IX_myi on TM_BASE_NAME(topicmap_id,type_id,id);

If foreign keys are enabled the following command should also be issued:

   alter table TM_BASE_NAME add constraint FK_TM_BASE_NAME_3 foreign key (type_id) references TM_TOPIC (id);

25.5.4. Other changes in this release

The RDBMS backend schema has changed to support typed names.

The RDBMS backend schema has changed to store the base address of the topic map in the database. This solves the long-standing problem with porting ID-based topic maps applications from the in-memory store to the RDBMS backend, since the base address is now set on import (using the RDBMSImport command-line tool) ID-based references will continue to work.

The RDBMSImport command-line tool can now produce a SQL profiling report to show where the time is spent during an import.

The RDBMSImport command-line tool will now automatically disable the shared cache, so that topic map documents of any size can be imported.

The RDBMSTopicMapStore now has a new method that can dump the identity map, for debugging and performance monitoring purposes.

The net.ontopia.topicmaps.impl.rdbms.StorePool.SoftMaximum database property was being incorrectly set, effectively making impossible to set an upper boundary on the store pool size. This is now fixed.

26. OKS 2.2.4 release notes

This is mainly a bug fix release, but also includes a number of improvements.

The following improvements have been made:

The following bugs have been fixed:

27. OKS 2.2.3 release notes

This is a bug fix and optimization release. A number of bug fixes and performance improvements have been made to the RDBMS backend. If you are not using the RDBMS backend, you can ignore this release. If you are using the RDBM backend we strongly recommend that you upgrade to this version.

In this release, only the OKS code and the database schemas/scripts have been updated. To upgrade an existing installation, all you need to do is replace the oks-*.jar file.

The following improvements have been made:

28. OKS 2.2.2 release notes

This is a bug fix release.

28.1. Query Engine

The following bugs have been fixed:

28.2. RDBMS Backend

The following bugs have been fixed:

29. OKS 2.2.1 release notes

This is a bug fix release.

29.1. Engine

The following improvements have been made:

The following bugs have been fixed:

29.2. Vizigator

The following bugs have been fixed:

29.3. Navigator Framework

The following improvements have been made to the Navigator Framework:

29.4. Web Editor Framework

The following improvements have been made to the Web Edit Framework:

The following bugs have been fixed:

29.5. RDBMS Backend

The following improvements have been made to the RDBMS backend:

The following bugs have been fixed:

30. OKS 2.2 release notes

This release adds substantial new functionality, primarily significant performance enhancements in the RDBMS backend, but also support for LTM 1.3, the JAAS module, and the accessctl web application. More detail on these is provided below. There are some violations of backwards compatibility, so please read the release notes carefully.

30.1. Omnigator

The Omnigator now supports exporting topic maps to LTM format.

The following bugs have been fixed:

30.2. Navigator Framework

The following improvements have been made to the Navigator Framework:

The following bugs have been fixed:

30.3. Vizigator

The following improvements have been made to the Vizigator:

The following bugs have been fixed:

30.4. Web Editor Framework

The following improvements have been made to the Web Editor Framework:

The following bugs have been fixed:

30.5. Query Engine

The following improvements have been made to the Query Engine:

The following bugs have been fixed:

30.6. Topic Map Engine

The following new functionality has been added to the engine:

The following bugs have been fixed:

30.7. RDBMS Backend

The following improvements have been made to the RDBMS backend:

The following bugs have been fixed:

31. OKS 2.1.1 release notes

This release is almost exclusively a bug fix release.

31.1. Omnigator

The following changes have been made to the Omnigator:

The following bugs have been fixed:

31.2. Navigator Framework

Only one change has been made here: the "oks" JSP variable is now set in request scope instead of page scope.

31.3. Vizigator

Two bugs have been fixed in the Vizigator:

31.4. Web Editor Framework

The following changes have been made to the Web Editor Framework:

The following bugs have been fixed:

31.5. Query Engine

The RDBMS tolog implementation now makes better use of the optimizers developed for the in-memory implementation, which should improve performance in some cases.

One bug has been fixed:

31.6. Topic Map Engine

The following API changes have been made:

31.7. RDBMS Backend

One bug has been fixed:

32. OKS 2.1 release notes

This release adds major new functionality, substantial internal changes, as well an overhaul of the API where many packages and classes are made INTERNAL or deprecated. You are recommended to read this section carefully before installing this version.

32.1. Omnigator

The Omnigator now has two new plug-ins:

The following bugs have been fixed:

32.2. Navigator Framework

The tm, logic, output, and value tag libraries have now been deprecated, in favour of the new tolog tag library. The old tag libraries and their documentation are still included with the OKS, but they are now officially deprecated, and no new functionality should be developed using them. They will not be removed from the product as long as there are users for them.

There are also some important changes in how the Navigator Framework works with the RDBMS backend; these are documented in section 3.5 of the Navigator Framework Developer's Guide, and all users are encouraged to read this section.

Parts of the Navigator Framework API have been marked as INTERNAL or been deprecated. A few methods that have been deprecated for a long time have been removed altogether. The following class has also been added to the API.

32.3. Vizigator

The Vizigator is now out of beta, and officially part of the OKS. A substantial number of bugs have been fixed, and new functionality added. We do not describe the details here; for a description of the functionality, see the Vizigator User's Guide.

32.4. Web Editor Framework

The params attribute in the Web Editor Framework tag library now supports tolog URI prefixes declared with the new tolog:declare tag. This makes it possible to refer to topics without creating framework variables for them first.

The action implementations included in the Web Editor Framework now perform much stricter checking on the parameters passed to them, which means that they provide much more useful error messages, but also that in certain cases they will complain about parameters they would earlier allow.

The AddSubjectIndicator, RemoveSubjectIndicator, SetSubjectIndicator, AddSourceLocator, RemoveSourceLocator, and SetSourceLocator actions have been updated to accept string parameters as well as locator parameters.

Parts of the API have been marked as INTERNAL or been deprecated in this version. In addition, the cloneAndOverride method has been added to the ActionParametersIF interface to make it possible to trigger existing actions from within an action.

The following bugs have been fixed:

32.5. Query Engine

The tolog query language has been extended with comparator predicates (that is, the normal <, >, =, <=, >= operators). In addition, the object-id predicate has been added.

The query engine has been reworked somewhat internally, adding some new optimizations, as well as type analysis on variables. This is not obvious to external code, but improves performance.

An API for preparsing declarations (as opposed to queries) and storing the resulting context so that later queries can be parsed in a particular declaration context has been added.

The following bugs have been fixed:

32.6. Schema Tools

Parts of the API have been marked as INTERNAL or been deprecated.

32.7. Full-text Integration

The oracle_text platform must now be listed on the net.ontopia.topicmaps.impl.rdbms.Platforms database property for Oracle Text support to be enabled, e.g. to enable Oracle Text support with Oracle 10g set the property to oracle_text,oracle10g,oracle,generic. This change will break backward compatibility, but will allow Oracle users to use the default rdbms fulltext support using the LIKE operator instead of using Oracle Text. See the fulltext developers guide for more information.

The LuceneIndexer class now has a new command line option --analyzer which takes the class name of an analyzer.

Parts of the API have been marked as INTERNAL or been deprecated.

32.8. Topic Map Engine

The core interfaces of the engine have now changed substantially, for the first time since the release of version 1.0. Concepts left over from the HyTM syntax have now officially been deprecated, such as facets, facet values, mnemonics, effective scope, and scope on topics and topic maps. If you didn't know these things existed: don't worry, the effect on your code is likely to be nil. In addition, a large number of non-core interfaces, classes, and methods have been marked as INTERNAL or been deprecated.

In addition, the following API changes have been made:

Some performance optimizations have been made in import and export:

The net.ontopia.topicmaps.entry package has been reworked a bit, and the following changes have been made:

Locators output by XTM, CXTM and HyTM serializers are now written in its external form and no longer the internal form.

The following bugs have been fixed:

32.9. RDBMS Backend

The internals of the RDBMS backend have been substantially reworked to provide better support for concurrent transactions. A number of RDBMS properties have been added to control the internal workings of this. To find out what these are, please consult the RDBMS Backend Installation Guide and the Developer's Guide. Note also that some behaviours that never were allowed, but which used not to cause problems now will cause problems. Caution, and careful testing, should be applied.

The two main new features in the RDBMS Backend are shared cache and topic map store pooling. The first lets topic map store instances share information so that the network traffic to the database is reduced and thus performance improved. The second feature makes it possible to reuse topic map store instances across transactions. This improves scalability in multi-user access to the database and will also improve resource management in applications.

A few new database properties has been added. All the properties are related to either shared cache settings or topic map store pooling. See the RDBMS Installation Guide for more in-depth information on the supported database properties.

The following properties are no longer supported/used, so if you use them in your database properties file consider removing them:

The following properties are only used for database platforms for which there are no built-in support, and should therefore not normally be specified in database properties:

The property net.ontopia.topicmaps.impl.rdbms.Platforms is now inferred from the net.ontopia.topicmaps.impl.rdbms.Database property value and should therefore normally not be specified.

The SQL IN-operator used by RDBMS tolog no longer uses a predefined max elements size, but retrieves the setting from the net.ontopia.persistence.query.sql.InMaxElements database property instead. Default is that there now is no limit to the maximum number of elements.

Poolman is no longer supported and has been dropped from the distribution. Jakarta Commons DBCP is now the default connection pool implementation. Connection pooling is now enabled by default.

Prepared statement pool is enabled by default by the DBCP connection pool.

URI locators stored in the RDBMS did not get externalized properly in getExternalForm and resolveAbsolute. This has now been fixed.

The RDBMSDelete command line utility has been added.

The following bugs have been fixed:

33. OKS 2.0.7 release notes

This release resolves a couple of Java 1.3 compatibility issues and two issues regarding the use of locators.

33.1. Topic Map Engine

'|' characters in file URLs were incorrectly escaped by URILocator.getExternalForm().

33.2. Navigator Framework

<output:locator> now uses LocatorIF.getExternalForm() instead of LocatorIF.getAddress() to output locator addresses.

34. OKS 2.0.6 release notes

This release is mainly a bug fix release. It resolves a couple of issues in the RDBMS backend. There are also improvements in the XTM import utility.

34.1. Topic Map Engine

The way merging is done during XTM import has been improved. The importer code now avoids creating temporary topics in the cases where the temporary object later would be merged with an existing object. Temporary object creation is avoided where possible. This should lead to improved performance in certain situations.

34.2. RDBMS Backend

The following bugs have been fixed:

35. OKS 2.0.5 release notes

This release is a bug fix release. It resolves a couple of Web Editor bugs and a bug in the RDBMS Backend.

35.1. Web Editor

The following bugs have been fixed:

35.2. RDBMS Backend

Some debugging statements were written to the console in the previous release. These have now been removed.

36. OKS 2.0.4 release notes

This release is a bug fix release. It also adds previews of the RDF2TM Omnigator plug-in and the Vizigator. The RDF2TM plug-in is turned off by default, and not yet much documented. The Vizigator has separate documentation included.

36.1. Topic Map Engine

Prototypical support for TMAPI has been added. This does not quite conform to the final version, and will have to be updated.

The RDF importer now supports a new generateNames property, which enables it to automatically generate names for nameless topics created by the mapping based on their URLs.

The following bugs have been fixed:

36.2. Query engine

The RDBMS implementation of tolog will now produce queries that in some situations are significantly faster, especially in PostgreSQL.

The following bugs have been fixed:

36.3. Navigator Framework

The interpretation of the index attribute on the tm:fulltext tag has changed. See the tag library reference documentation for details.

36.4. Web Editor Framework

The webed:field tag now supports hidden fields.

37. OKS 2.0.3 release notes

This release is a bug fix release, but also contains some optimizations and minor additions of new functionality, about which, more below. The main extension is the experimental support for the new Canonical XTM syntax proposed for inclusion in the ISO 13250 standard.

37.1. Omnigator

The following improvements have been made:

The following bugs have been fixed:

37.2. Navigator Framework

The following bugs have been fixed:

37.3. Web Editor Framework

The following improvements have been made:

The following bugs have been fixed:

37.4. Query Engine

The tolog query engine has been modified to do extensive type inferencing internally, in order to work out the possible types that can be assigned to each variable. This information is now used to optimize away some predicates that can never succeed because of type conflicts.

37.5. Engine

The following improvements have been made:

The following bugs have been fixed:

37.6. RDBMS Backend

The following improvements have been made:

38. Changes from 2.0.1 to 2.0.2

This release contains mainly bug fixes and improvements. One important change in this release is that the version number is included in the $OKS_HOME directory name. This was introduced, so that one can easily keep different versions apart and also avoid versions being copied on top of each other.

38.1. Engine

Two improvements have been made:

These bugs were fixed in the topic map engine:

38.2. Query Engine

One improvement has been made:

In addition the following bug was fixed in the tolog engine:

38.3. Fulltext

One change has been made:

38.4. Navigator Framework

The following improvements have been made:

38.5. Web Editor Framework

One improvement has been made:

In addition the following bug were fixed:

38.6. RDBMS Backend

The following improvements have been made:

39. Changes from 2.0 to 2.0.1

This release contains mainly bug fixes and improvements.

39.1. Engine

New functionality has been added to the RDF support:

In addition the following bug was fixed in the engine test suite:

39.2. Navigator Framework

Two improvements have been made:

39.3. Web Editor Framework

One improvement has been made:

39.4. RDBMS Backend

The following changes have been made:

40. Changes from 1.4.2 to 2.0

This is the first OKS release for quite some time, and so there are substantial changes, many bug fixes, and some new features. The changes are so substantial that some minor changes are not listed, and some minor bug fixes omitted.

40.1. Omnigator

The following functionality has been added to the Omnigator:

The following bugs have been fixed in the Omnigator:

40.2. Navigator Framework

The following changes have been made to the Navigator Framework:

The following bugs have been fixed in the Navigator Framework:

40.3. Web Editor Framework

The Web Editor Framework is now out of beta and is now ready for use in applications. The Framework has changed substantially since version 1.4.2, and has also been extended considerably. A large number of bugs have been fixed, and in general the use of the Framework has been simplified substantially.

The changes are sufficiently comprehensive that we have decided not to document them in detail. In general, it can not be expected that applications developed with 1.4.2 will run with 2.0.

40.4. Engine

The following changes have been made to the Topic Map Engine:

The following bugs have been fixed in the Topic Map Engine:

40.5. Query Engine

The following changes have been made to the Query Engine:

The following bugs in the Query Engine have been fixed:

40.6. Schema Tools

The only changes to the Schema Tools have been the following bug fixes:

40.7. The RDBMS Backend

The RDBMS tolog implementation has been updated to support the full tolog 1.0. The following bugs has been fixed:

41. Changes from 1.4.1 to 1.4.2

This release is purely a bug fix release.

41.1. Omnigator

We have fixed the following bugs in the Omnigator:

41.2. Navigator Framework

The following bugs have been fixed in the Navigator Framework:

41.3. Topic Map Engine

The following bugs have been fixed in the Topic Map Engine:

In addition, NameIndexIF has now been made auto-updating.

41.4. Query Engine

The following bugs have been fixed in the Query Engine:

42. Changes from 1.4 to 1.4.1

This release is a bug fix release, released primarily to fix some embarrassing problems in the Omnigator. There are bug fixes in other parts of the OKS as well, however. The LTM Emacs mode is now distributed with the OKS, as is one additional topic map: support-kb.ltm.

42.1. Omnigator

We are now bundling Tomcat 4.1.18 with the Omnigator, rather than 4.0.6, which we used for 1.4. The front page has been cleaned up a little, and a link to a new "Index of Individuals", showing all the topics that are not typing topics, has been added to the topic map page. In addition, we have fixed the following bugs:

42.2. Navigator Framework

The following bugs have been fixed in the Navigator Framework:

In addition the documentation has been improved in places.

42.3. Topic Map Engine

The following bugs have been fixed in the Topic Map Engine:

In addition the documentation has been improved in places.

42.4. Query Engine

The following bugs have been fixed in the Query Engine:

In addition the documentation has been improved in places.

43. Changes from 1.3.4 to 1.4

This release adds several major new features to the OKS, the most important of which are:

Each of these are described in more detail below. In addition, this version has a large number of bug fixes, as well as numerous minor improvements to the documentation.

43.1. Omnigator

A plug-in for providing feedback to Ontopia has been added to the Omnigator, there are now links to the topics that represent role types from the pages about association types, subject addresses are being displayed, and it is now distributed with Tomcat 4.1. The following bugs have been fixed:

43.2. Navigator Framework

The most important changes to the Navigator Framework functionality are:

In addition, a number of bugs have been fixed in the Navigator Framework:

43.3. Topic Map Engine

The following change has been made to the topic map engine:

The only changes to the topic map engine in this release are the following bug fixes:

43.4. The Schema Tools

In this version a number of problems in the documentation of the OSL schema language have been fixed, and some bugs in the tools themselves have been fixed.

43.5. The Query Engine

A new implementation of the tolog query language designed especially for the RDBMS backend has been added. This implementation converts tolog queries directly to SQL queries, which are then executed by the RDBMS. This makes evaluation of tolog queries enormously much faster when running on the RDBMS backend.

The net.ontopia.topicmaps.query.utils.QueryUtils class has also been added to the API. Developers are recommended to use this class to create instances of the QueryProcessorIF interface, as this class will create different processors depending on what topic map implementation is used.

In addition, a method for loading rules from Java Reader objects has been added to the QueryProcessorIF.

43.6. The RDBMS Backend

The only changes to the RDBMS backend have been a tiny optimization of some queries, and a single bug fix:

44. Changes from 1.3.3 to 1.3.4

This release is primarily a bug fix release, though some optimizations have also been performed, and some APIs have been cleaned up. In addition, there are some minor improvements here and there.

44.1. Omnigator

A number of minor adjustments have been made in the Omnigator's display. In addition, the free download now has an additional capability.

44.2. Navigator Framework

The tag libraries have seen some internal changes, and a couple of usability improvements.

44.3. Topic Map Engine

The changes to the engine mainly consist in bug fixes, optimizations, and minor API improvements.

44.4. Full-text Integration

44.5. Query Engine

44.6. RDBMS Backend Connector

45. Changes from 1.3.2 to 1.3.3

This release is almost purely a bugfix release. It corrects a bug in the test suite, as well as an important bug in the RDBMS backend. We recommend that RDBMS users upgrade. Other users need not bother.

45.1. Navigator Framework

The functionality has been extended/changed in the following ways:

45.2. Topic Map Engine

There has been one API change; a new constructor for the URILocator class has been added: URILocator(File file).

The following bugs were fixed:

45.3. RDBMS Backend Connector

The following bugs have been fixed:

46. Changes from 1.3.1 to 1.3.2

Previous versions shipped with a built-in license key that would expire 90 days after the version was built. In version 1.3.2 this is different. The software comes with no default license key, and will not run before it gets one. Read section 3.2 of the install guide to see how the software finds its license key.

46.1. Omnigator

Some new features have been added, as listed below. Note also that the interpretation of XTM documents has changed, as described in section 46.3.

46.2. Navigator Framework

The functionality has been extended/changed in the following ways:

In addition, some reference diagrams have been added to the tag library documentation, to make it easier to see how to traverse topic map information using the tag libraries.

A number of bugs have also been fixed:

46.3. Topic Map Engine

As part of the fix to bug #523 the behaviour of the XTM importer with respect to entities has changed. In earlier versions, one could refer from tm.xtm to the topic foo in the external entity tm.ent using #foo, but now it is necessary to use URIs of the form tm.ent#foo. Relative URIs inside tm.ent will now be resolved relative to the URI of that entity, rather than relative to the URI of the document entity as before. We realize that this may break existing documents, but the XML Base specification is very clear on what the correct behaviour is in this case.

Other improvements are:

There have also been a number of API changes:

The following bugs were fixed:

46.4. Full-text Integration

The only change in this version is that the command-line LuceneIndexer tool now supports the use of x-tm:rdbms URIs to refer to topic maps stored in the RDBMS backend. This means it can be used to index RDBMS topic maps.

46.5. Query Engine

In this release, the only change was a bug fix:

46.6. Schema Tools

The documentation of the player element type in OSL was extended somewhat. The only other change was a bug fix:

46.7. RDBMS Backend Connector

Two new command-line utilities were added in this version: net.ontopia.topicmaps.cmdlineutils.rdbms.RDBMSImport and net.ontopia.topicmaps.cmdlineutils.rdbms.RDBMSExport. These allow users to import and export topic maps into and out of the RDBMS backend from the command-line.

A minor optimization of the lookup queries was made for the PostgreSQL RDBMS server.

Otherwise, the major change was the introduction of support for virtual collections. What this means is when calling say getTopics() on TopicMapIF the topics will only be loaded as needed. This ensures that the JVM does not run out on memory when methods that return large numbers of objects are called. This change fixed bugs 507 and 509.

47. Changes from 1.3 to 1.3.1

47.1. Omnigator

Some new features have been added or changed:

The following bug was fixed:

47.2. Navigator Framework

The behaviour of one tag has changed:

The following bugs were fixed:

47.3. Topic Map Engine

The following bugs were fixed:

48. Changes from 1.2.5 to 1.3

48.1. Omnigator

New features:

The following bugs were fixed:

48.2. Navigator Framework

Changes:

The following bugs were fixed:

48.3. Topic Map Engine

Notable changes in this release are:

The following bugs were fixed:

48.4. Full-text Integration

Changes:

The following bugs have been fixed:

48.5. RDBMS Backend Connector

The following bugs have been fixed:

49. Changes from 1.2.4 to 1.2.5

49.1. Navigator Framework

The main change in the navigator in this version is that we now bundle it with Tomcat 4.0, something that caused us to upgrade certain parts of the code. In addition we have added some tags, and fixed a number of bugs.

A number of changes were made in the navigator framework itself:

The following bugs were fixed in the 1.2.5 version of the Navigator Framework:

In addition, some bugs were also fixed in the Omnigator:

49.2. Topic Map Engine

There were few significant changes in the engine in this version.

Three bugs were fixed in this release:

49.3. Full-text Integration

The following bugs have been fixed:

49.4. RDBMS Backend Connector

The following public class has been added::

The following bug has been fixed:

50. Changes from 1.2.3 to 1.2.4

50.1. Navigator Framework

This release has seen a number of minor improvements in the navigator framework. The changes in the tag libraries are:

In addition, the navigator developer's guide has been extended with more detailed information on how to use the <tm:lookup> tag.

50.2. Topic Map Engine

This release was primarily made to satisfy customer requests for functionality in the full-text integration. Changes in the engine are limited to a few new method, and a minor extension to the engine developer's guide.

The following methods has been added:

50.3. Full-text Integration

The following features has been added:

50.4. RDBMS Backend Connector

The following constructors has been added - all to make it possible to pass topic map store properties as a Map instance:

51. Changes from 1.2.2 to 1.2.3

51.1. Navigator Framework

This release adds some new tags, and fixes a large number of bugs. The changes in the tag libraries are:

The following bugs were fixed in the Navigator Framework in this release:

The following bugs were fixed in the Omnigator in this release:

51.2. Topic Map Engine

The following method has been added:

One old bug has been fixed:

51.3. RDBMS Backend Connector

The following features has been added:

Changes in the database schema:

52. Changes from 1.2.1 to 1.2.2

52.1. Navigator Framework

This release adds some new tags, and fixes a large number of bugs. The changes in the tag libraries are:

The following bugs were fixed in the Navigator Framework in this release:

The following bugs were fixed in the Omnigator in this release:

52.2. Topic Map Engine

The following method has been added:

53. Changes from 1.2 to 1.2.1

53.1. Navigator Framework

Added the <framework:response> JSP tag, which sets response headers according to its attribute values or the application defaults.

53.2. What's new in version 1.2

Version 1.2 of the Ontopia Navigator Framework and the Ontopia Omnigator is a complete rewrite of the entire navigator framework, and also of the Omnigator, which has now been implemented using the new framework. The old navigator is still included in the distribution, but the documentation has been taken out.

We have replaced the old tag libraries with a completely new set of tag libraries, which are designed according to different principles. We think that the new tag libraries are enormously much easier to learn than the previous ones, and that they are also much more flexible. The Omnigator has been completely re-implemented (making the current version the fifth implementation from scratch) using the new tag libraries.

Since the entire navigator package has been entirely replaced by a new package there is no list of changes. Note that we expect changes to the navigator from this point on to be backwards-compatible, except where current features are marked as experimental in the documentation.

53.3. Topic Map Engine

There were few changes in this new release. Some new functionality has been added, and some problems have been fixed, but in general very little has happened with the engine.

Two improvements have been made:

Four new classes have been added:

Only one bugs were fixed in this release:

54. Changes from 1.1.2 to 1.1.3

54.1. Navigator Framework

Reviewed the classes in package nav.utils.comparators; BaseNameComparator deprecated, NameComparator takes sort variant into account if available.

nav.context.UserFilterContextStore extended to also store variant name scoping themes (basides base name scope)

54.2. Topic Map Engine

Occurrence.toString() now prints contents of inline occurrences.

CollectionUtils.getRandom() now delivers a really random entry.

Four bugs have been fixed:

55. Changes from 1.1.1 to 1.1.2

55.1. Navigator Framework

A new plug-in has been added: the "LTM add" plug-in, which lets you add content to already loaded topic maps using LTM syntax.

A part of the documentation relating to how connect the navigator to the RDBMS backend was updated.

55.2. Topic Map Engine

The LTMTopicMapReader class now also implements the TopicMapImporterIF interface.

The NameGrabber class can now grab names appearing in a specific scope defined by a collection of topics.

Some problems with the test suite, both on Windows and generally, have been fixed.

Two bugs have been fixed:

56. Changes from 1.1 to 1.1.1

56.1. Navigator Framework

The major change in this release is that we have upgraded the bundled version of tomcat, closing a security hole. Other than that the main changes are bug fixes.

56.2. Topic Map Engine

Only very minor changes have been made to the engine. These are:

57. Changes from 1.0.x to 1.1

57.1. Navigator Framework

57.1.1. Overview

Since version 1.1 the code of the Navigator Framework has been further improved through optimizations, some internal refactoring of the code, and also a number of bug fixes. The result is a version of the framework that is decidedly more mature and performs better. In particular, loading topic maps is now substantially faster than in previous versions.

In addition to the improvements to the framework, the Omnigator has been revisited and its user interface further improved. Some bugs have also been fixed in the Omnigator, making it able to handle even more topic maps.

This release also contains substantially improved and extended documentation compared to the 1.0.x releases.

The main improvements, however, fall in the category of extended functionality. The following are the main extensions:

The log4j package used by the engine to provide logging of actions has been upgraded from version 1.0.4 to version 1.1.3, which has given better performance in some cases.

57.1.2. Detailed changelog

The application.xml file has been extended to allow users to specify the default model, view, and skin. It is also possible to extend the lists of models and views. Skins are now found by scanning a specified directory for CSS stylesheets.

The superTypes tag now has an excludeTypes argument in the args attribute, which can be used to keep the types of the current topic out of the list of supertypes.

The following new tags have been added:

See The Ontopia Navigator Tag Library Reference for more information on these tags.

57.2. Topic Map Engine

57.2.1. Overview

In general, the changes to the Topic Map Engine itself have not been very substantial. The main changes have been made externally, such as the addition of an RDBMS backend, modifications to the Navigator, integration of the Fulltext Search capability, and so on.

A number of optimizations have been done, however, resulting in markedly improved performance for some operations, like importing XML topic maps. A number of minor bugs have also been fixed, and XML import is now more robust, and also gives better error messages than before.

The URILocator class has been rewritten from scratch. The original was based on the java.net.URL, which meant that it couldn't handle non-standard URI protocols or characters in URIs that were not in the platform default character set. It was also too slow. The new implementation solves all these problems.

The engine now has native support for the textual LTM topic map format (described in a separate technology note), which means that LTM files can now be imported directly into the object model. This support is found in the net.ontopia.topicmaps.utils.ltm package.

The log4j package used by the engine to provide logging of actions has been upgraded from version 1.0.4 to version 1.1.3, which has given better performance in some cases.

The test suite has been extended with about 150 new test cases, making it substantially more comprehensive.

57.2.2. Detailed changelog

The main API changes have been in the net.ontopia.topicmaps.utils package, where the changes listed below have been made. Some methods have also been deprecated and added; see the javadoc for these. Generally the API changes have been quite limited.