SlideShare a Scribd company logo
1 of 42
Download to read offline
OpenCms: A video tube? 
Fabian Huschka 
componio GmbH 
componio@componio.net 
http://www.componio.net
Video what? 
01
Video what?
Video what?
Video what?
Video what? 
Stockholms tunnelbana? 
What happened to “video tube”?
Video what?
Video what? 
Hej, I am a video clip
Video what? 
I am loving to ride it. 
But mind the gap! 
Hej, I am a video clip
Video what? 
Me too! Love the funny 
conversations every morning! 
I am loving it. 
But mind the gap! 
Hej, I am a video clip
Video what?
Video what?
Video what?
Video what? 
Name: OpenCms 
Operated: Alkacon GmbH 
Name: SkinnDriva 
Operated: componio GmbH
Video what? 
Name: OpenCms 
Operated: Alkacon GmbH 
Name: SkinnDriva 
Operated: componio GmbH
Video what? 
Name: OpenCms 
Operated: Alkacon GmbH 
Name: SkinnDriva 
Operated: componio GmbH 
Intersection
Translate 
Does this lead anywhere?
Video what? 
Sure, it even computes 
• Line = Video channel 
• Train = Video 
• Train Passengers = Subscribers 
• Conversations = Video likes, comments, ... 
• Intersections = Cross post/Content sharing
Video what? 
OpenCms: Top down approach 
• Store video data in the VFS of OpenCms 
• Use HTML5 video tag to render videos 
• OpenCms CRE to handle subscriptions 
• Use rating, comment and social equity container 
element (CEL) to enrich UX
OpenCms and videos 
02
OpenCms and videos 
A typical video
OpenCms and videos 
A typical video 
• Monkaa is a blue furred, pink faced monkey who 
consumes a crystallized meteorite, making Monkaa 
invincibly strong and too hot to handle. Exploring his 
superpower Monkaa zooms into an unexplored 
universe. 
• Size: ~152 MB 
• Download: 
https://cloud.blender.org/open-movie/monkaa/
OpenCms and videos 
Heap anyone? 
1200 
1000 
800 
600 
400 
200 
0 
Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 
Actions 
Max Heap 
MB
OpenCms and videos 
Heap anyone? 
Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 
1200 
1000 
800 
600 
400 
200 
0 
-200 
Actions 
Upload Delta DB RAM Max Heap 
MB
OpenCms and videos 
Heap anyone? 
Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 
1200 
1000 
800 
600 
400 
200 
0 
-200 
Actions 
Upload Delta DB RAM Max Heap 
MB
OpenCms and videos 
Heap anyone? 
Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 
1200 
1000 
800 
600 
400 
200 
0 
-200 
Actions 
Upload Delta DB RAM Max Heap 
MB 
java.lang.OutOfMemoryError: Java heap space
OpenCms and videos 
Solution 
• Store videos externally 
– e.g. RFS, we have chosen ownCloud 
• Introduce a proxy element in OpenCms 
– simple structured content CEL 
• Integrate external storage with special driver 
– e.g. metamesh's RFS driver
HTML5 and video codecs 
03
Better: 
HTML5 video codec quirks 
03
HTML5 and video codecs 
From the w3c wiki 
• The HTML5 specification does not require a video 
codec to be supported by all user agents. Thus, one 
need to provide alternate sources to ensure proper user 
experience in the existing user agents. Using 
Ogg/Theora/Vorbis and MP4/H.264/AAC seems to 
cover most of the cases out there (if not all). However, 
Ogg/Theora/Vorbis is being replaced in favor of WebM 
nowadays.
HTML5 and video codecs 
Solution 
• Use a versatile and standard conform video player 
– JWPlayer in our case 
– Ensures proper HTML code generation 
– Hides complexity while offering editor freedom (e.g. 
aspect ratio, volume, controls) 
• Encode videos with FLV, H.264 and VP8 
• Make a wish that the video war is soon over – 
the browser war has been bloody enough
Channels / Subscriptions 
04
Channels / Subscriptions 
CRE FTW! 
• OpenCms subscription API (from 8.5.x) 
• Associate individual CMS resources with OpenCms 
users 
• Two major use cases: 
– Personalization 
● Users can subscribe their favourite content 
● Subscription status can be shown wherever appropriate 
– Notifications 
● Notify users of fresh/updated content
Channels / Subscriptions 
Channels 
• OpenCms categories allow for arbitrary 
taxonomies 
• A set of categories defines a channel 
• Subscription engine allows to subscribe and 
unsubscribe resources 
• CRE allows to find resources for specific 
categories
Channels / Subscriptions 
Solution 
• Dedicated CEL to list available channels 
• Video (proxy element) gets associated with a channel 
via categories 
– Can be easily a member of many channels 
– Harmonizes with Subscription API (resources need to 
be served by the VFS vs. RFS) 
• Channel subscriptions are stored as “Additional User 
Information”
Channels / Subscriptions 
Solution 
• Enhanced subscription engine to speed up channel 
look-up 
– OBS: The subscription API does not offer an efficient 
way to accomplish this 
– OBS: Need to extra check if resources are deleted or 
expired 
– makes heavy use of SOLR 
– Custom SQL queries an POJOs to speed up lookup 
of user channel subscriptions
Putting it all together 
05
Putting it all together 
Channel overview
Putting it all together 
Channel Content
In a nutshell 
OpenCms + extra Spice = 
a video tube with potential
References 
Appendix 
• Photo copyright 
– Empty Subway Tunnel, © alex_black – Fotolia.com 
– Train leaving Radhuset metro station in Stockholm, 
© Leonid Andronov - Fotolia.com 
• Theme engine 
– SkinnDriva, http://www.skinndriva.com 
• Video player 
– JWPlayer, http://www.jwplayer.com/

