SlideShare une entreprise Scribd logo
1  sur  40
Drupal 7 in Higher
Education Case Study
      Alex Dergachev
        Co-founder 
      @evolvingweb
Business Problem:

Overhaul the Online Application process for a leading
Canadian university.
Admissions Portal App
• Overhaul the system for applying to
  grad school

• Graduate students apply to university
• Secretaries manage application
  questions

• Professors evaluate applications
Exiting Admissions Form
Updated UI (Drupal)
Faculty Requirements
Existing Form: Not Customizable
Paper-Based Reference Letters
Paper-Based Evaluation System
ERP Integration

               Sungard
              Banner /
             Oracle based
                 ERP
Why Drupal?
Existing Drupal Properties
Multilingual Requirements
Flexibility, Configuration
Canadian
+   Universities
Project Structure
•   March 2011 - May 2012

•   Completed phases:       •   Future phases:

    •   App Prototype:          •   Evaluation workflow
        April / May 2011
                                •   Integration with:
    •   Dept. Control                ERP,
        Prototype:                   ECMS,
        October/Nov 2011             eCommerce,
                                     etc...
What we’ve done
Overhaul of User Experience
Application Form Fields
Custom Validation
Custom Fields
Departmental Fields
Referee Request Workflow
Saving/Submitting Applications
UI for Department Administrators
Attach Questions to Programs
Easy to Add Questions
Demo of Admin UI
Very Few Contrib Modules
 Logintoboggan
 Masquerade
                 i18n 
 Beautytips
                 Entity Translation
 Features
 Strongarm       Field validation
 UUID            Date
                 References
 Context
                 Behavior Weights
                 Fieldgroup
 Ctools
 Views
Features created
  gap_applicant_interface
  gap_application_process
  gap_banner_fields

  gap_referee_process

  gap_administrative_interface
  gap_content_structure

  gap_configuration_settings
Custom Modules - 1
 404   ./gap/gap.module
  26   ./gap/gap.install
   8   ./node_bundle/node_bundle.install
 453   ./node_bundle/node_bundle_reference/node_bundle_reference.module
 353   ./node_bundle/node_bundle.module
  31   ./node_bundle/node_bundle.views.inc
 579   ./gap_referee/gap_referee.module
 221   ./gap_referee/includes/referee_step.inc
 136   ./gap_referee/includes/form.inc
  38   ./gap_referee/includes/welcome_step.inc
  21   ./gap_referee/gap_referee.install
  33   ./gap_referee/gap_referee.block.inc
  13   ./gap_referee/gap_referee.views.inc
 573   ./gap_multistep/gap_multistep.module
 158   ./gap_multistep/includes/review_step.inc
 307   ./gap_multistep/includes/form.inc
 289   ./gap_multistep/includes/entity_step.inc
 248   ./gap_multistep/includes/step.inc
 396   ./gap_multistep/gap_multistep.helpers.inc
  80   ./gap_multistep/gap_multistep.field_group.inc
 303   ./gap_validation/gap_validation.module
 117   ./gap_help_popups/gap_help_popups.module
  91   ./gap_configuration_settings/gap_configuration_settings.features.field.inc
  26   ./gap_configuration_settings/gap_configuration_settings.features.menu_custom.inc
   7   ./gap_configuration_settings/gap_configuration_settings.module
 382   ./gap_configuration_settings/gap_configuration_settings.features.user_permission.inc
 122   ./gap_configuration_settings/gap_configuration_settings.features.filter.inc
  32   ./gap_configuration_settings/gap_configuration_settings.features.user_role.inc
  36   ./gap_configuration_settings/gap_configuration_settings.features.inc
 208   ./gap_configuration_settings/gap_configuration_settings.features.menu_links.inc
 347   ./gap_configuration_settings/gap_configuration_settings.strongarm.inc
 139   ./gap_configuration_settings/gap_configuration_settings.context.inc
  25   ./gap_referee_process/gap_referee_process.features.user_permission.inc
  44   ./gap_referee_process/gap_referee_process.features.inc
   7   ./gap_referee_process/gap_referee_process.module
 150   ./gap_referee_process/gap_referee_process.strongarm.inc
  18   ./gap_referee_process/gap_referee_process.install
