The No.1 i-Technology Magazine in the World !
   
 
Timothy Fisher

Search Box

 

About me

Timothy Fisher
Flat Rock, MI USA
blog.timothyfisher.com

View Timothy Fisher's profile on LinkedIn

 Follow me on Twitter



Add to Technorati Favorites

Subscribe



Subscribe with Bloglines

Mailing List

Visitor Locations

My Java Book

My Tumblr

Blog Status

  • 3 yrs 50 wks 3 days old
  • Updated: 9 Dec 2008
  • 26 entries
  • 76 comments

Hit Counter

Total: 282,502
since: 19 Jan 2005

JetNuke – A Java powered CMS Platform

posted Thursday, 12 May 2005
There's been a lot of discussion in the blog community lately about the lack of a good Content Management System (CMS) platform written in Java. The most popular opinion is that the PHP CMS platforms are superior to anything available in Java. A relative new-comer to this space which warrants consideration for anyone needing a CMS is the JetNuke project. JetNuke is a near-complete Java port of the popular PHP CMS PHPNuke. JetNuke's author is Andrea Mazzolini. JetNuke is licensed under the GPL open source license.

Some of the features you get with JetNuke out of the box include multilingual support, separation of logic, data, and style, 7 predefined styles or themes, and graphical web-based administration. JetNuke runs on Tomcat 4.x or later, JDK 1.4.x or later, and MySql 4 or later.

The architecture of the pages is divided into modules and blocks. A module defines content for the main part of the page. The module content is located in the center of a page. Blocks provide content for the left and right columns of the page. The module can be thought of as providing the main functionality of a page, while the blocks provide access to other features of your site. The blocks are viewable on all the pages of your site. Typically, only one module is viewable on each page.

Predefined modules include news/articles, forum, private messages, administration, link and download directory, surveys, statistics, member list, sections, faq, encyclopedia, reviews, and statistics.

Predefined blocks include modules, login, admin, advertising, RSS feed, content, online users, http referers, search, survey, and top 10 links.

Static blocks can easily be created through the web interface, or by editing configuration files. Dynamic blocks are created by specifiying them in an xml file and extending a block interface to create the dynamic Java backend. Again, for a developer the process is very simple. There is a similar interface and configuration for creating custom modules. The presentation of both blocks and modules is specified using the Jakarta Velocity Template Language. This makes customizing and extending the CMS very simple.

The overall presentation them of a JetNuke site is customizable as well. A theme is defined in a set of 4 velocity template files. The theme can also specify a CSS stylesheet, and any included images.

Instead of writing the CMS from scratch, and trying to be the best at everything that goes into a CMS, many of the key functionalities of JetNuke are provided by other highly rated open source projects. The Jakarta Velocity project has already been mentioned as one project that JetNuke relies on.

JetNuke uses FCKEditor to edit HTML content. The FCKEditor is another very nice open source project. It features include text formatting, cut-paste, undo, link creation, image insertion, table creation and editing, and auto html clean-up of text pasted from Word. The editor makes editing HTML content simple for any web user.

Forums are provided by integration with the JForum project. JForum is yet another open source project. Likewise, the news aggregation functionality is supported by yet another open source component, that being the Informa project. Informa supports aggregation of RSS, RDF, and Atom feeds.

Internationalization is provided out-of-the-box for English, Italian, Spanish, Portuguese, French, and Farsi.

Its is very easy to get the CMS up and running immediatly after downloading it. Even the database is built for you automatically on first start-up. All the configuration is in very simple XML files. There are no large bloated configuration files like you might find in similar efforts at creating a CMS.

The site is administered using a very nice graphical administration page for configuring all aspects of the site.

Personally, I have not used this CMS for any live project, beyond evaluation, but after having evaulated it from a user and developer perspective, I would not be afraid to recommend JetNuke for future CMS projects. I believe this project certainly belongs on your short list of CMS's to evaluate. I believe this CMS would make a great platform for your small company intranet site, hobby site, group/club site, family site, etc.

Until next time,

Tim




1. a reader left...
Tuesday, 17 May 2005 7:19 am

How does JetNuke compare to Mambo (http://www.mamboserver.com/)?

Michael King [mckohio44@ameritech.net]


2. a reader left...
Tuesday, 17 May 2005 2:39 pm

Let me admit at the outset that I am relatively new to CMS systems, however I am rapidly getting up to speed. I have reviewed Magnolia and Mambo of the two, the Mambo site seems much more together and professional. I did try to reach www.jetnuke.org just at this minute and the site was down. Mambo is in its 4th major release and Magnolia is in its second. Magnolia uses the upcoming standard API for java content repositories (JCR) (JSR-170) to access its content. I could readily access no information to conclude any such compliance for JetNuke. My current information tells me I should look at Mambo and Magnolia before considering JetNuke.

lico [licosaenz@yahoo.com]


3. a reader left...
Wednesday, 18 May 2005 3:07 am

JetNuke is not compliant to JSR-170. JetNuke has been created as a port of PHPNuke. It's possible that in the future it will be compliant to some specs.

Andrea


4. Matt left...
Thursday, 9 February 2006 5:40 pm

When is it likely to support Postgresql? MySQL is nice enough now version 5 is out, but I still don't fancy moving over to it.