Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Open Source CMS Evaluation - Part III: Implementation

In my last post, I narrowed my open source CMS candidates down to Joomla and Drupal. I was hoping to have a choice made by Monday morning, implement the design in the morning, and populate the content in the afternoon. Two days later and I'm now where I was hoping to be on Monday morning. I've spent the last two days implementing both Joomla and Drupal. Monday, I spent most of the day with Joomla. While it was easy to apply my own theme, I became very discouraged when I discovered I didn't have full control over the HTML markup produced. All of the content I produced was wrapped with a <table> - and from what I could tell, it was impossible for me to change that w/o hacking Joomla's code.

Based on that discovery, as well as the overwhelming number of pro-Drupal comments I received, I moved on to implementing Drupal. Monday night and yesterday were spent with Drupal. It's been extremely frustrating, but mostly because of all the CSS I had to write. The major problem with Drupal is the admin interface uses the same template as the reader interface. I did find a nice way to use an existing theme for the admin, and our own for the reader - but decided not to use it because it would give content authors the wrong impression of what their stuff looks like.

The majority of the time I've spent with Drupal has been modifying templates and installing modules. For the most part, Drupal doesn't come with everything you might need. I found the CivicSpace download to be much more complete with modules I needed. In addition, it has an installer which makes things a bit easier to setup for a web designer. I'm currently using the Article module, which works quite well, but I wish I could create multiple blocks for different categories (taxomies). Instead, I had to hack up my own block using some SQL to select all the "news" content types (for a Recent News block).

My biggest problem with Drupal continues to be my lack of knowledge. Luckily, there's a plethora of information out there and a lot of people are using it. I've been able to use the Drupal Forums as well as Google to solve most of my issues. Now the hard part comes - I need to show it to the designer/marketing folks and teach them how to use it.

The brochure site in an hour tutorial was extremely helpful for me to get started with an About page, Contact Us page, and Press Releases. However, it says to use "books" to create pages, and I've seen others recommend "page" and "story". So which is the best one to use? Should I advocate using "page" for regular site pages, and then "story" for our articles and whitepapers? Or should we use "book page" for the main pages. I'd like to limit the number of choices if possible.

I think the major problem with using Drupal is going to be tweaking our template. Every time I see a new custom theme (like this one) I want to steal stuff. Right now, I'm using a design from oswd.org and much of the CSS from the spreadfirefox theme.

Conclusion: No CMS is perfect. You'll have to hack it on one way or another to make it fit your needs. Drupal seems to be used by many web designers w/ little to no programming skills. Most folks love it and I've received many, many positive comments about it. I've received hardly any positive comments about Joomla. Zope and Plone also seemed to inspire hatred among some users.

Lesson Learned: Listen to your readers. Other users' experience is one of the most valuable indicators of a good open source project.

Posted in Open Source at Sep 28 2005, 12:50:16 PM MDT 16 Comments
Comments:

Hi Matt

with this link http://drupal.org/node/23730, check the first post (eloquent explanation on diff trappings of book vs. taxonom), then search for this long post by "Zach Harkey".

Good extra reading for taxonomy:

http://drupal.org/handbook/modules/taxonomy

http://www.greenash.net.au/posts/thoughts/basic_breadcrumbs_and_taxonomy

Good luck :)

Posted by td on September 28, 2005 at 01:56 PM MDT #

Roland, our "chief blogging officer", wrote the brochure site in an hour tutorial. Here are a few more thoughts that might be useful.

