Author Archives: Adam Franco

About Adam Franco

Senior Application Developer

New responsive, mobile-friendly theme for CAS logins

The CAS login screen is now mobile-friendly.

Logging onto Middlebury web sites just got easier to do on your phone, tablet, or other small screen. Today we updated the Central Authentication Service (CAS) theme to dynamically reformat itself so that login form is easy to use on any screen size. No longer will you have to side-scroll or zoom to enter your username and password to access authenticated services.

Latest Firefox makes GO less easy to use

The Mozilla Foundation’s latest version of Firefox, version 34, has started running searches when you type go/mail into the address bar without prefixing with http:// or using the fully-qualified name This follows similar moves by Chrome and Safari to prefer searches over host-name lookups when there isn’t a fully-qualified domain name in the URL bar.

The good news is, that confirming the dialog to go to GO instead of to search will set a preference allowing GO shortcuts to continue to work:

If you forget to click the confirmation, it is possible to manually add the preference to make GO links work permanently. See the LIS Wiki for more details.

WordPress upgraded to 3.9

I’ve applied the latest update to our WordPress platforms, and This update provides a smoother media editing experience:

  • Improved visual editing – speed, accessibility, and mobile support
  • Edit images easily – quicker access to crop and rotation tools, scale images directly in the editor
  • Drag and drop your images right onto the editor
  • Image gallery previews right in the editor
  • Showcase music and clips with simple audio and video playlists
  • Live widget and header image previews in the Customizer
  • Stunning new theme browser

Here’s a short video covering the changes.

More information about this update can be found on including a full list of the changes to the platform.

Top 10 GO shortcuts in Fall 2013

We recently took a look at the server logs for the GO service over the past 29 days (September 22 – October 21) and thought it might be interesting to share the most-used shortcuts and their aliases.

  1. 3,317 hits per day — go/webmail, go/mail, go/email
  2. 1,220 hits per day — go/bannerweb, go/bw, go/ssb, go/timeentry
  3.    759 hits per day — go/keysurvey
  4.    649 hits per day — go/papercut
  5.    550 hits per day — go/lib, go/library, go/libraries, go/read
  6.    546 hits per day — go/middfiles, go/midd+files
  7.    527 hits per day — go/coursehub, go/hub, go/course+hub
  8.    444 hits per day — go/moodle
  9.    393 hits per day — go/menu, go/menus
  10.    371 hits per day — go/directory, go/dir

While some people access these shortcuts by clicking on links embedded in our various web sites, the vast majority are directly typed into users’ browsers.

Which shortcuts (one of these or others) do you find most useful in your normal day?

Group support added to WordPress

We are pleased to announce the addition of a much-awaited feature to our WordPress site network. As of today groups added to sites can automatically maintain their membership over time. Site administrators will no longer have to go back into WordPress and regularly bulk-add groups to grant access to new group members.

In the WordPress Dashboard
When you add users to a WordPress site by group the new default option is to keep the group in sync:

Adding a new group to a site, keeping the group in sync.

Adding a new group to a site.
Note the new “Keep in Sync” option.

All users currently in the group will be added to the site with the role you specified. Members of the group who already have a role with greater abilities will not have their permissions reduced. Members of the group who already have a role with less abilities will be raised to the role specified for the group.

The groups synced are shown in a list and can be removed if desired.

The groups synced are shown in a list and can be removed if desired.

Over time, as people are added to the group, their roles in the site will be updated whenever they log into WordPress. If a person is removed from a group they will have their role in the site removed when they log into WordPress if their role hasn’t been manually changed to a different level.

More details about group-synchronization are available in the LIS Wiki.

In the Course Hub
In tandem with this new feature in the WordPress dashboard, the Course Hub now automatically adds class-groups to WordPress sites when adding WordPress Resources. When you add a WordPress Resource to the Course Hub the screen now includes an option that lets you specify what role to give students in the WordPress site. (Instructors will always be administrators of the site.)

Choose which role to give students in the WordPress site.

Choose which role to give students in the WordPress site.

When you save the WordPress Resource in the Course Hub three class-groups (instructors, students, and audits) are added to WordPress site and kept in sync. Instructors no longer need to do the extra step of going to WordPress and adding the class-groups to the site. As well, new students enrolled during the “Add/Drop Period” will automatically have access to the WordPress site when they log in after their enrollment has processed.

The instructors, students, and audits groups are automatically added to WordPress by the Course Hub.

The instructors, students, and audits groups are automatically added to WordPress by the Course Hub.

