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 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 lease 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.

Read more

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…

Read more

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…

Read more

MeshCMS Supports PHP!

I was not aware of the existence of Quercus, a PHP implementation written in Java. It runs as a servlet and is not limited to Resin, so I dropped the JAR in MeshCMS 4 (which I run on Jetty at the moment), and added index.php to the welcome file list to mark .php as a page extension. This is how the Quercus test page looks without any change:

This is very important, since MeshCMS 4 allows to create modules and themes using any scripting language, like JSP, Freemarker and, from now on, PHP.

Read more

First MeshCMS 4 Video

I just recorded a video while playing with the current MeshCMS 4 development code. It contains some random tests, showing some cool features:

  • creation of a new page
  • page editing
  • switching between draft and published version of the page
  • usage of modules
  • file manager with integrated control panel
  • drag&drop to order pages and modules

The application is run in GWT development mode, so it's slower than it will be when compiled to JavaScript.

There is A LOT of work to do yet before it can be released, but the big part has been done, as you can see. FYI words between asterisks *** like this *** are just markers for text that needs to be put in better form in resource bundles.

Please comment and share!

Read more

Older Posts »