Drupal at Vanderbilt:
      A Success Story
About me

  • web developer at Vanderbilt University
       School of Medicine
  • been at VUSM since late 2005
  • discla...
What we’re going to
         cover today
  • State of the VUSM web in 2005
  • problems / challenges / needs
  • Snapshot ...
About VUSM




    http://en.wikipedia.org/wiki/Vanderbilt_University_School_of_Medicine
questions / feedback: @kim_day / ...
Vanderbilt Web circa
             2009
  • GSA indicates more than 5 million web
       pages/files university wide
  • If ...
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...
Problems / Challenges (cont.)
    • burden of maintenance
    • web 2.0 buzz is everywhere raising
        expectations fo...
VUSM Web 2010
 How we’ve implemented drupal

  • 2 VPS’s (prod & test) running Ubuntu 8.04
  • mySQL running locally on VP...
Architecture Specifics




https://medschool.vanderbilt.edu/alumni/ is served out of
medschool.vanderbilt.edu.alumni direct...
For more info:
    Best presentation I’ve seen on the details of setting up drupal
    multisite was at drupal camp atlant...
VUSM drupal sites:
            the details

  • We build 3 types of drupal sites
     ‣    Departmental sites
     ‣    Si...
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.e...
Custom Theme

  • our basic site design is in a drupal base
       theme
  • use that same theme on most sites
  • use dru...
Contrib modules/themes using
     on departmental sites
  •   Administration menu                    •   SMTP Authenticati...
questions / feedback: @kim_day / kim.day@vanderbilt.edu
VUnetID
  • Our drupal sites easily authenticate to
       Vanderbilt’s enterprise LDAP service
  • Department web manager...
Special Sites


                                       Text




https://medschool.vanderbilt.edu/tabularasa/
  questions /...
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                                  ...
Web Apps

  • before drupal 100% custom coded php/
       mysql or php/oracle
  • maintenance was difficult (especially sin...
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 w...
• What does the Emphasis Site do?
   • online assignments
   • strict access control for who can see
          submitted s...
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 w...
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...
•   the first year student then fills out their first
      online assignment (called the initial
      commitment form) whic...
• from this point forward, area heads have to
      be assigned the same area as the student to
      see that student in ...
Contrib modules
  •    Automatic Nodetitles - hiding of the content title
       field and automatic title creation
  •    ...
•   Flag - approve this assignment button for mentors
  •   MimeDetect - common mime type detection for
      Drupal sites...
•   Transliteration - transliteration for UTF-8 text
      input and sanitizes file names
  •   User Relationships - Allows...
Custom modules we
            wrote
  •    authorview - Allows users to view, edit and delete nodes
       that they creat...
Why I’m happy with
             drupal
  • maintenance of sites is a lot easier
  • new features are easy to implement wit...
Why I’m happy with
             drupal

  • drupal is always improving and the drupal
       community creates upgrade pat...
Questions?



questions / feedback: @kim_day / kim.day@vanderbilt.edu
Upcoming SlideShare
Loading in...5
×

Drupal at Vanderbilt: A Success Story

1,622

Published on

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

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,622
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide




  • campus-wide google search appliance (GSA) indicates more than 5 million web pages/files on campus
  • custom coded php/mysql mixed with html, javascript, etc.

  • but other than hiring a fantastic web designer - what else has changed???
  • in 2005 these were the facts


  • we tried using shared web servers on campus but needed more customization and control
    tried using shared mysql but too many router hops between mysql and our vps - sites were slow
    we needed to stay on campus to keep the vanderbilt.edu domain



  • our bread & butter
    the straightforward departmental site
    aka brochure-ware
  • about half our sites in this category



  • Vanderbilt’s centralized identity management service
  • this one needed a custom theme
  • custom theme - med student blogs
  • incorporates the legacy course catalog database populated by a custom php app still in use

  • created event content type
    used views to create block showing upcoming events
    events are automatically moved to the previous events page once the date has passed

  • very little custom module code needed
  • lots of demand from students and faculty for this kind of web app - increasing daily
  • our most complex drupal site
    course management in drupal

  • sounds fairly simple, right?
  • they say the devil is in the details - this definitely applies to the requirements for the emphasis program site
    access control is the key
  • angie byron aka webchick of lullabot consulted on this part
  • sample user is a 1st year med student
    showing snapshot of progress in right sidebar
  • sample user is a 1st year med student
    showing student’s view of their assignments
  • sample mentor is a mentor
    lists his students in right hand side
  • mentor & area head view

  • this is basically how the emphasis site drupal code works










  • Drupal at Vanderbilt: A Success Story

    1. 1. Drupal at Vanderbilt: A Success Story
    2. 2. 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
    3. 3. 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
    4. 4. About VUSM http://en.wikipedia.org/wiki/Vanderbilt_University_School_of_Medicine questions / feedback: @kim_day / kim.day@vanderbilt.edu
    5. 5. 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
    6. 6. 2005 questions / feedback: @kim_day / kim.day@vanderbilt.edu
    7. 7. 2010 questions / feedback: @kim_day / kim.day@vanderbilt.edu
    8. 8. It’s obvious we’ve been busy... questions / feedback: @kim_day / kim.day@vanderbilt.edu
    9. 9. 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
    10. 10. 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
    11. 11. 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
    12. 12. Architecture Specifics https://medschool.vanderbilt.edu/alumni/ is served out of medschool.vanderbilt.edu.alumni directory questions / feedback: @kim_day / kim.day@vanderbilt.edu
    13. 13. 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
    14. 14. 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
    15. 15. Departmental Site https://medschool.vanderbilt.edu/dean/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
    16. 16. • 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
    17. 17. 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
    18. 18. 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
    19. 19. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    20. 20. 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
    21. 21. Special Sites Text https://medschool.vanderbilt.edu/tabularasa/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
    22. 22. https://medschool.vanderbilt.edu/vusm-blogs/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
    23. 23. https://medschool.vanderbilt.edu/registrar/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
    24. 24. https://medschool.vanderbilt.edu/women-on-track/events questions / feedback: @kim_day / kim.day@vanderbilt.edu
    25. 25. 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
    26. 26. 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
    27. 27. https://medschool.vanderbilt.edu/emphasis-program/ questions / feedback: @kim_day / kim.day@vanderbilt.edu
    28. 28. 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
    29. 29. • 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
    30. 30. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    31. 31. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    32. 32. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    33. 33. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    34. 34. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    35. 35. questions / feedback: @kim_day / kim.day@vanderbilt.edu
    36. 36. 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
    37. 37. the longer answer... questions / feedback: @kim_day / kim.day@vanderbilt.edu
    38. 38. 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
    39. 39. • 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
    40. 40. • 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
    41. 41. 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
    42. 42. • 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
    43. 43. • 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
    44. 44. 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
    45. 45. 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
    46. 46. 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
    47. 47. Questions? questions / feedback: @kim_day / kim.day@vanderbilt.edu
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×