SlideShare a Scribd company logo
1 of 22
Download to read offline
Integrating 
Files 
Into D7 Authoring Workflow 
Matt Mendonca
Me 
IT Specialist (i.e. Web Developer) at the 
Institute of Standards and Technology 
Previously a Developer at 
(FleishmanHillard) and 
High Rock Studios 
National 
VOX Global 
2+ years professional experience with Drupal
You May Recall 
John Venable from NIST presented last month. 
(he is exceptionally tall)
True Story... 
I am taller than John. 
(in certain circumstances)
Moving Along...
Contents 
What are we trying to do 
How we are doing it 
Questions 
Demo
What Are We Trying 
To Do 
In the process of moving from CommonSpot to 
Drupal. We need to meet or exceed CommonSpot's 
features. 
Fieldable files 
Revisionable files 
Add files from and insert files into the WYSIWYG
How are we doing it 
Media module and... 
First implementation: John let's just use a file field 
Actual first implementation: custom module(s) 
https://github.com/matt-mendonca/ck-browser 
Don't actually use it; you've been warned 
Current implementation: Media 7.x-2.0, and others, 
complemented by custom modules
Living Dangerously 
You're about to hear stuff like "dev branch" and 
"patch" - Media handling in Drupal is in flux. 
Don't do this unless you are comfortable blowing 
things up and fixing it.
Contrib Modules 
Media 7.x-2.0-alpha3 
File Entiy 7.x-2.0-alpha3 
File entity Revisions 7.x-1.x-dev (and patches) 
Rabbit Hole (files) 7.x-2.23 (and patch) 
WYSIWYG 7.x-2.x-dev
Media 
https://www.drupal.org/project/media 
Provides a framework for handling files, images, 
videos, etc 
Using 2.0-alpha over 1.x stable because of the file 
entity module 
Dev branch tends to break frequently 
"...New is always better[, Ted]."
File Entity 
https://www.drupal.org/project/file_entity 
Adds an entity for files. Allows you to field files like 
you would nodes, users, etc 
Using 2.0-alpha; it is the most stable release
File Entity Revisions 
https://www.drupal.org/project/file_entity 
Kind of a mess right now, however, it allows file 
entities to have revisions 
Using latest dev ( makes the actual file revisonable 
) 
and these patches: 
Add a revisions tab to files: 
https://www.drupal.org/node/2097975 
Set the default revision status for file types: 
https://www.drupal.org/node/2259049
Rabbit Hole 
https://www.drupal.org/project/rabbit_hole 
Allows us to redirect anonymous users directly to 
the file from the file entity 
Doesn't tie us to a layout solution (panels could do this too) 
Using latest stable and the following patch: 
Undefined index on file entity form: 
https://www.drupal.org/node/2315761
WYSIWYG 
https://www.drupal.org/project/WYSIWYG 
Adds a WYSIWYG 
Not using CK Editor module because it breaks 
with Media 2 
We are using the CK Editor text editor 
Using latest dev of module since it supports recent 
versions of CK Editor
Custom Modules 
File Entity Link Display Mode 
Media Browser Override
File Entity Link Display 
Mode 
https://github.com/matt-mendonca/ 
file_entity_link_display_mode 
Adds a display mode for file entities that links to the 
file entity, not the file itself.
Media Browser 
Override 
https://github.com/matt-mendonca/ 
media_browser_override 
Overrides (as cleanly as possible) some of Media 2's 
media browser WYSIWYG plugin functionality. 
Default to WYSIWYG display format 
Skip view mode form in the media browser 
Alter media browser plugin js
How everything fits 
together 
Media provides the ground work 
Media browser WYSIWYG plugin (part of Media 2) allows us to 
add and insert media from a wyswiwyg 
File Entity and File Entity Revisions lets us interact 
with files like nodes 
Rabbit Hole allows us to have a link to the file that 
will always (within reason) be correct 
Custom modules fill in the gaps
Questions?
<shameless-plug> 
podium js 
</shameless-plug>
Demo

More Related Content

What's hot

Vinay Paudel: Optimizing and Speeding up a WordPress site
Vinay Paudel: Optimizing and Speeding up a WordPress siteVinay Paudel: Optimizing and Speeding up a WordPress site
Vinay Paudel: Optimizing and Speeding up a WordPress sitewpnepal
 
WordPress MU 101
WordPress MU 101WordPress MU 101
WordPress MU 101Pete Mall
 
WordPress Multisite deck
WordPress Multisite deckWordPress Multisite deck
WordPress Multisite deckbelsien
 
Drupal Multi-Site Setup
Drupal Multi-Site SetupDrupal Multi-Site Setup
Drupal Multi-Site Setupylynfatt
 
Mambo (2006) Presentation on CMS
Mambo (2006) Presentation on CMSMambo (2006) Presentation on CMS
Mambo (2006) Presentation on CMSJohn Patten
 
Introduction to word press
Introduction to word pressIntroduction to word press
Introduction to word pressLucky Ali
 
How to install wordpress on wampserver
How to install wordpress on wampserverHow to install wordpress on wampserver
How to install wordpress on wampservershreyakp
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesGerald Villorente
 
