The contents of this page describe changes relative to the 3.0 release of Protégé.
Please note: If you have a project in database format in version 3.0
and you want to upgrade, you must first convert the project to a file-based one in Protégé 3.0, and then
regenerate the database project with Protégé 3.1.1.
Enhancements
Bug Fixes
Enhancements
- We are now including an "experimental" XML back-end. This back-end is under development and feedback on the schema is strongly
solicited. The schema should not be considered fixed at this point and users should not rely on this back-end to function correctly or
upon the schema remaining fixed from build to build. We do encourage you to try it out and report any problems that you see. To convert
your core Protege project to XML for testing purposes, just do "File -> Convert Project to Format -> Experimental XML". Please be sure
to choose a new name for this project file so that you don't overwrite your "good" project file. More information is available on our
Wiki: http://protege.cim3.net/cgi-bin/wiki.pl?XmlBackend.
- Greatly improved support for exporting ontologies in HTML format (accessible via "File -> Export to Format -> HTML"):
- Improved look and feel that is more consistent with Protege's user interface.
- The ability to specify custom HTML headers and footers.
- The ability to specify a custom stylesheet.
- The ability to specify which slots and facets to export.
- The ability to save export configurations.
- The ability to sort subclasses on the class hierarchy page alphabetically or by model.
- The ability to choose to numbering for lists of instances.
- HTML export is accessible programmatically.
- The ability to control some of the text labels on generated pages via a properties file (htmlexport.properties)
- Protege now directly supports PostgreSQL as a database for use with the database back-end. No parameter definitions or other
hacks are required to make the system work. Thanks go to Andrew Hastie for providing both the code and the prodding necessary to finally
make this happen. Current PostgreSQL users may wish to regenerate their database projects.
- You can now copy and move slots from one class to another using drag and drop.
- There is now a mechanism to flush multi-user server file-based projects to disk and shutdown the server. This mechanism is
documented on our Wiki:
http://protege.cim3.net/cgi-bin/wiki.pl?ShuttingDownTheServer.
- The Protégé installer has a new option called "Basic + OWL" that allows users to install the base system, the OWL
plug-in, and only those plug-ins with OWL specific support
- Combined the "Open Project" and "Open Remote Project" menu items into a single item that presents a unified dialog. Modified the
welcome dialog so that "Open Existing Project..." also displays this dialog.
- The "Build" and "New" dialogs have been replaced with a single wizard for creating new projects.
- Added the capability on the Instances tab to view/add/remove the direct types of an instance. Form view modifications to support
multiple types is not available yet.
- Completed UI support for instances with multiple types. By default, the form for an instance with more than one type displays
as a single large form. This can be configured from the Project | Configure | Options dialog to instead display as a tabbed pane.
- Improved the performance of searching in the classes tree. Also limited the number of search results to 100 and made this a
configurable parameter. Previously it was hard-coded to 1000. Added a dialog to notify people that their search results were truncated
because of this.
- Changed the way system classes are handled by the database back-end. Cleanest would be to rebuild all current databases (dumping to
a file and then rebuilding). Rebuilding is required for OWL databases.
- Added a getImage() method to the graph widget that allows you to get the contents of the graph widget as an image. Also posted
example code on the Wiki that demonstrates how to use the method and save the resulting image object to a file:
http://protege.cim3.net/cgi-bin/wiki.pl?WorkingWithTheGraphWidget.
- The IntegerListWidget and FloatListWidget now validate user input.
- The instances list on the Instances tab now remembers whether it was displaying subclass instances.
- Modified the way classes are loaded by RMI. This may address some plug-in classloading problems in the server.
- Incorporated the OWL Plugin toolbar icons into the core toolbar.
- Made URLWidget loading asynchronous.
- Changed the behavior of the KnowledgeBase.createCls call to be the same as the KnowledgeBase.createInstance call when an empty set
of direct types is passed in. Previously, createCls would "guess" a type to use while createInstance would create a "typeless" instance.
Now both calls will create a typeless frame.
- An attempt to create a database project by overwriting an existing database table now results in a warning dialog.
- Added code to the graph widget that prevents anonymous classes from being displayed in the palette (applicable to Protege OWL projects).
- Added PluginUtilities.isOWLAvailable() method to test if the OWL plug-in has been installed.
- Reworked the "Include Projects" menu items and their implementations
Bug Fixes (3.1.1)
- Fixed the "create project plugin" type so that it actually works.
- Fixed the RDF create project plugin.
- Fixed a problem which caused the InstanceTreeTab to incorrectly terminate expansions on "recursive" slots
Bug Fixes (3.1)
- The "add superclass" control on the Classes tab now respects the "allowed parents" facet on the
"direct-superclasses" slot. Thanks go to Marc Dzaebel for contributing this fix.
- Fixed a bug occurring in slots which had both inverses and template values.
- Fixed a bug that caused the final change in a text component to sometimes get lost before a save.
- Added some code to try to ensure that the Help menu remains the last menu on the menu bar.
- Fixed a crashing bug in the UMLS Tab.
- Fixed some inconsistencies in the use of text antialiasing.
- Worked around a problem in the multi-user server that caused a ClassCastException on some operations with the OWL Plugin
- Fixed some JDK 1.5 incompatibilities.
- Fixed a problem with our installation software that prevented Protégé from launching properly with JDK 1.5.
- Fixed a problem which caused exceptions when no default slot metaslot was set.
- Fixed a problem with the multi-user server cache not being updated sometimes.
- Fixed a problem with relative URLs not working in the URL widget.
- Fixed a problem that caused newly opened projects not to be added to the most recently used list.
- Fixed a problem with the "Open Remote Server" panel not remembering the last information that was entered.
- Fixed an exception on "manage included projects" with new projects.
- Fixed problems that prevented the override of system slots.
- Fixed a problem which caused spurious console messages to be generated when viewing instances with multiple types.
- Fixed a problem with slot values getting lost for instances with more than one type.
- Fixed a problem which occurred when duplicate definitions of a frame appeared in more than one included project.
- Fixed a problem which prevented cursor changes on instance forms.
- Fixed a problem which caused duplicated instances to get the wrong values for slots with subslots or template slot values.
- Fixed a longstanding problem which sometimes caused "Operation on closed kb" stack traces after closing a project.
- Searching in class trees now works in situations with recursive inheritance. Previously it resulted in "stack overflow" messages.
- Fixed a problem which sometimes caused save failures on new Clips and RDF projects.
- Fixed problem resulting from file case insensitivity on MS Windows.
- Copying instances with more than one type now works correctly.
- Fixed a problem with form update on slot change.
- Fixed a problem with the Facet Constraints tab throwing a class cast exception.