I have not been blogging enough about my business. I have been blogging about my travels just to let clients know when I am unavailable. At least that is my justification for blogging about my trips.
Recently I have been gaining expertise with Drupal, the Content Management System. Drupal is a web application framework which substantially reduces the amount of work required to develop a site. Unfortunately, developing a web site from scratch is very time consuming and costly. You are also unlikely to get some things right if you design it yourself. For example, web application security is difficult to get right so it is better if you use something that was designed to be secure. Any web site that requires a substantial amount of functionality should be based on a proven web application framework.
Unfortunately, Drupal is very complex. It has a steep learning curve. So I have been spending a lot of time studying how it works. I worked through the tutorial on creating a custom module. This is very useful for improving your understanding of how Drupal works. For example, it teaches you that the PHP code can be found in the files with the extension .module and most of the code is functions that are specially named to be found as hooks.
I’ve also looked at the SimpleTest module for Drupal. This module allows you to write unit tests for your custom module to ensure that code is going to work as expected. In order to get this module to work, I had to install a patch. Since I’m working on a Windows system, installing a diff patch was not an easy task. Fortunately, the NetBeans IDE can install the type of patch files that are used by Drupal developers. The NetBeans IDE is my favorite IDE for PHP work.
Web designers really like Drupal but they never do anything other than apply a web design. At most they will create a custom theme. But a web site needs to be functional to serve a purpose. I expect to find a considerable amount of work finishing up web sites that were designed in Drupal and then abandoned by designers who could not meet the client requests.
So another aspect of Drupal that I examined is how to create web forms. You can create a form from scratch using the Drupal form API or use the Webforms module. The module is slightly easier to use but it is still a little tricky so you need to spend some time working with it.
Drupal can also make it easier for you to develop a version of your web site that is optimized for mobile browsers. Clients are increasingly asking me about customizing their sites to look good on the iPhone. This can be a whole other project. But with Drupal and some of its mobile modules, you just need to create a new theme to control how the web site will look on the iPhone. While exploring the mobile modules for Drupal I found a better iPhone simulator and new resources for iPhone web development. I have been warming to the iPhone because I have an iTouch which I take on my trips. It keeps me entertained on long bus rides and train rides. I have loaded many more MP3s onto my iTouch to last me for several hours. Unfortunately, I can rarely get a WiFi connection while traveling so the Internet is unavailable to keep me entertained.