Tag Archives: Enterprise Applications

DrupalCon 2011: Day 1

This week Ian and Adam are in Chicago for the bi-annual DrupalCon developer conference. Drupal is the software that we use to manage the Middlebury and MIIS websites, as well as a couple others.

Read on for notes on the sessions we attended.

Keynote Presentation: Dries Buytaert (video)

Dries is the original developer of Drupal and gives the “state of Drupal” kickoff speech each year. This presentation is already available as streaming video (see the link above). The rest of the session videos will be up after the conference and when they’re ready we’ll make a blog post linking you to a few that are interesting for site editors – especially a session on the webform module.

The big news in the keynote this year is that development on Drupal 8 is going to begin at this conference and the developers who work on the core Drupal software are going to try to move to a more regular release schedule for new versions. We are currently running Drupal 6 and will be working on moving to Drupal 7 this year. Other news is that Drupal 8 is going to add more support for mobile and HTML5. There is a very good overview of HTML5 online if you’re unsure what this term means.

Media module for Drupal 7

Not to be confused with the Media module we run, which is part of Monster Menus, the code we work with Amherst to develop for Drupal, the Media module for Drupal 7 does many of the same things, but is a lot more slick about it. In Drupal 6, the standard way to add files to a site is to make them their own nodes (this is essentially what we do with File Upload nodes) or attach them to existing nodes as fields. The first way makes it easy to reuse files, but hard to use them inside content and the second way makes it easy to use files inside other content, but hard to reuse them.

