2011-04-27

Jease 2.0 released

Transparent Relocation, Instant Preview, Group Select, Link Checker, Redirections, Translations

Please read carefully before upgrading:

  • Before performing an upgrade, make a backup of your database directory.
  • Read the upgrade guide carefully before upgrading. Jease 2.0 is database upward compatible with Jease 1.9.x (but after an upgrade there's no way going back), but there are some important changes in the templates required which needs to be applied manually.

Jease 2.0 is a big leap forward transforming Jease into a full-featured Content-Management-System. Jease started as Content-Management-Framework with a simlpe example CMS on top of it two years ago. Over the time Jease matured more and more into a feature-rich Content-Management-System while preserving the ease of use, customization and maintainability.

The main theme for the 2.0 release line is to continue the journey from a developer oriented Content-Management-Framework to a user-friendly Content-Management-System which tries to make publishing in the internet as easy as possible. Nevertheless Jease targets Java web developers who want to things getting done without headaches.

New Features

Transparent Relocation
Jease uses now a special prefix () for all internal links. If a referenced content object is relocated (renamed or moved), Jease automatically rewrites all references to the new position. This way no more broken links due to relocations will happen while preserving nice URLs. The internal links are rewritten on client side to their external form via jQuery, although a Jease Rewriter can also be used to do this task on server side. If no link transformation takes place, an additional redirect will be used to redirect to the final location. Additionally this feature allows to run Jease independent of the context path of the deployed instance. This way you can start working with Jease with a application context path and later deploy your instance as ROOT application for production without the need to change anything.
Instant Preview
You can preview all changes without the need to save them before. This works by storing a copy of the current content object in the session and render it when present. This should also reduce the number of stored revisions for minor changes. Additionally this allows to switch revisions and preview them without the need to re-save them anymore.
Group Select
Jease features now a group select mode which allows to select several content objects for drag and drop operations. This way you can move several from one folder to another or into the trashbin. By switching into "group select mode" it is also far easier to sort items in a folder because all content objects are displayed at once.
Link Checker
In order to check the existence of external links, a link checker is included. It is possible to edit wrong links directly from the link checker, so keeping your site in a good health state is very easy now.
Redirection Service
Jease allows you to create comlex redirect rules based on the power of Java regular expressions directly through the administration interface. The redirction service works very efficient, so it is usually not necessary anymore to configure any redirect rules in your web server.
Translation Service
In order to make it easier to localize Jease into the language of your choice, a dedicated translation service was introduced. The default language can be configured in web.xml. Available translations are: cn,de,en,es,ja,fr,it,pl,pt,ru

More Changes

  • Added explicit version information which is displayed on the login page.
  • Added Content#replace() which can be used to perform a search&replace on all content objects.
  • JEASE_SITE_REWRITER can now be used without having to reconfigure web.xml without any performance penality when no rewriter is used.
  • Mediafield allows image rotating and features instant preview when resizing.
  • Jease retrieves now the desktop (=view) height on application startup and uses it to calculate heights for editor components more reasonable.
  • If the parameter JEASE_SITE_DESIGN starts with a slash (/), it is interpreted as absolute path to Page-Template and no more overriding with a Cookie-Parameter is possible. This way it is also easier to split custom designs from default ones delivered with Jease by using a custom namespace besides the sites-directory. If no slash is present, the name is interpreted as design which is checked for existence before use.
  • Removed getFulltext() in Folder and Reference (forwarding to referenced Content) to avoid duplicate results in internal searches. Added enhanced checks in site.Fulltexts for public search.
  • Renamed site/Controller.jsp to site/Dispatcher.jsp. Refactored JeaseSiteServlet to jease/site/Controller which results in less configurations in web.xml.
  • Added overloads for Navigations#getTabs() and Navigations#getSiteNews() with additional container as fixture.
  • Removed title from feed include.
  • All Texts import via Quick-Upload are stored as "plain text" to avoid rendering problems with WYSIWYG-editor if obscure HTML is imported.
  • It is not possible to change the rood ID anymore.
  • Merged all Names-Files providing constants for global names into jease.Names for easier maintenance.
  • Use a wildcard (*) in revision control instead of "Content"-label.
  • Added Navigations.isRoot() which allows to check if a content object is the root folder or the default content.
  • Added overload jease.Registry.getParameter(key, defaultValue).
  • Change jfix.zk.ObjectTableModel which now returns the actual size. If a last "null" row is needed in applications, getSize() should be overwritten.
  • Set page title for browser window in CMS/Setup-Pages.
  • Discussion.jsp uses Regexps.convertTextToHtml() as renderer for comments (= automatically convert text into paragraphs and create links from urls). Configure threading view with JEASE_DISCUSSION_PRESENTATION
  • jfix.util.Regexps: added convertTextToHtml,convertUrlsToLinks and extractUrls
  • Added jfix.zk.Sessions.remove(String).

Bug Fixes

  • Fixed minor bug in PropertyManager (missing brackets around or-condition could result in non-property labels added to augmentables)
  • Feeds: moved XML-declaration to top of file. Otherwise an empty line at the top of file might result if container doesn't support whitespace-stripping.
  • Fixed bug with stale Picklist which didn't show new folders in user-management after first use.
  • Fixed empty result due to NullPointerException when query term was found in root node.
  • jfix.util.Compiler: fixed bug with encoded spaces (%20) in filenames returned from URL.
  • Added a div-tag with style="clear:both" between content and editorial, so no "open" floating after content can destroy the page layout.

Removed Features

  • Removed all deprecated fields and update-methods.
  • Removed Page.Root, Page.Title and Page.BasePath from templates.
  • Removed Paper-design.

Dependency Updates

  • db4o 8.0
  • Lucene 3.1.0
  • CodeMirror 1.0
  • prettyPhoto 3.1.2

Last modified on 2011-04-26 by Maik Jablonski

Download Jease

You can download the latest binary release bundle here.