More Related Content

Similar to OpenCms Days 2014 - OpenCms 9 - A video tube?

Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Amazon Web Services
 
Xevgenis_Michail_CI7120 Multimedia Communications
Xevgenis_Michail_CI7120 Multimedia CommunicationsXevgenis_Michail_CI7120 Multimedia Communications
Xevgenis_Michail_CI7120 Multimedia Communications
Michael Xevgenis
 
what_is_a_codec_2010
what_is_a_codec_2010what_is_a_codec_2010
what_is_a_codec_2010
Justin Giles
 

Similar to OpenCms Days 2014 - OpenCms 9 - A video tube? (20)

HTML5 video & Amazon elastic transcoder - FCIP August 2014
HTML5 video & Amazon elastic transcoder - FCIP August 2014HTML5 video & Amazon elastic transcoder - FCIP August 2014
HTML5 video & Amazon elastic transcoder - FCIP August 2014
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 
Pycon2013
Pycon2013Pycon2013
Pycon2013
 
Mm sys 2013-demo
Mm sys 2013-demoMm sys 2013-demo
Mm sys 2013-demo
 
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
 
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
 
Software Quality Assurance on VLC
Software Quality Assurance on VLC Software Quality Assurance on VLC
Software Quality Assurance on VLC
 
Software Quality Assurance on VLC Player
Software Quality Assurance on VLC PlayerSoftware Quality Assurance on VLC Player
Software Quality Assurance on VLC Player
 
Dos presentation by ahlam shakeel
Dos presentation by ahlam shakeelDos presentation by ahlam shakeel
Dos presentation by ahlam shakeel
 
Video Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince PugliaVideo Codecs and the Future by Vince Puglia
Video Codecs and the Future by Vince Puglia
 
Tutorial adaptive-streaming
Tutorial adaptive-streamingTutorial adaptive-streaming
Tutorial adaptive-streaming
 
AWS re:Invent 2016: Accelerating the Transition to Broadcast and OTT Infrastr...
AWS re:Invent 2016: Accelerating the Transition to Broadcast and OTT Infrastr...AWS re:Invent 2016: Accelerating the Transition to Broadcast and OTT Infrastr...
AWS re:Invent 2016: Accelerating the Transition to Broadcast and OTT Infrastr...
 
Xevgenis_Michail_CI7120 Multimedia Communications
Xevgenis_Michail_CI7120 Multimedia CommunicationsXevgenis_Michail_CI7120 Multimedia Communications
Xevgenis_Michail_CI7120 Multimedia Communications
 
BP503 IBM Connect 2014
BP503 IBM Connect 2014BP503 IBM Connect 2014
BP503 IBM Connect 2014
 
what_is_a_codec_2010
what_is_a_codec_2010what_is_a_codec_2010
what_is_a_codec_2010
 
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront  AWS Webcast - On-Demand Video Streaming using Amazon CloudFront
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront
 