The Drupal 7 media module is an attempt to resolve these conflicts. It’s still very early on in its development and use, but has features like the ability to manage YouTube videos like other files, drag-and-drop uploads and drag-and-drop reordering for photo galleries. Their goal is for Media to become the standard file-management system for Drupal 8. As work on this continues, we’ll see how we can use this modules features on our site, either by adding them to our Media module or making this module work with Monster Menus.

    Drupal Security for Coders

    This session was a good overview of the content in Cracking Drupal, given by the author. It focused on preventing XSS and CSRF attacks.

    Rockin’ HTML5 with Drupal

    I’m wary of any presentation that includes a slide with the title “Web 3.0″, but fortunately here it was used as a bit of a joke. There was a high-level discussion of the new features available to you when you convert your site markup to use HTML5, and this conversion is one of our goals this year at Middlebury. She also discussed the HTML5 Tools module, which is used to re-write a lot of HTML that Drupal produces so that it is HTML5 markup instead.

    This is useful for all the forms Drupal creates, not just the webforms you add to your site, but the page settings form, and the node editing form, and the copy/move form, etc. HTML5 adds a lot of new form markup so that you can have a non-JavaScript date picker, type suggestions in the field, and my favorite example is that you can mark a field as “email” and mobile device keyboards will include an @ symbol, or mark the field as “number” and the mobile keyboard will automatically which to a number pad when you move into the field.

    Aphorisms of API design

    A good session on designing APIs in Drupal systems. Talked a lot about how to make modules pluggable and when to do so. The topics discussed will be useful as we refactor our modules for Drupal 7.

    Views for Hackers

    The talk was an overview of the Views module and how its concepts like “relationships”, “arguments”, and “filters” translate to code and database queries. Most of the information was already familiar to us, but it made some of these concepts easier to understand.

    Discussions with Amherst Developers

    Our colleagues from Amherst are also here and we got to chat with Victor, Anita, and James. They’ve already helped us patch two issues that were bugging me and helped explain what the new Monster Menus CCK module is. I’m burying this at the bottom of this blog post because this is a really neat feature and I’m not sure when it will be available, but we’ll try to add it very soon.

    MM CCK adds a new “node picker” and “page picker” field type to nodes. If you’ve ever created a News posting or Story on our website and needed to add an image to it, you know that you do this by starting to type the name of the image in a field which searches the entire site for all images and you pick yours from that list. With the new “node picker”, you’ll get a popup window just like you do when you put an image inline in content and you’ll be able to browse just your site’s File Uploads folder.

    We’ve had a good exchange so far and look forward to continuing our discussion as the conference goes on.

    Drupal Update Scheduled for March 13

    We wanted to let our website editors know that we plan on updating all six of our Drupal websites on March 13. This update is to the modules for that system that we work with Amherst to develop: Monster Menus, the Media module which manages files on the sites, and the RSS Page module which provides a content type for displaying feeds. This update may result in the site being unavailable for a few minutes while a database update script runs and will be done during our scheduled downtime that Sunday.

    The affected websites are:

    • http://www.middlebury.edu
    • http://www.miis.edu
    • http://museum.middlebury.edu
    • http://www.davisprojectsforpeace.org
    • http://www.davisuwcscholars.org
    • http://courses.middlebury.edu

    The Monster Menus module is what allows you to assign editing permissions to pages on our website and delegate control of portions of the site to others. We are currently running revision 3131 of this module which was completed by Amherst in August 2009, just before we first launched the new MIIS site in Drupal. Because of our fast-paced Web Redo project, we didn’t update Monster Menus while developing the new Middlebury site and moving the remaining content from MCMS to Drupal. During that time, Amherst redeveloped almost all of the module making many improvements. This update will bring us up to revision 5100, which we retrieved earlier this week.

    Most of the changes to Monster Menus are behind-the-scenes things like creating a new database table to store which pages are the “parents” of other pages in the site IA. This will improve the performance of our site, but aren’t the type of things that you’re going to notice in your day-to-day work.

    There are two differences that you will notice after we make this update.

    Instead of collapse-and-expand menus to manage permission on a page, the interface is now presented in a single table where you can see all of the people who have permissions on the page and their level of permissions. Setting permissions still works the same way and none of the permissions you have assigned to your pages will change. Because this table is wider than the current interface, the page sidebar (if it exists) will be hidden when you edit the page’s settings.

    The Insert File Upload dialog box has also changed. Instead of a list of links on the left, you now see a folder tree with all the pages on the site getting their own folder and thumbnails of the images or files appearing on the right with a nicer layout. The most important change is that you can now “bookmark” your File Uploads page so that you don’t have to browse through this list every time you add a new file. Your bookmarks will appear in the drop-down menu at the top of the pop-up window.

    These probably, and hopefully, appear to be very minor changes to the editing interface. We’ll make sure that the documentation for editing the site, which you can always find at http://go.middlebury.edu/drupal, is updated with these changes when they’re applied to the live site.

    If you have any questions or concerns about this, please leave a comment or contact me directly at imcbride@middlebury.edu.

    WordPress Update

    Yesterday, we updated WordPress to v3.1. Most noticeable change in this update is the introduction of a new “admin” bar that appears after you log in. This admin bar includes quick links to all sites in which you are a registered user.  Site authors will also see links to add new posts and editors will have quick links to comments.  The other notable new feature is a “link browser” that allows you to search and quickly link to other posts/pages on your site.

    Most importantly, this release includes over 800 bug fixes by over 180 developers from around the world. It has been downloaded over 1 million times in the last week.

    Let us know if you have any questions about this update or experience any problems.

    Website Improvements #9: Google Custom Search

    The search interface for all five of our websites Middlebury, MIIS, the Museum of Art, Davis UWC Scholars, and Davis Projects for Peace, has been upgraded to use the Google Custom Search Engine. The GCSE creates a custom search index on Google’s servers for each of our sites which gives us far more control over which pages to include and exclude from the search. Previously, our search was going against Google’s full web index, which we would tell it to narrow to just our site. By creating the index ahead of time, we can get better and more extensive search results, solving issues we were having getting good results on our News Release Archive search.

    The GCSE also lets us define “refinements” for sub-sites we want to search. You can see these on the right side of the new Middlebury search page. Click on the sub-site in the list to narrow your search. Though all the examples are separate sites in our case, we could refine on any URL path. For example, we could add a “Dining” refinement or one for an academic department.

    The Catalog and Directory search results have moved from a cramped right column to a new blue bar just below the search box. Simply click on the name of the catalog or directory you want to search and you’ll see results from that application. The last search page only showed the name of the course or person, but now that these are show in the center of the page we have room to include the full directory entry or course description.

    This also gives us quick statistics on the most popular searches. This new search was introduced for Middlebury in January, so we can see that over the last couple weeks, these were the most popular searches:

    • 376: “search midd”
    • 34: “banner web”
    • 25: “hazing”
    • 11: “axt”
    • 11: “hld”
    • 10: “feb graduation”
    • 10: “justin stearns”
    • 10: “kathryn davis”

    There are still a few refinements to be made to this service, so please give us your feedback and let us know what we can do to improve our site’s search experience.

    LIS Content Managers Squash Errors Using Site Check

    Now that the LIS website content managers have been established, the LIS web team has provided them with a tool to help identify and deal with errors in the content of web pages. The site check tool from Site Improve will generate a report every 5 days for designated pages that it has crawled and let you know what errors it has found.

    Currently a member of the web team is compiling these reports and sending a monthly report to content managers who are in turn dealing with the errors. Spelling suggestions are reviewed on the site check page before they appear on the report. A single report is sufficient for all of LIS since the number of issues is not so many that CMs cannot find the ones that pertain to their area.

    The effort has been a great success with the 28 pages with broken links reduced now to only 6 in the last report. Spelling errors were also reduced from over 20 to only 2. We are very excited to have this process in place going forward.

    State of the Site


    What follows is a report on the state of notable web applications and sites in use at Middlebury including the College website, the Middlebury instance of WordPress (i.e. sites.middlebury.edu) and a variety of key web applications that provide services widely used by faculty, students and staff.

    Box Office

    • Addition of separate billing and shipping addresses when ordering tickets or gift items from the box office, especially useful for parents purchasing items for students.
    • Improved the user interface to make purchasing as a returning customer and identifying seat locations in the seating chart simpler.

    CAS – Single Sign On

    The Central Authentication System (CAS) was introduced last year and allows you to move between many of our web applications after you’ve signed in once. GO and the main college website were already using CAS this time last year but since then it’s been added to many other applications, including:

    • Course Catalog
    • MediaWiki
    • MiddMedia
    • WordPress

    Course Catalog

    Over the past two years we developed the Course Catalog application at catalog.middlebury.edu to serve as a clearing house for accessing course information on the web due to the limitations on searching for this information via BannerWeb. The Course Catalog application allows users to search for courses based on a wide variety of criteria (including keyword searching) and properly displays and links-together cross-listed courses. The Course Catalog application also feeds course information to the department pages and faculty profiles in the main Drupal site.

    New for this year, the Course Catalog has been extended to add a Schedule Planning tool that allows students to bookmark courses they are interested in, then group them together into weekly schedules to ensure that they do not have timing conflicts and that lab and discussion sections are chosen. These schedules can be printed or emailed to one’s advisor.

    • Added the Schedule Planning tool.
    • Users can now bookmark courses that they find interesting.
    • Updated the theme to match the new website. Added a custom theme for the MIIS catalog.
    • The printed Catalog is now created via an export from the Course Catalog application rather than being copy-pasted from the site by hand.
    • PDF snapshots of the Catalog are now automatically generated as course descriptions and requirements get edited over the year.
    • Lots of small improvements to the display of course data in search results and while browsing.
    • Can now search for courses by campus — needed for Language Schools that have more than one site.
    • Greatly improved the speed of the application.
    • Improved the feed of courses to faculty profiles to ensure that cross-listed courses are ordered properly.
    • New admin forms that allow the Registrar to suppress incomplete information about upcoming terms during data-entry.



    The GO shortcut/permalink application has become quite central to the web infrastructure of the college since its launch several years ago. It eased the launch of the new site by allowing links in content to be easily updated en-mass. In the past year GO has become central to our search strategy as GO shortcuts are now provided as suggestions and automatic-redirects when you enter search terms on the main site.

    • Totally new editing interface.
    • Verbose, color coded, messages to indicate successful or unsuccessful completion of actions.
    • Additional input validation to preserve shortcut integrity and prevent abuse.
    • Ability for community to flag GO links as inappropriate.
    • New “Info” pages for every shortcut allow everyone to see detailed information about the shortcut such as who maintains it, what its aliases are, and where it goes.
    • All GO shortcuts are now shown publicly in the GOtionary (with the exception of a few internal shortcuts) to improve the transparency of the system.
    • Enhanced admin interface for flag admins and the new super admin role.
    • Can now switch between the Middlebury and  MIIS GOtionaries.


    • New “Midd” theme integrates more closely with the current Middlebury theme.
    • Add to MiddTube button allows users to check off the videos they would like to batch add to MiddTube as video posts.
    • We’ve upgraded to Flash Media Server 4, with a lot of new features that we’ll be rolling out and supporting in the coming months.

    New Sites

    We’ve been able to expand the Drupal and WordPress platforms to add a CMS experience for sites that were previously static HTML files and create new sites to show off and assist student research and projects.


    In December, we upgraded from version 0.7 to 0.9.  Changes include:

    • Enhanced security.
    • In addtion to Research by Subject, two new guide types are available: Research by Course and Research by Topic.
    • Widget-based, drag-and-drop control panel for content creators.
    • Multiple subject specialists (guide owners) now possible.
    • Description field override.  This allows for a resource description to be customized for one or more guides, while still allowing the resource record to be shared among all the guides.  This cuts down on duplication of records and/or breaking others shared work.
    • Cloning feature

    What do we use this for, you ask?

    • Databases A-Z list
    • Research guides (access via sidebar at go/lib and go/subjectguides among other places.)
    • globally adding EZproxy prefix for off-campus access.


    WordPress usage has been growing over the last few years at Middlebury and beyond.  In late August, we updated WordPress to v3, a major new release to this platform that introduced features such as custom menus and top navigation that extended its usefulness beyond blogging.

    Plugins and New Functionality

    Themes and User Experience

    We created a number of blog themes for WordPress based on design prototypes developed by White Whale (designers of the main college site).  These blog themes were updated to take advantage of new functionality and to generally provide a flexible, easy to use templating framework that could generate extensible thematic variations and would work on multiple platforms, including mobile and touch enabled.  New features developed in the last 6 months include:

    • Introduction of a standardized header on all blogs that provides quick links to create a new blog, search blogs and a given site’s dashboard
    • New standardized widget areas including 3 sidebars and 4 footer areas
    • Introduction of support for custom menus and top navigation bar for mapping a site’s information architecture (IA)
    • Refinements to navigation UI to highlight current location in IA and provide more navigation links in context to improve usability on sites with many pages (such as sites for courses, projects or documentation)

    Usage Analysis

    Perspective, an aggregation and usage analysis tool was developed to keep track of how WordPress was being used, what plugins and themes were most popular, which blogs were most active in a given time period and so on.  We also built into Perspective tools for communicating with users so that we could more easily identify all users of a given set of features to allow us to inform them of updates or issues.  These same tools when combined with activity filters have allowed us to identified inactive sites, contact their owners and archive or delete these sites as appropriate, providing the foundation for a contention retention policy.

    Website Improvements #8: JavaScript and the Editor

    Summary for those who aren’t interested in the details:

    • The site should load faster
    • Menu reordering is easier
    • You can now copy and paste directly from Microsoft Word

    JavaScript is a programming language used by your web browser that allows it to manipulate the web page after the server is done creating it. For example, we can use JavaScript to tell the web browser to open a box with a story in it on our site’s home page when you click on one of the bars. This gives web developers and designers a lot of flexibility when creating the site.

    However, the historical problem with JavaScript is that different browsers implement the language in different ways. Microsoft Internet Explorer, Firefox, and Apple’s Safari each have slightly different versions. To solve this problem, we use a JavaScript library, called jQuery, that provides a unified interface to all these different versions of the language. Of course, it’s not that simple. Drupal uses one version of jQuery, but the version it uses can’t do cool things like our homepage waveform. So for the last ten months our site has been running two versions of jQuery simultaneously.

    If that sounds like a lot of added, unnecessary overhead, it is. We’ve now updated the site to work with just the newest version of jQuery running. What this means is that there are no longer odd conflicts between the two versions. Anyone who has tried to reorder a menu on their site knows that these conflicts can sometimes be painful. Now when you reorder the menu the item slides as expected, rather than jumping all over the place. Additionally, you don’t need to download both versions (which your browser does in the background when you visit the site), so our pages will load faster for new visitors.

    This change also allowed us to update the WYSIWYG editor that you use when composing updates on the site from TinyMCE version to (here’s a complete list of the changes). The big change is that the editor now does a significantly better job of formatting and will automatically clean up formatted text that you paste in – such as text you’ve composed in Microsoft Word or in an email – without you needing to use the Paste from Word or Paste as Plain Text buttons. We left the buttons in just in case.

    We think we’ve worked out most of the issues with these changes at this time, but be sure to let us know if something else isn’t working.