<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<link rel="self" type="application/atom+xml" href="http://www.jease.org/site/service/feeds/atom.jsp" />
<title>Jease Atom Feed</title>
<subtitle>News from www.jease.org</subtitle>
<id>http://www.jease.org/</id>
<updated>2017-12-24T15:53:16+01:00</updated>
<entry>
<title>Jease 2.11 released</title>
<summary>Dialogs, Trash Configuration, Creation Date, Improved Access, LinkProperty, Scalr</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/2.11/release" />
<id>http://www.jease.org/download/2.11/release</id>
<updated>2013-12-08T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p style="text-align: center; ">
	<strong><a href="./~/download/2.11/download">» Download Jease 2.11 «</a></strong></p>
<div style="border: 1px solid #e0e0e0; padding: 5px; text-align: center;">
	<ul>
		<li style="text-align: left;">
			If you're upgrading from Jease 2.10 or below, please make sure to remove the reference to site/service/Pagebase.jsp in your page templates.</li>
	</ul>
</div>
<h2>
	Features</h2>
<ul>
	<li>
		Dialogs are closed on save.</li>
	<li>
		Allow to specify "days to keep" for emptying trash via control panel.</li>
	<li>
		JeaseConfig is now injectable via cms/index.zul.</li>
	<li>
		Added creationDate to Content class.</li>
	<li>
		Allow to use multiple Access objects within a single folder.</li>
	<li>
		Made References useable for Access objects.</li>
	<li>
		Added a LinkProperty which allows to add internal or external links as properties.</li>
	<li>
		Use Scalr for image scaling and resizing (ultra quality).</li>
</ul>
<h2>
	Changes</h2>
