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.
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.
I'm wrapping up my first semester of classes in ASU's Educational Technology Master's program, and the final project for my EDT502 (Design and Development of Instruction) class was to design a program of instruction. It was strongly recommended to us to keep the program length to one hour, and to choose something we were familiar with. So, of course, I chose Drupal!
This one hour training program was designed to be a focused and quick introduction to Drupal's node system. The target audience is potential Drupal developers who have experience administering Drupal, and its major focus is on presenting nodes as objects that can be modified by modules. It has three main objectives:
- present an overview of Drupal's node structure in easy to understand terms;
- provide attendees with useful tools for inspecting the structure of a node; and
- give attendees the knowledge required to identify where and when nodes are modified.
I envision this being just one unit in a much larger set of materials that provide a solid introduction to Drupal development. I'm pretty excited about what I was able to come up with, and have started sketching out plans for other units. I've decided to post this unit up here to see if I can get any feedback, and to see if anyone is interested in helping me make the full program of instruction a reality. Please see the attachments below for the full final project. I've included everything. Please feel free to let me know what you think!
Some development notes
This is probably just about the most obvious observation to anyone who has written a technical training program or book before... but, man it's a lot of work! But, it's also incredibly rewarding and satisfying. At the same time, I'm not sure I see myself doing it for anything but material I'm passionate about and I certainly have no desire to be a full time instructional designer. I'm a little worried this could cause... issues... with the rest of my time in the Ed Tech program, but I'm optimistic that it won't.
Apple's Pages '08 is an incredible application and I credit using it with giving my project a level of polish I never would have been able to achieve on my own. I have nothing but praise for the way that Apple has solved issues that have plagued Microsoft Word for years. The UI is incredibly simple and straightforward, and accomplishing fairly complex tasks is a snap. I'm very excited to continue using it in my work.
Google Docs is great for just about every word processing task I have in my daily work. Most of my text heavy documents are written in Google Docs and never leave Google Docs. The framework there provides an awesome solution for taking notes, planning projects and collaborating. However, it is not good for writing materials that you intend to be well designed and printable with reasonably predictable results. I spent quite a few hours porting material from the Google Docs in which I drafted the project to Pages, and the process was not smooth. Next time, I'll plan ahead and start something like this in Pages right off the bat - and I'll just use Subversion as my change management tool.
I've added the project retrospective, called the Program Development Report, which I just finished up today. See the attachments for the PDF.
If you're coming from the front page or an RSS reader, follow the "read more" link below for the attachments.
I spent two hours trying to solve a niggling Internet Explorer problem the other night. It involves a module I'm writing that needs to fudge the autocomplete path generated Drupal's autocomplete textfield form element. I wanted to base the path in one autocomplete textfield based on the result of another autocomplete textfield (if it had data in it). It took just a bit of experimentation to get this working perfectly in Firefox and I was really pleased with the results and happy that I didn't have to hack anything in core.