If you delete the WordPress Resource from the Course Hub the users and class-groups it added will be removed from the WordPress site, however the site itself will not be deleted automatically.

Looking back at comment-spam in WordPress

In February 2012 we started noticing a large influx of new comment-spam coming into our WordPress system that the built-in anti-spam plugins weren’t able to handle. To combat this annoying plague we created a new plugin that instantly killed any comments trying to submit an “author URL” along with the “author name” and “comment text” now that the “author URL” field is hidden.

In the year and a half since this plugin has been in place across our blog network it has blocked an average of 40,000 spam comments every month.

| year | month | spam blocked |
| 2012 |     3 |       14,814 |
| 2012 |     4 |       19,956 |
| 2012 |     5 |       18,225 |
| 2012 |     6 |       15,937 |
| 2012 |     7 |       29,232 |
| 2012 |     8 |       24,073 |
| 2012 |     9 |       25,973 |
| 2012 |    10 |       42,514 |
| 2012 |    11 |       49,265 |
| 2012 |    12 |      106,128 |
| 2013 |     1 |      103,850 |
| 2013 |     2 |       72,944 |
| 2013 |     3 |       38,336 |
| 2013 |     4 |       35,125 |
| 2013 |     5 |       32,975 |
| 2013 |     6 |       35,011 |
| 2013 |     7 |       28,218 |

While some spam is bound to get past any automated filtering, we hope that these efforts have alleviated most of the hassle of dealing with spam comments in WordPress.

DrupalCon 2013 Portland

We have exciting news to report from Portland: Drupal 8 looks very interesting. Many of the features of the new version have been agreed on at this point and they are expected to freeze the code in July, spending the rest of the year fixing bugs and polishing it so that a stable version of the application can be released in 2014. This is discussed in the Keynote from Dries, the creator of Drupal.

Some of the new features of Drupal 8 that will be very helpful to our site editors include:

  • Inline editing. Click an edit link next to the content you want to edit and change it without leaving the page.
  • True live preview of your edits in the site.
  • One-step image uploading and embedding.

These new features were discussed further in a session on the new WYSIWYG editor integration for Drupal 8. That will be the first version of Drupal to come with a WYSIWYG editor in the core distribution. They have chosen to go with CKEditor (we use TinyMCE right now) because of its support for inline editing. The tight integration between the application and the editor will make things like custom button dialogs much easier for us to add, which will come in handy for integration with on-campus platforms like MiddMedia.

Drupal 8 is scheduled to go into “code freeze” in July with a stable release expected in 2014. There will be significant development work to move our sites onto Drupal 8 because of big changes that have been made in the configuration, block, and templating systems. We’ll discuss this in more detail at an upcoming “Deep Dive” meeting.

The Present and Future of Content Management

Part of the debate about the future of Drupal is whether or not it will be a Content Management System, an application for organizing atomic units of content and metadata, or a Web Presentation Framework, a system for displaying web pages. To be clear: we use Drupal very much in the latter sense. But with the rise of browsing on phones, tablets, digital signage, glasses, watches, etc. positioning items in a WYSIWYG editor is a waste of time. Responsive design is part of the solution, but we also need to rethink how we are authoring content for the web.

What does this mean for the content management system, for Drupal? Well, fortunately for Drupal is is quite good at content with a lot of discrete fields. There is an argument that the core development for the platform should focus on improving that strength so that Drupal can expand to be a great content management system that meets a wide variety of needs. If a web presentation layer is built on top of that, like we and Amherst have done with Monster Menus, that’s great if it meets our needs, but it may not make sense to have that as a priority for the underlying application.

Videos for all of the sessions are available on the conference website. We’ll be happy to (try to) answer any questions you might have about Drupal in the comments.

Drupal 7 Upgrade Update

We have completed the migration of most of the custom modules that make Middlebury’s sites work. Just before leaving for this conference, we were able to get the Middlebury website’s database migrated to Drupal 7 in development and the homepage working with real content from the database. The majority of the remaining work on the project is to move over the theme files one-by-one and test that the output is still working correctly, followed by the migration of a few modules, like the ones that support the campus map, that are presentation-intensive and couldn’t be tested without the theme layers finished.

Progress on the project can be seen in our code repository.

Change Moodle site availability from the Course Hub

By default, when you create a Moodle site it is set to be “not available to students” to give you time to add site content before students can access the site.

Unfortunately, the “availability” setting can be a bit hard to find in Moodle settings. To make this important setting easier to change and its current state more visible, you can now set its value from right in the Course Hub when creating or editing the Moodle Resource: