Thursday, 3 December 2009

Very early release is online

A very early version of the forum is now online and available at There is very little styling and it is still missing many of the planned features. However if you are curious and want to see what progress has been made to date head on over and check it out.

Sunday, 29 November 2009

Preparing for collaboration

I managed to completely screw up the tags system for the forum when I played around with the preview 1.2.8 version of the app engine sdk. I wanted to test how the multiple tag association and searching would work with the "IN" keyword, it looks neat and tidy from a code stand point but is very inefficient with the writes. If I cache heavily enough than we should get away with it however. I have finally figured out what I broke though when I reverted back to a non multiple tag version of the forum, so the forum is usable again.
I have decided to use Google Wave as the main source of communication and collaboration for the project. I will be working on writing up some guides to make it easy for people to jump in and help with the forum development when I am not busy coding the forum. I want to make the forum look a little more like the designs, then I will upload the forum to the app engine servers for people to play with. It will be very far from complete though, so you should only check it out if you are curious to see what has done as it won't give you any indication of what the finaly product will look like. Expect that to happen soon.
I found a very nice site that provides free svn and git hosting that I am using for the flow forum source control. If you have a need for such a thing for your own project you should check out unfuddle, there site is very slick and has performed flawlessly for me so far.

Saturday, 21 November 2009

Play time is fun time

Coding the forum has been full of challenges so far. Coming from a RDMS background, working the googles bigtable datastore has been a fun challenge to tackle. I get the feeling that I will be making a number of big changes to the datastore models when I see the forum under load.
The good news however is that the Play! framework has been as good as I could have hoped for so far. It cuts down on enough syntax for me to not feel bogged down by using Java which I was beginning to think would never happen. Though I have yet to actually test any code yet, I just can't be bothered doing any dummy html until I have all of the backend stuff written up for adding and viewing posts and discussions.
I have a habit of over-estimating my abilities and falling short of any deadlines I set for myself, so it should come as no shock that I don't actually have anything for you guys to view yet. I have talked with a couple of guys who previously showed interest in working on the forum with me in the past, and they both said they are still interested. This is great news as they are both very talented and will speed up development greatly once they are brought on board. Can't wait.
All in all things are still looking bright for the forum.

Tuesday, 17 November 2009

Play Framework

Last week I finally found the java web framework that I have been looking for. It is called the Play! framework. Check out the video at to see why I like it so much. This framework is quite similar to the Ruby on Rails framework that I love so much and will allow me to develop much faster than I could in any other framework I have come across which I find to be very important.
Now that I have this framework I have decided to put the cms development on hold as I no longer need it for the forum as I can achieve everything I need using the play framework. This means that development of the forum itself is starting this week and I will be able to give you all a working prototype pretty quickly.
I am hoping to have completed the forum enough for discussion creation and listing at a minimum by the end of the week and hope to have a teaser uploaded by the end of the week. I plan on releasing new previews once a week (probably Fridays) so that you can see where the forum is headed and provide feedback while I work on the forum.
Let me know what you think about the play framework. I especially look forward to no longer having to do the usual development process of compile, stop server, start server, reload page.

Sunday, 1 November 2009

Why do Java developpers neglect error messages?

It feels like everytime I use Java for this project I am left wondering one thing, what is with the error messages? Today I had a problem with the query I was sending to the datastore and the only error message I received was a null pointer error message at the line the query was being executed. The query itself was written in a previous line of code and I had no way of knowing whether the error message was due to assigning the object to a List, lack of data being returned or any number of potential problems.
AppEngine is currently at version 1.2.6 so I would expect more care given to error messages by now. Even worse though is that I am using the mature JDO framework that Google have modified to work with AppEngine. Surely after all this time they would have decent error messages being returned. These type of things really annoy me, because they waste hours of my time that could be better spent working on my project. By the time that I figure out the cause of the error I am too angry to continue on with the coding.
Surely if you are going to take the time to write a framework for others to use, especially if this is for use on your own servers for your customers to use, you would want to make the development experience as straight forward and annoyance free as possible. I am really starting to understand why Java has such a bad rap.

Friday, 30 October 2009

CMS name suggestions

As I have said previously, I am currently creating a CMS, however as of yet I have no name for the CMS. I am looking for suggestions for the name of the new CMS. All suggestions welcome.

Thursday, 29 October 2009

I am very happy with my decision to go ahead and create the cms before the forum itself so far. One big reason for this is that it will make it much quicker and easier to handle the social network versions of the forum because they can just be new pages with different templates on them.
Although I could have quite done this easily using templates in Django, being able to decide what modules to use via an admin interface will make changes and updates much easier. Especially when I make introduce the ability for people to host their own forums. Obviously this affects the way that I develop the forum so that functionality is broken into individual modules as is practical to allow customisation.
This approach also allows for more customisations, such as having different menu modules that people can use for their forums etc.

Tuesday, 20 October 2009

to CMS or not to CMS

After weeks of searching for a platform that did everything I wanted and worked on appengine I have decided that maybe I should go ahead and create it myself. My intention with the forum was always to create a CMS at a later date and make the forum available as a module within that CMS.

This would have required alot of work at a later date because the best platform I could find for appengine was python and I wanted to do the CMS in Java. This would have required porting the forum to java, or at least a language running on Java at a later date. Not something I was looking forward to, so I have decided to create enough of the CMS to integrate the forum with it and take care of the templating and url routing for me that were annoying me with the servlet approach to website development with Java.

The initial work on the CMS is going to be based off my experience with DotNetNuke as I like the flexibility of DotNetNuke even if they underlying code leaves a little to be desired at times. Although I will be using a similar tabs/modules approach with the CMS the underlying workings will be quite different as I will be attempting to create a templating engine that is easy for designers to use by keeping to the MVC architecture and leaving all Java code out of the templates. This has an added advantage of keeping the template logic separate enough to allow for modules to be written in different languages without confusing things by having to Java for the views.

This whole process is proving to be quite a headache though as I try to figure out all the details for the CMS implementation and deciding what to build and when. I have never attempted a project even close to this size and complexity before so it will be quite the journey I am sure, and hopefully I will be much the wiser for the experience once this is all over.