www.drupaleurope.org CONNECTING MEDIA SOLUTIONS BEYOND DRUPAL MIRO - - PowerPoint PPT Presentation

drupaleurope org connecting media
SMART_READER_LITE
LIVE PREVIEW

www.drupaleurope.org CONNECTING MEDIA SOLUTIONS BEYOND DRUPAL MIRO - - PowerPoint PPT Presentation

www.drupaleurope.org CONNECTING MEDIA SOLUTIONS BEYOND DRUPAL MIRO DIETIKER miro_dietiker MD Systems - Founder Initiative Leader Switzerland CONNECTING MEDIA What is Content management? Landscape by example Media types Available


slide-1
SLIDE 1

www.drupaleurope.org

slide-2
SLIDE 2

CONNECTING MEDIA

SOLUTIONS BEYOND DRUPAL

slide-3
SLIDE 3

MIRO DIETIKER miro_dietiker

MD Systems - Founder Initiative Leader Switzerland

slide-4
SLIDE 4

Landscape by example Available solutions Digital asset management Drupal 8 only

CONNECTING MEDIA

What is Content management? Media types

slide-5
SLIDE 5

INTRO

slide-6
SLIDE 6

INTRO - Evolution

In Drupal 8 we evolved... ➢ File ➢ Contrib File Entity ➢ Contrib Media ➢ 8.4 Media in Core ➢ 8.6 Media in Core with Library

https://dri.es/an-update-on-the-media-initiative-for-drupal-8-4-8-5

slide-7
SLIDE 7

The results of the State of Drupal 2016 survey show the importance of the Media Initiative for content authors.

https://dri.es/state-of-drupal-presentation-may-2016

slide-8
SLIDE 8
slide-9
SLIDE 9

INTRO - Best practices

Experience from... ➢ Module maintenance ➢ Building distributions ➢ Site Building ➢ Custom development ➢ Operation ➢ Training, coaching, consulting

slide-10
SLIDE 10

INTRO - Core 8.6 Status

Stable ➢ Media ➢ Well supported Experimental ➢ Library ➢ minimal ➢ In transition Sources ➢ File ➢ Image ➢ Audio ➢ Video ➢ Remote video ○ Youtube ○ Vimeo

slide-11
SLIDE 11

https://www.drupal.org/blog/drupal-8-6-0

slide-12
SLIDE 12

BASICS

slide-13
SLIDE 13

BASICS - What is Media?

➢ Away from Files ➢ Entity

○ Source (type) ○ Fields

■ File, Filename, ID ■ Entity Reference ■ Remote identifier

➢ Any type of media “content”

Content MEDIA MEDIA ………….………….………….………….…………. MEDIA …. MEDIA …. ….

slide-14
SLIDE 14

BASICS - Local VS Connected / Remote

➢ LOCAL

○ Any type of Media inside Drupal

➢ CONNECTED / REMOTE

○ Benefit from SaaS providers ○ Specialized in a specific media type ○ Out of the box ○ Remotely managed

➢ MIXED REALITY

slide-15
SLIDE 15

BASICS - Media Lifecycle

➢ Upload ➢ Processing ➢ Storage

Original + Metadata

➢ Placement ➢ Formatting

View modes / Derivatives

➢ Delivery

slide-16
SLIDE 16

BASICS - Implications of Decoupling a provider

➢ Adds complexity ➢ Dependency

○ Ownership ○ Lock-in ○ API Changes

➢ Drupal Expectations ➢ Provide extra value

slide-17
SLIDE 17

BASICS - Implications - User expectations

Needs truly deep integrations ➢ Support expectations ➢ Through the lifecycle ➢ Or experience limitations

slide-18
SLIDE 18

BASICS - Implications - Drupal expectations ➢ Availability - API ➢ Speed - Caching ➢ Accounts ○ Authenticate ○ Permissions ➢ Entity ○ Types ○ Fields ➢ Multilingual ➢ Revisioning ➢ Views ○ List - Paging ○ Filter ➢ Placement - Usage ➢ View modes - formatter ○ Responsive ➢ Form modes - widgets ➢ Image Derivatives ➢ (Personalization) ➢ (Content Moderation)