1384   ./gap_referee_process/gap_referee_process.features.field.inc
  86   ./gap_referee_process/gap_referee_process.context.inc
  59   ./gap_date/gap_date.module
 217   ./gap_views/gap_views.module
  10   ./gap_views/views/handlers/gap_views_handler_field_token.inc
  30   ./gap_views/views/handlers/gap_views_handler_field_question_used_by.inc
  16   ./gap_views/views/handlers/gap_views_handler_field_question_type.inc
  95   ./gap_views/views/handlers/gap_views_handler_relationship_reverse.inc
  16   ./gap_views/views/handlers/gap_views_handler_field_department_id.inc
  21   ./gap_views/views/handlers/gap_views_handler_argument_banner_id_prefix.inc
Custom Modules - 2
  41   ./gap_error_jump/gap_error_jump.module
  25   ./gap_applicant_interface/gap_applicant_interface.features.menu_custom.inc
  42   ./gap_applicant_interface/gap_applicant_interface.context.inc
   7   ./gap_applicant_interface/gap_applicant_interface.module
  75   ./gap_applicant_interface/gap_applicant_interface.features.menu_links.inc
  25   ./gap_applicant_interface/gap_applicant_interface.features.inc
 871   ./gap_applicant_interface/gap_applicant_interface.views_default.inc
 281   ./gap_import/gap_import.module
  48   ./gap_import/gap_import.drush.inc
  22   ./gap_app_form/views/handlers/gap_app_form_handler_field_application_deadline.inc
 144   ./gap_app_form/gap_app_form.views.inc
 350   ./gap_app_form/gap_app_form.module
 262   ./gap_app_form/includes/form.inc
 245   ./gap_app_form/includes/apply_step.inc
 105   ./gap_app_form/includes/submit_step.inc
  62   ./gap_app_form/gap_app_form.blocks.inc
 290   ./gap_app_form/gap_app_form.helper.inc
  65   ./gap_app_form/gap_app_form.install
  15   ./gap_question_ui/views/handlers/gap_question_ui_handler_argument_department_or_global.inc
  15   ./gap_question_ui/views/handlers/gap_question_ui_handler_argument_question_not_attached.inc
  95   ./gap_question_ui/gap_question_ui.admin.inc
 215   ./gap_question_ui/gap_question_ui.question_types.inc
 314   ./gap_question_ui/gap_question_ui.question_api.inc
 252   ./gap_question_ui/gap_question_ui.install
 168   ./gap_question_ui/gap_question_ui.entity.inc
1111   ./gap_question_ui/gap_question_ui.module
  31   ./gap_question_ui/gap_question_ui.entity_ui.inc
  18   ./gap_hacks/gap_hacks.module
 279   ./gap_department/gap_department.admin.inc
 436   ./gap_department/gap_department.module
  23   ./gap_department/gap_department.entity.inc
  35   ./gap_department/gap_department.install
  44   ./gap_application_process/gap_application_process.features.inc
  38   ./gap_application_process/gap_application_process.features.user_permission.inc
  51   ./gap_application_process/gap_application_process.strongarm.inc
  49   ./gap_application_process/gap_application_process.context.inc
 796   ./gap_application_process/gap_application_process.features.field.inc
   7   ./gap_application_process/gap_application_process.module
  21   ./gap_beautytips_help/gap_beautytips_help.install
 179   ./gap_beautytips_help/gap_beautytips_help.module
Custom Modules - 3


  220   ./gap_fields/gap_fields.module
   36   ./gap_fields/gap_address/gap_address.install
  861   ./gap_fields/gap_address/gap_address.module
   15   ./gap_fields/gap_phone/gap_phone.install
  553   ./gap_fields/gap_phone/gap_phone.module
  101   ./gap_fields/gap_fields.drush.inc
  254   ./gap_fields/gap_academic_history/gap_academic_history.form.inc
   55   ./gap_fields/gap_academic_history/gap_academic_history.autocomplete.inc
  202   ./gap_fields/gap_academic_history/gap_academic_history.program.inc
  544   ./gap_fields/gap_academic_history/includes/value.inc
   87   ./gap_fields/gap_academic_history/gap_academic_history.formatter.inc
   90   ./gap_fields/gap_academic_history/gap_academic_history.module
   38   ./gap_fields/gap_academic_history/gap_academic_history.install
   53   ./gap_fields/gap_academic_history/gap_academic_history.validation.inc
   17   ./gap_fields/gap_academic_history/gap_academic_history.saving.inc
  207   ./gap_fields/includes/value.inc
  176   ./gap_fields/gap_conditionally_required/gap_conditionally_required.module
    2   ./gap_fields/gap_conditionally_required/gap_conditionally_required.install
  239   ./gap_fields/gap_fields.install
  380   ./gap_fields/gap_countryprov/gap_countryprov.module
   16   ./gap_fields/gap_countryprov/gap_countryprov.install

