2010-12-08

Jease 1.5 released

Properties, Design, Configuration, Scripted Servlets

If you're upgrading from Jease 1.1, 1.2 or 1.3, please read the upgrdade notice below before performing an update!

This release introduces properties for content-objects. Properties allow you to add editable fields to content objects directly through the CMS. You can use properties to drive special behaviours in your templates (e.g. mark a content object as important to give it a different visual style in a navigation), add extra information or select different templates for rendering the overall design. More usecases are left to your imagination. Properties are going to be the building block for upcoming releases where I'm going to introduce a concept of prototype based content-classes which can be completely manipulated through the CMS.

A second feature is a new design called "photo". It is a very classy design which overall impression can be easily altered by replacing the photo used in the header and applying a different color schema.

The third new feature is a much improved Mediafield which is used everywhere where files (esp. images) are stored and edited in the CMS. The Mediafield now does a much better job in scaling images.

With the release I'm going to provide more configuration options in web.xml, so it is easier to customize Jease in one central location. As new configurations it is now possible to configure the revision support based on revision counts and timestamps. Additionally you can configure the design to be used, so you don't need to touch Controller.jsp anymore.

My personal pride is a new feature which allows to compile and execute Java-Code on the fly. Jease uses this feature to provide support for "scripted" servlets via the Script-Object, but the used compiler-wrapper is very generic and can be used for other tasks where you want to build, compile and execute Java-Code at runtime of an application. This makes many uses of scripting languages finally obsolete for me... Java rulez in the long run!

I also updated the documention to reflect the new features...

Properties

  • Jease allows now to add additional properties to each content object directly through the CMS. A property is a typed value object (Boolean, String, Integer, Date, File, Array) for which a dedicated PropertyEditor is defined. This way it is easy to extend content objects at runtime without touching the source code.

New Design

  • Added new design called "photo" which can easily be customized by exchanging the header photo.
  • Used jQuery-innerfade to present header photos as slideshow.

Improved Mediafield

  • Improved image scaling (even downscaling GIFs is working nicely now). Kudos to Max.
  • Locked image dimensions are updated on change automatically for a better user experience.
  • It is possible to unlock the image dimensions.
  • Fixed: Saving an image without rescaling did run the image through the scaling processor which decreased quality of images.
  • Used Codemirror as text-editor for Mediafield.

More configurations via web.xml

  • Improved revision pruning based on count and timestamp. Per default Jease keeps 15 revisions at minimum and keeps all revisions for the last 30 days. The parameters are configurable via web.xml.
  • Configuration of default site is now possible via web.xml, so no more need to touch Controller.jsp for a change.

Scripting servlets on the fly

  • Introduced jfix.util.Compiler to compile and execute servlets within Jease on the fly via the Script-Object. Just add a Script with extension ".java" and put your servlet-code into it.
  • The provided compiler-wrapper uses the Java-Compiler distributed with the JDK and can be used in other applications as well when you need to compile and execute Java-Code at runtime. The compiler recompiles source-files only when changes are detected, so once a Script is compiled, execution speed is as fast as generic compiled code.

More features

  • Enabled fulltext-search in content tables within CMS.
  • A Composite can be used as container for a News-Blog by using newly introduced jease.site.Navigations.getVisibleContent().
  • Introduced annotations for more fine-grained control of content-serialization.
  • Capture onChanging-Event for id in Script to set correct syntax for editor on the fly.
  • Improved jfix.zk.Formbox (better API, fewer hacks) which serves as base class for all editors.

Bug fix

  • BlobConverter didn't check the existence of file. Problem was triggered when serializing newly created Blobs which didn't create a file on their own so far.

Dependencies

  • Updated jfix.zk.Images to provide references for all stock-images. You'll need to update your sources if you've used references to jfix.zk.Images, because all names were changed to be in sync with the filenames.
  • Removed servlet-api.jar. This was a compile time dependency for jease.cmf which isn't needed when only developing with jease.cms.
  • jQuery 1.4.4
  • prettyPhoto 3.0.1
  • Latest codemirror.jar and ckez.jar

Upgrade notice (only relevant when upgrading from Jease 1.1, 1.2 or 1.3)

You have to run an update-script to migrate existing revisions to new class format. Just call http://localhost:8080/cms/update/revisions.jsp after updating Jease to migrate the old revisions to the new format. It is highly recommended to create a backup of your database-directory (~/db4o or ~/perst) before doing the upgrade!

Last modified on 2010-12-08 by Maik Jablonski

Download Jease

1970-01-01

You can download the latest binary release bundle here.