slide-19
SLIDE 19

BY EXAMPLE

slide-20
SLIDE 20
slide-21
SLIDE 21

BY EXAMPLE - What if we connect Nextcloud

➢ Media Licensing ➢ Authentication ○ Global key ○ Per-user key ➢ Less site building ➢ Many Challenges Metadata

➢ Browser ➢ Extraction from assets ➢ Thumbnail ➢ Predefined metadata structure

slide-22
SLIDE 22

BY EXAMPLE - What if we connect Nextcloud

➢ User specific permissions ➢ Image derivative mapping ➢ Cropping ➢ Usage report ➢ Metadata updates Wish it was fully featured AND API first!

slide-23
SLIDE 23

CONCEPTS

slide-24
SLIDE 24

Usage tracking Browsing Expiration

CONCEPTS

Metadata replication Placement - WYSIWYG

slide-25
SLIDE 25

➢ Fields based ➢ Mapping configuration ➢ Replicate on save ➢ Metadata Updates?

○ (delta) ○ Changes? CONCEPTS - Metadata replication

slide-26
SLIDE 26

CONCEPTS - Placement

➢ WYSIWYG ➢ Field - Entity Reference Media ➢ Entity type - Paragraphs

slide-27
SLIDE 27

CONCEPTS - Consistency

➢ Module: Linkit

https://www.drupal.org/project/linkit

○ Managed link

■ Stop alias based links that break!

○ Matcher / Browser ○ Patch: Field support

https://www.drupal.org/project/link_attributes/issues/2939514

○ 8.x:25,095 - August 26, 2018 - 7.x:58,467 Total: 84,235

slide-28
SLIDE 28
slide-29
SLIDE 29

CONCEPTS - Usage tracking

➢ Module: Entity Usage

https://www.drupal.org/project/entity_usage

○ Pluggable tracking

■ Entity References ■ Link field ■ Entity Embed ■ Linkit, ...

○ 8.x:1,429 - August 26, 2018

slide-30
SLIDE 30
slide-31
SLIDE 31

CONCEPTS - Selection

➢ Core 8.6

○ Basic, hardcoded

➢ Module: Media Entity Browser

https://www.drupal.org/project/media_entity_browser

○ Highly

■ Extensible ■ Configurable

○ 8.x:4,852 - August 26, 2018

slide-32
SLIDE 32
slide-33
SLIDE 33

CONCEPTS - Upload

➢ (Core) ➢ Module: DropzoneJS

https://www.drupal.org/project/dropzonejs https://www.dropzonejs.com/

○ 8.x:18,219 - August 26, 2018 ○ Client side image resize

slide-34
SLIDE 34
slide-35
SLIDE 35

CONCEPTS - Expiration

➢ Module: Media Expire

https://www.drupal.org/project/media_expire

○ Part of Thunder ○ 8.x:810 - August 26, 2018

slide-36
SLIDE 36

MEDIA TYPE GROUPS

slide-37
SLIDE 37

TYPES - Picture ➢ JPG, PNG, GIF ➢ Tag <img src ➢ Tag <figure> <img /> <figcaption /> ➢ Image styles ○ derivatives ➢ Responsive img styles ➢ Lazy Loading ➢ Image toolkit ○ GD ○ Imagemagick ➢ Image effect ○ Cropping ○ Other Effects ➢ Image

slide-38
SLIDE 38

TYPES - Picture - Cropping Modules

➢ Module: Crop API

https://www.drupal.org/project/crop

○ 8.x:28,047 - August 26, 2018

➢ Module: Focal Point

https://www.drupal.org/project/focal_point

➢ Module: Image Widget Crop

https://www.drupal.org/project/image_widget_crop

➢ Module: Automated Crop

https://www.drupal.org/project/automated_crop

slide-39
SLIDE 39

TYPE - Picture - Lazyloading Modules

➢ Module: Blazy

https://www.drupal.org/project/blazy

○ Image lazy loading ○ 8.x:17,888 - August 26, 2018

➢ Module: Lazyloader

https://www.drupal.org/project/lazyloader

