Content-type: text/html ~ Stephen's Web ~ Frustrated With Drupal

Stephen Downes

Knowledge, Learning, Community

Dec 17, 2006

OK, I admit it, I am very frustrated with Drupal right now.

I have spent days trying to do something that should be very simple - to set up Drupal with a system that allows me to send out my email newsletters.

It didn't help that my web host was in the middle of switching mailing list managers, from ezmlm to mailman. It didn't help when my ste was set up for mailman, but documented for exmlm.

After finally threatening to move my account elsewhere they actually sent me a terse four-line message telling me where and how to set up a mailman mailing list (the lists are all on another server so if you don't know where it is, you're stuck. And CSoft uses its own controlpanel, csoftadmin, which has its own unique command set).

In the interin, I tried a bunch of things with Drupal. I got to explore, for example, the Drupal Actions and Workflow modules. There is no documentation available for actions - not even something that sys you need to use actions in conjunction with some other manual. Nothing. And with workflow, the only documentation I could find was a video.

Drupal really really has to fix this. The search results thrown up by the site on any search are utterly useless. You get bits and pieces of discussion in the Drupal discussion forums - questions about how to install it, for example, with no links to the answer. What you don't get (maybe because it doesn't exist?) is documentation on how to use it.

Anyhow, after spending several hours figuring our how to make the workflow work, and to send an email message, I run into another problem: how to send an HTML message. It appears to have become very political inside the Drupal developer community, with the verdict being that the makers of Actions will only allow the purity of text email. Morons!

More burrowing through the Drupal site. Try the Send Module, which in turn requires the MimeMail Module. According to the site, Send is supposed to "permits you to create a 'send this item' link on any node type (image, story, event, etc.)." What it doesn't tell you is how you are supposed to do this. If there is a trigger or a toggle anywhere inside the module commands, I couldn't find it (and I spend hours searching, methodically going through every possible setting - I am nothing if not persistent (people who read these articles should know that by now)). So, another dead end. I cannot use these modules to send anything.

So anyhow. CSoft finally gets around to telling me about the new mailman installation. OK, fine. Forget trying to use Drupal to send emails, I'll just do that manually, and use the Drupal Mailman Manager module to allow people to subscribe and unsubscribe from mailing lists. I set up the lists in mailman (again working without proper documentation, so I'm working by feel here). I am able to subscribe and unsubscribe using my administrator user ID. Then I test on a typical website user. Disaster.

  • warning: array_merge_recursive() [function.array-merge-recursive]: Argument #1 is not an array in /home/downes/www/drupal/modules/user.module on line 2139.
  • warning: uasort() [function.uasort]: The argument should be an array in /home/downes/www/drupal/modules/user.module on line 2142.
(The links in the error message are, of course, are useless, pointing to nothing.)

I poked around in the code a bit - for some reason, the user.module code is more than 100K, with entire help files hard-coded in it. The problem is here:

    function _user_forms(&$edit, $account, $category, $hook = 'form') {
    $groups = array();
    foreach (module_list() as $module) {
    if ($data = module_invoke($module, 'user', $hook, $edit, $account, $category)) {
    $groups = array_merge_recursive($data, $groups); [2139]
    uasort($groups, '_user_sort'); [2142]
    return empty($groups) ? FALSE : $groups;

So what we have happening here is that the output from one function fails as input to the next function. There is, of course, no type checking or anything like what quality code would perform; it just breaks.

I tried a couple things to fix it, but I am simply not familiar enough with this software to fix it.

Just adding to my frustration is that something - I know not what - is bogging the site down. Could be my service provider, which sometimes hangs for no apparent reason. Could be Drupal, which is by now very bloated (I will totally have to reinstall once I know which modules work and which ones don't).

Now I'm just stymied. The search on Drupal for help on mailman is, of course, useless. There's another mailman module, but t would require that I write my own server. There's an ezmlm module, but of course that doesn't work.

So how can I send nice HTML newsletters to my subscribers? I have no idea right now. And I've started searching - for other service providers, for other content management systems. I've had about enough of this.

I know that Drupal is in the middle of moving to a (not yet functioning) Drupal 5 system. But it has to:

- enforce quality control on modules, at least, those that appear on the Drupal site
- create documentation for modules, real documentation, that tells people how to use the module
- fix the search function so that you aren't flooded with useless discussion list messages

That's a start. I would actually redesign the module pages themselves. The Support section, which appears on every module page, for example, links to general Drupal forums and to bug reports and submissions. This is not support.

I don't know what to do now. I'm way part my deadline for moving the site. I have been fighting with Drupal for so long now I just don't know if I have the will any more. I hate PHP; it really is spaghetti-code. Can I simply set up my new server to use my own Perl code (which, at least, works)? I don't know - the people behind Perl created perl modules, which are a huge barrier for any implementation.

I'm not sure what I want to do now.

Stephen Downes Stephen Downes, Casselman, Canada

Copyright 2024
Last Updated: Jul 21, 2024 05:55 a.m.

Canadian Flag Creative Commons License.