Light-weight solution to provide custom view modes and suggest related templates in Drupal 7

When it comes to providing custom view modes for entities in Drupal, most developers turn immediately to Display Suite or Entity View Modes. Display Suite is very powerful, but I've found it to be far too "heavy" for most of my use cases. In this case, by "heavy" I mean that the module does way more than I need it to. It does a lot of things I simply don't want on my site. Entity view modes is a lighter-weight approach to supplying additional view modes, but I found that even it was cumbersome when it came to managing my view mode configuration in an easily-deployable way.

I wanted a simpler solution, and I knew it couldn't be that hard to provide this functionality in a custom, streamlined module.

The code snippets below do the following:

  • Define new display modes. As you'll see, this is super easy to do in code.
  • Suggest node templates based on the view mode of the given node. e.g. a teaser template vs. a full display template.
  • Suggest page templates based on the node type being viewed. e.g. alter the page markup for Article nodes.
Jeff Beeman Sat, 05/24/2014 - 09:43

Upgrading to Emacs 23.2 on Ubuntu 10.04 (Lucid)

Posted by Jeff Beeman on Tue, 10/05/2010 - 08:12

I've been frustrated at the lack of an update for the Emacs package in Ubuntu 10.04. I've been using Emacs 23.2 for OSX and going back-and-forth between 23.2 and 23.1 is confusing, particularly in org-mode. So, I searched for how to effectively build Emacs 23.2 from source in Ubuntu and had trouble finding good instructions that would cover me for things like windowing, fonts, etc. Finally, in my search this morning, I came across a the Ubuntu Emacs Lisp project on Launchpad.

How I build an Ubuntu 10.04 LTS Drupal Development VM in VirtualBox

A development virtual machine can be really handy. It gives you a sandbox of sorts where you can feel free to test and experiment knowing that in a worst-case scenario you can just delete the VM and start over. It can also be a great way to practice server configurations and sketch out "real-world" server setups. Here's the process I follow to setup my Ubuntu 10.04 LTS Drupal development VM in VirtualBox. Aside from the VM-specific steps, these instructions should work for a regular Ubuntu server (VM or not).

Jeff Beeman Wed, 08/11/2010 - 07:22

Slides for ASU presentations

Posted by Jeff Beeman on Thu, 04/24/2008 - 09:29

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

Drupal Node Overview training materials

Posted by Jeff Beeman on Wed, 11/28/2007 - 22:03

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.

Subscribe to Development