This release is a major release of WebProtégé. It contains many improvements, new features and enhancements beyond the 3.0.0 release.
Please note that this is a release for system administrators who are in charge of maintaining a local installation of WebProtégé. In general, end-users should use WebProtégé at https://webprotege.stanford.edu.
This release is not compatible with previous releases. It is not compatible with data generated by previous releases. Once you have upgraded to this release you cannot return to a previous WebProtege release. This release is a drop in replacement for WebProtege 3.0.0. If you have an earlier existing installation, you MUST upgrade it by following the migration instructions. What ever you do, please back up your existing data directory first.
Please see the wiki for installation instructions.
Entities can now be tagged with colorful custom tags. Tags are set up on the settings page for a project and can be assigned automatically, based on ontology content, or manually.
We have added a simple structural query capability to WebProtege. There is a new "Query" tab for this that exposes a query view. Queries can be built up using a form, and entities can be queried by the presence or absence of annotation values, hierarchical position, etc. We plan to add more querying capabilities in the future.
Simple existential graph visualization that displays a visualization of hierarchical information and relationships for the currently selected entity.
- Inline display of images for annotation values that are URLs pointing to images.
- Inline display of change history that is integrated into the simple entity view. There is no need for a separate Entity Changes tab anymore.
Bulk Editing Capabilities
It is now possible to edit multiple annotation values at once. Editing is accomplished through specifying matching criteria and matched annotations can either be deleted, be augmented or be replaced based upon the matched values. It is possible to match values using regular expressions and then use the capturing groups from the regular expression to generate fresh or replacement values.
Improved Multi-lingual Capabilities
It is now possible to specify a default language for a project. When creating entities, they are labeled with the default language tag, which can be overridden at entity creation time. It is now possible to specify annotation property/language tag pairs that should be used for generating display names.
It is also possible to set up a secondary display language and override the primary and secondary display languages on a per-user/browser basis. Secondary display languages are shown in the various hierarchies and listed alongside the primary display name.
Improved Individual Navigation
We have improved individual navigation and filtering capabilities. Individuals can be filtered by type, and it is possible to jump up or move down their class hierarchy to change the filter to related more general or more specific types. It is also now possible to display direct and indirect instances of the filter type.
Dark Mode Support
For those that like this sort of thing, and for operating systems and browsers that support it and have it enabled then dark mode is available. For example, if macOS is set to use dark mode (macOS 10.14.4 or later) and the browser is Safari then WebProtégé will be displayed in a dark mode theme.
This release is a major release of WebProtégé. It contains many improvements, new features and enhancements.
Please note that this is a release for system administrators who are in change of maintaining a local installation of WebProtégé. In general, end-users should use WebProtégé at https://webprotege.stanford.edu.
This release is not compatible with previous releases. It is not compatible with data generated by previous releases. If you have an existing installation, you MUST upgrade it by following the migration instructions. What ever you do, please back up your existing data directory first.
Please see the wiki for installation instructions.
Front End Changes
Most of the WebProtégé user interface has been reimplemented from the ground up. This has enabled us to provide a cleaner, more modern look & feel and more flexible user-interface for WebProtégé.
- Completely rewrote the font end framework so that the user interface is more modern and easier to work with. As part of this we completely removed the dependency on the defunct gwtext framework.
- Changed the UI to have a new more modern look and feel.
- Changed the default page to be a sign in screen.
- Added new colourful icons for users that are automatically generated based on the user name.
- Project and entity URLs are now bookmark-able. Browser back/forward buttons now work for entity browsing.
- The project list is now only displayed after sign in.
- By default, the project list is now ordered to show most recent projects first.
- Added last opened information to the project list.
- Added last modified information to the project list.
- Added the ability to sort the project list by display name, project owner, last modified, last opened.
- Added the ability to filter the project list with options for "Owned by me" and "Shared with me".
- Added the ability to open projects in a new window.
- Combined the "create" and "upload" functionality into a single dialog.
Tabs and Views
- Views in the user interface can now be "dropped" into tabs and resized by dragging the splitters between them. This works in a similar way to desktop Protégé. (See screenshot below)
- Tab layouts are now automatically saved when they are changed.
- Added the ability to reset tab layouts to the default layout.
Replaced the class, object, data and annotation property hierarchy displays so that they are more reliable, robust and more uniform over the different types of hierarchy.
Split the object, data and annotation property hierarchies out into separate trees that can be reached by tabs.
Added context menus on the class, object property, data property and annotation hierarchy displays with short cuts for creating entities and actions to prune (see below) the displayed hierarchies.
Added new entity search functionality. In addition to the class hierarchy, the object property, data property and annotation property hierarchies can now be search.
Added "watch" functionality to the object, data and annotation property hierarchies.
Added the ability to temporarily prune branches from the view in the various hierarchies (see screenshot below). This makes it easier to focus on a specific entity at a specific place in the hierarchy and view/edit its children.
- Search results are now highlighted to indicate the matched portion of the display name or IRI (see screenshot below).
- Search is now performed on OBO identifiers (if present) by default (see screenshot below).
- Reimplemented the comments view so that it is cleaner and simpler. Comments are still grouped into threads that can be "open" or "closed".
- Made it possible to use markdown in comments for emphasising text, adding links etc.
- Made it possible to include links to entities in comments. Links are formatted as markdown links and entity links can be autocomplete by typing the first few characters of the entity name and then pressing Ctrl+Space to bring up possible completions.
- Made it possible to "@" mention users in discussions. Auto-completion (activated by Ctrl+Space) is supported for user mentions.
- Added a new view to summarise open and closed entity discussion threads. This means that it is now no longer necessary to go hunting through the class hierarchy for discussion threads. (See screenshot below).
Deprecated Entities View
- Added a separate view that lists deprecated entities. This removes top-level deprecated classes from the class hierarchy, which improves performance and reduces clutter.
Project Feed View
- Improved the change description messages for changes made in the default editor.
- Links to relevant entities are now shown in the project feed view.
Project Settings Page
- Added a brand new project settings user interface
- Added a page for registering Webhooks for notifications of project changes
- Added a page for registering Slack Webhooks for notifications of posted comments. This can be used to make discussion comments appear on a slack channel.
- Changed the "Sharing" interface to be cleaner and simpler.
- Added the ability to allow collaborators to "manage" projects.
Improved the default style for email messages that are sent out to users for notifications of project changes and posted comments (see below).
Notification emails now contain links to the relevant project, subject entity and any mentioned entities (see example below).
Notification emails for posted comments are now threaded for email clients that support this.
- Added a new application settings view for administrators.
- Added the ability for administrators to enable/disable project creation.
- Added the ability for administrators to enable/disable project upload.
- Added the ability for administrators to set a max file size for uploads.
- Added the ability for administrators to enable/disable account creation.
- Switched from Gin to Dagger for dependency injection.
- We now use the activities/places design pattern throughout the UI. This means that most pages have their own URLs and are bookmark-able.
Back End Changes
- Completely removed the Protégé 3 MetaProject store, resulting in greatly improved performance and robustness.
- User details are now stored in MongoDb instead of the MetaProject.
- Account details are now stored in MongoDb instead of the MetaProject.
- Project details are now stored in MongoDb instead of the MetaProject.
- Entity discussion threads are now stored in MongoDb instead of being stored in per-project ontologies.
- Reimplemented email notifications so that customisable templates are used for notification emails.
- Completely overhauled the authorisation/permissions system to make it faster, more robust, more fine-grained and more easily extensible. We now use a hierarchical role based access control model. Settings for this are stored in MongoDB.
- Switched to a more standard layout for logging. Logs are now written to /var/log/webprotege
- Switched to a more standard layout for configuration settings. Settings are now search for in
- Removed legacy services such as the ontology service. We now use an action/result dispatch-style pattern, making it easy to add new actions.
- Switched from Guice to Dagger for dependency injection.
This release updates parts of the WebProtege UI and fixes numerous bugs.
Please note that this is a release for system administrators who are in change of maintaining a local installation of WebProtege.
- Updated the look and feel of the simple editor to be more modern and have a more lightweight appearance.
- Shortform provider fails if the short form contains illegal escapes (#238)
- A fresh metaproject is created if none exists (#259)
- A MongoTimeOutException can be thrown but WebProtege does not deal with this cleanly (#260)
- Tabs without a controlling portlets can produce a null pointer exceptions (#273)
- Individuals list does not follow class selection after being clicked (#272)
- The Entity Description Editor could generate a 500 error on input (#274)
- Fixed a memory leak caused by the event manager not being disposed
- user.account.creation.enabled flag is not respected after a sign-in-sign-out-sign-in cycle (#268)
- Numbers with comma separators aren't parsed as numbers in the simple editor (#264)
- Email address uniqueness is enforced when changing an email address in the UI (#297)
- Users are reminded of their username when resting their password (#293)
- Dates displayed in the revision list are sometimes incorrect (#316)
- Project feed is broken under some circumstances (#299)
It also includes a huge number of under the hood changes and code improvements that are too numerous to mention - see v2.5.0...v2.6.0 for a complete description of these.
This release adds several new features and fixes various bugs.
- Well known prefix names can be specified when creating entities. For example, you can type
foaf:Personwhen creating a class and the
foaf:prefix name will be expanded to the foaf prefix. (#131)
- Absolute IRIs can be specified when creating entities. Specifying the IRI between angled brackets causes the created entity to be assigned that IRI. For example, specifying
<http://semanticweb.org/ontologies/A>when creating a class with cause the class to have the IRI
- Added complete editing support for OWL 2. This build features a Manchester Syntax text editor, with syntax highlighting, error checking and autocompletion. The editor is available as the "OWL Entity Description Editor" and can be added to tabs that permit editing of classes, properties and individuals. For projects that contain multiple ontologies, the editor also makes it possible to tell which ontology axioms reside in. Finally, it is possible to bundle multiple edits for a given entity together and "commit" them with an optional comment.
- The metrics portlet has had a makeover to make it more readable.
- MongoDB manager ignores webprotege.properties (#65)
- Search results aren't ordered alphabetically (#4)
- Not all SMTP mail settings are configurable (#64)
- Individuals selection popup appears empty (#78)
- Search in IndividualsList portlet does not select search result (#79)
- Optimised project purging and loading (#87)
- Some dialog boxes were displayed below other UI components due to z-ordering issues. (#124)
- The properties tree does not sort properties by display name (#111)
- Metaproject saving is too eager (#129)
- Newly created projects should appear at the top of the projects list (#130)
- Parsing links in property values does not work with https links (#133)
- Re-implemented the metrics portlet to fix several bugs (#139)
- Projects that contain anonymous ontologies could not be downloaded via the revisions portlet (#123, #143 and #154)
- Ranges that a built in entities are not shown unless the entity is explicitly used in the signature of the imports closure (#107)
- Add support for viewing and editing negative property assertions (#99)
- Add the ability to edit property axioms (#93)
- The "conditions" portlet has been replaced with the entity description editor. (#137)
- The simple UI now types numbers as decimals by default (xsd:decimal). This makes it consistent with other OWL syntaxes. (#121)
- Updated the readme to clarify the gwt:run goal (#135)
- Updated to use OWL API 3.5.0
- WebProtege is now built using Maven. We have changed from using build numbers for releases to using traditional semantic versioning identifiers in line with the change to Maven.
WebProtege Release 110
This is a maintenance release which fixes a number of bugs:
- Under some local installations the Revisions view download links gives a 404 error (#53).
- WebProtege parses some turtle files as OBO files (#62).
- When pressing OK in the new entities dialog without making any changes, the IRI prefix reverts to http://protege.stanford.edu (#56).
- Up and down keys have no effect in the individuals list portlet (#58). As a side effect of fixing this bug, loading the individuals list is much faster than before.
- The subscribe link in the "Send feedback" item on the Help menu is out of date (#57).
- Autocompletion for unknown property values is broken - WebProtege no longer offers the ability to create new values as classes or individuals (#51).
- Some buttons look strange on webkit based browsers (#50).
WebProtege Release 106
- (1) Generate an IRI using a Universally Unique Id (UUID),
- (2) Generate an IRI based on OBO style Ids, and
- (3) Generate an IRI using the supplied name as a suffix.
In addition to this, the following issues have been fixed:
- @ symbols in literals are parsed into language tags (#2)
- Editing an existing property/value causes the field to go blank in the editor form (#8)
- Hard coded links to webprotege.stanford.edu are used in the UI (#6)
- Clicking to autocomplete in the property/value editor causes the field to go blank (#24)
- Updating the language tag for a property duplicates the property (#25)
- Focus is lost after entering a property value in the editor form (#30)
- The default layout is too large for low screen resolutions (#40)
- The "Restrictions" portlet should be called the "Conditions" port let (#42) - Note this requires project configurations to be updated.
- The default Usage portlet height is too small (#43)
- Pressing Enter in the editor form when selecting an item from the autocomplete popup can cause a new line to be added (#48)
- Changed the UUID IRI generation so that suffixes don't start with numbers (#18)
- Change the default prefix for IRIs so that it does not encode the type of entity (#19)
- Downloading an empty project downloads an empty zip file (#33)
- Unloadable imports prevent a project from being uploaded (#34)
- Attempting to download an empty, un-opened project causes an error (#35)
- The default port for mongodb is incorrect (#31)
- Accessor methods for the mongodb port and mongodb host are missing in WebProtegeProperties (#32)
- A NullPointerException is sometimes thrown when retrieving "related property values" (#38)
- A NullPointerException is sometimes thrown by the NotesManager (#39)
Old release notes
- The release notes for previous (105 and earlier) WebProtege releases are available here: http://protegewiki.stanford.edu/wiki/WebProtegeReleaseNotes