Blog
The English part of my blog is mainly technical. If you can read Italian, check the Italian section for articles of other kind.
MeshCMS 3 Is Still Alive
I keep trying to find some time to develop MeshCMS 4, but unfortunately there are many features that need to be implemented, and some design errors that need to be fixed. Despite of this, MeshCMS 4 is running this website and some others since one year.
I was not working on MeshCMS 3 at all, even if there are some websites around that use it. But I recently discovered a report about a vulnerability in MeshCMS 3 and I decided to fix it.
While working with the code, I realized that it was not too hard to add some other improvements to the new 3.x release, like upgrading TinyMCE to its latest version, thus fixing compatibility with modern browsers.
So, this is the list of changes that I implemented in a very short time:
- Fixed vulnerability reported at http://secunia.com/advisories/42946
- TinyMCE updated to 3.4.2
- jQuery updated to 1.6
- Colorbox updated to 1.3.17
- Thumbnail creation performed using less memory
- Added Artisteer support to listmenu
- Created a new…
How To Try MeshCMS 4 Alpha
The development of MeshCMS 4 is going well, and I'm enjoying it to manage my website and some other ones. But, unfortunately, the build process is not complete yet, so if you want to try it, you must make some steps manually.
First of all, check out MeshCMS 4 with Subversion from https://meshcms.svn.sourceforge.net/svnroot/meshcms (it is located in trunk). Then, download GWT from http://code.google.com/webtoolkit/download.html. Unpack GWT within the project, in /lib/gwt, so that the JARs are located in that directory (e.g. /lib/gwt/gwt-servlet.jar).
While this is the required effort, you might probably want to use a WYSIWYG editor in the CMS. At the moment, TinyMCE and CKeditor are supported. Download one of them (or both) and unpack in /lib/editors, so that you have /lib/editors/tiny_mce/tiny_mce.js and/or /lib/editors/ckeditor/ckeditor.js.
To build MeshCMS 4 you need JDK 5 or newer and Ant. Open a command shell in the project directory…
MeshCMS 4 Now Used To Serve This Website
MeshCMS 4 is now serving this website, and the current code is published on SVN (in trunk). There's much work to do before making a release though:
- fix bugs
- add missing features
- write code comments
- write documentation
Due to the slow development pace, all this will require months, but at least the MeshCMS 4 era has begun. I find it much more enjoyable than MeshCMS 3.x. For example, the file manager is much faster and creating and adding modules to pages is a pleasure now. And finally I can write this page and test it before making it visible to the public, a feature that MeshCMS has missed for years.
MeshCMS 3 is very stable and has good documentation. It won't be easy to match that level for MeshCMS 4, so any help is appreciated.
Google App Engine Is Not Free Java Hosting
Let me clarify: this is not a rant about GAE: I just want to write about my first approach with it. GAE is Free, is Java and is Hosting, so why this title? Because I've read some articles talking about GAE as a solution to host Java web applications for free. But it depends on how you think to use it: if you have written an application and are searching for a solution to host it, you must keep in mind that you will need to make heavy changes to your app.
In my case, I use MeshCMS, my own CMS, to experiment with new technologies. I knew that It would have been hard since MeshCMS uses the filesystem to store pages, and GAE does not allow to write to the filesystem. I decided to redirect filesystem writes to the datastore, just like GaeVFS does. I wrote the necessary code using both JDO and JPA, and at the end I chose JPA since it seemed to produce slightly cleaner code. In my opinion, it's easier to convert from filesystem to datastore than to convert from a traditional database…
MeshCMS 4 On Google App Engine
Google App Engine is one of the best things that Java developers have got in the last years because it means free Java hosting. When I read about it for the first time, I thought to try MeshCMS on it, but the first limitation I learned was a no go: Google App Engine forbids writing to the filesystem, so a file based CMS can't work on it.
Recently I thought that maybe I discarded that option too early and that GAE is too good to be ignored. I constantly keep an eye on Java hosting and there are some nice offers, but none of them can compete with cheap PHP hosting. Sure, you get lot of resources with Java plans, but if you just have to host a CMS, there's no reason to use MeshCMS and pay ten times more than, say, use CMS Made Simple on a €10/year web hosting.
That's why I decided to experiment with a filesystem wrapper that redirects all writes to the GAE Data Store. There is a library named GaeVFS that already does this. I tried it, but unfortunately it didn't work. Not its fault…