Serving Moodle Presentation
Serving Moodle PresentationServing Moodle Presentation
Serving Moodle Presentationwebhostingguy
 
Apache Server Tutorial
Apache Server TutorialApache Server Tutorial
Apache Server TutorialJagat Kothari
 
Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSThomas Siegers
 
Worcamp2012 make a wordpress multisite in 20mins
Worcamp2012 make a wordpress multisite in 20minsWorcamp2012 make a wordpress multisite in 20mins
Worcamp2012 make a wordpress multisite in 20minsChandra Prakash Thapa
 
Installing & Setting Up WordPress
Installing & Setting Up WordPressInstalling & Setting Up WordPress
Installing & Setting Up WordPressGravitational FX
 
Cache is king
Cache is kingCache is king
Cache is kingedrone
 

What's hot (20)

Vinay Paudel: Optimizing and Speeding up a WordPress site
Vinay Paudel: Optimizing and Speeding up a WordPress siteVinay Paudel: Optimizing and Speeding up a WordPress site
Vinay Paudel: Optimizing and Speeding up a WordPress site
 
WordPress MU 101
WordPress MU 101WordPress MU 101
WordPress MU 101
 
WordPress Multisite deck
WordPress Multisite deckWordPress Multisite deck
WordPress Multisite deck
 
Drupal Multi-Site Setup
Drupal Multi-Site SetupDrupal Multi-Site Setup
Drupal Multi-Site Setup
 
Mambo (2006) Presentation on CMS
Mambo (2006) Presentation on CMSMambo (2006) Presentation on CMS
Mambo (2006) Presentation on CMS
 
Introduction to word press
Introduction to word pressIntroduction to word press
Introduction to word press
 
How to install wordpress on wampserver
How to install wordpress on wampserverHow to install wordpress on wampserver
How to install wordpress on wampserver
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
 
Ithemes presentation
Ithemes presentationIthemes presentation
Ithemes presentation
 
Serving Moodle Presentation
Serving Moodle PresentationServing Moodle Presentation
Serving Moodle Presentation
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
 
Spider Course Day 1
Spider Course Day 1Spider Course Day 1
Spider Course Day 1
 
Apache Server Tutorial
Apache Server TutorialApache Server Tutorial
Apache Server Tutorial
 
Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMS
 
Worcamp2012 make a wordpress multisite in 20mins
Worcamp2012 make a wordpress multisite in 20minsWorcamp2012 make a wordpress multisite in 20mins
Worcamp2012 make a wordpress multisite in 20mins
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
wordpress
wordpresswordpress
wordpress
 
Installing & Setting Up WordPress
Installing & Setting Up WordPressInstalling & Setting Up WordPress
Installing & Setting Up WordPress
 
Cache is king
Cache is kingCache is king
Cache is king
 
Cache is the king
Cache is the kingCache is the king
Cache is the king
 

Similar to Integrating Files Into Drupal 7 Authoring Workflow

Features everywhere
Features everywhere Features everywhere
Features everywhere Mediacurrent
 
Common Docker Problems and Solutions
Common Docker Problems and SolutionsCommon Docker Problems and Solutions
Common Docker Problems and SolutionsJoel Chen
 
fuelOrigin.docx
fuelOrigin.docxfuelOrigin.docx
fuelOrigin.docxKanhaJi5
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build TechnologyPhilip Johnson
 
Feed the Masses
Feed the MassesFeed the Masses
Feed the Massespbugni
 
New Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone ConferenceNew Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone Conferencejcbrand
 
WordPress modern development
WordPress modern developmentWordPress modern development
WordPress modern developmentRoman Veselý
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
 
TDF Professional Conf 2010 - Rapid Windows 7 Deployments
TDF Professional Conf 2010 - Rapid Windows 7 DeploymentsTDF Professional Conf 2010 - Rapid Windows 7 Deployments
TDF Professional Conf 2010 - Rapid Windows 7 Deploymentsjimboks
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
 
Dreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares
 
Drupal distributions - how to build them
Drupal distributions - how to build themDrupal distributions - how to build them
Drupal distributions - how to build themDick Olsson
 
Yes, you can do that with AIR 2.0
Yes, you can do that with AIR 2.0Yes, you can do that with AIR 2.0
Yes, you can do that with AIR 2.0Peter Elst
 
A R T D M171 Week14 Multimedia
A R T D M171  Week14  MultimediaA R T D M171  Week14  Multimedia
A R T D M171 Week14 MultimediaGilbert Guerrero
 

Similar to Integrating Files Into Drupal 7 Authoring Workflow (20)

Features everywhere
Features everywhere Features everywhere
Features everywhere
 
Common Docker Problems and Solutions
Common Docker Problems and SolutionsCommon Docker Problems and Solutions
Common Docker Problems and Solutions
 
fuelOrigin.docx
fuelOrigin.docxfuelOrigin.docx
fuelOrigin.docx
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build Technology
 
Drupal 7 Media modules
Drupal 7 Media modulesDrupal 7 Media modules
Drupal 7 Media modules
 