○ 8.x:357 - August 26, 2018 - 7.x:3,890 Total:4,247

slide-40
SLIDE 40

TYPE - Picture - Saas

➢ DAM - More Later

○ Bynder ○ Elvis ○ ...

slide-41
SLIDE 41

TYPE - Graphics

➢ SVG

○ Tag <img

➢ Inline SVG

○ Tag <svg ○ CSS control

slide-42
SLIDE 42

TYPE - Icons

➢ Module: Font Awesome Icons

https://www.drupal.org/project/fontawesome

○ Font | SVG ○ Icon Browser ○ Best Practice: Media bundle

■ Entity Usage

➢ Module: FA Menu Icons

https://www.drupal.org/project/fontawesome_menu_icon s

slide-43
SLIDE 43

TYPE - Video

➢ Tag <video ➢ Core 8.5 Video

○ Local storage

➢ Core 8.6 Remote video

○ oEmbed based

slide-44
SLIDE 44

➢ Module: Video.js

https://www.drupal.org/project/videojs

○ HTML5 Video Player ○ 8.x:909 - August 26, 2018 - 7.x:14,283 Total:15,362

➢ Module: JWPlayer

○ 8.x:224 - August 26, 2018 - 7.x:3,856 Total:4,080 TYPE - Video - Players

slide-45
SLIDE 45

TYPE - Video - Saas

➢ Module: Video Embed

○ https://www.drupal.org/project/video_embed_field https://www.drupal.org/project/video_embed_html5

○ Field ○ Reference ○ Metadata fetch / update ○ Youtube, Vimeo, more ○ 8.x:40,715 - August 26, 2018 - 7.x:62,472 Total:103,187

slide-46
SLIDE 46

TYPE - Video - Saas

➢ Module: Brightcove

https://www.drupal.org/project/brightcove

○ 8.x:240 - August 26, 2018 - 7.x:2,009 Total: 2,281

slide-47
SLIDE 47

TYPE - Audio

➢ Core 8.6 local ➢ Tag <audio ➢ Local audio ➢ (Module: Remote audio)

slide-48
SLIDE 48

TYPE - Audio SaaS

➢ Module: Soundcloud

https://www.drupal.org/project/soundcloudfield

○ Feature: Field ○ 8.x:735 - August 26, 2018 - 7.x:3,678 Total:4,432

slide-49
SLIDE 49

GALLERY PARADOXON

slide-50
SLIDE 50

GALLERY PARADOXON

Select your flavor... ➢ Multivalue field ➢ Media type ➢ Content type ➢ Paragraph ➢ (Paragraph library)

slide-51
SLIDE 51

GALLERY Module Slick

➢ Module: Slick

https://www.drupal.org/project/slick

○ “the last carousel you'll ever need” ○ 8.x:15,204 - August 26, 2018 - 7.x:23,802 Total 39,006

slide-52
SLIDE 52

GALLERY Module Flex Slider

➢ Module: Flex Slider

https://www.drupal.org/project/flexslider

○ 8.x:5,785 - August 26, 2018 - 7.x:109,748 Total 115,533

slide-53
SLIDE 53

Twitter ➢ Module: Media Entity Twitter

https://www.drupal.org/project/media_entity_twitter

○ Link field ○ Formatter: Twitter embed ○ 8.x:5,761 - August 26, 2018 TYPE - Social

slide-54
SLIDE 54

Instagram ➢ Module: Media Entity Instagram

https://www.drupal.org/project/media_entity_instagram

○ Link field ○ Formatter: Instagram embed ○ 8.x:5,585 - August 26, 2018 TYPE - Social

slide-55
SLIDE 55

➢ Google Maps

○ Module: Simple Google Maps

https://www.drupal.org/project/simple_gmap

Many more...

TYPE - Maps

slide-56
SLIDE 56

➢ Core Module Poll ➢ Riddle Marketplace

https://www.drupal.org/project/riddle_marketplace https://www.riddle.com/

○ “Quizzes” ○ Part of Thunder TYPE - Polls

slide-57
SLIDE 57

➢ Module: H5P

https://www.drupal.org/project/h5p

