Web Application Development
The Weekly Web Development Round-up is a post to the LIS Blog made every Friday at 5:00 PM. In the post we give a brief overview of changes that were made to web applications that week and respond to questions about these changes in the post comments.
The ChangeBlog is a private blog that lists the changes made to production web systems. Typically posts to the blog list the time that the revision was committed to source control, the person making the change, the name of the system, a unique identifier that can be used to look up the change in source control, and a short message describing the change. All LIS staff have access to this blog and we grant other staff access on request.
All of our code is kept in Source Control. We use git, a distributed source control system. Code that is currently only available internally, such as our custom Drupal themes, can be browsed via our on site gitweb repository. If you would like access to this information, please contact us for the username and password. Our public code is available in the Middlebury github page, Adam Franco's github page, and Matt La France's github page. Our collaboration with Amherst on Monster Menus is also publicly available.
We also welcome public feedback.
Web Browser Support
Our policy is to make a reasonable effort to support every version of a major web browser (see list below) that is currently supported by the company or group that produces the browser software. If you are using an older version of one of these browsers, our site might work, but you are encouraged to upgrade. If you are using a development, testing, or beta version of one of these browsers, our site might work, but we have found there are usually a few glitches that tend to get fixed before the final version is released.
- Internet Explorer
Known Issues: There are several glitches related to editing Drupal sites using Internet Explorer. Site editors are encouraged to use a different browser for editing. WordPress no longer supports Internet Explorer 7.
- Create new documentation in this Wiki.
- Add the "Web Application Development" category to new documentation in this Wiki.
- Document at least the procedure for getting a development copy of the software set up.
- Migrate existing documentation to this Wiki over time.
- If the documentation is not yet in this Wiki, include a link to it on this page.
- List production host OS and details in the Web Application Versions Spreadsheet.
When the Helpdesk assigns a ticket to our group, an email is sent to firstname.lastname@example.org which contains the ticket number and contact information for the person who submitted the ticket. When you receive one of these emails, follow these steps:
- If you can solve the problem in the ticket, respond to the workgroup via email and let us know that you'll be taking care of the issue.
- Sign in to Web Helpdesk and acknowledge the ticket and assign it to yourself.
- Resolve the current assignment.
- On the Call Log, enter a Cause, Close Description, and mark the ticket Completed.
- Resolve the issue and communication the resolution to the user via email.
When attending a meeting, take notes or get the notes from another attendee of the meeting and share a copy of the notes with the workgroup to keep us all informed of the progress and direction. This cuts down on the need to have meetings where we discuss what we discussed in other meetings and rehash project updates.
Web Application Development maintains over 80 web applications for Middlebury. Rather than rely on a single service to manage all needs, we attempt to find best of breed tools for the most common requests. Here is a list of core services we support.
Museum of Art
Davis UWC Scholars
Projects for Peace
|Launched in February, 2010, the new Middlebury website uses the Drupal content management system with a module named Monster Menus, developed by Amherst College, that adds hierarchical menus and permissions management to Drupal.|
|Active Directory Group Manager||AD Group Manager: A web interface for Active Directory that allows self-service group creation and membership management. Using this tool, we can create permissions groups for any application that uses our Central Authentication Service. The manager automatically updates applications like Drupal with group membership changes.||Code Repository|
|Athletics Databases||We keep the roster and score history for all of Middlebury's varsity sports teams since the 1999-2000 season in a database that can be polled using a RESTful web service interface. This allows for subscriptions to sports updates via RSS and Twitter.|
|Banner List Manager||Subscription lists for email newsletters are checked against person records in Banner, our central database system, allowing us to target newsletters to specific Alumni and keep our contact lists up-to-date.|
|Campus Maps||Combining geolocation data from our Geography department with Google Maps and Google Earth, we show building locations and outlines for the Middlebury, VT campus. This application also features low pass flyover photography of the campus.||KML Document|
|CAS||We set up the Central Authentication Service (CAS) in 2009 and have since applied it to MediaWiki, Segue, MiddMedia, Drupal, the Athletics Databases, and Wordpress. This allows users of these services to move between applications without signing in each time and provides a well-developed method of authentication for our development team to apply to new services.|
|Concerto||Harmoni Project Documentation|
|Course Catalog||Course information extracted from Banner is given an interactive view using web service APIs in our new course catalog. Designed as a replacement from the print version of the catalog, this application operates outside of Banner, ensuring that students can view course information event during extremely busy registration periods.||Code Repository|
|Course Hub||The Course Hub is the definitive starting point for all course sites.||Drupal 7 CourseHub|
|Dining Menus||The menu site provides direct access to the Dining CBORD database of meal information, showing students both the menu options for each dining hall as well as the ingredients for every menu item to assist those with special dietary needs. Students can give Dining Services direct feedback about the menu by clicking on the star next to any item.|
|Directory||A web interface to the information in the Active Directory database, the online directory shows the publicly available information for over 20,000 people. Complex business rules determine when to show, and what information to display, for people with relationships to Middlebury that include Middlebury Alumni now working for the Monterey Institute who also attend Language Schools in the summer.|
|Online Box Office||A modified instance of the Webtix ticketing software to integrate it with our payment gateway, the Online Box Office handles electronic ticket sales for Arts and Athletics events as well as care packages and gifts for students.|
|Central Git source control repositories||Gitosis||gitweb|
GO is a URL shortening service. Anyone with a Middlebury account can create a GO shortcut to point to a site for easy reference. GO shortcuts can be used on campus by typing "go/name" or off campus (YES! It does work off campus) by typing "go.middlebury.edu/name".
Our local instance of MediaWiki (the software behind wikipedia.org) features a start-up script to quickly create a custom wiki for any course or office wishing to use this technology.
|MiddMedia||We run a local instance of Adobe's Flash Media Server. MiddMedia is a web interface to this service that allows Middlebury users to upload video in many formats, which is then transcoded on the server into a streaming media format, allowing it to be displayed on our website, learning management system, blogging server, or wiki using custom developed modules for those applications.|
An instance of Wordpress MU with custom developed themes and plugins to connect it to other applications we host. Middlebury allows anyone with a user account to create as many blogs as they like and hosts blogs for individuals, offices, departments, courses, student organizations, and our administration.
|Middlebury Photo of the Week Plugin|