In the past months, I have been hosting several websites, which were WordPress based. These were my first experiences with the WordPress platform, and these experiences were quite positive. Therefore I decided to use it for my personal blog as well.
However, I was asked to host a website as well, which requirements go beyond the functionality provided by WordPress, and I was not aware of any out-of-the-box solution to forfill these needs. Therefore I was thinking about developing this website myself.
In the past, I have been developing my own website, which used to run at this domain. So I quite confident I could develop this website. I was planning to release this website as an open source product, and make it part of the BlaatSchaap Coding Projects. This would also mean, I would work on my own website as well, and create a kind of framework which supports both projects.
However, a friend of mine pointed me to take a look at Drupal. There is a so-called installation profile, Community Forge that, to some extend, provides the functionality I am looking for. The “offers” and “wants” functionality looks like what I am looking for, but it would require to add regional options, as the site I am asked to make, should indeed offer there functionality, but it should be one site, in which the user should be able to search in his region, but the site should run on national level.
Apart from that, it didn’t seem to function properly. Added items didn’t appear to be listed as they should. There was a message about selecting categories at the right, but they were missing. After disabling some modules, which provided functionality not needed, they suddenly appeared. When re-enabling those modules, the categories where still displayed.
Another problem with this Community Forge is, that it is based on Drupal version 6, while version 7 is the current version, and it appears not to be maintained. Another problem is, the site feels rather slow, while other sites on my server don’t feel that slow, therefore I conclude it is this site being slow.
I have also installed a Drupal 7 installation on my server, which runs faster then the Community Forge Drupal 6 site. Drupal 7 offers some additional features, like being able to install a module by entering it’s download url. In drupal 6, one had to upload the files to the server, and place them in the correct directory manually. In that respect, I find WordPress much better, as the installation process for plugins is fully integrated, and doesn’t require me to search and find the modules through another website.
This also includes dependencies between modules, which should be installed manually. In that respect, WordPress is more user-friendly. However… let’s take a closer look at Drupal. During my investigations I believe I might try using Drupal on my website as well, as it offers some features which might be interesting for my current plans with the BlaatSchaap Project.
But, let’s look at what is the plan for this website I am supposed to make. A desired feature is authentication through other websites. For example FaceBook. Yeah…. big and evil FaceBook. For this I was looking at OpenID Selector which is a nice looking interface for OpenID (as opposed to entering the OpenID URL manually), and can, through an additional module Facebook Connect also authenticate using FaceBook. At least, that’s what’s supposed to happen. However, it doesn’t work. The Facebook Connect module keeps complaining it cannot find the Facebook API, even though I have downloaded and placed the required files in the specified directory. (Yes, something that had to be done manually) The OpenID Selector also requires to place some files manually, and also, this one didn’t work either. A second attempt to install seemed to work better, and didn’t produce a screen full of error messages, and the login screen appears as it should, however, the login procedure fails. Another attempt to enable the Facebook Connect module doesn’t show the API not found error. This is really puzzling me. I haven’t changed anything between previous attempt.
Another thing that looked interesting is OAuth Connector, since many sites such as Facebook, Hyves and MySpace offer OAuth. In that respect, OpenID and OAuth are the two major protocols for cross-site authentication. Therefore, a general OAuth plugin, not specific to any site, would offer much more functionality. However, it appears this connector only provides an API to perform the authentication, however when I enabled it I didn’t find any configuration for it. (as there should be mentoned in this blog)
There are modules on the drupal site that offer a different kind of solution. Authentication through a third party server. So… the user *and* my site will have to trust a third party, a man in the middle. I don’t like the idea much, thank you. One of these Janrain Engage even charges for their services, while Gigya is free for non-commercial use.
Seeing in the Drupal 6 installation, the categories to appear after disabling some modules, seeing the Facebook Connect (on the Drupal 7 installation) complaining about the missing library one time, and working fine the next, gives me the feeling Drupal works rather unpredictable. I guess I will try some more, using a clean installation, perhaps I am overlooking something…
I might have found a possible explanation for this behaviour. It appears Drupal has enabled a cronjob which might have done something that enabled the things not working in previous attempts. This might be the libraries which I had to add manually, and this cronjob might have “found” then. I am just guessing.
So for now, Facebook COnnect appears to work, but the OpenID Selector just complains about invalid OpenID. But I would really like to get this general OAuth Connector thingy working…..