Pros of using book pages for static site pages:

  • automatic secondary navigation by enabling book navigation block
  • every book page is added to a place in a site hierarchy automatically
  • can easily add non-book nodes to the outline (e.g. events -- see http://www.bryght.com/events)
  • I am of the unreasoning opinion that taxonomy is for categorization, not structure?

Cons:

  • may want to override default next/prev links display
  • nodes can only exist in a single spot in the hierarchy (this maps to how most static site structures are today, so I personally don't see it as a major con)

Using page + menu on the fly would be the non-book way of doing this. Don't listen to the taxonomy dudes, they're crazy :P http://drupal.org/node/31828

I would use "story" for your articles/whitepapers. Use either a structured taxonomy or free tagging to organize them.

I actually just came across a use case for multiple instances of article, or rather using it for multiple vocabularies -- I've filed a feature request here: http://drupal.org/node/32513

Posted by Boris Mann on September 28, 2005 at 03:54 PM MDT #

I keep reading your reviews of these CMS apps and the trouble you've been having with them. Some serious overhauls need to be made in the web app world if a leading J2EE guy is having this many problems with the software. Rails to the rescuse ;-) (I had to)

Posted by PJ Hyett on September 28, 2005 at 10:49 PM MDT #

I went through the exact same process several months ago. I loved Mambo's admin UI, then cried when I found out how horrible inflexible the theme system was... and it's not XHTML compliant and doesn't use much CSS to boot! I made the same decision: Drupal. For your page vs. story question, I use both, but only when I need two unique layouts. Because you can create separate templates node.tpl.php and node-page.tpl.php when using PHPTemplate, using both content types adds some flexibility. For example, my story layout includes information about post, date, author name, etc. The page layout is sans-metadata... more like a traditional static web page. I know many people that use one or the other and not both. It's merely a matter of preference. The only substantial difference between page and story is the way permissions are handled. I'm not positive, but I think stories have a stricter set of permissions (presumably because they are "owned" by a single person, while pages are community assets like wikis). I could be completely wrong on that... I have not tested as it's never been an issue for me.

Posted by Aaron Longwell on September 28, 2005 at 11:19 PM MDT #

"a leading J2EE guy" ??? Matt Raible hasn't done anything fancy apart from trying to simplify J2EE app by developing a jump-start-kit with AppFuse. Anyone can create something like AppFuse, only Matt is crazy/brave enough to sacrifice his sleeping time to do it. His fame is the fruit of his sacrifices. But I wouldn't call him "a leading J2EE guy". If you have a look at the mailing list archive of the open source projects he has been involved with, at best he contributed hacks and no ellegant solution. Nevertheless, his contribution to the J2EE world is needed and I guess we ought to thank him for that.

Posted by Jemma Dobson on September 29, 2005 at 12:07 AM MDT #

Matt is a leading J2EE guy simply because he <em>does</em> take the risk and actually brings a smart product to market. Being brave and/or crazy enough to do so is just as important as writing the code itself. Don't discount his contributions.

Posted by Geof Harries on September 29, 2005 at 10:24 AM MDT #

I wonder why nobody mentioned www.xoops.org? I've been looking at it alongside Mambo/Joomla and, well, I've not looked at it long enough to make my mind up but I wondered if it wasn't mentioned because nobody has heard of it or because nobody likes it. I would be interested to hear which.

Posted by Mark Jones on September 29, 2005 at 12:06 PM MDT #

Dear Matt, I have used joomla can i can tell you it is great. i had no problems of whatsoever, Community online support is amazing. use #joomla on IRC. its great. in the end the choice is yours anyways, could be joomla users and people have no problems and hence no comments :) enjoy. Vaneet

Posted by Vaneet on March 22, 2006 at 10:51 AM MST #

I regret that you do not seem to have included Etomite in you survey. Get it at http://www.etomite.org it's great !

Posted by Gordon Tatler on May 13, 2006 at 02:28 PM MDT #

The usual problem with Web CMS is that many of them build hierarchical navigation on top of the content structure.

Daisy seems to have a different approach. Navigation is build apart from content structure (that's what they say)

On top of that, Daisy speaks about faceted navigation which is, trust me on that, something any CMS should provides. (Drupal sounds great at this too) I give it a try and tell...

Posted by Serge Libotte on May 17, 2006 at 03:04 AM MDT #

With regards to joomla producing annoyingly awful html: There are some people who take joomla, strip out all the table based markup and replace it with semantic html. They release their version with every new release of joomla and i use it all the time. Have a look on joomlaforge.net and do a search for "a8e". It doesn't come with a default template loaded so you I tried drupal a number times but found that although it is a little quicker than joomla initially (it is 450kb compared to joomlas 5mb) the quality of the 3rd party components for it are nothing compared to joomla's. Joomla is definately the better of the two and with it's 1.5 release is going to be even more impressive.

Posted by John Baxter on July 05, 2006 at 04:56 AM MDT #

I realized that you had done this investigation a while back.

But, looking at your site: http://www.virtuas.com/ Am I correct to deduce that you're actually using MeshCMS for the site? The signature at the bottom seems to be giving it away.

I like meshCMS, but it is on low scale of features! Is it a case of simpler is better? Tell us now how you like it? Have you done any customizations?

Thanks!

Posted by Stephan on July 25, 2006 at 02:18 PM MDT #

Stephan - we're using Drupal on virtuas.com.

Posted by Matt Raible on July 25, 2006 at 10:12 PM MDT #

I am an pathetic PHP, CSS, (X)HTML Programmer - that is if you allow me to call myself a programmer. I have tested many Open Source CMS and would have to agree with the author. You have to hack into the core to get it to fit your needs and hence when choosing a CMS it really boils down to which one is easiest to hack. I believe Drupal wins. With the advent of PHPTemplate proting templates is a breeze. The only difficulty I have with Drupal is understanding PHP snippets such as those refering to creating regions and the reason being that I do not use classes and objects in PHP whereas the code does so I get lost. But I really do not need regions. Anyway, anyone looking for a professonal easy to hack CMS should use Drupal and although many will cringe at the idea - WordPress is not bad provided their documentation website starts working again. Oh and did I mention I am a horrible speller?

Posted by Zeeshan on August 08, 2006 at 01:16 PM MDT #

yes yes and yes !! I totally agree with the author. I, too have been spending the past few days trying to use joomla and drupal to make a site for a non-profit org, with much frustration!! I have been using drupal for a year but without any hacking/mods, just the basic template with a gallery. however, I just found out that it's just too much work for making a simple brochure like site. I mean if I have to spend 5 days hacking up the css, html and php to build a simple website why not just use static pages in dreamweaver? With so many cms/blog software out there, we really cannot find just one that could be easily used for this purpose?

Posted by travis wu on February 19, 2007 at 05:34 PM MST #

I have used three or four versions of drupal and a number of other open source PHP tools such as oscommerce, phpbb2, gallery, and others. In some cases I extensively extended the releases.

But I am now looking for a site to run in a java web container or a J2EE framework. Its time to grow up.

Hopefully I can find a CMS tool based on spring using acegi security. Maybe with the business beans on a separate back-end server that has no web accessibility. In short, an enterprise solution. PHP is a good language, but is so insecure I dont want to use it anymore. Another key factor is support for pure-java AJAX technologies such as ICEfaces, which is an ajax version of JSF that simply rocks. I never want to touch javascript again. I want to just use JSF components and java back beans and J2EE business beans. Period. So, hearing php cms suites compared to enterprise technologies really grates. Seems to me the two worlds have different purposes. The java tools have lagged behind. But I suspect they will soon leapfrog the php tools. None of the products I have used were written in PHP were OO. While PHP is easy, the whacky design of the tools make them a major pain to maintain. Both my banks are using J2EE. If they were using PHP I would cancel my accounts. Filter technology in the servlets is part of the answer to security. Where does that concept come into play in PHP? Is the PHP community asking such questions? Doesn't seem like it.

Posted by LightScribe on June 21, 2007 at 09:49 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed