Drupal social publishing software

Drupal is a powerful content management system and framework that makes building powerful websites possible for mere mortals. Some of the posts here will be syndicated to Drupal planet.

Publish and subscribe

In response to a post a few weeks ago somebody commented that I should check out the publish and subscribe projects. I did and they are very good. The publish module, in particular, is just what I'm looking for. For my needs the subscribe module is not quite what I'm looking for. Two things:

The Publish server needs to be able to be any computer. With the current setup there is a need to input the name of the publish server. While this is possible and dealing with publishing from laptops can be handled with dynamic DNS. What cannot be handled is when the publishing server is NAT'd on a shared internet connection.

Within the subscribe module the customizations to make it less apparent where the content comes from (i.e. when it's a backend server not one that you want to be visited by the public) is a process of customizing the module. It could really use these as options in setting up the channels.

Using Drupal for brochure style sites

There is a thread going over at Drupal.org about the best way to use Drupal for a brochure style site.

Dries makes the comment that a needed change is the ability to, per-node, limit the inclusion of author and date posted information. I agree in part. It would be good and likely would be good in Drupal 4.7 which has much better dynamic hiding and showing of parts of the authoring screen. One of the common complaints I get from users is that the screen for authoring posts, especially if a user has many privileges is that the authoring page gets confusing.

Upgrading to PHP 5

I've been working on some Drupal installations the last few days. First off I've started working on the Drupal-CVS version that should soon be Drupal 4.7.

One of the modules I've been working with is publish. The Publish module as it's out in CVS doesn't work well with Drupal-CVS because of changes to the methods for handling nodes. It also has a construct that doesn't work with PHP 5.

The error is "Cannot use object of type stdClass as array". The required change is to change unset ($class['property']); to unset ($class->property);

So the patch is on the Drupal Publish project page.

Drupal mailhandler module and Mac OS X Tiger Server

I recently upgraded a box at work to Tiger Server (Mac OS X 10.4) and for some reason the Drupal mailhandler module doesn't want to collect mail. PHP seems to be functioning OK and no error is logged by the system. I even had it log PHP notices and still nothing. The module seems to work just fine in picking up mail from a box running a different mail server so I'm guessing it is something to do with the mail server in OS X Tiger. However the mail server doesn't report any login attempt.

How very odd....

Drupal clustering

Drupal clustering has been on my mind of late. (Apologies for not linking to the few mentions I found but the DirecWay connection is up to its no-good again.) There are a few different things that I ultimately mean by clustering. Perhaps the most extravagant gets pretty far beyond what a community/content management system should do.

The recurring dream is that I can publish anywhere, or at least to any of the Drupal sites I have permissions on, and do it easily from a single back-end. When I write something that is suited for multiple sites I click on the distribution list and the content is published to the various sites. Of course it would be great to have some additional content types like outlines and to get the project module whipped into a great task management system (maybe it should be separate from project... a topic for another day).

Drupal Bad Behaviour and killing spam

A couple of days ago I mused here about using server errors to kill spam/trackback bots. It seems I was not the first to think about this and David Angier has done work on porting Bad Behavior from Word Press to Drupal. I'd like to have some more configuration control but I'll likely figure it out shortly.

Update: The Drupal Bad Behavior module works wonderfully. Comments and trackbacks are on and are being filtered and real comments are untouched. There is no menu item for administering the settings. I added the following as the third menu item:

$items[] = array('path' => 'admin/settings', 'title' => t('bad behavior'), 'callback' => 'badbehavior_settings', 'access' => user_access('administer bad behavior'));

Update too: My earlier update seems to be unnecessary. It was likely a caching issue that prevented the menu from appearing. So far more than 800 spams have been prevented and there have been no false positives detected. A few folks have had the same problem I did which is that you have to install badbehavior.module in the bad-behavior directory in the modules directory or it won't find the include files it needs.

Trackback and comment spam handler

For a while now trackback and comment spams have been absent from this site. The process, though, is too manual. With a little luck I'll soon get around to patching the Drupal comment and trackback modules to return 404 errors to comments and trackbacks that contain improper contents. I'd be happier doing this at the Apache level, but without the ability for Apache modules to work based on the content of POST requests it won't work.

Another reason for plain text pages

Looking through Google's AdSense alternate ad specs gives yet another reason for yesterday's plain text node type. It also brings clarity to a portion of the need. The output needs to be served up, unfettered, but needs to include the ability to do PHP in generating the output. In the case of AdSense it would allow for various ads to replace the public service ads on a Drupal site if the author so desired.

Which brings me to the next item. For some reason Google has decided this page deserves only public service ads. Well not really but when accessing www.addingunderstanding.com it only gets public service ads. Go to addingunderstanding.com instead and the regular ads appear. Odd.

Drupal robots.txt

The end of the post has my current robots.txt for the standard installation of the Drupal content management system. It borrows heavily from many places including this thread on the Drupal website.

That same thread has a discussion about whether a robots.txt should be distributed with Drupal. I'm not a huge proponent one way or the other. What I want instead and will likely have to be a combination of things, is a plaintext module that provides nodes as plain text without themes or anything fancy. This will allow the authors of independent Drupal sites on the same server to each have a distinct robots.txt as well as other files. An additional possible use is the publication of a comment spam blacklist. This plain-text list would be parsed and comments with the words in the list deleted at a semi-regular interval.

As the thought has evolved I now would think the way to do it is a special node type. The "plain-jane" node type will simply regurgitate what it is fed, verbatim. Then with URL aliasing it can be robots.txt or any other file one prefers.

Open source content management system

Enclosed in this post is a slightly modified version of a presentation delivered at CALI yesterday. I didn't have time to get into the Open Journal System part of the presentation at all. The main focus was on Drupal which is a great and versatile web content management system.

The file is attached below.

Pages

Subscribe to Joshua Brauer: All Drupal items Subscribe to Joshua Brauer: Drupal Planet only