Module

Taxonomy Search 2.0 module release

For a project at work, we needed to be able to manage, and therefore search, large-scale taxonomies (10,000+ terms). Users needed to be able to search for term names, descriptions and synonyms, so I figured a module using the Drupal search API seemed to be the best bet for a solution. I dove in deep and came back up with Taxonomy Search 2.x.

I've just released version 2.0 of the module, and you can check it out at the Taxonomy Search project page. I'd love some feedback, as this is my first module that utilizes the search API, and there may be some rough edges. Please take a look at let me know what you think!

Slides for ASU presentations

Attached below are the slides I used for both the March and April ASU Drupal Users' Group presentations I did. The first was on Content Access and Workflows and discussed the setting up effective content creation workflows with corresponding access controls. The second covered an intro Content Creation Kit (CCK) and Views. See the lists below for modules / sites referenced in the presentations.

Content Access and Workflows presentation

Simple Workflow + Actions

Workflow NG

Other stuff referenced

CCK & Views presentation

Initial releases of Signup Scheduler and Status modules

I've just put the finishing touches on the 1.0 releases of the Signup Scheduler and Signup Status modules, which I've written about before. While they're both in just their initial release, I feel pretty good about their stability and utility. We've been using both modules in production on the IDEAL site, where users can register for professional development courses. I've also been getting lots of great feedback and bug reports from community members in the issue queues. Special thanks to Mark Dowsett for testing and issue reporting and Derek Wright for working with me on some helpful changes to the Signup module.

The project pages have plenty of details, but most notably the Signup Status module contains lots of goodies that weren't mentioned in my original post, such as plenty of Views integration, signup certificates, signup status change emailing, and more. Check it out if you're interested!

Signup Scheduler and Status modules

Over the past couple of weeks I've put a ton of time into a couple of modules that extend the functionality provided by the fantastic Signup module. Both of these modules come as a result of requirements defined by a project I've got going at work. We're creating a course catalog and the Signup module was our pick for how users "register" for courses. The base module is pretty solid, but we needed some additional functionality to meet the requirements of the registration system.

Signup Scheduler provides users with the ability to administer a node's signups (either by being the node creator or by being a global signup administrator) to set open and close dates for signups on the node. Signups are then opened and closed based on the defined schedule via cron.

While the scheduler module is pretty slick, I'm really excited about the Signup Status module - mostly because it solves several problems for our registration system. The goal of the module is to add the concept of "status" to a user's signup to a node, with status meaning any number of things. User's could be marked as "complete," allowing the node creator (in this case, course instructor) to mark a user as having completed a course. Other states could be "incomplete," "no-show," etc. By default, the module provides two states, "Approved" (the default state) and "Wait Listed," and any number of other states can be added by site administrators that users can then assign to signed-up users.

This functionality essentially provides two major requirements for us - arbitrary status assignment and wait listing. I've still got a bit more work to do on the wait listing functionality to make it really work without confusing the node creator, but essentially the idea is that the "wait listed" state, and any other states an administrator creates, could be marked as modifying the signup total. This will allow node creators to specify, for example, that a course has 10 wait list seats available.

The Signup Scheduler module provides some other notable functionality, as well. Node creators can now print a roster of attendees and signup other users for the node. It also provides what I hope will be a solid API for other modules to tie into, including a couple of hooks that allow other modules to act upon the status change for a user. I'm hoping to spend some time helping getting the base Signup module itself to a state where it has some nice integration points in it like this, too. For example, right now it's not possible to tie into the event of a user's signup being cancelled, or the event of signing-up a user (at least as far as I can tell).

There will be some more fun stuff along these lines over the coming days and weeks, so stay tuned!

Organic Groups - Select Audience by Group Type

Last week I posted up a new Drupal module that attempts to improve the usability of the Organic Groups module when it's used with multiple group types and large numbers of groups. The module modifies the node edit form's audience selector, provided by the Organic Groups module, such that the groups are selectable by content type. This is useful on sites with a very large number of groups and many different group types. For example, a site like the one this was written for, with Districts, Schools and Interest Groups (all of which are content types defined as organic groups) will have have a node edit form with an individual selector for each group type.

Check it out, if you're an Organic Groups user, and let me know what you think.

Password Strength Module

I've just released the first version of the Password Strength module for Drupal 5.x. The module started out as a back port of the nifty jQuery password strength checking built in to Drupal 6, but quickly grew to include other features we needed for a project at ASU. The module simply modifies existing password confirm fields (where two passwords are entered, like the user edit form), so no other setup is required beyond configuring the desired enforcement rules. The first release of the module features:

  • Client-side password strength checking using jQuery
  • Server-side password strength checking using PHP
  • Settings to control:
    • Toggle server-side enforcement of password on/off
    • Enforce low-, medium-, or high-strength passwords
  • Fully translatable
Syndicate content