Posts Tagged ‘drupal’

Last night’s research: CiviCRM, Drupal, Joomla and OpenID

Sunday, November 22nd, 2009

Yesterday morning I read an e-mail from the Pirate Party advising everyone that they were about to debut their new site using CiviCRM, and that those who were interested in helping ought to start brushing up.

CiviCRM can be based on Drupal, Joomla or OpenID. Not being sufficiently familiar with any of those, I took the opportunity to brush up on all three. While it should go without saying that after a day I’m far from an expert, I now know just enough to be dangerous. And write blog posts.

In my preliminary reading about Drupal vs Joomla, I heard that Drupal offered superior user controls, but that Joomla was better for people who aren’t especially technical. I fancy myself especially technical, but I also tend to work solo, so I didn’t anticipate benefiting from either software’s strengths.

I had limited Drupal use prior to today, and my initial impression was not favorable for entirely superficial reasons: ugly default theme, aesthetic distaste for their logo, and the feeling that it was bloated by trying to offer too many features. However, the install went smootly and quickly, as all installs should, and I was up and running in no time.

The Joomla download was several times larger than Drupal’s and its install was somewhat more problematic, leading to an overall bad first impression. It’s pretty common to find software with a file named something like config.default.php that you’re expected to rename config.php. Joomla’s default configuration file is called configuration.php-dist. Since I’m way too cool to RTFM, I created a copy named configuration.php and went about installing. I ran into problems on about the forth step, apparently because the install process expects configuration.php to be a blank file. I made the change and the installation proceeded smoothly.

While installing, Joomla offers to install sample data, so that way if you’re a n00b testing the waters, you don’t have to put in a bunch of fake data to get started. I was really pleased with this feature, but once I had complete the install I just found myself annoyed with the fact that all the sample data was advertisements for Joomla and set about removing it. I chalk that up to my own fickleness more than any wrong on Joomla’s part. I was unimpressed with how difficult it was to wade through all the options. I’d pick out a specific target that I wanted to change, and look through all three or four menu options labeled “[thing] manager”, but I wasn’t able to make heads or tails of them at a glance. Perhaps if I’d been more dedicated to reading documentation before I got started, my user experience would have been better.

Switching back to Drupal, I found the administration much simpler. Like Drupal, you can create a box to appear on the main page, and roughly where in the overall layout it ought to appear. From my brief perusal, it looked like all of these boxes were created with the same form, which basically offered you a text box into which you dump your HTML (and PHP?). As a coder I found this much more agreeable than having to traipse all around several different menu options and have to try and divine WTF the labels on the form inputs mean. However, if I were setting up a web site to be maintained by many members of an organization, this would be a liability, not an asset. While I had previously objected on the grounds that it felt heavy, next to Joomla it seemed positively sparse, which is how I like it.

Finally, I came to OpenID. I installed the WordPress plugin on this blog, but I ran into so many problems that I gave up. What I had envisioned was that I’d be able to comment on other OpenID-accepting forums using my URL here, and that others with OpenID users could comment here without sitting in the moderation queue. It seems that the login page now offers a OpenID option, so if a random surfer wants to comment on a post using their OpenID, they have to find their way to the login page, log in, then presumably navigate back to the post they wanted to comment on.

Even more frustrating, I couldn’t actually get it to work. The details are running together a little, but if memory serves, I tried to log in to this blog with my OpenID at this blog, and to my relief it failed. Unfortunately, it didn’t give me any error messages, so I don’t know if it failed because of user error or because allowing you to log into any site simply by typing the url of that site would be extremely stupid. I’m assuming the former. I sought out the author’s sandbox, and tried logging in there. If I recall, it went through all the usual confirm screens, then just hung on one that seemed like it should be redirecting me back to the sandbox. This may have failed because NoScript wasn’t letting it execute Javascript. I hit the back button a few times and found myself still not logged in. I tried again with my LiveJournal OpenID. It got to about the same page before NoScript stopped it under the concern that it was a Cross Site Scripting attack. While I believe that was probably part of normal operation, I don’t want to cultivate a habit of ignoring NoScript’s warnings, which I would have to if I used OpenID with an regularity. I tried it again with a browser that allows Javascript willy-nilly, but I was still unable to log in to either blog with either OpenID. I’d still like to get OpenID working, I think it’s a great idea whose time is overdue, but for tonight I’m throwing in the towel.

In the end, my decision was sort of a cop out: Because I suspect the Pirate Party will be installing their copy of CiviCRM over an existing Drupal install, I downloaded the Drupal-based version.

On today’s agenda: tinkering with CiviCRM.