<ul>
	<li>
		Moved PDF conversion to ConvertAPI due to dependency impact between Tika and FlyingSaucer. Removed jars for FlyingSaucer and iText.</li>
	<li>
		FilenameConverter: use a hyphen instead an underscore as replacement for invalid ids to make Google happy.</li>
	<li>
		Improved Spanish I18N provided by Juan López.</li>
	<li>
		Removed Pagebase.jsp (base-tag isn't needed anymore).</li>
	<li>
		Use target=_blank for PDF-Links.</li>
</ul>
<h2>
	Bug fixes</h2>
<ul>
	<li>
		Fulltext search in admin view was broken.</li>
	<li>
		Fixed missing UTF-8 conversion in jfix.compiler.</li>
</ul>
<h2>
	Dependencies</h2>
<ul>
	<li>
		Tika 1.4</li>
	<li>
		XStream 1.4.5</li>
	<li>
		Tomcat 7.0.47</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 2.4.1 released</title>
<summary>Important bug fix for Transit-Object</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/2.4/release/release-2.4.1" />
<id>http://www.jease.org/download/2.4/release/release-2.4.1</id>
<updated>2011-09-13T00:00:00+01:00</updated>
<content type="html"><![CDATA[<ul>
	<li>
		This releases fixes an important bug which is present in Jease 2.3 and Jease 2.4: when using a Transit-Object, changes to the referenced file were saved automatically when closing the editor window (without doing an explicit save before). This way an administrator could easily modify files in the file-system (e.g. Templates) by accident.</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 2.4 released</title>
<summary>Configurable CKEditor, Bug fixes, Dependency Updates</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/2.4/release/release-2.4" />
<id>http://www.jease.org/download/2.4/release/release-2.4</id>
<updated>2011-09-07T00:00:00+01:00</updated>
<content type="html"><![CDATA[<h2>
	Features</h2>
<ul>
	<li>
		Allow to configure CKeditor via a custom path parameter called JEASE_CKEDITOR_PATH.&nbsp;This solution allows to retrieve the config from within the CMS, the web application or even external urls. By using a Script the config can be also generated dynamically.</li>
</ul>
<h2>
	Changes</h2>
<ul>
	<li>
		Honour valid authorizations for public fulltext search: if a user has access to content, include search results from guarded content.</li>
</ul>
<h2>
	Bug fixes</h2>
<ul>
	<li>
		Root node was editable after switiching revisions.</li>
	<li>
		Updated wikitext.jar which fixes a bug with #setInternalLinkPattern for Confluence markup. Thanks to Patrick for tracking down this issue and providing a fix for Eclipse committers.</li>
	<li>
		Data export (print, excel) missed last line in table model.</li>
</ul>
<h2>
	I18N</h2>
<ul>
	<li>
		Updated russian translation. Thanks to the contributions from Max and Ivan!</li>
	<li>
		Added I18N to property selection.</li>
	<li>
		Handle NodeException-Message via I18N.</li>
</ul>
<h2>
	JFix</h2>
<ul>
	<li>
		Added first draft for a dynamic template compiler (based on JSP-Syntax) which allows to compile JSP- templates at runtime from classpath.</li>
	<li>
		jfix.zk.SelectButton: added delegate to ItemRenderer and use it for rendering label of button.</li>
	<li>
		ObjectTable#rebuild() as hook for rebuilding component from scratch.</li>
	<li>
		ObjectTableModel/Renderer: Cache cols in local variable; useful when cols are calculated at runtime.</li>
	<li>
		Changed signature for ObjectEditor#searchPerformed from private to protected.</li>
	<li>
		Picklist: automatically select choices after search.</li>
</ul>
<h2>
	Dependency Updates</h2>
<ul>
	<li>
		ZK 5.0.8</li>
	<li>
		XStream 1.4.1</li>
	<li>
		Latest wikitext.jar</li>
	<li>
		Tomcat 7.0.21</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 1.9.2 released</title>
<summary>Tomcat Config Typo, fixes for Dynamic Compiler, Page Template, Search and Feeds.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.9/release/release-1.9.2" />
<id>http://www.jease.org/download/1.x/1.9/release/release-1.9.2</id>
<updated>2011-04-26T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>
	Please read the <a href="./~/download/1.x/1.9/release">detailed release notes</a> for more informations about Jease 1.9.</p>
<p>
	Jease 1.9.2 contains several minor fixes:</p>
<ul>
	<li>
		Tomcat: fixed typo in jease/conf/server.xml. It must read "useBodyEncoding" instead of "seBodyEncoding" in the declaration of the HTTP-connector. This resulted in a problem with garbled UTF-8 searches.</li>
	<li>
		Dynamic Compiler: fixed bug with encoded spaces (%20) in filenames returned from URL. This could lead to a problem when running Jease under a directory which contains a space character in the path (e.g. Windows).</li>
	<li>
		User-Management: fixed a bug with the Picklist for root selection which didn't show last created folders after first use.</li>
	<li>
		Search: fixed empty result due to NullPointerException when query was found in root node.</li>
	<li>
		Templates: added clear-both after content and editorial, so no "open" floating after content can destroy layout.</li>
	<li>
		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 (e.g. Jetty).</li>
</ul>
<p>
	Depending on if you're updating Tomcat along with Jease or not, updating is mostly straightforward: simply copy <strong>jease/webapps/ROOT/WEB-INF/lib/jease.jar</strong> and <strong>jease/webapps/ROOT/WEB-INF/lib/jfix.jar</strong> to your existing installation and restart your server. Additionally you can fix your Page-Template by adding a div-tag with style="clear:both" between content area and editorial. If you're using News and running Jease on Jetty, you should copy jease/webapps/ROOT/site/service/feeds/* to your instance.That's it.</p>
]]></content>
</entry>
<entry>
<title>Jease 1.9.1 released</title>
<summary>Minor bug fixes, CodeMirror 1.0, Tomcat 7.0.12</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.9/release/release-1.9.1" />
<id>http://www.jease.org/download/1.x/1.9/release/release-1.9.1</id>
<updated>2011-04-06T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>
	Please read the <a href="./~/download/1.x/1.9/release">detailed release notes</a> for more informations about Jease 1.9.</p>
<p>
	Jease 1.9.1 contains a fix for a small bug in PropertyEditor, updates some translations and comes with CodeMirror 1.0. It also is bundled with <a href="http://tomcat.apache.org/tomcat-7.0-doc/changelog.html">Tomcat 7.0.12 which fixes security issues</a>&nbsp;which shouldn't affect Jease at all, but better to be safe than sorry.</p>
<p>
	Depending on if you're updating Tomcat along with Jease or not, updating is mostly straightforward: simply copy <strong>jease/webapps/ROOT/WEB-INF/lib/jease.jar</strong> and <strong>jease/webapps/ROOT/WEB-INF/lib/codemirror.jar</strong> to your existing installation and restart your server. That's it.</p>
]]></content>
</entry>
<entry>
<title>Jease 1.9 released</title>
<summary>Long Term Support, Maintenance mode, User-Management, Sequences, Error page, ScriptProperty, HTML Rewriter</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.9/release/release-1.9" />
<id>http://www.jease.org/download/1.x/1.9/release/release-1.9</id>
<updated>2011-03-21T00:00:00+01:00</updated>
<content type="html"><![CDATA[<div style="padding: 5px; border: 1px dashed #8899aa;">
	<p>
		<em><strong>Please read carefully before upgrading:</strong> </em></p>
	<ul>
		<li>
			Before performing an upgrade, make a backup of your database directory.</li>
		<li>
			If you upgrade from 1.7 or earlier, please read the <a href="./~/download/1.x/1.8/?print">upgrade note from 1.8.</a></li>
	</ul>
</div>
<p>
	Jease 1.9 is the last major release in the 1.x series and the first one which comes with "long term support". <strong>Long term support</strong> means that Jease 1.9 is "feature frozen" (so no new features will be added anymore), but I will provide bug-fixes and support until end of 2012 (and maybe longer if required). This way Jease 1.9 will provide you with a stable and supported platform to develop your custom content-management solutions. The main development with new features will done for the 2.x series.</p>
<p>
	This release adds some important new features to Jease besides some minor changes and a few important bug fixes. This first new feature is the option to run the CMS in <strong>"maintenance mode"</strong>, so only administrators are allowed to work within the CMS, while all other editors are logged out automatically after having saved their current work. The user management screen shows now the last time a user accessed his session, so an administrator can see when the last editor is logged out.</p>
<p>
	Another feature is the introduction of a database persistent <strong>sequence generator.</strong> This can be used in combination with a Factory to create ids automatically or as a general counter for other purposes (e.g. a downloads counter).</p>
<p>
	In order to provide more <strong>user-friendly 404-error pages,</strong> Jease now supports a custom error page which can be set via a parameter. This way the error page can be displayed within the layout of your site.</p>
<p>
	Another interesting feature is the introduction of a global JEASE_SITE_REWRITER which is a <strong>post-processor for the resulting HTML.</strong> With a JEASE_SITE_REWRITER you can do fancy stuff like obfuscate email adresses, add additional markups which is translated server-side and so on.</p>
<p>
	To make the property support more useful, I've added a <strong>ScriptProperty</strong> which can act as a provider for choice/selection-properties. This way it is possible to create the options via Java code at runtime of the CMS.</p>
<p>
	Last but not least the Transit and Script content types have now an additional attribute called "forward" which allows to create non-HTML-content easily.</p>
<h2>
	Features</h2>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<ul>
	<li>
		Added "Maintenance Mode" via setting JEASE_CMS_MAINTENANCE. While in "maintenance mode" only&nbsp;administrators are allowed to work, while all other users will be automatically logged out after&nbsp;saving their current work.&nbsp;</li>
	<li>
		User Management: display last session access for every user.</li>
	<li>
		User-Management: constrain selectable roots to content containers (not only to Folders).</li>
	<li>
		Sequence: added infrastructure for named sequences. A sequence generates a database stored series of integers.&nbsp;A Factory can now use a sequence to generate ids automatically.</li>
	<li>
		Added a custom error-page. If a parameter JEASE_SITE_ERROR is set, the denoted resource will be used&nbsp;a error page.</li>
	<li>
		JEASE_SITE_REWRITER: allows to capture response of Controller and apply text transformations. Useful&nbsp;to implement custom markup or exchange strings etc.pp. Added default implementation for JEASE_SITE_REWRITER. This way a script (Java code with declared Function<string,string) a="" be="" can="" enabled="" html="" in="" jease_site_rewriter="" li="" needs="" of="" parameter="" post-process="" resulting="" site.="" stored="" the="" to="" used=""> </string,string)></li>
	<li>
		Added ScriptProperty which acts as Provider for Selection/Choice-Properties and allows to create&nbsp;values via "scripted" Java code.</li>
	<li>
		Added explicit forward attribute for Script &amp; Transit. This make the usage of Script/Transit more&nbsp;flexible if you want to return non-paged content.</li>
</ul>
<h2>
	Changes</h2>
<ul>
	<li>
		ContentEditor: administrators do not change "last modification information" (last editor, last&nbsp;modified date) anymore when the last editor is a non-administrator. This way the editor information&nbsp;will be preserved when an admin performs technical modifications/corrections to a document.</li>
	<li>
		Refactored JEASE_USER_AUTHENTICATOR from web.xml to parameter JEASE_CMS_AUTHENTICATOR.</li>
	<li>
		Hide user management for non-administrators if parameter "JEASE_CMS_AUTHENTICATOR" is present.</li>
	<li>
		Evaluate existence of JEASE_SITE_DESIGN to determine wheter View-buttons should be displayed or not. This way Jease can be&nbsp;turned from a WCMS into a DMS by simply removing JEASE_SITE_DESIGN-paramter at runtime.</li>
	<li>
		Abbreviate multiline parameters in parameter table view.</li>
	<li>
		Surround Login.getAuthenticator() with try/catch to avoid lock out when custom authenticator is&nbsp;broken or not present.</li>
	<li>
		Node/Content: use path only as identity for toString()</li>
	<li>
		Item.jsp: Split newlines in properties into br's.</li>
	<li>
		Slightly decreased editor heights for betting usability on small displays.</li>
	<li>
		Added Users.queryByLogin(login) which retrieves the user for given login.</li>
	<li>
		Trash: use "Empty Trash" as label for Delete button when Trash is not empty.</li>
	<li>
		Introduced jease.Names as global name provider for system strings.</li>
	<li>
		Added Properties.getProperties(parent, content) which returns an array of properites for given&nbsp;content which is synchronized with factory when content is appended to given parent.</li>
	<li>
		web.xml: added dispatchers to filter-mapping for JeaseServletFilter which allows to serve error-&nbsp;pages out of the CMS. Added JeaseSessionListener to retrieve the set of all active sessions.</li>
</ul>
<h2>
	JFix</h2>
<ul>
	<li>
		jfix.zk.RichTextArea: removed Text-Direction-Buttons from CKeditor. Moved custom filebrowser to web.jfix.ckez, so repackaging of Jease into single jar-file is now possible.</li>
	<li>
		Added jfix.servlet.ResponseRewriter (allows to capture response and apply string transformation</li>
	<li>
		function)</li>
	<li>
		Added jfix.zk.Modal.exception() which displays complete stacktrace in modal window. Use Modal.exception() in jfix.zk.ObjectEditor() to display stacktrace in case of exception.</li>
	<li>
		Added jfix.util.Reflections.init() to initialise static fields in a class with field name as value.</li>
	<li>
		jfix.zk.Spinner: set constraint (min 0)</li>
	<li>
		jfix.util.Compiler: added method to allow direct compilation of java code given via a string.</li>
	<li>
		jfix.zk.ObjectEditor: added overload for validate which takes a String (Validation message) and adds&nbsp;this to the validation log or does nothing when String is null.</li>
	<li>
		Added jfix.zk.Doublefield.isEmpty()</li>
	<li>
		jfix.zk.Modal: added overloads for #info,#error with ActionListeners.</li>
</ul>
<h2>
	Bugs</h2>
<ul>
	<li>
		Fixed concurrency bug: unsynchronized structural change of HashMap can result in an endless loop&nbsp;within HashMap, so concurrent readers and writers could keep single threads running in loops (= high&nbsp;cpu usage without any work done).</li>
	<li>
		Deleting a non-empty Trash-Object under guard of another Trash object results in OME due&nbsp;to endless recursion.</li>
	<li>
		Fixed possible NPE in jease.cms.service.Contents which might occur for Users with roots == null.</li>
</ul>
<h2>
	Build</h2>
<ul>
	<li>
		As Jease develops more and more into a CMS on its own, deliver all resources from classpath within a single "jease.jar". This way it is easier for users to maintain their custom code under WEB-INF/classes.</li>
</ul>
<h2>
	Dependency updates</h2>
<ul>
	<li>
		CodeMirror 0.94</li>
	<li>
		CKeditor 3.5.2 (with patch for loading filebrowser from a custom location)</li>
	<li>
		PrettyPhoto 3.0.3</li>
	<li>
		Tomcat 7.0.11</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 1.8 released</title>
<summary>Gallery, Thumbnails, Roles, Usability</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.8/release" />
<id>http://www.jease.org/download/1.x/1.8/release</id>
<updated>2011-03-01T00:00:00+01:00</updated>
<content type="html"><![CDATA[<div style="padding: 5px; border: 1px dashed #8899aa;">
	<p>
		<em><strong>Please read carefully before upgrading:</strong> </em></p>
	<ul>
		<li>
			Before performing an upgrade, make a backup of your database directory.</li>
		<li>
			If you upgrade from a previous version, you have to call <a href="http://localhost:8080/cms/setup">http://localhost:8080/cms/setup</a> after deploying the new version. This will automatically upgrade all required data structures.</li>
		<li>
			If you run into character encoding issues with Files storing text contents or Revisions after the upgrade, please see the "<a href="##upgrade">Character Encoding Upgrade Notice</a>" below.</li>
	</ul>
</div>
<p>
	This release adds a new content type called Gallery... the name says it all... a Gallery is a container for images which are rendered as image gallery. Along with the Gallery comes a new feature for creating thumbnails: just call any image delivered via Jease with an additional scale-parameter (http://server/...image.jpg?scale=200) which creates a (cached) thumbnail of your image with the given size.</p>
<p>
	The second new feature is an highly improved user management by introducing roles. A role defines which content types a user can create or edit. This is far more flexible than the former approach of differencing users in privileged and non-privileged users. Per default Jease creates two roles: Administrators and Editors (who are not allowed to create Scripts, Transits or Factories). You can easily change existing roles or add new roles. Additionally Jease stores now all passwords as MD5-hashes.</p>
<p>
	Another new feature is some improvements regarding the usability of the CMS: Jease allows now to change the root node in the tree navigation by simply clicking a "Go-Into" icon. This is very useful for deep nested content trees. Additionally the node viewer has a new toolbar button which opens the current page in a dedicated browser window (or tab).</p>
<p>
	Another important changes are some fixes in regard to UTF-8. There were some gaps where an explicit UTF-8 encoding was missing, so Jease fall back to the default encoding of the server (which could be something different than UTF-8). This could result in problems when migrating a Jease instance from a non-UTF-8 instance to a UTF-8 instance. I've fixed now all missing pieces, so that Jease runs from now on with UTF-8 regardless of the servers default encoding. <a href="##upgrade">Please read the encoding upgrade if you run into encoding problems now.</a></p>
<h2>
	Gallery</h2>
<ul>
	<li>
		Implementation for an (image) Gallery content type.</li>
	<li>
		Thumbs: allow all image-containing content types to create thumbs via scale-parameter. Caches only one scaled image per original to prevent overflooding of cache area.</li>
	<li>
		Lightbox: enabled titles and overlay; improved rules for triggering lightbox.</li>
	<li>
		Media: append id to file-parameter, so lightbox can detect images.</li>
</ul>
<h2>
	User-Management</h2>
<ul>
	<li>
		Store passwords as md5-hashes.</li>
	<li>
		Introduced roles: a role determines which content types a user can create or edit. Removed obsolete #isPrivileged() from Content (Factory, Script, Transit).</li>
	<li>
		Force unique user identity (login, email).</li>
	<li>
		Added Users.queryByEmail() as helper for retrieving a user by email address.</li>
	<li>
		Changed Users.queryByLogin(), so the login is also matched against the email address (allows to login either with login name or email address).</li>
	<li>
		Added jfix.util.Crypts.md5 for hashing inputs into md5</li>
</ul>
<h2>
	Usability</h2>
<ul>
	<li>
		Go-Into-Feature for NavigationTree: it is now possible to switch the "root" context in the tree&nbsp;navigation (useful for deep nested sites).</li>
	<li>
		Added "fullscreen" mode ("open in browser") to NodeViewer and refactored NodeViewer into jfix.zk.WebBrowser. Use WebBrowser for opening links in LinkEditor.</li>
	<li>
		Open current Node in NodeBrowser (e.g. when linking via CKEditor). This avoids the user-unfriendly&nbsp;need to traverse from Root to current context.</li>
</ul>
<h2>
	UTF-8</h2>
<ul>
	<li>
		Use explicit UTF-8 encoded Readers/Writers for creating revisions and backups.</li>
	<li>
		jfix.zk.Medias &amp; jfix.servlet.Servlets: fixed missing UTF-8 encoding.</li>
	<li>
		jfix.zk.Mediafield: use UTF-8 encoded writer.</li>
	<li>
		jfix.util.Files: add UTF-8 aware creators for Readers/Writers.</li>
</ul>
<h2>
	Access</h2>
<ul>
	<li>
		Store passwords as md5-hashes.</li>
	<li>
		Skip authorization when user is logged in and user can view contents guarded by Access-Object.</li>
	<li>
		Added helper methods (getGuard() / isGuarded()) to Authorizations.</li>
	<li>
		Fixed Contents.getGuard(): start traversing from current node instead of parent node, so Access&nbsp;objects work in Composites as expected.</li>
</ul>
<h2>
	Search</h2>
<ul>
	<li>
		Don't index access-guarded content in site search</li>
	<li>
		Deliver only top-level container for content contained in Composites (= paged containers).</li>
	<li>
		Reference: added missing fulltext-method.</li>
	<li>
		Use &amp;nsbp; before » in Searchresult to avoid ugly line breaks.</li>
	<li>
		Searchform: use page root as default target.</li>
</ul>
<h2>
	Other changes</h2>
<ul>
	<li>
		Mails: added ReplyToSender to Mail-Service so answer is directed to sender regardless if smtp-server&nbsp;rewrites From-header (e.g. GoogleMail).</li>
	<li>
		Changed implementation of Navigations.getPageTitle(), so it is better suited for&nbsp;jease.org: use now title of root node and default content of root along with title of content.</li>
	<li>
		Added more semantic markup for content type renderers for more fine grained control via CSS/jQuery;&nbsp;also added special parameter which creates an image-name from content-type (replacing / with .) for&nbsp;better handling via Lightbox.</li>
	<li>
		Added jfix.zk.Scrollbox (simple component which wraps another component in a container with fixed&nbsp;size and shows scrollbars when needed).</li>
</ul>
<h2>
	Bug fixes</h2>
<ul>
	<li>
		Zip-Imports: fixed bug for zips which contain files only (no inner folder structure, files living in&nbsp;root of zip-archive).</li>
</ul>
<h2>
	Build</h2>
<ul>
	<li>
		build.xml: exchanged CATALINA_HOME with SERVLET_API.</li>
</ul>
<h2>
	Dependencies</h2>
<ul>
	<li>
		ZK 5.0.6</li>
	<li>
		db4o 7.12.184.15484</li>
	<li>
		CodeMirror 0.94. Also a fix for a bug raised in IE due to trailing comma in zk-codemirror.</li>
</ul>
<hr />
<p>
	<a name="#upgrade"></a></p>
<h2>
	Charset Encoding Upgrade Notice</h2>
<p>
	The 1.8 release fixed some missing explicit UTF-8 encodings. This doesn't make any difference if you're running your server already with UTF-8 as default encoding. If not, you might run into encoding issues with Files storing text-contents or Revisions and non-ASCII-characters. So if you use non-ASCII characters and your server didn't run with UTF-8 encoding, you might see garbled characters in Files (with content-type=text) or Revisions.</p>
<ol>
	<li>
		To upgrade to UTF-8, <strong>create a backup</strong> of your database folder first.</li>
	<li>
		Then create a Script with id=upgrade.jsp in the CMS and enter the code below.</li>
	<li>
		Please set encoding to the encoding you've used on your server.</li>
	<li>
		Run this script by clicking "View". <strong>Please run this script only once (!!!), </strong>otherwise you'll end up with a really messed up character encoding.</li>
</ol>
<pre>
&lt;%@page import="org.apache.commons.io.*,jfix.db4o.*,jease.cms.domain.*,jease.cmf.service.*"%&gt;
  
&lt;%
  String encoding = "ISO-8859-1";
  
  for(File file : Database.query(File.class)) {
    if(file.getContentType().startsWith("text")) {
      String str = FileUtils.readFileToString(file.getFile(), encoding);
      FileUtils.writeStringToFile(file.getFile(), str, "UTF-8");
    }  
  }
  
  for(Version version : Database.query(Version.class)) {
      String str = FileUtils.readFileToString(version.getBlob().getFile(), encoding);
      FileUtils.writeStringToFile(version.getBlob().getFile(), str, "UTF-8");  
  }
%&gt;
</pre>]]></content>
</entry>
<entry>
<title>Jease 1.7 released</title>
<summary>Discussion, Feeds, Mails, Parameter, Design, Tomcat 7</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.7/release" />
<id>http://www.jease.org/download/1.x/1.7/release</id>
<updated>2011-02-07T08:58:05+01:00</updated>
<content type="html"><![CDATA[<p>
	<em><strong>Please note: </strong>you have to call <strong>http://localhost:8080/cms/setup</strong> (replace localhost:8080 with your server) to create default parameters after upgrading.</em></p>
<p>
	<em>If you're upgrading from Jease 1.1, 1.2 or 1.3, please read the <a href="#upgrade">upgrdade notice</a>&nbsp;below before performing an update!</em></p>
<p>
	The most notable feature is the introduction of a community requested content type called "Discussion". It allows you to add comments or discussions to your site. Just add a Discussion object everywhere you like and let your users discuss your content. The public view of a Discussion uses a Captcha based on <a href="http://simplecaptcha.sourceforge.net/">SimpleCaptcha</a>&nbsp;to keep spam-bots out.</p>
<p>
	In addition to the Discussion feature, Jease provides RSS- and ATOM-feeds for published News per default. Thanks to Max for providing the ATOM-support.</p>
<p>
	In order to keep the owner of a Discussion informed about what is going on, I've implemented a general mail-service which is used to send out notifications about added comments. The mail-service can be used to send other emails as well. <strong>Please note:</strong> you have to <a href="/documentation/mails">configure a SMTP-server</a> before you can use the mail-service.</p>
<p>
	Another new feature is the introduction of database-stored configuration parameters. This way almost all configuration parameters are moved from web.xml to the CMS where they can be edited directly through the web. And the best of all: you can create and use your own parameters easily.</p>
<p>
	Last but not least I've added a new design called "loop" which is now the default design for jease.org.</p>
<p>
	Jease 1.7 is bundled with Tomcat 7 as default servlet container.</p>
<h2>
	New Features:</h2>
<ul>
	<li>
		Implemented a Discussion/Comment-Feature. Together with a Composite containing a News and a Discussion you can build a Blog from existing content types easily.</li>
	<li>
		Added RSS/Atom-Feeds. Added Navigations.getSiteNews() which retrieves all visible News (itself or via reference) sorted by publication date.</li>
	<li>
		Added Mail-Service which can be configured via a Registry-Parameter (JEASE_SMTP_PROPERTIES)</li>
	<li>
		Implemented editable parameters for Registry. This way almost all configurations can be moved from web.xml to user interface. Please note: call /cms/setup after upgrade to create default parameters.</li>
	<li>
		Implemented a NodeFilter: it filters Nodes from all views which cannot be created by a normal user (e.g. privileged content like Scripts). This way an administrator can store privileged contents in the user-area which is not editable for normal users anymore.</li>
	<li>
		Added new design called "loop".</li>
</ul>
<h2>
	CMS:</h2>
<ul>
	<li>
		Changed layout of command buttons in CMS: Removed Search/Print/Export from TreeView (and moved Upload/View/Dump/Restore) to top, while removing NodeConstructor for FlatMode. This way the TreeView should be less disturbing and more effective for users.</li>
	<li>
		Increased default size of NodeViewer (better suited for small displays e.g. Netbooks).</li>
	<li>
		Removed non-container-nesting restriction for Composite.</li>
	<li>
		Added Property#getSize(), so FileProperty can return actual size.</li>
	<li>
		Added new DoubleProperty.</li>
</ul>
<h2>
	Site:</h2>
<ul>
	<li>
		Added simplecaptcha as site-service to create captchas.</li>
	<li>
		Retrieve news from parent container if no news is present in current container. Omit news if it is the default content of a folder.</li>
	<li>
		Skip contents which are moved to Trash for search results.</li>
	<li>
		Renamed "default" design to "bright"; renamed "demo" design to "cool". Several minor CSS-fixes to existing designs.</li>
	<li>
		Automatically close lightbox before open links in a lightbox.</li>
	<li>
		Made Topic a first class citizen... this way it is possible to specify a different View for a Topic&nbsp;when used in Composites.</li>
	<li>
		Added semantic markup (divs with appropriate class-names) to existing domain-renderers. This way it is easier to customize existing views with CSS and jQuery.</li>
	<li>
		Cleaned up redirects for Factory, Topic and Trash.</li>
	<li>
		Introduced Pager.Renderer for customizable rendering of contents and moved it service sub-directory to avoid &nbsp;clutter. Added default hovering for pager.</li>
</ul>
<h2>
	JFix:</h2>
<ul>
	<li>
		Added Servlets.getHost(request) to retrieve correct hostname (regardless if running behind proxy ordirect)</li>
	<li>
		Added methods for creating Cookies with expire-dates.</li>
	<li>
		Added helper: Validations.equals(o1,o2)</li>
	<li>
		Added timeout to jfix.util.Urls.readString().</li>
</ul>
<h2>
	Bug fixes:</h2>
<ul>
	<li>
		Deleting a node in Flat-View could result in setting the wrong context. Check if parent of deleted node is descendant of current session container.</li>
	<li>
		Fixed possible NPE in Transit.getPage().</li>
	<li>
		Fixed possible endless recursion in Reference by breaking recursion if an already visited Reference is visited again.</li>
	<li>
		Links on images were opened in a lightbox regardless if link pointed to image or not.</li>
	<li>
		Setup: create Root as visible content, so searching the root-page via public web-site works out of the box.</li>
</ul>
<h2>
	Dependency updates:</h2>
<ul>
	<li>
		Tomcat 7.0.8</li>
	<li>
		Perst 426</li>
	<li>
		Latest wikitext.jar</li>
</ul>
<h2>
	<a name="upgrade"></a>Upgrade notice (only relevant when upgrading from Jease 1.1, 1.2 or 1.3)</h2>
<p>
	You have to run an update-script to migrate existing revisions to new class format. Just call <a href="http://localhost:8080/cms/update/revisions.jsp">http://localhost:8080/cms/update/revisions.jsp</a> after updating Jease to migrate the old revisions to the new format. It is highly recommended to&nbsp;create a backup of your database-directory (~/db4o or ~/perst) before doing the upgrade!</p>
]]></content>
</entry>
<entry>
<title>Jease 1.6 released</title>
<summary>Registry, Factory, Control-Panel, Pluggable Authentication</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.6/release" />
<id>http://www.jease.org/download/1.x/1.6/release</id>
<updated>2011-01-04T09:07:59+01:00</updated>
<content type="html"><![CDATA[<p>
	<em>If you're upgrading from Jease 1.1, 1.2 or 1.3, please read the <a href="#upgrade">upgrdade notice</a> below before performing an update!</em></p>
<p>
	This release brings a lot of new features and several bug fixes. The most prominent feature is the introduction of a <strong>content registry</strong> which allows you to create modules with your own content-types and editors more easily. The former reflection based configuration approach was nice on the first sight, but had to many drawbacks in the long run when you've started to add custom components and needed to maintain them within the default package structure of Jease.</p>
<p>
	Another important feature is the introduction of <strong>Factories</strong>. A Factory is a container for content prototypes which are used to synchronize properties of content types automatically. This way you can extend existing content-types with additional properties just within the CMS without touching any line of source code. Along with the Factory comes a new (and very) simple content-type called <strong>Item</strong>&nbsp;which can be used as building block for dynamic (property) based contents via a Factory (or as persistent container when storing results submitted via forms).</p>
<p>
	In order to give the administrator more control of the CMS, I've started to add a <strong>Control-Panel</strong>. The first feature is a manual revision control which allows to prune revisions based on content-type, revisioned days and total count just with a click.</p>
<p>
	A minor change in handling the authentification results in a big gain: If you need to authenticate your users against an existing identity management system, I've added an interface for <strong>pluggable authentication</strong>. You can define your own Authenticator and configure it via web.xml, so that it is possible to authenticate against any system which can somehow be connected via some lines of Java-code.</p>
<p>
	Last but not least I've added a <strong>reusable pager</strong> for the search results.</p>
<h2>
	New Features:</h2>
<ul>
	<li>
		Added <strong>Registry</strong> by dropping the reflection-based detection of content/property-types and switching to an explicit XML declaration. It is now possible to put a content-definition along with an editor and appropriate XML-file into a single jar and drop it into Jease. This allows extension of Jease without touching the sources... another benefit: Jease works now as unexploded war too.</li>
	<li>
		Added <strong>Factory</strong> which allows to predefine additional properties for content-types, so editing content automatically synchronizes the additional properties defined in the Factory for the content-type.</li>
	<li>
		Added <strong>Item</strong> as general purpose content-type for storing properties (e.g. storing form results etc.pp.)</li>
	<li>
		Created a <strong>Control-Panel</strong> for manual purging of revisions and cleared also the semantics of the revision parameters (0 means to ignore parameter completely, so that day/count can be used independently).</li>
	<li>
		Added <strong>pluggable Authentication</strong> by introducing (optional) Authenticator via web.xml.</li>
	<li>
		Allow to set <strong>node context via query string</strong> for the CMS (.../cms?path/to/node). This way it is possible to create edit-links in the web-site which point directly to the correct container to edit content in the CMS.</li>
	<li>
		Added <strong>parser for Mediawiki-syntax</strong> to Codemirror. Codemirror is now the default editor for Wiki.</li>
	<li>
		Refactored Searchresults into re-useable service and adapted existing templates. Added also a <strong>reusable Pager</strong> for server-side paging of content lists.</li>
</ul>
<h2>
	Major Changes:</h2>
<ul>
	<li>
		Controller.jsp: Renamed "jsp"-parameter to more generic "page"-parameter and allow to include arbitrary resources (e.g. ZUL).</li>
</ul>
<h2>
	Minor Changes:</h2>
<ul>
	<li>
		CMF: Make sure to set a proper container in JeaseSession.</li>
	<li>
		CMS: Use CodeMirror as editor for plaintext in Text.</li>
	<li>
		CMS:Separated Navigation from Login</li>
	<li>
		Site: Some cleanups for stylesheets (default, demo, photo)</li>
	<li>
		Build: Added ant-task for building war-file.</li>
	<li>
		JFix: Changed mime-type for JSP from text/html to text/plain.</li>
	<li>
		JFix: Moved updating of window title from general refresh to change handler, so fewer redraws&nbsp;are needed.</li>
</ul>
<h2>
	Bug fixes:</h2>
<ul>
	<li>
		Mediafield: content type was set to application/octet-stream when no extension for content object was present. Thanks to Max for spotting this issue!</li>
	<li>
		File: #getSize() could throw NPE when contentType was not set.</li>
	<li>
		Properties: IntegerEditor used #getValue().intValue() whereas #intValue() should be used directly to avoid NPE for empty spinner control.</li>
	<li>
		Site: Fixed possible NPE in Designswitch when Jease was deployed unexploded (e.g. in Jetty). #getRealPath() is (by spec) allowed to return null for unexploded wars.</li>
	<li>
		The build-system was broken since removing the servlet-api.jar from distribution. Fixed also the build.xml which requires now CATALINA_HOME to be present for resolving servlet-api.jar.</li>
</ul>
<h2>
	Dependency updates:</h2>
<ul>
	<li>
		Latest zk-codemirror</li>
	<li>
		CKEditor: Finally the ZK-Team included my blur=forceBlur patch into the official repository, so Jease is running with official builds from ZK again.</li>
	<li>
		Perst 425</li>
	<li>
		Lucene 3.0.3</li>
</ul>
<h2>
	<a name="upgrade"></a>Upgrade notice (only relevant when upgrading from Jease 1.1, 1.2 or 1.3)</h2>
<p>
	You have to run an update-script to migrate existing revisions to new class format. Just call <a href="http://localhost:8080/cms/update/revisions.jsp">http://localhost:8080/cms/update/revisions.jsp</a> after updating Jease to migrate the old revisions to the new format. It is highly recommended to&nbsp;create a backup of your database-directory (~/db4o or ~/perst) before doing the upgrade!</p>
]]></content>
</entry>
<entry>
<title>Jease 1.5 released</title>
<summary>Properties, Design, Configuration, Scripted Servlets</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.5/release" />
<id>http://www.jease.org/download/1.x/1.5/release</id>
<updated>2010-12-08T09:07:59+01:00</updated>
<content type="html"><![CDATA[<p>
	<em>If you're upgrading from Jease 1.1, 1.2 or 1.3, please read the <a href="#upgrade">upgrdade notice</a> below before performing an update!</em></p>
<p>
	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.&nbsp;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.</p>
<p>
	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.</p>
<p>
	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.</p>
<p>
	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.</p>
<p>
	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!</p>
<p>
	I also updated the documention to reflect the new features...</p>
<h2>
	Properties</h2>
<ul>
	<li>
		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.</li>
</ul>
<h2>
	New Design</h2>
<ul>
	<li>
		Added new design called <a href="?design=photo">"photo"</a> which can easily be customized by exchanging the header photo.</li>
	<li>
		Used <a href="http://medienfreunde.com/lab/innerfade/">jQuery-innerfade</a> to present header photos as slideshow.</li>
</ul>
<h2>
	Improved Mediafield</h2>
<ul>
	<li>
		Improved image scaling (even downscaling GIFs is working nicely now). Kudos to Max.</li>
	<li>
		Locked image dimensions are updated on change automatically for a better user experience.</li>
	<li>
		It is possible to unlock the image dimensions.</li>
	<li>
		Fixed: Saving an image without rescaling did run the image through the scaling processor which decreased quality of images.</li>
	<li>
		Used Codemirror as text-editor for Mediafield.</li>
</ul>
<h2>
	More configurations via web.xml</h2>
<ul>
	<li>
		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.</li>
	<li>
		Configuration of default site is now possible via web.xml, so no more need to touch Controller.jsp for a change.</li>
</ul>
<h2>
	Scripting servlets on the fly</h2>
<ul>
	<li>
		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.</li>
	<li>
		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.</li>
</ul>
<h2>
	More features</h2>
<ul>
	<li>
		Enabled fulltext-search in content tables within CMS.</li>
	<li>
		A Composite can be used as container for a News-Blog by using newly introduced jease.site.Navigations.getVisibleContent().</li>
	<li>
		Introduced annotations for more fine-grained control of content-serialization.</li>
	<li>
		Capture onChanging-Event for id in Script to set correct syntax for editor on the fly.</li>
	<li>
		Improved jfix.zk.Formbox (better API, fewer hacks) which serves as base class for all editors.</li>
</ul>
<h2>
	Bug fix</h2>
<ul>
	<li>
		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.</li>
</ul>
<h2>
	Dependencies</h2>
<ul>
	<li>
		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.</li>
	<li>
		Removed servlet-api.jar. This was a compile time dependency for jease.cmf which isn't needed when only developing with jease.cms.</li>
	<li>
		jQuery 1.4.4</li>
	<li>
		prettyPhoto 3.0.1</li>
	<li>
		Latest codemirror.jar and ckez.jar</li>
</ul>
<h2>
	<a name="upgrade"></a>Upgrade notice (only relevant when upgrading from Jease 1.1, 1.2 or 1.3)</h2>
<p>
	You have to run an update-script to migrate existing revisions to new class format. Just call <a href="http://localhost:8080/cms/update/revisions.jsp">http://localhost:8080/cms/update/revisions.jsp</a> after updating Jease to migrate the old revisions to the new format. It is highly recommended to&nbsp;create a backup of your database-directory (~/db4o or ~/perst) before doing the upgrade!</p>
]]></content>
</entry>
<entry>
<title>Jease 1.4 released</title>
<summary>ZUL, CodeMirror, Lightbox, Video, jQuery</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.4/release" />
<id>http://www.jease.org/download/1.x/1.4/release</id>
<updated>2010-11-09T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>
	<em>Please read the update notice below "Improved Revision Support" before performing an update!</em></p>
<p>
	This release is focused to improve the infrastructure for public web-sites. The most important feature is that you can easily integrate ZK-components via the ZUL-Markup-language in your web-site via the Script-Object provided by Jease. This gives you all the power from ZK with a highly customized web-site-layout of your choice.</p>
<p>
	As companion to the new ZUL-Integration <a href="http://code.google.com/p/zk-codemirror/">the wrapper for the CodeMirror-Editor</a> is now used as default editor for Scripts. CodeMirror provides syntax-highlighting which makes the editing of code snippets through the web much more pleasant.</p>
<p>
	Have a look at the showcase to see some examples:</p>
<p>
	<a href="http://www.jease.org/demo/zul/">http://www.jease.org/demo/zul/</a></p>
<p>
	Another important enhancement is a change for the lightbox-implementation. The formerly used Topup-Library seems to be unmaintained, so it is replaced by a jQuery-based implementation (<a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">prettyPhoto</a>), which also allows to move forward with integration and use of jQuery which is now available as a dedicated JSP-service for public templates. Additionally an&nbsp;<a href="http://www.osflv.com/">open-source video-player</a> is now used for Media-Objects containing FLV-files.</p>
<h2>
	ZUL-Integration</h2>
<ul>
	<li>
		Changed DOCTYPE from Strict to Transitional to avoid rendering problems when include ZUL via Scripts.</li>
	<li>
		Some CSS-fixes for proper ZUL-Rendering.</li>
	<li>
		Allow scripts (e.g. a ZUL-page in IFrame) to be directly forwarded via file-parameter.</li>
	<li>
		Added beanshell.jar to WEB-INF/lib to make ZUL-Scripts working out of the box.</li>
</ul>
<h2>
	CodeMirror</h2>
<ul>
	<li>
		Added CodeMirror as default ScriptEditor. CodeMirror is a JavaScript library that can be used to create a relatively pleasant editor interface for code-like content.</li>
</ul>
<h2>
	New Lightbox-Implementation</h2>
<ul>
	<li>
		Replaced Topup with prettyPhoto (jQuery-Lightbox). Topup seems to be unmaintained. Renamed service to Lightbox.jsp (which is more generic).&nbsp;</li>
	<li>
		Use jQuery-selectors to mark links which should be openend in a Lightbox.</li>
</ul>
<h2>
	Video-Support</h2>
<ul>
	<li>
		Added osflv-player (<a href="http://www.osflv.com/">http://www.osflv.com/</a>) as videoplayer. Media plays FLV-files out of the box.</li>
	<li>
		Allow to embed parameters in path via semicolon-syntax and redirect with proper request parameters (e.g. use ;file instead of ?file). Useful in combination with flash-players which expect a filename instead of parameters.</li>
</ul>
<h2>
	jQuery-Support</h2>
<ul>
	<li>
		Refactored jQuery into dedicated JSP-service. This allows to make use of JQuery (e.g. document-ready-function, selectors for Lightboxs) in templates.</li>
</ul>
<h2>
	Improved Revision-Support</h2>
<ul>
	<li>
		<p>
			Use own value class for revisions to provide more info (e.g. user).</p>
	</li>
	<li>
		<p>
			<strong>Pleae note:</strong>&nbsp;You have to run an update-script to migrate existing revisions to new class format. Just call <a href="http://localhost:8080/cms/update/revisions.jsp">http://localhost:8080/cms/update/revisions.jsp</a> after updating Jease to migrate the old revisions to the new format. It is highly recommended to <strong>create a backup of your database-directory </strong>(~/db4o or ~/perst) before doing the upgrade!</p>
	</li>
</ul>
<h2>
	Demo</h2>
<ul>
	<li>
		Improved demo design based on Coolwater-Template from styleshout.com.</li>
</ul>
<h2>
	User-Interface</h2>
<ul>
	<li>
		Added icons to tabs.</li>
</ul>
<h2>
	Build</h2>
<ul>
	<li>
		Added simple ANT-Build-Script. Just call "ant" in Jease/WEB-INF to compile changes in WEB-INF/src to WEB-INF/classes.</li>
	<li>
		Switched Java-Compiler from Sun/Oracle-JDK to OpenJDK.</li>
</ul>
<h2>
	Bug fixes:</h2>
<ul>
	<li>
		Transit: when URI isn't accessible, size threw NPE.</li>
</ul>
<h2>
	Dependency Udates</h2>
<ul>
	<li>
		ZK 5.0.5.</li>
	<li>
		Patched version for ckez.jar (using forceBlur to prevent loss of style information).</li>
	<li>
		Update to jQuery 1.4.3.</li>
	<li>
		Prettify update (2010-07-21).</li>
	<li>
		Update of wikitext.jar.</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 1.3 released</title>
<summary>CKEditor, Designs, Preview</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.3/release" />
<id>http://www.jease.org/download/1.x/1.3/release</id>
<updated>2010-10-06T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>
	This release brings an update to the Wysiwyg-editor used by Jease: the aged FCKEditor is retired and is replaced by its successor <a href="http://ckeditor.com/">CKEditor</a>. The integration of CKEditor also allows to use a ZK-based (easy customizable) Link-and Imagebrowser which features a image-preview.</p>
<p>
	The second feature is the addition of two new designs (so called "<a href="?design=paper">paper</a>" and "<a href="?design=robot">robot</a>") which are selectable on the fly by the user. Just use the links at the bottom of the page to switch the design.</p>
<p>
	The third feature is an advanced preview-button (which is also added to the workspace accessory) which allows to preview contents inline in a dedicated viewer component based on a modal window. This is far more useable for unexperienced users working with Jease and also avoids problems with popup-blockers.</p>
<h2>
	Update note:</h2>
<p>
	The switch to CKEditor needs to remove all dependencies to FCKEditor. The Link-/Imagebrowser for FCKEditor needed to be configured via a connector in WEB-INF/web.xml. Please remove the servlet-mapping for the&nbsp;FckConnector&nbsp;when updating your Jease-instance. You should also remove WEB-INF/lib/fckeditor.jar.</p>
<h2>
	Release notes:</h2>
<h3>
	New Features:</h3>
<ul>
	<li>
		Switched from FCKEditor to CKEditor.</li>
	<li>
		Added a nice ZK-based (customizable) content browser with image preview.</li>
	<li>
		Added additional design called "robot". Looks very cool, maybe this is going to be the default in the future.</li>
	<li>
		Added additional design called "paper".</li>
	<li>
		Added feature to allow a user to select his preferred design via a simple link (works with cookies).</li>
	<li>
		Added explicit NodeViewer (with resize-toolbar) which allows to preview contents within the CMS (in a modal window). Looks nicely and works regardless of popup-blockers.</li>
	<li>
		Added additional (Pre)View-Button to workspace accessory.</li>
	<li>
		Added Manifest with version info to distribution.</li>
	<li>
		Added service for simple Cookie-Handling to JFix-Layer (jfix.servlet.Cookies).</li>
</ul>
<h3>
	Changes:</h3>
<ul>
	<li>
		Removed last-modified-header in Controller.jsp to allow dynamic design switching without the need to clean the browser cache. It also improves developer experience (no need to reload all the time).</li>
	<li>
		Refactored javascript for injecting base tag into page header into service-script (site/service/Pagebase.jsp) for better reuseability.</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 1.2 released</title>
<summary>Dump and Restore, Improved memory usage</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.2/release" />
<id>http://www.jease.org/download/1.x/1.2/release</id>
<updated>2010-09-05T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>This release brings a very useful feature for exchanging content: <strong>dump &amp; restore.</strong> You can now export the contents of selected folders into a XML-file and restore it if you need to. This way you can create backups or migrate whole content-trees between different Jease-instances (e.g. moving content from a development to a production system or the other way round). Please note: the backup-feature is only available for administrators, because otherwise a normal user could import a modified XML which might create a dangerous script.</p><p>The second big improvement is the update to ZK 5.0.4 which has a <a href="http://docs.zkoss.org/wiki/ZK_5.0.4's_memory_improvements">highly improved memory usage on server side</a>. Savings of memory between 40% up to 70% is really a lot for high-volume applications. Many thanks to the ZK-community for this fantastic improvement.</p><h1>New Features:</h1> <ul> <li><strong>Backup and Migration:</strong>&#160;You can now dump and restore contents to/from XML-files directly&#160;via the CMS. This is useful for taking backups of single folders or migrating content between different Jease-Instances.<b><br /></b></li><li><strong>Create content with one click:</strong>&#160;Selecting a content-type from the content-selection opens the editor directly (without the need to hit on "New").</li><li><strong>Refresh:</strong> refreshing the browser recreates the desktop instead of showing the login page.</li><li><strong>TextEditor:</strong>&#160;Improved switching between editing modes which consumes less bandwith.</li><li><strong>License:</strong> added raw license text to package to be in compliance with GPL3.</li> </ul>  <h1>Bug fixes:</h1>   <ul><li>Specified UTF-8-encoding in Script.jsp to avoid encoding problems.</li><li>Added missing media-styles to CSS for demo-template.</li> </ul>  <h1>Dependency updates:</h1>  <ul><li>ZK 5.0.4</li><li>Perst (build 423)</li><li>Latest Wikitext</li>  </ul>]]></content>
</entry>
<entry>
<title>Jease 1.1 released</title>
<summary>Content Revisions, Image Scaling</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.1/release" />
<id>http://www.jease.org/download/1.x/1.1/release</id>
<updated>2010-08-04T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>This release brings an important new feature for building a full-blown Document/Content-Management-System on top of Jease: <strong>Content Revision Support.</strong></p><p>What does Content Revision Support&#160;mean?</p><p>Every time you click on "Save", you create a new revision of the current content object which is stored as file in the file-system of the Jease-Database. A Revision means that all fields of the content-object (including binary data) are serialized into a proper storage format (XML created via a properly configured XStream) and can be deserialized anytime from there again. This way you can compare the current version of a document with a version which was modified weeks ago.</p><p>The number of revisions to be kept is configurable (default: keep all revisions, see <em>jease.cms.service.Revisions</em>), although each revision introduces only minimal overhead.</p><h1>New Features:</h1> <ul> <li>Revision support by using <a href="http://xstream.codehaus.org/">XStream</a> to serialize/deserialize all content-specific fields into/from blobs which are stored in the file-system.</li> <li>Easy Image Scaling via Mediafield.</li> <li>Improved Filename-to-Id-Conversion to avoid common IllegalId-errors for bulk uploads.</li> </ul>  <h1>Bug fixes:</h1>  <ul> <li>CMS: check NullPointerException for empty references.</li> <li>Controller.jsp: Inject JEASE_SITE_CONTROLLER directly; fixes problem when Jease is not deployed as ROOT-application.</li> <li>Tree: restore active page, so opening nodes in a paged tree work properly.</li> <li>Mediafield: adjustImage broke streaming of image.</li> </ul>  <h1>Dependency updates:</h1>  <ul><li>db4o-7.12.156</li><li>Perst (build 422)</li><li>Tomcat 6.0.29</li>  </ul>]]></content>
</entry>
<entry>
<title>Jease 1.0 released</title>
<summary>Wiki, Script, new demo template, API freeze, bug fixes and cleanups.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/1.x/1.0/release" />
<id>http://www.jease.org/download/1.x/1.0/release</id>
<updated>2010-07-01T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>I'm happy to announce the release of Jease 1.0 which marks an essential milestone in the development of Jease. Jease provides a rock stable building block for creating customized Content-Management-Systems with Java without having to worry about complicated technologies like persistence. Just think about your domain and your layout and let Jease care about the boring rest.</p> <p>With Jease 1.0, the public API is now frozen. This allows you to develop Content-Management-Systems on top of Jease without having to worry about future updates. In order to bring Jease into the best possible shape for this mission, I've done some refactorings and changes to the code base which might break your existing installations without appropriate adjustments, but all changes are so minor that you should get up and running within a few minutes again. I'm very proud on the fact that the structure of the content repository didn't change since version 0.1, so you can be sure that your data is stored in a proven, tested and reliable manner... and that's what really counts in the long run.</p> <h2>New Content-Types</h2> <ul>     <li>Added <strong>Wiki</strong>(text) as new content-type. Wiki-markup is especially suited for technical documentation. The Wikiparser comes from the <a href="http://www.eclipse.org/mylyn/">Eclipse-Mylin-Project</a> and allows several markups (Mediawiki, Confluence, Tracwiki, ...).</li>     <li>Added <strong>Script</strong> as new content-type: A script stores its contents in the database, but it gets executed in a servlet-environment.&#160;Per default a Script uses JSP as scripting technology, but it is easy to plugin in other scripting/templating engines just by configuring appropriate servlets (e.g. Groovy, Freemarker) in web.xml.</li> </ul> <h2>New Features</h2> <ul>     <li>Added a second public site template which powers <a href="http://demo.jease.org/">demo.jease.org</a>. The new template is a good example for a single-page-template and should get you easily started with your own customizations.</li>     <li>Added automatic syntax highlighting for pre/code-tags via <a href="http://code.google.com/p/google-code-prettify/">Google Code Prettify</a>.</li>     <li>Added timestamp when clicking on "View", so no more browser refresh is needed for cached content.</li>     <li>Use processing-prompt-delay instead of Modal.click as user feedback. This saves one roundtrip to server for each click.</li>     <li>Reference#getDestination() returns terminal point for a reference (reference points to reference and so on)</li>     <li>Exchanged internal Sun-Base64-Coder with a version from public domain.</li>     <li>Using a set instead of a list for storing items speeds up the rebuild of large trees.</li>     <li>Introduced "Context" as complement to "Node" to store original requested node (very useful for Scripts called via References).</li> </ul> <h2>Bug Fixes</h2> <ul>     <li>Refreshing of new node selection was broken with invalid (= invisible) childs.</li>     <li>Fixed problem with missing trailing slash for absolute path to database</li>     <li>Throw NestingException for quick file-upload when non-folder with id already exists, otherwise unzipped children could be appended to non-folders (e.g. Text).</li>     <li>Added dynamically created base tag to templates so images with relative urls work without problems in page-based containers (e.g. Composites).</li> </ul> <h2>Changes</h2> <ul>     <li><strong>JeaseConfig:</strong> refactored from abstract class to interface. Just change from "extends" to "implements" to make it work again.</li>     <li><strong>Jease/ContentManager:</strong> moved upload functionality completely into userspace.</li>     <li><strong>Node:</strong> removed deprecated #getTitle(), use a cast to Content instead.</li>     <li><strong>Folder:</strong> refactored #getDefaultContent() into #getContent() to use same naming as Reference.</li>     <li><strong>Transit:</strong> set page only for text/html to avoid inclusion of xml/other text types into page-layout.</li>     <li><strong>Reference:</strong> Contents#getPathnames() returns now all files below a given directory. Filtering of unwanted files should be done in userland. Also removed dependency on commons-io here.</li>     <li><strong>Controller.jsp:</strong> introduced new attribute "Page.Base" to render images in container-based pages correctly; renamed "Page.Path" to "Page.Root" to make difference clearer.</li>     <li>Move definition of JEASE_SITE_CONTROLLER to filter config, so several filters with different controllers can be used for different mappings. Moved JSP-Encoding from Controller.jsp to web.xml.</li>     <li>Created a much more evident directory layout for public site to reflect the overall "Jease"-directory-layout and allow easy reuse of domain renderers and services.</li>      <li>Removed jfix.util.Dates, use String.format instead.</li> </ul> <h2>Updated dependencies</h2> <ul>     <li>ZK 5.0.3</li>     <li>db4o 7.12</li>     <li>Lucence 3.0.2</li>     <li>Included sources with jfix.jar for easier development.</li>     <li>Moved all code from jease.cmf into independent jease.jar for easier update-management.</li> </ul> <h2>Removed dependencies</h2> <ul>     <li>Neodatis (project seems to be inactive, additionally there were some nasty errors when running stress tests against Neodatis).</li>     <li>BeanShell (is only needed when you want scripting in ZUL, Jease doesn't need this).</li>     <li>Commons Lang (only a few methods were needed, reimplemented them in JFix-layer).</li> </ul>]]></content>
</entry>
<entry>
<title>Jease 0.9 released</title>
<summary>Trash, Breadcrumbs, Concurrent modification detection, Caches, no more dependency on Tomcat.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.9/release" />
<id>http://www.jease.org/download/0.x/0.9/release</id>
<updated>2010-05-23T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>I'm happy to announce the 0.9 release of Jease... as 0.9 is quite close to 1.0, maybe the next release will be the first major one. Therefore you should try out Jease 0.9 because I've made lots of changes and improvements in the last weeks.</p>  <p><strong>Please note:</strong> I've cleaned up and refactored the code base to bring it in shape for a 1.0 release, so maybe you'll have to touch some of your customized JSPs to make things work again (biggest change: site.service changed to site, so a simple find&amp;replace should do the trick). I'm usually very conservative with this kind of breaking changes, but I really like to start 1.0 with a very clean code base with no historical cruft. The structure of the content-repository/database itself (and that's what count in the end) hasn't changed since the 0.1 release, so I'm quite confident that it will stay this way forever.</p>  <h2>New features</h2> <ul>     <li>Clickable Breadcrumb-Navigation in CMS.</li>     <li>New Trash-Object which acts as a safety-guard for delete-operations. <strong>Please note:</strong> you have to add an Trash-Object to your content-repository if you want to make use of this feature.</li>     <li>Detection of concurrent content modification: if a user is going to save content which got saved by another user in the meanwhile, a validation error occurs.</li>     <li>Added caches to resolve Nodes by path and Access-Restrictions (about 10 times faster).</li>     <li>Removed dependency on Tomcat-DefaultServlet by using a ServletFilter. Now Jease works out of the box with Tomcat, Jetty, Glassfish, Resin and other application servers. Updated web.xml. Changed packaging, so you can easily copy jease/webapps/ROOT.war to the application server of your choice.</li>     <li>The database-name in web.xml is now evaluated as path to a directory when a File.separator is contained. This allows to store the database regardless of default based on home-dir.</li>     <li>A Transit can be used to include dynamic generated content via a JSP directly into a page. <strong>Please note:</strong> changed field-names (pathname to uri), so existing Transits need to be updated!</li>     <li>Added Node.validateParent() which allows to restrict potential parents for a Node.</li> </ul> <h2>Critical bug fixes:</h2> <ul>     <li>Nodes without parent could be saved to database, so the uniqueness of the root-node could break and therefore Jease couldn't be started anymore. This happened when a copy-operation was performed, but the copied content wasn't saved.</li>     <li>Reflections.find() was broken on Windows, so no content-types could be added at all.</li> </ul> <h2>Deprecation:</h2> <ul>     <li>Node.getTitle() is deprecated and will be removed in the next release. Use Content.getTitle() via appropriate casts instead. Changed necessary site-templates accordingly.</li> </ul> <h2>Further changes</h2> <ul>     <li>Some fixes to Servlets.write(): use reader for text, close input properly, don't send content-length.</li>     <li>Reference-Editor: Show only user-accessible content as selectable references.</li>     <li>ContentEditor: set parent container as current container after delete.</li>     <li>Improved User-Administration: when a user is deleted, replace all references in contents with current user before deletion.&#160;Invalidate session when admin deletes his account.</li>     <li>Made nodes which cannot be added to current container invisible instead of disabled</li>     <li>Improved Setup: Use context-path as initial id for root-object, so Jease works out of the box when not deployed as ROOT-application.</li>     <li>Fixed NullPointerException when editor is null (Editorial.jsp).</li>     <li>Fixed concurrent modification when invalidating the session (problem with resin application server).</li>     <li>Controller.jsp: added pageEncoding to make Jetty UTF-8-happy; set Last-Modified-Header.</li>     <li>Optimized FCK-Config.</li> </ul> <h2>Dependency updates:</h2> <ul>     <li>ZK 5.0.2</li>     <li>Apache-Commons 2.5</li>     <li>Default servlet-api (without catalina classes)</li> </ul>]]></content>
</entry>
<entry>
<title>Jease 0.8 released</title>
<summary>Media and Transit, lots of comments.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.8/release" />
<id>http://www.jease.org/download/0.x/0.8/release</id>
<updated>2010-04-11T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>This release brings mostly new features for the CMS. Additionally I've added lots of lots comments to the source code, so it will be (hopefully much)&#160;easier to wrap your mind around Jease.</p>
<h2>JFix:</h2>
<ul>
    <li>Fixed bug in jfix.db4o.ObjectDatabase: cascading delete for value-objects could result in dangling references.</li>
</ul>
<h2>Jease-CMF:</h2>
<ul>
    <li>Removed Node#filterValidChildren(): It was never used and no one complained against removing.</li>
</ul>
<h2>Jease-CMS:</h2>
<ul>
    <li><strong>New Media-Content:</strong>&#160;a Media can store binary content (same as a File), but it is rendered as page. So if you upload a flash-file to Media, it is automatically rendered with appropriate HTML-tags when viewed on site.</li>
    <li><strong>New Transit-Content:</strong>&#160;this object allows to reference a file in the file-system of the Jease-Server as if it were a File in&#160;Jease. E.g. you can use it to edit JSPs on the fly.&#160;But take care:&#160;accessing the file-system directly allows all kinds of security-problems.&#160;Therefore only administrators are allowed to create a Transit and after creation it isn't possible to change the path to the referenced file.</li>
    <li>Improved configuration which checks for "privileged"&#160;content which should only be creatable by administrators.</li>
    <li>Cleaned up the code for File and Image by refactoring the check which content is allowed to be stored within object.</li>
</ul>
<h2>Jease-Site:</h2>
<ul>
    <li>Integrated assets for <a href="http://gettopup.com/" target="_blank">Topup-Library</a> directly into site (version 1.7.2).&#160;This way it's easier to control caching policies and to do local development without access to internet.</li>
    <li>Refactored binary streaming from File.jsp into JFix, so it's easier to maintain and reuse the code.</li>
    <li>Improved Composite.jsp so it includes paged content automatically and takes care for referenced content.</li>
</ul>
<p>&#160;</p>]]></content>
</entry>
<entry>
<title>Jease 0.7 released</title>
<summary>Composite and Access, Configuration by Convention, Integration of Topup.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.7/release" />
<id>http://www.jease.org/download/0.x/0.7/release</id>
<updated>2010-03-18T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>This release brings mostly new features for the CMS and&#160;Site. It also lifts the bundled ZK-libraries to the <a target="_blank" href="http://zkoss.org/release/rn-5.0.1.dsp">officially released ZK 5.0.1</a> and updates <a target="_blank" href="http://tomcat.apache.org/tomcat-6.0-doc/changelog.html">Tomcat to latest version (6.0.26)</a>.</p><h2>Jease -&#160;CMS:</h2><ul><li>New content-type <strong>Composite:</strong>&#160;This is a container which can hold contents, but acts like a page. It is a useful base for creating image gallerys, download folders and so on.</li><li>New content-type <strong>Access:</strong>&#160;by placing an Access-Object into a folder, you can force an HTTP-Authorization with arbitrary username and password.&#160;Works similar to the well know .htaccess-file in Apache. Useful to protect some parts of a site from public view.</li><li>Allow non-administrators to change their personal information and password.</li><li><strong>Configuration by Convention:</strong>&#160;all content-types and content-editors will now be detected automatically in the default locations, so you don't have to register them anymore manually in the central configuration registry. This allows to create "plugin-jars" which simply packs a content-definition with an appropriate content-editor without having to change any configuration.</li><li>Removed #getVisibleChildren from Folder-class and made Navigations-methods independent from Folder.</li></ul><h2>Jease - Site:</h2><ul><li>Use <a target="_blank" href="http://gettopup.com/">Topup-Library</a> to create nice popop-window for info-snippets (like "Read more" and Search results). Removed z-index from tabs which caused problems with overlays and was useless.</li><li>Improved print-css which is used to display content without surrounding layout on screen. Just add <em>?print</em> to an url to get the print-view on screen.</li><li>Moved HTML-Header out of Page.jsp into Head.jsp for easier customization.</li></ul><p>&#160;</p>]]></content>
</entry>
<entry>
<title>Jease 0.6 released</title>
<summary>The migration from ZK3 to ZK5 is finally done.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.6/release" />
<id>http://www.jease.org/download/0.x/0.6/release</id>
<updated>2010-03-08T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>This release brings ZK5 to Jease. <a href="http://zkoss.org/release/rn-5.0.0.dsp" target="_blank">ZK5 is a big leap in the development of the ZK-framework</a> and introduces lots of nice features for Jease:</p><ul><li><strong>ZK5 shifts load from server to client:</strong> While ZK3 created the parts of the required HTML-DOM for each request at the server and transfered it to the browser, ZK5 sends simple commands to the browser, where the appropriate HTML is dynamically built via JavaScript.</li><li><strong>ZK5 brings new hflex/vflex-attributes: </strong>These attributes allow to create self-sizing forms more easily. E.g. with ZK3 the width of the ContentEditor-Windows was hard-coded, whereas ZK5 allows to specify a percentage width (70% of a browser window as default) and all used components within a form align themselves within that width.</li><li><strong>ZK5 brings one click upload:</strong> Just click on the upload button and the file-browser pops up. No more intermediate popup windows are needed.</li></ul><p><strong>Kudos to the ZK-Team</strong> for their support and very quick bug fixes... but to be honest:&#160;there were some nasty bugs in ZK5 which gave me a hard time to finish the migration from ZK3 to ZK5...</p><p>Further changes along the layers used in Jease:</p><h2>JFix:</h2><ul><li>Improved Picklist which works better for larger selections.</li><li>Improved Session-handling for easier integration of third-party technologies (use native session directly and don't store items within ZK-Session).</li><li>Updates to latest db4o, NeoDatis and Lucene.</li></ul><h2>Jease-CMF:</h2><ul><li>Security fix for FCKEditor-Link-/Image-Browser: browser does not show all available content within a site, just only the content the user has rights via the declared roots. Thanks to Marcus for pointing me to this issue!</li><li>Bug fix for dragging content from tree to clipboard.</li></ul><h2>Jease-CMS:</h2><ul><li>View-button in&#160;ContentEditor to open a new browser-tab for a quick view of the resulting page. Thanks to Marcus for his suggestion.</li><li>New method in ContentTableModel: getProportions() allows to declare the relative width for every table column. Formerly space was distributed equally among all columns.</li><li>Changed DefaultContent for Folder to first content item in Folder (regardless if content is visible or not). This way you can decide to hide the default content-item for a folder from navigation. Thanks to Marcus for insisting on the change.&#160;Seems to be a good idea.</li><li>Optional email address for Users.&#160;Thanks to Marcus.</li></ul><h2>Jease-Site:</h2><ul><li>Bug fix for File.jsp:&#160;text-content stored within a File was displayed with the wrong encoding. Thanks to Marcus for reporting the problem.</li></ul><p>And as always some more cleanups and refactorings... and... I've started to document important classes and methods, so don't complain there's no documentation in the code...;-)</p>]]></content>
</entry>
<entry>
<title>Jease 0.5 released</title>
<summary>Perst-Performance boost.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.5/release" />
<id>http://www.jease.org/download/0.x/0.5/release</id>
<updated>2010-01-27T00:00:00+01:00</updated>
<content type="html"><![CDATA[<h3>JFix:</h3> <ul>     <li>Bug fix for Blobs: java.io.File.renameTo might fail under some circumstances (as stated in the Java-API), so added file-copy as fallback based on NIO-API. Thanks to Tung for reporting this issue.</li>     <li>PersistenceEnginePerst: huge performance boost by using strong references instead of weak references.</li><li>Improved usability for Picklist.</li><li>Reset-Button for LoginForm to reset login/password (and Cookies).</li><li>More user-friendly Formbox:&#160;Help text is displayed as Popup-Icon instead of&#160;Tooltip over the component.</li>     <li>Dependency-Updates: db4o, Perst, ZK, POI</li> </ul> <h3>Jease-CMF:</h3> <ul>     <li>Improved NodeConstructor which delivers copies of Nodes instead of creating new Nodes all the time. This means less communication between server and browser.</li>     <li>added Node.getDescendants(): delivers all children (and children of children and so on) of a Node in order of storage.</li> </ul> <h3>Jease-CMS:</h3> <ul>     <li>Bug fix: "too many open files"-Exception when using Quick-Zip-Import due to unclosed streams.</li> </ul>      <h3>Jease-Site:</h3>     <ul>         <li>Improved search result</li>         <li>Way to specify an alternate PageTemplate via new jsp-parameter. This way you can easily process request-results with your own JSPs (e.g. displaying search-results, handling email-forms, etc.pp.). Thanks to Albert for bringing up this issue.</li><li>Update to Tomcat 6.0.24.</li></ul><h3>Documentation</h3><ul><li>Fixed bug in tutorial. Thanks for Lucas pointing me to the problem that there were a namespace-clash with the "Event"-class. Changed "Event" to "Meeting", problem solved the easy way...;-)</li></ul><p><em><strong>And as always:&#160;some additional cleanups and minor refactorings.</strong></em></p>]]></content>
</entry>
<entry>
<title>Jease 0.4 released</title>
<summary>Reference-Object.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.4/release" />
<id>http://www.jease.org/download/0.x/0.4/release</id>
<updated>2009-12-28T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>This update brings you the following features:</p><ul><li>A new content-type called <strong>Reference</strong> is now availabe.&#160;You can use it to create a symbolic link to all content stored within Jease. This allows you to display the same content in different places (e.g. useful for identical News on frontpage and subfolders).</li><li>The News-Content-Type has now an <strong>user-editable date</strong>.</li><li>Jease handles the navigation for large content-trees more efficiently by using <strong>paging for the NavigationTree</strong>. You can use the clipboard below the ContentTable to drag&amp;drop navigation-items between pages.</li><li>By introducing a <strong>new RefreshState-Object</strong>, Jease updates the user-interface only when content has been changed in the database. This avoids lots of round-trips to server.</li><li><strong>Cleanup of the JSPs</strong> for the default web-site by moving lots of code to a new Navigations-Service.</li><li><strong>Shortcut for validation</strong> within ContentEditors. Instead of writing <br /><br /><em>public void validate()&#160;{<br />&#160;&#160;&#160; ...<br />&#160;&#160;&#160; if(condition) {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; addError("Your Message");<br />&#160;&#160;&#160; }<br />&#160;&#160;&#160; ...<br />}</em><br /><br />you can now use the following shortcut<br /><br /><em>public void validate()&#160;{<br />&#160;&#160;&#160; ...<br />&#160;&#160;&#160; validate(condition, "Your Message");<br />&#160;&#160;&#160; ...<br />}</em><br />&#160;</li></ul><p>&#160;</p>]]></content>
</entry>
<entry>
<title>Jease 0.3 released</title>
<summary>Quick-Fileupload.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.3/release" />
<id>http://www.jease.org/download/0.x/0.3/release</id>
<updated>2009-12-10T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>The third release of Jease brings you the following changes:</p> <ul>     <li><strong>Quick file-upload:</strong>&#160;you can use it to upload single files with just one click or to upload and unpack a whole zip-archive. Additionally an improved mime-detection was implemented.</li><li><strong>Usabilty improvement:</strong> saving content doesn't close the editor automatically anymore.&#160;This way it is much easier to save, reload, view, change, save again and so on.</li><li><strong>Paging for the ContentTable:</strong>&#160;if you're having lots of items within one folder, the content-view got a little bit slow due to browser-limitations handling really large dom-objects. Therefore I've switched the content-view to make use of paging. Drag&amp;Drop between pages works with a small clipboard (small box below content-view). Just drop your content-item into the clipboard, switch the page, then drag the content-item from the clipboard to the desired position.</li><li><strong>Improved performance for NavigationTree:</strong>&#160;the tree is only rebuild when contents got changed. This way the tree is more efficient. I'm going to provide a still better implementation based on lazy loading with next release, because the default ZK-Tree-Implementation is a performance-bottleneck with large trees because the whole DOM is transfered to client.</li><li><strong>Slider between ContentTable and NavigationTree</strong> allows resizing of panels.</li><li><strong>Huge performance boost for deleting deep content-trees:</strong> checking possibly referenced user-folders very efficiently when deleting a folder allows to omit the costly reference-check on database-level.</li><li><strong>Persistent plaintext for Text-Items </strong>allows you to switch off the WYSIWYG-editor permantley if you want to.</li><li><strong>Translations of user-interface into Spanish and Chinese.</strong> Thanks to Ignacio and Qin!</li><li>Update to <strong>Lucene 3.0.</strong></li><li>And some more changes &amp;&#160;cleanups...</li>      </ul>]]></content>
</entry>
<entry>
<title>Jease 0.2 released</title>
<summary>Pluggable persistence.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.2/release" />
<id>http://www.jease.org/download/0.x/0.2/release</id>
<updated>2009-11-21T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>
	The second release of Jease brings you the following changes:</p>
<ul>
	<li>
		Full UTF-8 support for default web-site. Please note:&nbsp;if you want to deploy Jease into a vanilla Tomcat, you have to add <em>useBodyEncodingForURI="true"</em> to default Connector in conf/server.xml.</li>
	<li>
		<a href="./~/documentation/database?print">Pluggable persistence-engine architecture.</a> Jease now supports all existing open-source object-databases:&nbsp;<a href="http://www.db4o.com/">db4o</a>, <a href="http://www.neodatis.org">NeoDatis</a> and <a href="http://www.mcobject.com/perst">Perst</a>.</li>
	<li>
		Updates for latest ZK&nbsp;(3.6.3), Lucene (2.9.1) and db4o (7.4).</li>
</ul>
]]></content>
</entry>
<entry>
<title>Jease 0.1 released</title>
<summary>Its done.</summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/download/0.x/0.1/release" />
<id>http://www.jease.org/download/0.x/0.1/release</id>
<updated>2009-10-26T00:00:00+01:00</updated>
<content type="html"><![CDATA[<p>You can <a href="/download?print">download</a> the first release of Jease.</p>
<p>As the version number tells you, this release is regarded as development-in-progress (although most of the underlying code-base is running in production for several years now).</p>
<p>Although Jease works very stable (and jease.org is done with Jease), be aware that APIs may change in upcoming releases as long as Jease isn't declared as 1.0.</p>]]></content>
</entry>
<entry>
<title>Join us</title>
<summary></summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/support/subscribe" />
<id>http://www.jease.org/support/subscribe</id>
<updated>1970-01-01T00:59:59+01:00</updated>
<content type="html"><![CDATA[<p>
	Subscribe to the <a href="http://groups.google.com/group/jease/">Jease User Google Group</a>&nbsp;through the web or by entering your email:</p>
<form action="http://groups.google.com/group/jease/boxsubscribe" style="border: none; padding:0px;margin:0px; margin-top:10px;margin-bottom:10px;">
	<input name="email" onfocus="this.value='';" style="border: 1px solid rgb(169, 186, 195); margin: 2px; font-style: italic; color: #808080;" type="text" value="Your Email" /> <input name="sub" type="submit" value="Subscribe" /> </form>
<p>
	<strong>Your first mail to the group will be moderated to avoid spam.</strong></p>
]]></content>
</entry>
<entry>
<title>Java with Ease</title>
<summary></summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/blog/java_is_it" />
<id>http://www.jease.org/blog/java_is_it</id>
<updated>1970-01-01T00:59:59+01:00</updated>
<content type="html"><![CDATA[<p>
	Java is a very productive development environment if you choose and combine the right tools and patterns.</p>
<p>
	Jease is the result of my personal quest bringing tools and patterns together which make the life of a web-developer as simple as it can be.</p>
]]></content>
</entry>
<entry>
<title>Installing Jease</title>
<summary></summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/demo/install" />
<id>http://www.jease.org/demo/install</id>
<updated>1970-01-01T00:59:59+01:00</updated>
<content type="html"><![CDATA[<p>
	Interested in Jease? Please read the <a href="./~/download?print">Quickstart-Howto</a> to see how easy it is to get Jease up and running within 5 minutes.</p>
]]></content>
</entry>
<entry>
<title>Want to contribute?</title>
<summary></summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/documentation/contribute" />
<id>http://www.jease.org/documentation/contribute</id>
<updated>1970-01-01T00:59:59+01:00</updated>
<content type="html"><![CDATA[<p>Do you want to contribute to Jease? Writing documentation is a good place to get started and will help to get people becoming more familiar with Jease. Any contribution is appreciated.</p>]]></content>
</entry>
<entry>
<title>The power of ZK</title>
<summary></summary>
<author>
	<name>Maik Jablonski</name>
	<email>maik.jablonski@jease.org</email>
</author>
<link href="http://www.jease.org/demo/zul/news" />
<id>http://www.jease.org/demo/zul/news</id>
<updated>1970-01-01T00:59:59+01:00</updated>
<content type="html"><![CDATA[<p>
	Jease allows to integrate <a href="http://books.zkoss.org/wiki/ZK_Developer's_Reference/UI_Composing/ZUML">ZUL-Scripts</a> from <a href="http://www.zkoss.org/">ZK</a> into the public view very easily.</p>
<p>
	Just create a Script-Object within Jease with extension ".zul" and put you're ZUL-code in it. That's it.</p>
<p>
	ZK provides lots of nice components which allow to create powerful user interfaces without messing with HTML, CSS or Javascript. The <a href="http://www.zkoss.org/zkdemo/">ZK-Demo</a> provides more examples.</p>
]]></content>
</entry>
</feed>