CMS fun with Drupal, WordPress, and Zenphoto

Tuesday, March 17, 2009  

peep fotos has just been redesigned. If you happen to be familiar with what was there before, the visual changes are subtle. More important is how the galleries are now constructed in a way which will allow them to be much fresher than before. Thus the difference should be more noticeable in what photographs appear, and being a photography gallery the photographs should be more important than the graphic design around them. With content being updated frequently, I hope that more people will have a reason to come back often.

When I first constructed the peep galleries four years ago, it was partly a lesson to teach myself the essentials of PHP and MySQL, which are specific programming languages for advanced web pages. I built the site from scratch, creating templates with PHP and storing all of the pertinent information to each page in a MySQL database. That is similar to how almost any successful website larger than a few pages is produced today.

Zenphoto administrationThis was great, and I even made a simple Content Management System (CMS) that allowed me to change captions and titles with ease. But re-arranging the photos, adding new galleries, or other substantial changes were a hassle. So much of a hassle, which is not much for a lazy person like myself, that I have mostly neglected this website meanwhile developing new works of photography. Sporadically, I have posted bits on Fotolog, Flickr, and Facebook, and a few disorganized places on this web site. But I have wanted to be organized in its own format, and be well organized, and most importantly: up-to-date.

Since completing the former version of peep fotos, I have learned a bit about open source CMS tools. For those our of the know, “open source” is a popular way to develop software these days that is used by many people and developed by many people. In this environment, anyone in the world can donate work their sweat and inspiration to development, and anyone can use it for no charge.  You can use it for no cost, but neither do you get paid for contributing. These tools require various degrees of skills depending on how much you wish to customize them beyond their canned designs (called themes).

Tech support is replaced by self-help: The good open source products have flourishing communities of people who help each other out. When you need to figure out something, you can consult online documentation, search forums for answers to similar questions, or in a last resort post your own questions. This community, web-based method of learning works quite well. Along the way I have tried my best to give back to these products, small contributions, such as helping with a translation to Spanish.

Personally, I have used the CMS tool WordPress in a classical blog format to construct peep words. And now I am releasing the new design peep fotos based on another tool named Zenphoto. Not only can I add or change these galleries of photographs in s snap, I can also take advantage of other things built into Zenphoto like the ability to comment on the photographs. And it’s much more secure than what I had built before (not that a lot of hackers are interested in messing with

Wordpress administration

CMS’ing in practice at four different skill levels

At the fist level, any of these products does not require much technical know-how. They each offer a bevvy of built-in options you set via a web-page that you access via a password. After that, you can extend the functionality even more with plug-ins, which are enhancements to the program contributed by other more programming-savvy users in the community. Some are better than others so you have to try out a few similar plug-ins to see which works best for you. If you want special type of calendar on your blog, just find a plug-in you like and upload it. To personalize the look, you can browse hundreds of themes contributed by other users and with that you may be able to easily change the color or upload your own logo created as a GIF or JPEG image. For a website, it’s even easier as everything is installed for you ahead of time and you chose what you want via menus.

The amount of customizing you can do is naturally proportional with the difficulty. At the second level you would know CSS (Cascading Style Sheets) pretty well. With that, you can customize the look and layout of any existing theme to a large degree, enough that it will appear like no one else’s blog. All of your modifications are made simply by altering the CSS definitions which refer to each element on the page. If you know CSS, you understand what is possible here.

The third level is my level. Here you also know some PHP, have rudimentary programming skills, and understand a little about databases. I do not call myself a programmer, but I am not afraid to try creating simple scripts or adapting existing ones. I build my own themes completely. Here you can reformat your theme pages to a great degree and really stretch the capabilities of any of these CMS products beyond the typical. For example, WordPress is a blog tool, but I often use it to create non-blog websites.

At the highest skill level, good object-oriented programming chops give you access to everything, allowing you to do anything that the team that builds the program does. WordPress or Drupal is completely under your power to do basically whatever you imagine. At this level, any functionality you need, you can get by buildiing your own plug-in.

Drupal AdministrationA few of my picks

I have investigated dozens of such programs, and have gotten to know three of them well: WordPress, Drupal, and Zenphoto. I have used them for professional projects with great results. Today for a very reasonable cost, I can give a client not only a highly-professional website, but one that is fully dynamic and that they can easily manage on their own from any web browser. And amazingly I can do this mostly on my own. WordPress is a nearly a household name today, and on you can get your own personalized blog up and running in less than an hour, at no cost (or with more benefits for a small subscription fee). A blog is simplest with web hosting included, but less flexible than other options. This is very similar to and close to it in popularity.

WordPress installed version: A separate animal of WordPress, called “the installed version,” was used for this article you are reading right now. I have installed a complete copy of everything that runs WordPress separately on my web server where lives. WordPress has a great community, and successful web site builders of all skill levels. With my knowledge of CSS and basic PHP, customizing the themes (templates) is very approachable with little additional knowledge. I am amazed at how easy it is to customize. Also, the web-based administration, the tool for editing content (and what my clients use once I am done with the project), is fairly user friendly. I can write and edit articles complete with photographs very simply from eny web browser.

Zenphoto: WordPress has plug-ins for photo galleries, but it is not inherently a great system for managing them. For this, I found Zenphoto. I have already talked a bit before about Zenphoto and how it revolutionized peep fotos. As a developer it is very similar to work with as WordPress, although narrowly focused to just image galleries. For an image gallery website it is quite sophisticated and flexible design-wise. The administration controls are less refined than in WordPress and a bit more confusing, though concise enough that you can figure it out. Zenphoto is hardly as big as WordPress, with a smaller community for helping you out, but it still works well.

Drupal: Drupal is for the big leagues. You can build large-scale web sites of many styles with Drupal. From a newspaper web site to a knock-off of Facebook, there are infinite possibilities with Drupal. All of this power comes at a price. While capable of much more, Drupal is more difficult and complex than WordPress or Zenphoto. At my skill level, I can only go so far in customizing it. You need some decent programming chops, or a willingness to study hard and learn. The Drupal community is strong, so you are not alone in figuring it out. I’ve succeeded with building a successful Drupal-based website, but it took much more effort than WordPress and I felt I could have used some programming help. Plus the administration, though powerful,  ends up being more complex and confusing for my clients.

Still there are plenty of people who use these tools nearly as-is straight out of the box. Changing settings and installing plug-ins and themes. And they can arrive at better or worse results depending on how they do it. Although Drupal and WordPress are probably the most popular today, and arguably the best, there are dozens more good ones out there that are worth checking out. Joomla is often compared to Drupal in its might, but seems more popular with people who simply install the program as-is plus add plug-ins and themes than with those who get their hands dirty under the hood.

Additionally there is a whole world of open source shopping cart solutons for seling stuff online, both open source and paid. I won’t go into any of that in detail. They are similar in may ways to the products I have talked about here, but tend to be less elegant or flexible to work with. With these you are better off not customizing too far. Drupal has shopping cart plug-ins, which I have not used but I am told work well.

No matter what website you need to build, there is little excuse any longer against making it a dynamic web site. And with a Content Management System that allows the client direct control over its content.  Such a website can stay up to date and relevant, and be more of a draw to its users.

  • Print
  • Digg
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • RSS

Comments are closed.