Beef Up Your Website With Audio And Video - It's Easy!
Beef Up Your Website With Audio And Video - It's Easy!Beef Up Your Website With Audio And Video - It's Easy!
Beef Up Your Website With Audio And Video - It's Easy!
 
Video performance glasgow
Video performance glasgowVideo performance glasgow
Video performance glasgow
 
AWS Customer Presentation - How TubeMogul uses AWS
AWS Customer Presentation - How TubeMogul uses AWSAWS Customer Presentation - How TubeMogul uses AWS
AWS Customer Presentation - How TubeMogul uses AWS
 
Krakow video
Krakow videoKrakow video
Krakow video
 

More from Alkacon Software GmbH & Co. KG

More from Alkacon Software GmbH & Co. KG (20)

OpenCms Days 2016: Multilingual websites with OpenCms
OpenCms Days 2016:   Multilingual websites with OpenCmsOpenCms Days 2016:   Multilingual websites with OpenCms
OpenCms Days 2016: Multilingual websites with OpenCms
 
OpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsOpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCms
 
OpenCms Days 2016: OpenCms at the swiss seismological service
OpenCms Days 2016: OpenCms at the swiss seismological serviceOpenCms Days 2016: OpenCms at the swiss seismological service
OpenCms Days 2016: OpenCms at the swiss seismological service
 
OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository
 
OpenCms Days 2016: Keynote - Introducing OpenCms 10.5
OpenCms Days 2016:   Keynote - Introducing OpenCms 10.5OpenCms Days 2016:   Keynote - Introducing OpenCms 10.5
OpenCms Days 2016: Keynote - Introducing OpenCms 10.5
 
OpenCms Days 2015 OpenCms X marks the spot
OpenCms Days 2015 OpenCms X marks the spotOpenCms Days 2015 OpenCms X marks the spot
OpenCms Days 2015 OpenCms X marks the spot
 
OpenCms Days 2015 Next generation repository
OpenCms Days 2015  Next generation repositoryOpenCms Days 2015  Next generation repository
OpenCms Days 2015 Next generation repository
 
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
 
OpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explainedOpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explained
 
OpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and JenkinsOpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and Jenkins
 
OpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersOpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containers
 
OpenCms Days 2015 Hidden features of OpenCms
OpenCms Days 2015 Hidden features of OpenCmsOpenCms Days 2015 Hidden features of OpenCms
OpenCms Days 2015 Hidden features of OpenCms
 
OpenCms Days 2015 Advanced Solr Searching
OpenCms Days 2015 Advanced Solr SearchingOpenCms Days 2015 Advanced Solr Searching
OpenCms Days 2015 Advanced Solr Searching
 
OpenCms Days 2015 OpenGovernment
OpenCms Days 2015 OpenGovernmentOpenCms Days 2015 OpenGovernment
OpenCms Days 2015 OpenGovernment
 
OpenCms Days 2015 OpenCms at erarta
OpenCms Days 2015 OpenCms at erarta OpenCms Days 2015 OpenCms at erarta
OpenCms Days 2015 OpenCms at erarta
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
 
OpenCms Days 2015 Arkema, a leading chemicals company
OpenCms Days 2015 Arkema, a leading chemicals companyOpenCms Days 2015 Arkema, a leading chemicals company
OpenCms Days 2015 Arkema, a leading chemicals company
 
OpenCms Days 2014 - How Techem handles international customer portals
OpenCms Days 2014 - How Techem handles international customer portalsOpenCms Days 2014 - How Techem handles international customer portals
OpenCms Days 2014 - How Techem handles international customer portals
 
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntOpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

