Both Drupal and Wordpress are very popular content publishing platforms. I’ve been dorking around with Wordpress for a while now (this is a Wordpress site) and I was recently able to work on a project based on the Drupal API. This gave me a very good perspective on both platforms…Keep in mind that both are very powerful and very robust web publishing platforms that can do a variety of different things. This post is intended to express my findings with a little geospatial flavour
Wordpress:
It doesn’t get any easier than Wordpress! With the stack installer, you can literally be up and running in a matter of minutes. The thing I like the most about Wordpress is that there are
Wow! To top it all off, you simply have to search for the plugin or theme want (inside of the WP Admin Panel) and then click on an “Install” button to add it to your instance. Bang! Done! End of story…Well, there are always some configuration options but that depends on what you install.
Again, Wordpress is great if you want to blog or set up a huge social network ala BuddyPress and Wordpress MU. You can set up advanced user roles using Capability Manager and then use those roles to provide restricted access to parts of your site via User Access Manager. Of course there are many more ways to do this, but I’ve used these and they appear to really work well.
Now, what if you want to add custom data and then retriee it from your blog? Hmmm…Yes you can do this by either extending your user profile or maybe by generating custom fields for a form on your site. Getting the data back out is the hard part and honestly, I really don’t know of a plugin to do this. (Insert Help Here!!!)
There are a ton of cool Geospatial Plugins too which is always something I tend to gravitate to first. Here are a couple that really caught my attention.
- WP Geo – This one is really cool but limited in what it can do. If you want to geocode your blog post and add GeoRSS to your blog, this is the plugin for you.
- Visitor Maps – This plugin sniffs out the IP Address of your site visitors and then uses an internal database to geocode (approximately of course) and then plot them out on a map that you can monitor in your administration panel.
- Of course…if you are serious about getting your info out there, make sure to install All in one SEO Pack.
So that’s Wordpress. You can see that you can publish basic information and extend the look and feel of the site with themes and plugins. There are a lot of plugins out there to choose from but the bottom line is that Wordpress is EASY!
Drupal:
At first glimpse, Drupal is a nightmare to manage and maintain. Actually, that is very true! Drupal has it’s own language and intricacies that take a while to get used to. Luckily, I had @hugoestr there to explain it all and believe me…there was a lot to explain. Like Wordpress, there are many plugins (modules in Drupal) and themes to choose from. There certainly are not as many as Wordpress but it’s gotta be close. I found a nice site to browse through to find the modules we needed. Check out the Drupal Modules website for a pretty good list of all the modules that the community has submitted.
Drupal too has a Bitnami stack that you can download but we decided to go with the Acquia stack for our solution. Why you ask? Well, the founder of Drupal is heavily involved with Acquia and has created a stack with what appears to be a pretty comprehensive set of included module. Also, for whatever reason…Microsoft seems to support this stack which is very strange to me
OK, so Drupal does everything that Wordpress doesn’t. First, Drupal is more of an API or framework than a high-level publishing platform. It’s probably meant more for the develop-type who doesn’t mind getting their hands dirty to learn what is going on. Drupal is based on a series of “nodes” which are actually just pages. There is also a complex but very powerful taxonomy mechanism built in that allows the user to categorize the content.
Searching: The Aquia Stack comes installed with a Lucene API that adds some serious search power to your site. I really like the fact that you can add the “Did you mean” and “More results like this” functionality to you site. It gives it a bit of a Google-esque feel. Solr is installed by default too which will crawl any files attached to a node but setting it up requires that you have a Solr server up and running. There are a handful of other modules out there that will also allow you to search the content in your file attachments too…
CCK and WebForms: Drupal gives you the ability to create your own content types using the Content Construction Kit (CCK). You can create your own forms and extend current ones using the CCK module. Wow! This is awesome! There is even a Web Form module that will let you set up your forms in a wizard-type approach where the pages are related to each other. By using the Conditional Fields module you can add a decision tree to your workflow. Very nice stuff!!!
Views: Once you get your data in to the Drupal data model you will want to get it out, right? Views allow you to create what is literally a view of any content in the database you want. You can return the results in a variety of different formats ranging from whole pages to a simple table.
Now let’s get to the Geo…There are 3 that are a must have
- Location – Location is sort of like the WP Geo Wordpress plugin I mentioned earlier only it does a heck of a lot more. With this module you can create your own location content type and add it to nodes across your site. This basically allows you to geocode everything in your site…from the users to the individual nodes.
- GMap – This module works with the other spatially-aware modules on your site by adding the slippy map interface.
- Geo – I have not had a chance to do anything with this one but it looks like the daddy.
The geo module is the next generation geospatial module for Drupal. Like Location, it provides storage for points, but it also supports lines and polygons.
Why is this useful? Because locations are more than addresses or dots on a map. Windmills in a field, for example, don’t have a postal address for geocoding, but still need their coordinates stored and mapped. And data such as routes, city boundaries, or flight patterns all have storage and search requirements that cannot be expressed by simple dots. Fortunately, there is an open standard for expressing this type of data, and Geo takes advantage of spatially enabled databases (PostGIS and MySQL Spatial) for native storage, which leads to faster, more informational queries.
I would love to hear some feedback from anyone who’s used this module. Spatial Queries by default in your CMS? That is very intriguing to me!
Overview:
Both Drupal and Wordpress are excellent applications. Wordpress is for very entry level users who have something to say while Drupal is a full blown Content Management System. Both have communities full of developers who contribute to making the project better but it looks like Wordpress is a bit ahead of the curve. I suspect that it’s because Wordpress is Caveman easy and even though the plugins may be complicated to develop, the user footprint is huge which is incentive to develop that most ego-starved programmer can’t pass up. Drupal is not any better or any worse…it’s just different. There is also definitely a learning curve so if you’re familiar with Wordpress and want to dive in to Drupal and expect to get it right away, you’re in for a real treat
I would love some feedback on this topic so please hit me up if you’ve got the time…
More from Adam Estrada
- Wordpress as a CMS
- If you build it, they will come...
- Open Street Map (take 1)
- SpatiaLite and Smart Phones
- ESRI FlexViewer and Error 1065
Adam Estrada Recommends
- 15 Killer Hacks for WordPress that Are Extremely Useful (MtaraM)
- Layar for the iPhone (Maploser)
- WordPress Tricks to Improve Your Blog (MtaraM)