Release Notes for Version 0.2

Weceem Release 0.2

30 July 2009

 

Weceem CMS 0.2 is our second release, superceding release 0.1 with several architectural changes, changes to administration interfaces and new features and bug fixes.

This release is a major improvement on 0.1 - although some features have been disabled that may have been present in 0.1, and some features may by shown but not be implemented yet, to allow us to release a 0.2 and move on with 0.3!

The website weceem.org is self hosting having been upgraded from 0.1 to 0.2 successfully.

Changes in this release

Notes for those upgrading

Because the previous release was a 0.1 and we advised against it, nobody is using it in product, right? Well if you do have data you want to preserve your best bet is to export it from the old 0.1 site. This should work OK if your content nesting was not deep. Then clear your database and start with a fresh 0.2 install, create your space and import the content.

If you cannot do this, here is a list of the changes you will need to make to your database to make it work with 0.2. These changes will need to be made after 0.2 has been run once. We don't recommend this, although we were in this situation ourselves.

In summary:

  1. The existing "status" table had no default value for the old defunct "statusid" column, so new Status rows (which were never created before) cannot be created without removing this column from the mysql table first. You must drop the "statusid" column from the "status" table.
  2. The class names of content classes changed, partly due to package naming and also Block -> Widget rename. This means you have to migrate the "class" column of the "content" table to the new namings eg:

    update content set class="org.weceem.html.HTMLContent" where class = "HTMLContent";
    update content set class="org.weceem.css.StyleSheet" where class = "StyleSheet";
    update content set class="org.weceem.files.ContentDirectory" where class = "ContentDirectory";
    update content set class="org.weceem.files.ContentFile" where class = "ContentFile";
    update content set class="org.weceem.content.Widget" where class = "Block";
    update content set class="org.weceem.content.Template" where class = "Template";

    ... those are the ones we needed, you may need more.
  3. The Space table has a new "aliasuri" column which needs to be populated for the app to find your old spaces. Manually update it in your sql table to the name of your space. You can set it to a blank string to map into the root URI space
  4. All the existing content rows need the id of status row "Published" set on the status_id column to make them visible.
  5. We had to delete all user related tables and let Weceem regenerate them and default users because we could not login - we're not sure why, could be an acegi plugin/config change

Changes required irrespective of upgrade approach

After you have 0.2 running again with possibly manually repaired data, you will need to edit any links you hardcoded into content that use the old URI namespace. So for example if you had /weceem/<spacename>/<contenttype>/<aliasURI> you must edit to /weceem/<spaceAliasURI>/<aliasURI>.

This also applies to any relative WeceemFiles/ links you may have in your CSS etc.

Any "Block" you had prevously needs to be migrated into the new Widget table - eg importing a site that uses Block will lose that functionality now, you must copy the content into a Widget with the same title as the block previously.

Any Template or Widget (formerly Block) that use Weceem tags and constraints the results using the "type" attribute will need to be changed to use the new full class name including the new org.weceem.* package that the class now resides in.