OpenCms Days 2014 - OpenCms 9 - A video tube?

  • 1.
  • 2. OpenCms: A video tube? Fabian Huschka componio GmbH componio@componio.net http://www.componio.net
  • 7. Video what? Stockholms tunnelbana? What happened to “video tube”?
  • 9. Video what? Hej, I am a video clip
  • 10. Video what? I am loving to ride it. But mind the gap! Hej, I am a video clip
  • 11. Video what? Me too! Love the funny conversations every morning! I am loving it. But mind the gap! Hej, I am a video clip
  • 15. Video what? Name: OpenCms Operated: Alkacon GmbH Name: SkinnDriva Operated: componio GmbH
  • 16. Video what? Name: OpenCms Operated: Alkacon GmbH Name: SkinnDriva Operated: componio GmbH
  • 17. Video what? Name: OpenCms Operated: Alkacon GmbH Name: SkinnDriva Operated: componio GmbH Intersection
  • 18. Translate Does this lead anywhere?
  • 19. Video what? Sure, it even computes • Line = Video channel • Train = Video • Train Passengers = Subscribers • Conversations = Video likes, comments, ... • Intersections = Cross post/Content sharing
  • 20. Video what? OpenCms: Top down approach • Store video data in the VFS of OpenCms • Use HTML5 video tag to render videos • OpenCms CRE to handle subscriptions • Use rating, comment and social equity container element (CEL) to enrich UX
  • 22. OpenCms and videos A typical video
  • 23. OpenCms and videos A typical video • Monkaa is a blue furred, pink faced monkey who consumes a crystallized meteorite, making Monkaa invincibly strong and too hot to handle. Exploring his superpower Monkaa zooms into an unexplored universe. • Size: ~152 MB • Download: https://cloud.blender.org/open-movie/monkaa/
  • 24. OpenCms and videos Heap anyone? 1200 1000 800 600 400 200 0 Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish Actions Max Heap MB
  • 25. OpenCms and videos Heap anyone? Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 1200 1000 800 600 400 200 0 -200 Actions Upload Delta DB RAM Max Heap MB
  • 26. OpenCms and videos Heap anyone? Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 1200 1000 800 600 400 200 0 -200 Actions Upload Delta DB RAM Max Heap MB
  • 27. OpenCms and videos Heap anyone? Initial Installation Upload Publish Restart Publish Copy Publish Overwrite Publish 1200 1000 800 600 400 200 0 -200 Actions Upload Delta DB RAM Max Heap MB java.lang.OutOfMemoryError: Java heap space
  • 28. OpenCms and videos Solution • Store videos externally – e.g. RFS, we have chosen ownCloud • Introduce a proxy element in OpenCms – simple structured content CEL • Integrate external storage with special driver – e.g. metamesh's RFS driver
  • 29. HTML5 and video codecs 03
  • 30. Better: HTML5 video codec quirks 03
  • 31. HTML5 and video codecs From the w3c wiki • The HTML5 specification does not require a video codec to be supported by all user agents. Thus, one need to provide alternate sources to ensure proper user experience in the existing user agents. Using Ogg/Theora/Vorbis and MP4/H.264/AAC seems to cover most of the cases out there (if not all). However, Ogg/Theora/Vorbis is being replaced in favor of WebM nowadays.
  • 32. HTML5 and video codecs Solution • Use a versatile and standard conform video player – JWPlayer in our case – Ensures proper HTML code generation – Hides complexity while offering editor freedom (e.g. aspect ratio, volume, controls) • Encode videos with FLV, H.264 and VP8 • Make a wish that the video war is soon over – the browser war has been bloody enough
  • 34. Channels / Subscriptions CRE FTW! • OpenCms subscription API (from 8.5.x) • Associate individual CMS resources with OpenCms users • Two major use cases: – Personalization ● Users can subscribe their favourite content ● Subscription status can be shown wherever appropriate – Notifications ● Notify users of fresh/updated content
  • 35. Channels / Subscriptions Channels • OpenCms categories allow for arbitrary taxonomies • A set of categories defines a channel • Subscription engine allows to subscribe and unsubscribe resources • CRE allows to find resources for specific categories
  • 36. Channels / Subscriptions Solution • Dedicated CEL to list available channels • Video (proxy element) gets associated with a channel via categories – Can be easily a member of many channels – Harmonizes with Subscription API (resources need to be served by the VFS vs. RFS) • Channel subscriptions are stored as “Additional User Information”
  • 37. Channels / Subscriptions Solution • Enhanced subscription engine to speed up channel look-up – OBS: The subscription API does not offer an efficient way to accomplish this – OBS: Need to extra check if resources are deleted or expired – makes heavy use of SOLR – Custom SQL queries an POJOs to speed up lookup of user channel subscriptions
  • 38. Putting it all together 05
  • 39. Putting it all together Channel overview
  • 40. Putting it all together Channel Content
  • 41. In a nutshell OpenCms + extra Spice = a video tube with potential
  • 42. References Appendix • Photo copyright – Empty Subway Tunnel, © alex_black – Fotolia.com – Train leaving Radhuset metro station in Stockholm, © Leonid Andronov - Fotolia.com • Theme engine – SkinnDriva, http://www.skinndriva.com • Video player – JWPlayer, http://www.jwplayer.com/