Feed the Masses
Feed the MassesFeed the Masses
Feed the Masses
 
subversion.ppt
subversion.pptsubversion.ppt
subversion.ppt
 
Version Control
Version ControlVersion Control
Version Control
 
New Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone ConferenceNew Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone Conference
 
Web2 0
Web2 0Web2 0
Web2 0
 
WordPress modern development
WordPress modern developmentWordPress modern development
WordPress modern development
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
Brackets code editor guide
Brackets code editor guideBrackets code editor guide
Brackets code editor guide
 
TDF Professional Conf 2010 - Rapid Windows 7 Deployments
TDF Professional Conf 2010 - Rapid Windows 7 DeploymentsTDF Professional Conf 2010 - Rapid Windows 7 Deployments
TDF Professional Conf 2010 - Rapid Windows 7 Deployments
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
Dreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares Recent Projects
Dreamwares Recent Projects
 
Drupal distributions - how to build them
Drupal distributions - how to build themDrupal distributions - how to build them
Drupal distributions - how to build them
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Yes, you can do that with AIR 2.0
Yes, you can do that with AIR 2.0Yes, you can do that with AIR 2.0
Yes, you can do that with AIR 2.0
 
A R T D M171 Week14 Multimedia
A R T D M171  Week14  MultimediaA R T D M171  Week14  Multimedia
A R T D M171 Week14 Multimedia
 

Recently uploaded

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
 
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
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

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
 
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...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Integrating Files Into Drupal 7 Authoring Workflow

  • 1. Integrating Files Into D7 Authoring Workflow Matt Mendonca
  • 2. Me IT Specialist (i.e. Web Developer) at the Institute of Standards and Technology Previously a Developer at (FleishmanHillard) and High Rock Studios National VOX Global 2+ years professional experience with Drupal
  • 3. You May Recall John Venable from NIST presented last month. (he is exceptionally tall)
  • 4. True Story... I am taller than John. (in certain circumstances)
  • 6. Contents What are we trying to do How we are doing it Questions Demo
  • 7. What Are We Trying To Do In the process of moving from CommonSpot to Drupal. We need to meet or exceed CommonSpot's features. Fieldable files Revisionable files Add files from and insert files into the WYSIWYG
  • 8. How are we doing it Media module and... First implementation: John let's just use a file field Actual first implementation: custom module(s) https://github.com/matt-mendonca/ck-browser Don't actually use it; you've been warned Current implementation: Media 7.x-2.0, and others, complemented by custom modules
  • 9. Living Dangerously You're about to hear stuff like "dev branch" and "patch" - Media handling in Drupal is in flux. Don't do this unless you are comfortable blowing things up and fixing it.
  • 10. Contrib Modules Media 7.x-2.0-alpha3 File Entiy 7.x-2.0-alpha3 File entity Revisions 7.x-1.x-dev (and patches) Rabbit Hole (files) 7.x-2.23 (and patch) WYSIWYG 7.x-2.x-dev
  • 11. Media https://www.drupal.org/project/media Provides a framework for handling files, images, videos, etc Using 2.0-alpha over 1.x stable because of the file entity module Dev branch tends to break frequently "...New is always better[, Ted]."
  • 12. File Entity https://www.drupal.org/project/file_entity Adds an entity for files. Allows you to field files like you would nodes, users, etc Using 2.0-alpha; it is the most stable release
  • 13. File Entity Revisions https://www.drupal.org/project/file_entity Kind of a mess right now, however, it allows file entities to have revisions Using latest dev ( makes the actual file revisonable ) and these patches: Add a revisions tab to files: https://www.drupal.org/node/2097975 Set the default revision status for file types: https://www.drupal.org/node/2259049
  • 14. Rabbit Hole https://www.drupal.org/project/rabbit_hole Allows us to redirect anonymous users directly to the file from the file entity Doesn't tie us to a layout solution (panels could do this too) Using latest stable and the following patch: Undefined index on file entity form: https://www.drupal.org/node/2315761
  • 15. WYSIWYG https://www.drupal.org/project/WYSIWYG Adds a WYSIWYG Not using CK Editor module because it breaks with Media 2 We are using the CK Editor text editor Using latest dev of module since it supports recent versions of CK Editor
  • 16. Custom Modules File Entity Link Display Mode Media Browser Override
  • 17. File Entity Link Display Mode https://github.com/matt-mendonca/ file_entity_link_display_mode Adds a display mode for file entities that links to the file entity, not the file itself.
  • 18. Media Browser Override https://github.com/matt-mendonca/ media_browser_override Overrides (as cleanly as possible) some of Media 2's media browser WYSIWYG plugin functionality. Default to WYSIWYG display format Skip view mode form in the media browser Alter media browser plugin js
  • 19. How everything fits together Media provides the ground work Media browser WYSIWYG plugin (part of Media 2) allows us to add and insert media from a wyswiwyg File Entity and File Entity Revisions lets us interact with files like nodes Rabbit Hole allows us to have a link to the file that will always (within reason) be correct Custom modules fill in the gaps
  • 21. <shameless-plug> podium js </shameless-plug>
  • 22. Demo