Drupal at Vanderbilt: A Success Story

1,834 views
1,748 views

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,834
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
10
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

    ×