Archive for 2009

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.

VeganWiki

Saturday, November 21st, 2009

I’ve found myself spending increasing amounts of time standing in a supermarket with one can of beans in each hand wondering if I could save 55 cents by purchasing the one that contains sdaeajasdfdea, or if sdaeajasdfdea is an animal product. While being able to search the Internet from my phone is enormously helpful (seriously, how did I ever function without the Internet in my pocket?), some of these queries aren’t answered on the first page of results. In an effort to not continually be tracking down the same n ingredients every time I go shopping, I decided to start a wiki to record my findings named, for lack of a more clever moniker, VeganWiki.

I spent some time deliberating about this, because there’s already so much reference material on the Internet, I seriously questioned the need for adding more. But I didn’t find any one good resource on the matter, and some sites that seemed promising at a glance often contained errors or had a different ideas about what foods they consider vegan, making it worse than useless to me. While I hope others can benefit from this resource, the problem I was trying to solve was uniquely mine: I didn’t trust the other resources, and I don’t expect random strangers who come across this one will trust it much more.

I hope that, in spite of that, the collaborative nature of a wiki, in conjunction with judicious citations, will make it a resource useful to someone other than just me. It’s kind of a ghost town right now, but I hope you will consider adding your distinctiveness knowledge to its own.

Random Blogroll Category added to the WordPress plugin directory

Friday, November 20th, 2009

My plugin was accepted in the WordPress plugin directory. You can see its page here. I just rated it five stars because I’ve got a huge ego.

I also updated it to make it possible to show the entire blogroll, or to show multiple random categories in a single call to this plugin. I didn’t upload the first version to the directory because its usage was very different, and I didn’t want to cause confusion.

Changing the title on MediaWiki’s main page

Thursday, November 19th, 2009

MediaWiki is the free software that powers Wikipedia, as well as several lesser-known wikis. I downloaded it yesterday, and I found changing its appearance more challenging than I had anticipated.

By default, a page is titled with a big headline stating the name of the entry, such as propylene glycol alginate on this page. Accordingly, the main page has a big “Main Page” headline. There doesn’t seem to be an easy way to change that to a more relevant string, but I was able to do so using the following steps: Assuming you’re using the default theme Monobook, open the file skins/MonoBook.php. In version 1.15.1 (and probably other recent versions) the relevant line is on 118:
<h1 id="firstHeading" class="firstHeading"><?php $this->data['displaytitle']!=''?$this->html('title'):$this->text('title') ?></h1>

data['displaytitle'] will be blank on the main page, but I don’t know if it’s blank on other contexts also, so in order to be certain, I added a second condition to check against and linebreaks for increased readability:
<h1 id="firstHeading" class="firstHeading">
<?php
if ($this->data['displaytitle'] != '') {
$this->html('title');

// It's the main page; put desired
// welcome message here.
} elseif ($this->data['title'] == 'Main Page') {
echo 'Welcome to this wiki!';

// displaytitle is blank but it's not the
// main page; I have no idea if this
// condition will ever be met.
} else {
$this->text('title');
}
?>
</h1>

WordPress plugin: Random Blogroll Category

Monday, November 16th, 2009

During my recent trip to Portland I finished my first WordPress plugin, Random Blogroll Category. Because of my limited Internet connectivity, I wasn’t able to implement it here or submit it to the official WordPress plugin repository until today. WordPress reviews every plugin, so you can’t see it there yet, but you can see it in action here: check the right sidebar: there should be two headings under the search bar: Non-profit orgs and one other one and a random blogroll category. Refresh the page a couple times to see other categories.

In the next version, I hope to include the ability to show the whole blogroll, but because this plugin alters the behavior of the function that retrieves the blogroll, that’s not easily done. A workaround is explicitly listing each category as a separate call, but nobody likes workarounds.

The great irony is that I created this because I was annoyed by how much space the blogroll was hogging on the right sidebar, but now I’m annoyed by the amount of whitespace. I still think it’s better this way: it’s exciting to have the space to implement new ideas.

And now for a downer: Rape

Friday, November 13th, 2009

An aggregation of some things I’ve been reading concerning that ever-cheerful topic of rape:

  • At the risk of reposting old news, Schrödinger’s Rapist, about unwelcome attention from strange men, is a wonderful expression of ideas I had in my head that I couldn’t quite verbalize. I encourage you to resist the tl;dr factor and read it anyway.
  • There were way too many comments on that thread for me to attempt to read them all, but there was a shorter thread on the Yes Means Yes blog. Someone raises the legitimate concern about the essay’s use of phrases like, “All women have a constant fear of rape” as opposed to “most” or “many”. Although comment threads often leave me feeling like I just lost 10 IQ points, I actually felt there were some interesting points raised by a dissenting commentator.
  • Also from Yes Means Yes, a paraphrase of some studies about who commits rape.
  • The justice system is based on the premise that a person can do their time and that pays their debt to society, whereas sex offender registries stigmatize them forever. Maybe that would be acceptable the really had such scary recidivism rates as common knowledge leads one to believe.