19653 total
Custom Modules
gap_department   node_bundle
gap_import       gap_app_form
gap_views        gap_fields
gap              gap_question_ui
gap_hacks        gap_beautytips_help
gap_error_jump   gap_referee
gap_multistep    gap_date
gap_validation   gap_help_popups
Contributing Back:
  Simple Fields
Manage Simple Fields
Create Simple Field
Create Simple Field
Demo:
  http://master.simplefield.ewdev.ca

           Project:
http://drupal.org/project/simple_field
Thank You!
 Alex Dergachev
 @evolvingweb

Contenu connexe

En vedette

Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Suzanne Dergacheva
 
Introduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitIntroduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitSuzanne Dergacheva
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasSuzanne Dergacheva
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Suzanne Dergacheva
 
Responsive Design in Drupal with Zen and Zen Grids
Responsive Design in Drupal with Zen and Zen GridsResponsive Design in Drupal with Zen and Zen Grids
Responsive Design in Drupal with Zen and Zen GridsSuzanne Dergacheva
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8Suzanne Dergacheva
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Suzanne Dergacheva
 
Meilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalMeilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalSuzanne Dergacheva
 

En vedette (9)

Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012
 
Introduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitIntroduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience Toolkit
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and Gotchas
 
Using Core Themes in Drupal 8
Using Core Themes in Drupal 8Using Core Themes in Drupal 8
Using Core Themes in Drupal 8
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
 
Responsive Design in Drupal with Zen and Zen Grids
Responsive Design in Drupal with Zen and Zen GridsResponsive Design in Drupal with Zen and Zen Grids
Responsive Design in Drupal with Zen and Zen Grids
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Meilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalMeilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web Drupal
 

Plus de Suzanne Dergacheva

It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...Suzanne Dergacheva
 
Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Suzanne Dergacheva
 
Dipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentDipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentSuzanne Dergacheva
 
Device-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalDevice-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalSuzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarSuzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DaySuzanne Dergacheva
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreSuzanne Dergacheva
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarSuzanne Dergacheva
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinSuzanne Dergacheva
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeSuzanne Dergacheva
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Suzanne Dergacheva
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualSuzanne Dergacheva
 
Creating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationCreating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationSuzanne Dergacheva
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersSuzanne Dergacheva
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-BoxSuzanne Dergacheva
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarSuzanne Dergacheva
 
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Suzanne Dergacheva
 
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Suzanne Dergacheva
 
DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014Suzanne Dergacheva
 

Plus de Suzanne Dergacheva (20)

It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...
 
Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8
 
Dipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentDipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module Development
 
Device-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalDevice-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for Drupal
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - Webinar
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? Webinar
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
 
Creating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationCreating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large Organization
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site Builders
 
Drupal migrate-june2015
Drupal migrate-june2015Drupal migrate-june2015
Drupal migrate-june2015
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
 
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
 
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
 
DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014DrupalCamp NYC Panels Presentation - April 2014
DrupalCamp NYC Panels Presentation - April 2014
 

