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.

Where the Drupal spam module doesn't work

Last week I wrote about Drupal spam options. In that piece I commented that I hadn't used the Akismet service. Sometime after that post I was reminded of a site where I have a great many problems with spam. Wanting to run a forum it is constantly overrun with spam. For some reason the Spam module in contrib doesn't seem to consistently delete or unpublish nodes that are spam. On this site there isn't a problem because it handles comments well (though Sunday a few comments did get through). Back to the other site where I installed Akismet over the weekend and low and behold the spam problem instantly dried up. It is clear from this little experiment that both are valuable tools in the anti-spam arsenal and have a place being used together. Thanks for everyone's comments!

User profiles as nodes or not in Drupal

As I go through the lullabot podcasts one of them hit on a challenge I'm working on. I have a series of related sites and the need to have complex user profiles and different user profiles for different roles. There are several ways to do this with modules that make user profiles into full blown nodes. Then a little CCK/Views magic and life is very good. The problem is that then user profiles are nodes.

Best ways to handle spam in Drupal?

Recently my iPod and now my iPhone has been filling with the excellent Lullabot Podcast. The podcast covers everything Drupal and I've been working back through some of the previous episodes. Episode 40 covers the top 40 Drupal projects. The list is great. I've used many of the modules and I'm now experimenting with many others.

The question I came across has to do with spam handling. I'm using the Spam module and pretty happy with it. Every once in a while something slips through and very rarely there has been the odd false positive but it has worked well overall. The podcast recommends the Akismet module. Does it work better? What sorts of experiences have people had who have tried both?

Vendor lock-in

Dave Winer has been blogging about vendor lock-in for quite a while now. It occurred to me earlier as I was reading about a really cool project and realizing that this project would never be possible with commercial applications. Would it be possible to put Microsoft Content Management on a flash drive even if the license permitted it? How else could one have a flash-drive based cross-platform web-enabled application?

When companies and organizations take the stand that open-source is not for them it is often a short-sighted view. Certainly there are organizations that can't deal with open source themselves but there is no upside from skipping the numerous vendors working with open-source and there is almost certainly long term risk. What does a business do when their system is no longer supported and their data is locked-in to a particular vendor's system? Just ask some organizations that are just now trying to migrate from mainframe systems to database systems and the years of work and millions of dollars it takes to make the move.

Sure I know Dreamweaver, Front Page and more

As a hiring manager I'm always skeptical when I get a resume filled with "technical" classes from one of the myriad of technical schools around the country. When I've worked with graduates of these programs it seems they have a marginal, but usually satisfactory, understanding of how technology is supposed to work. The problem is I rarely need people who can work with technology that is working. If technology is working and things are simple there is little that end-users need. Even relatively simple tasks like deploying computers depends upon a specific understanding of the complex situation that is most business networks. Few organizations do a "out of the box" installation of a Microsoft Active Directory and run 100% machines that work in that environment. These complexities mean a technical manager is quickly looking for skills that don't come from these technical schools. Ironically because they do tend to come in people who are self-motivated to learn the technology any way they can often the requisite skills are stronger in those who haven't been through this sort of program.

Important order considerations with multiple databases in Drupal

I have been working recently with a Drupal application where it is necessary to bring in some data from a non-Drupal database. Eventually these features might roll into a module and the data may move into Drupal but for the moment it sits alone in another database.

An hour or so today disappeared into trying to figure out why various theme_ functions did not work properly. Calling theme('item_list', $list); for example returned broken pages and error messages in the log. After searching for what I was doing wrong in calling theme_ it finally hit me that the error log messages were complaining about not finding the system table and not having parts of the theme. From there it was quick to find the information (which I posted as a comment as well).

The upshot is you have to return to the 'default' database before doing theme work. Read the full version for a code examples.

Organizational web-mastering

Every once in a while something happens that just floors me. Often I think I've seen just about every cheap-trick in the book and know all the ways people are a bit odd. A recent exchange showed that I've still got more to learn. The story starts some months back when an organization asked me to work on their website. For a multitude of reasons the group was not happy with the site they had and couldn't get satisfaction from the process they were using.

"In the news" or recent reads on Drupal sites

Some months back I started the "Points of Interest" item at the left. It is basically a linkblog and provides a way to make pointers for things that might be interesting to readers for which I'm not going to take the time for a full post. The setup is quite simple.

Google Reader

Google ReaderIn my case it started with Google Reader. I had begun using it as my primary RSS reader and found the "Share" feature to be handy. Even handier is that the items that have been shared are put into their own RSS feed. Click on "Shared Items" in Google Reader and you've got the URL handy. To begin with I created a feed in the Drupal Aggregator to create a subscription to Google Reader's Shared Items that I called "Recent Reads".

Close Signups with maximum registrants

Working on a project this week I needed a module to allow users to sign up for orientation sessions and automatically close signups when the sessions are full. The signup module for Drupal does this but didn't have the ability to close signups after reaching the maximum number of participants. After a few false starts and simplifying the code I rolled a patch that adds eight lines of code and adds the functionality. The patch uses an unused column in the database so a database change isn't needed (I originally had added a new column but realized that the close_signup_limit column isn't used).


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