Pledging under god

Monday, November 9th, 2009

Realizing it’s old news, it annoys me to no end when I hear people getting upset about the removal of “under god” from The Pledge of Allegiance under guise of preserving history. The original pledge didn’t contain the phrase “under god”, it was added in 1954 to distinguish us righteous god-fearing Americans from those dirty godless commies.

Vitamin E and scar formation

Sunday, November 8th, 2009

I recently acquired a pretty good scrape on my wrist. Not wanting it to scar, I bought a little bottle of vitamin E to rub on it. I got to wondering (long after I’d made the purchase and made a habit of rubbing the greasy slime on my wrist) whether there’s any science behind my notion (and the bottle’s claim) that vitamin E can prevent scar formation. In short: no. It is also powerless to remove existing scars.

I ran across suggestions to use aloe vera or onion extract, but I found those claims pretty easily debunked. The New York Times article linked to above recommends Vitamin C, but I wasn’t able to find any studies to either confirm or refute those claims.

The Bad Thing: Unnatural chemicals

Friday, November 6th, 2009

I nominate “chemical” as one of the most misused terms of the decade. I’d also like to nominate its too-frequent companion “natural”, often wrongly used as counterpoint. This sort of abuse of the word “chemicals” is so prevalent that Michael has dubbed it The Bad Thing.

Everything on the periodic table of elements is a chemical. Those elements combine to form other chemicals. Everything you’ve ever experienced is the product of chemicals. You and I are made of chemicals. Even an empty box contains chemicals, primarily nitrogen and oxygen. Without chemicals to eat, drink and breathe, all life on the the planet would die very quickly.

If a product claims not to contain chemicals, it is either lying or comically ignorant. Either way, it’s a practice to avoid condoning through commerce.

When I have this conversation in real life, people often respond with something along the lines of, “Not that kind of chemical, you know, the kind made in a lab”. No, I don’t know. I speculate that the concept of chemicals as unnatural rests on the idea that a thing can be processed to a point where what is good and wholesome in it gets destroyed. It ceases to be natural and becomes chemicals. Although I doubt that this position is backed by sound science, I am curious where the cutoff is.

When I look at a loaf of bread, I don’t see wheat. I don’t really even know how a grass becomes a loaf of bread. Does that mean bread is “unnatural” or does it mean I’m ignorant about how food is processed? How about The Mighty Twinkie, with its alleged 50-year shelf life? Is that unnatural? As far as I can tell, it’s made much the same way as bread: you get some grasses, do some stuff to turn it in to flour, mix the flour with some sugar cane bits and some other stuff, then cook it somehow, and you have a food whose component parts are unrecognizable. I don’t see why one is more natural or chemical than the other. Is it because one involves so many more steps than the other? In that case, is taking a roundabout route unnatural? Phone cards can add many steps to making a phone call, are calls placed with calling cards more chemical than calls that are simply dialed?

I’m honestly curious: if you’ve ever committed The Bad Thing, or stand by The Bad Thing as a reasonable use of language, I’d like to know how H2O is good chemicals whereas the stuff of Twinkies is bad chemicals.

A word on book reviews

Wednesday, November 4th, 2009

I’m drafting some book reviews, and I wanted to make some comments here so I don’t have to repeat them in every single review:

The vast majority of books I read I have mixed views on. A book I liked all the way through would probably be useless to me as it wouldn’t give me anything to think about.

As I write reviews, I try to consider, however unlikely, the possibility that the author will read this review. I would do a disservice to all involved if I failed to discuss the things I disliked about a book because those are also usually the things I find most interesting. It is not my intention to hurt anyone’s feelings. I hope it will always be obvious that any criticisms I may have of the book, and potentially the author, are not taken as a form of disrespect.

Also, not that I expect there will be any doubt given how vocal I’ve been on the subject of advertising, but for the record, none of these posts are sponsored or otherwise requested by the publisher or anyone else; I do not receive any form of compensation. The vast majority of books reviewed are checked out from the library after I read about them on the internet.

If any excerpts contain typos or other errors, please assume those are transcription errors on my part, not reflective of the author or editor.