○ “Create and Share Rich Content and Applications” ○ 8.x:694 - August 26, 2018 - 7.x:3,735 Total: 4,435 TYPE - Interaction

slide-58
SLIDE 58
slide-59
SLIDE 59
  • Embed

➢ Module: Simple oEmbed

https://www.drupal.org/project/soembed https://oembed.com ○ 8.x:25 - August 26, 2018 - 7.x:332 Total:357

➢ (Core - only base class) ➢ Others?

TYPE - Generic widgets

slide-60
SLIDE 60

➢ Tag <iframe, <script ➢ Text field

○ Text format “code” without WYSIWYG

➢ Any widget provider ➢ Example: Typeform

○ https://www.typeform.com/ ○ “Turning data collection into an experience” TYPE - HTML

slide-61
SLIDE 61

STACK

slide-62
SLIDE 62

Asset separation

CONCEPTS

Storage Infrastructure

slide-63
SLIDE 63

https://www.drupal.org/project/flysystem

➢ 8.x:683 - August 26, 2018 ➢ “Local” ➢ Stream wrapper ○ path based magic

STACK - Storage - Module: Flysystem

FEATURES ➢ Ftp (Requires ftp extension) ➢ Sftp ➢ Dropbox ➢ Zip (through ZipArchive) ➢ Rackspace Cloud Files ➢ Amazon Web Services - S3 ➢ Openstack Swift

Example path: 'local-example://path/to/folder

slide-64
SLIDE 64

➢ Module: S3 File System

https://www.drupal.org/project/s3fs

○ 8.x:1,592 - August 26, 2018 - 7.x:3,285

➢ Module: Remote stream wrapper

https://www.drupal.org/project/remote_stream_wrapper_widget

○ 8.x:126 - August 26, 2018 STACK - Storage

slide-65
SLIDE 65

➢ Module: CDN

https://www.drupal.org/project/cdn

➢ Asset domain ➢ “Origin Pull” CDNs = transparent

STACK - Asset separation

slide-66
SLIDE 66

➢ DNS

○ Https termination / certificate ○ Example: CloudFlare

■ Image optimization ■ No bandwidth cost

○ Can be used with a subdomain

■ CDN

➢ Mount driver

STACK - Infrastructure

slide-67
SLIDE 67

DIGITAL ASSET MANAGEMENT

slide-68
SLIDE 68

➢ Module: Media Elvis

https://www.drupal.org/project/media_elvis

○ Woodwing Elvis

https://www.woodwing.com/en/digital-asset-management-system

DAM - Elvis

➢ Basic integration

○ Local delivery ○ Media contrib ○ Images only ○ Full text search ○ Paging ○ Folder filter ○ Metadata mapping ○ Thunder integration

slide-69
SLIDE 69
slide-70
SLIDE 70
slide-71
SLIDE 71
slide-72
SLIDE 72
slide-73
SLIDE 73
slide-74
SLIDE 74

➢ Module: Bynder

https://www.drupal.org/project/bynder

➢ Unique features

DAM - Bynder

slide-75
SLIDE 75

➢ Remote delivery ➢ Per-user ○ Authentication ○ Search facets ○ Access ➢ Usage restrictions ○ Indication ○ Review tab ○ License info ➢ Bynder formatter ➢ Image, Video, Documents ➢ Derivatives mapping ➢ API Caching - speed ➢ Direct Upload ○ Batch processing ➢ Updates (Cron) ➢ Demo module ➢ Lightning integration DAM - Bynder - Unique features

slide-76
SLIDE 76
slide-77
SLIDE 77
slide-78
SLIDE 78
slide-79
SLIDE 79
slide-80
SLIDE 80
slide-81
SLIDE 81
slide-82
SLIDE 82
slide-83
SLIDE 83

CONTENT

slide-84
SLIDE 84

CONTENT - Repository

➢ When all content becomes “media” Modules ➢ Contentpool ➢ Drupal Content Sync ➢ Deploy ➢ Contenta CMS Presentations ➢ TUE 11:30 3.03 ➢ THU 14:10 2.07

slide-85
SLIDE 85

Thanks!

ANY QUESTIONS?