Drupal at Vanderbilt: A Success Story
Upcoming SlideShare
Loading in...5
×
 

Drupal at Vanderbilt: A Success Story

on

  • 2,047 views

presentation from Drupal Camp Nashville 2010 by Kim Day on how drupal is used at Vanderbilt University School of Medicine in Nashville, TN

presentation from Drupal Camp Nashville 2010 by Kim Day on how drupal is used at Vanderbilt University School of Medicine in Nashville, TN

Statistics

Views

Total Views
2,047
Views on SlideShare
2,036
Embed Views
11

Actions

Likes
0
Downloads
8
Comments
0

2 Embeds 11

http://www.slideshare.net 7
http://www.docshut.com 4

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • <br />
  • <br />
  • <br />
  • campus-wide google search appliance (GSA) indicates more than 5 million web pages/files on campus <br />
  • custom coded php/mysql mixed with html, javascript, etc. <br />
  • <br />
  • but other than hiring a fantastic web designer - what else has changed??? <br />
  • in 2005 these were the facts <br />
  • <br /> <br />
  • we tried using shared web servers on campus but needed more customization and control <br /> tried using shared mysql but too many router hops between mysql and our vps - sites were slow <br /> we needed to stay on campus to keep the vanderbilt.edu domain <br />
  • <br />
  • <br />
  • <br />
  • our bread & butter <br /> the straightforward departmental site <br /> aka brochure-ware <br />
  • about half our sites in this category <br />
  • <br />
  • <br />
  • <br />
  • Vanderbilt&#x2019;s centralized identity management service <br />
  • this one needed a custom theme <br />
  • custom theme - med student blogs <br />
  • incorporates the legacy course catalog database populated by a custom php app still in use <br /> <br />
  • created event content type <br /> used views to create block showing upcoming events <br /> events are automatically moved to the previous events page once the date has passed <br /> <br />
  • very little custom module code needed <br />
  • lots of demand from students and faculty for this kind of web app - increasing daily <br />
  • our most complex drupal site <br /> course management in drupal <br />
  • <br />
  • sounds fairly simple, right? <br />
  • they say the devil is in the details - this definitely applies to the requirements for the emphasis program site <br /> access control is the key <br />
  • angie byron aka webchick of lullabot consulted on this part <br />
  • sample user is a 1st year med student <br /> showing snapshot of progress in right sidebar <br />
  • sample user is a 1st year med student <br /> showing student&#x2019;s view of their assignments <br />
  • sample mentor is a mentor <br /> lists his students in right hand side <br />
  • mentor & area head view <br />
  • <br />
  • this is basically how the emphasis site drupal code works <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Drupal at Vanderbilt: A Success Story Drupal at Vanderbilt: A Success Story Presentation Transcript

  • Drupal at Vanderbilt: A Success Story
  • About me • web developer at Vanderbilt University School of Medicine • been at VUSM since late 2005 • disclaimer: these are my opinions, not those of the school, university or medical center questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • What we’re going to cover today • State of the VUSM web in 2005 • problems / challenges / needs • Snapshot of the VUSM web today • How we used drupal to get here • Why drupal has been a good choice questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • About VUSM http://en.wikipedia.org/wiki/Vanderbilt_University_School_of_Medicine questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Vanderbilt Web circa 2009 • GSA indicates more than 5 million web pages/files university wide • If we estimate 1/10th of those belong to the medical school = 500,000 web pages/files • These numbers do not include password protected sites or web apps • number is increasing at a rapid pace questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • 2005 questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • 2010 questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • It’s obvious we’ve been busy... questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Problems / Challenges • we are a team of 3 people • we know primarily php/mysql • servers run UNIX • we have TONS of custom code (written mostly by staff/students/faculty not at SOM anymore) questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Problems / Challenges (cont.) • burden of maintenance • web 2.0 buzz is everywhere raising expectations for what the web can do • we needed a system to handle the unexpected because our future needs were unknown • tight budget questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • VUSM Web 2010 How we’ve implemented drupal • 2 VPS’s (prod & test) running Ubuntu 8.04 • mySQL running locally on VPS’s • drupal multisite architecture with clean URL’s, over https:// and each sites in its own subdirectory questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Architecture Specifics https://medschool.vanderbilt.edu/alumni/ is served out of medschool.vanderbilt.edu.alumni directory questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • For more info: Best presentation I’ve seen on the details of setting up drupal multisite was at drupal camp atlanta: Implementing a multi-site website and sharing tables by Andy Thornton http://bohemianpixel.com/drupalcamp http://www.drupalcampatlanta.com/sessions/implementing-multi-site-website-and-sharing-tables questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • VUSM drupal sites: the details • We build 3 types of drupal sites ‣ Departmental sites ‣ Sites with more specialized requirements ‣ Custom web applications questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Departmental Site https://medschool.vanderbilt.edu/dean/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • • https://medschool.vanderbilt.edu/admissions • https://medschool.vanderbilt.edu/ume/ • https://medschool.vanderbilt.edu/alumni/ • https://medschool.vanderbilt.edu/financial- services/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Custom Theme • our basic site design is in a drupal base theme • use that same theme on most sites • use drupal’s theme system to override specific pieces of the design that need to be different on each site questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Contrib modules/themes using on departmental sites • Administration menu • SMTP Authentication Support • Google Analytics • Token • Global Redirect • Wysiwyg • LDAP integration • Zen • Nice Menus • NO CUSTOM MODULE • Pathauto CODE NEEDED questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • VUnetID • Our drupal sites easily authenticate to Vanderbilt’s enterprise LDAP service • Department web managers can log in to their website with their VUnetID/e-password - no need for another username/password to remember • made possible by the contrib LDAP integration module questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Special Sites Text https://medschool.vanderbilt.edu/tabularasa/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • https://medschool.vanderbilt.edu/vusm-blogs/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • https://medschool.vanderbilt.edu/registrar/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • https://medschool.vanderbilt.edu/women-on-track/events questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Contrib modules • Better Formats • jQuery Update • CCK • Links • Dynamic display block • Menu Trails • FileField • Token actions • Image resize filter • Vertical tabs • ImageAPI • Views • ImageCache • ImageField • Insert questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Web Apps • before drupal 100% custom coded php/ mysql or php/oracle • maintenance was difficult (especially since maintainer did not write code originally) • adding features was a nightmare questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • https://medschool.vanderbilt.edu/emphasis-program/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Course Management in drupal: The Emphasis Site • What is the Emphasis Program? • A 2 year med school course where each student does a self-directed research project. Students produce a poster and sometimes a published paper from their project. questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • • What does the Emphasis Site do? • online assignments • strict access control for who can see submitted student work • provides overview of student progress questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • How did we get drupal to do this? • Short answer = User Relationships module and custom code • In other words, think of the emphasis website as a social network for specific students, their faculty mentors, the focus area leaders and course director questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • the longer answer... questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Roles • an area head gets "area head" & their area for example, "Area: Global Health" • the director gets "area head" and all the areas • at the beginning of each school year - import the 1st year class into drupal user's table (by their vunetid) - assign them the "2013 (vms1)" role questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • • the first year student then fills out their first online assignment (called the initial commitment form) which asks for their chosen mentor name & email, project title, & focus area • on submit of that form, custom code assigns the student to the area role for the area they chose • looks for the mentor user name in users table and if not already there creates the user and gives him/her the mentor role • creates a student-mentor user relationship between the student and the mentor questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • • from this point forward, area heads have to be assigned the same area as the student to see that student in their student list • mentors can only view the student assignments if they are in a student-mentor relationship with the student • students can only view their own info and comments submitted by their mentor or area head • the director can view everything questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Contrib modules • Automatic Nodetitles - hiding of the content title field and automatic title creation • Calendar/Date - the course calendar • CCK - create content types that are student assignments • Content Profile - student data like name as content type • Devel (switch user is essential) • Diff - show difference in 2 versions of the same assignment questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • • Flag - approve this assignment button for mentors • MimeDetect - common mime type detection for Drupal sites • Node limit number - each student can only create 1 instance of certain assignments • Rules - define conditionally executed actions based on occurring events • Signup - student signup to informational sessions • String Overrides - quick and easy way of replacing text • Token - shared API for replacement of textual placeholders with actual data questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • • Transliteration - transliteration for UTF-8 text input and sanitizes file names • User Relationships - Allows users to create named relationships between each other • Views - customized lists and queries from your database questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Custom modules we wrote • authorview - Allows users to view, edit and delete nodes that they create • rolegroupaccess - Grants access to nodes users in the same role as the creator of the node. • emphasisdashboard - provide the director/area head view of student progress • UR_simpleaccess - Allows users to view and edit content created by related users • modules to provide custom functionality for content types that are used as student assignments questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Why I’m happy with drupal • maintenance of sites is a lot easier • new features are easy to implement with modules • open source means lots of smart people are looking for problems and fixing them • a lot easier to hire new members of our team questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Why I’m happy with drupal • drupal is always improving and the drupal community creates upgrade paths for core and contrib questions / feedback: @kim_day / kim.day@vanderbilt.edu
  • Questions? questions / feedback: @kim_day / kim.day@vanderbilt.edu