Dernier

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Dernier (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Drupal Higher Education Case Study: Drupal Camp New Jersey 2012

  • 1. Drupal 7 in Higher Education Case Study Alex Dergachev Co-founder  @evolvingweb
  • 2. Business Problem: Overhaul the Online Application process for a leading Canadian university.
  • 3. Admissions Portal App • Overhaul the system for applying to grad school • Graduate students apply to university • Secretaries manage application questions • Professors evaluate applications
  • 7. Existing Form: Not Customizable
  • 10. ERP Integration Sungard Banner / Oracle based ERP
  • 15. Canadian + Universities
  • 16. Project Structure • March 2011 - May 2012 • Completed phases: • Future phases: • App Prototype: • Evaluation workflow April / May 2011 • Integration with: • Dept. Control ERP, Prototype: ECMS, October/Nov 2011 eCommerce, etc...
  • 18. Overhaul of User Experience
  • 25. UI for Department Administrators
  • 27. Easy to Add Questions
  • 29. Very Few Contrib Modules Logintoboggan Masquerade i18n  Beautytips Entity Translation Features Strongarm Field validation UUID Date References Context Behavior Weights Fieldgroup Ctools Views
  • 30. Features created gap_applicant_interface gap_application_process gap_banner_fields gap_referee_process gap_administrative_interface gap_content_structure gap_configuration_settings
  • 31. Custom Modules - 1 404 ./gap/gap.module 26 ./gap/gap.install 8 ./node_bundle/node_bundle.install 453 ./node_bundle/node_bundle_reference/node_bundle_reference.module 353 ./node_bundle/node_bundle.module 31 ./node_bundle/node_bundle.views.inc 579 ./gap_referee/gap_referee.module 221 ./gap_referee/includes/referee_step.inc 136 ./gap_referee/includes/form.inc 38 ./gap_referee/includes/welcome_step.inc 21 ./gap_referee/gap_referee.install 33 ./gap_referee/gap_referee.block.inc 13 ./gap_referee/gap_referee.views.inc 573 ./gap_multistep/gap_multistep.module 158 ./gap_multistep/includes/review_step.inc 307 ./gap_multistep/includes/form.inc 289 ./gap_multistep/includes/entity_step.inc 248 ./gap_multistep/includes/step.inc 396 ./gap_multistep/gap_multistep.helpers.inc 80 ./gap_multistep/gap_multistep.field_group.inc 303 ./gap_validation/gap_validation.module 117 ./gap_help_popups/gap_help_popups.module 91 ./gap_configuration_settings/gap_configuration_settings.features.field.inc 26 ./gap_configuration_settings/gap_configuration_settings.features.menu_custom.inc 7 ./gap_configuration_settings/gap_configuration_settings.module 382 ./gap_configuration_settings/gap_configuration_settings.features.user_permission.inc 122 ./gap_configuration_settings/gap_configuration_settings.features.filter.inc 32 ./gap_configuration_settings/gap_configuration_settings.features.user_role.inc 36 ./gap_configuration_settings/gap_configuration_settings.features.inc 208 ./gap_configuration_settings/gap_configuration_settings.features.menu_links.inc 347 ./gap_configuration_settings/gap_configuration_settings.strongarm.inc 139 ./gap_configuration_settings/gap_configuration_settings.context.inc 25 ./gap_referee_process/gap_referee_process.features.user_permission.inc 44 ./gap_referee_process/gap_referee_process.features.inc 7 ./gap_referee_process/gap_referee_process.module 150 ./gap_referee_process/gap_referee_process.strongarm.inc 18 ./gap_referee_process/gap_referee_process.install 1384 ./gap_referee_process/gap_referee_process.features.field.inc 86 ./gap_referee_process/gap_referee_process.context.inc 59 ./gap_date/gap_date.module 217 ./gap_views/gap_views.module 10 ./gap_views/views/handlers/gap_views_handler_field_token.inc 30 ./gap_views/views/handlers/gap_views_handler_field_question_used_by.inc 16 ./gap_views/views/handlers/gap_views_handler_field_question_type.inc 95 ./gap_views/views/handlers/gap_views_handler_relationship_reverse.inc 16 ./gap_views/views/handlers/gap_views_handler_field_department_id.inc 21 ./gap_views/views/handlers/gap_views_handler_argument_banner_id_prefix.inc
  • 32. Custom Modules - 2 41 ./gap_error_jump/gap_error_jump.module 25 ./gap_applicant_interface/gap_applicant_interface.features.menu_custom.inc 42 ./gap_applicant_interface/gap_applicant_interface.context.inc 7 ./gap_applicant_interface/gap_applicant_interface.module 75 ./gap_applicant_interface/gap_applicant_interface.features.menu_links.inc 25 ./gap_applicant_interface/gap_applicant_interface.features.inc 871 ./gap_applicant_interface/gap_applicant_interface.views_default.inc 281 ./gap_import/gap_import.module 48 ./gap_import/gap_import.drush.inc 22 ./gap_app_form/views/handlers/gap_app_form_handler_field_application_deadline.inc 144 ./gap_app_form/gap_app_form.views.inc 350 ./gap_app_form/gap_app_form.module 262 ./gap_app_form/includes/form.inc 245 ./gap_app_form/includes/apply_step.inc 105 ./gap_app_form/includes/submit_step.inc 62 ./gap_app_form/gap_app_form.blocks.inc 290 ./gap_app_form/gap_app_form.helper.inc 65 ./gap_app_form/gap_app_form.install 15 ./gap_question_ui/views/handlers/gap_question_ui_handler_argument_department_or_global.inc 15 ./gap_question_ui/views/handlers/gap_question_ui_handler_argument_question_not_attached.inc 95 ./gap_question_ui/gap_question_ui.admin.inc 215 ./gap_question_ui/gap_question_ui.question_types.inc 314 ./gap_question_ui/gap_question_ui.question_api.inc 252 ./gap_question_ui/gap_question_ui.install 168 ./gap_question_ui/gap_question_ui.entity.inc 1111 ./gap_question_ui/gap_question_ui.module 31 ./gap_question_ui/gap_question_ui.entity_ui.inc 18 ./gap_hacks/gap_hacks.module 279 ./gap_department/gap_department.admin.inc 436 ./gap_department/gap_department.module 23 ./gap_department/gap_department.entity.inc 35 ./gap_department/gap_department.install 44 ./gap_application_process/gap_application_process.features.inc 38 ./gap_application_process/gap_application_process.features.user_permission.inc 51 ./gap_application_process/gap_application_process.strongarm.inc 49 ./gap_application_process/gap_application_process.context.inc 796 ./gap_application_process/gap_application_process.features.field.inc 7 ./gap_application_process/gap_application_process.module 21 ./gap_beautytips_help/gap_beautytips_help.install 179 ./gap_beautytips_help/gap_beautytips_help.module
  • 33. Custom Modules - 3 220 ./gap_fields/gap_fields.module 36 ./gap_fields/gap_address/gap_address.install 861 ./gap_fields/gap_address/gap_address.module 15 ./gap_fields/gap_phone/gap_phone.install 553 ./gap_fields/gap_phone/gap_phone.module 101 ./gap_fields/gap_fields.drush.inc 254 ./gap_fields/gap_academic_history/gap_academic_history.form.inc 55 ./gap_fields/gap_academic_history/gap_academic_history.autocomplete.inc 202 ./gap_fields/gap_academic_history/gap_academic_history.program.inc 544 ./gap_fields/gap_academic_history/includes/value.inc 87 ./gap_fields/gap_academic_history/gap_academic_history.formatter.inc 90 ./gap_fields/gap_academic_history/gap_academic_history.module 38 ./gap_fields/gap_academic_history/gap_academic_history.install 53 ./gap_fields/gap_academic_history/gap_academic_history.validation.inc 17 ./gap_fields/gap_academic_history/gap_academic_history.saving.inc 207 ./gap_fields/includes/value.inc 176 ./gap_fields/gap_conditionally_required/gap_conditionally_required.module 2 ./gap_fields/gap_conditionally_required/gap_conditionally_required.install 239 ./gap_fields/gap_fields.install 380 ./gap_fields/gap_countryprov/gap_countryprov.module 16 ./gap_fields/gap_countryprov/gap_countryprov.install 19653 total
  • 34. Custom Modules gap_department node_bundle gap_import gap_app_form gap_views gap_fields gap gap_question_ui gap_hacks gap_beautytips_help gap_error_jump gap_referee gap_multistep gap_date gap_validation gap_help_popups
  • 35. Contributing Back: Simple Fields
  • 39. Demo: http://master.simplefield.ewdev.ca Project: http://drupal.org/project/simple_field
  • 40. Thank You! Alex Dergachev @evolvingweb