Building Out Your OwnDigital Asset Management
Managing those precious assets using contributed Drupal modules!
• Eric Scott Sembrat• Web Manager for the College of Engineering at
Georgia Tech• Ph.D. Student in Instructional Technology at
Georgia State University
!• Website: http://ericsembrat.com• Twitter: @esembrat
Presenter
Media Management
• The state of media management in Drupal 7 is fragmented and antiquated for the Web.
• As compared to Web 2.0 applications• As compared to Wordpress
Introduction
• The development of several media management modules have attempted to bridge this divide.
• Scald • Media
Modular Solutions
• To propose a series of modules and settings to construct your own digital asset management (DAM) system.
Our Goal
• To look forward to the construction of a custom DAM, we need to look at why and how we arrived here.
Looking Backwards
• Lack of Modular Plugin Design Principles• One-Size-Fits-All Approach to Component Design
Why Wordpress Doesn’t Work
• Subpar user experience for upload and selection
• File metadata not exposed by default
• GD2’s limited scope
Why Drupal’s Core Doesn’t Work
• Use Drupal’s extensive field and modular design to construct a metadata-rich DAM.
• Extend Drupal’s file and image management with fields (metadata) and structure (content types, entities).
• Leverage Drupal’s dynamic entity display suite to manage, display, resize, and sort assets.
• Easy access to adjust, add, and disable features, fields, and functionality.
Our Solution
DAM Modules
• ImageMagick• File Entity• Multiupload• Prepopulate• RulesViews
Module List
ImageMagick
• An image processing toolkit• Standalone server-side library for image conversion• Replaces Drupal’s default GD2
What is ImageMagick?
• Why does ImageMagick rule?• Compatible with over 100 image formats• Transcoding to lossy image formats• Format conversion built-in• Add shapes/text to images• Comparison (likeness) metric• Large(mega, gig, tera-pixel) image support• Advanced image transform
ImageMagick Rules
• Basic Usage• Server-side tool ( http://www.imagemagick.org/ )
• Drupal integration ( https://www.drupal.org/project/imagemagick )
!• Advanced Usage
• ImageMagick Raw Effect ( https://www.drupal.org/project/im_raw )• ImageMagick Advanced
Usage
• Drupal handling of lossless photo formats• Server-side transcoding and resizing• Superfast image conversion
Why Use?
File Entity
• Extending file entities in core for new features and further integrations.
• Fieldable File Types (image, file, audio, video, doc)• Custom File Types with Fields• File Display Modes
What is File Entity?
• Basic Usage• File Entity ( https://www.drupal.org/project/file_entity )
!
• Advanced Usage• File Entity Inline ( https://www.drupal.org/project/file_entity_inline )• File Entity Preview ( https://www.drupal.org/project/file_entity_preview )• File Entity Preview Multiple• File MIME ( https://www.drupal.org/project/filemime )
• File Entity Revisions ( https://www.drupal.org/project/file_entity_revisions )
Usage
• Allows all custom fields to show up when editing.
File Entity Inline
Multiupload
• File field bulk uploading • Limited by PHP / Server file limits
MultiUpload
• Basic Usage• Multiupload Filefield Widget ( https://www.drupal.org/project/
multiupload_filefield_widget )• Multiupload Imagefield Widget ( https://www.drupal.org/project/
multiupload_imagefield_widget )
Usage
Prepopulate
• Field auto-population using URL tokens• http://www.example.com/node/add/blog?edit[title]=le title
Prepopulations
• Basic Usage• Prepopulate ( https://www.drupal.org/project/prepopulate )
Usage
Rules
• Conditionally execute actions on events• Build reusable component sets of actions• Chain rules together into complex workflow
Rules
• Basic Usage• Rules ( https://www.drupal.org/project/rules )
!
• Advanced Usage• Conditional Rules ( https://www.drupal.org/project/rules_conditional )• Rules Link ( https://www.drupal.org/project/rules_link )• Rules Bonus ( https://www.drupal.org/project/rb )
Usage
Views
• Create pages and elements that dynamically display entities and fields
• Pass arguments to limit content being displayed• Dynamically display and list content
Views
• Basic Usage• Views ( https://www.drupal.org/project/views )
!
• Advanced Usage• Views Field View ( https://www.drupal.org/project/views_field_view )• Panels ( https://www.drupal.org/project/panels )• (and more)
Usage
And More!
• Node/Taxonomy/Entity Reference• String content types and entities together
• Fivestar• Rating and scoring field type
Some More Options
Our Solution
That’s a Wrap!
• Email: [email protected]• Twitter: @esembrat• LinkedIn: http://www.linkedin.com/in/ericsembrat/
Let’s Chat!