SlideShare a Scribd company logo
1 of 37
Building a Next Generation Video Sharing Hiding
Platform Using Plone 6
Case Researchvideo 2.0
17.11.2023
JYU SINCE 1863. 1
Rikupekka Oksanen
Digital Services
University of Jyväskylä JYU SINCE 1863.
Summary
 University of Jyväskylä, Finland
 Building a secure video
streaming platform on Plone 6
 Live demo
17.11.2023
JYU SINCE 1863. 2
Rikupekka Oksanen,
Plone stuff since 2004
 My background is in IT, web development,
communications, and pedagogy. My work has
consisted of lots of customer collaboration,
support, training, and a fair share of CSS
tricks.
17.11.2023
JYU SINCE 1863. 3
University of Jyväskylä
and video streaming
 University of Jyväskylä has over 20 year of
experience on running our own video streaming
platfom, Moniviestin. We have over 60 000 videos
(combining watching material for 3 years).
 Moniviestin has an integral role in study and
communication. It’s based on open-source
solutions and has no licence costs for us. Remote
work and remote learning is everyday business for
us.
 But there has been demand for storing and using
sensitive video material and utilising new
technologies like AI, mobile devices and digital
workflows. How can we make that happen cost-
effectively for the next 20+ years?
17.11.2023
JYU SINCE 1863. 4
We need to renew our video capability at
University of Jyväskylä
1. Current video streaming platform
Moniviestin
has to be renewed during 2024 or acquire
something to replace it. Python 2 detected.
- Critical service for studies and communication,
35 000 users per month, 66 000+ videos
2. Research data needs and possibilities
- Need to store sensitive video and audio
- video processing and analysis
3. Renewing video capability would allow new
innovations
- Organizing hybrid events, utilizing AI,
integrating with digital workflow management
17.11.2023
JYU SINCE 1863. 5
Finding a new solution in
2022
 After giving it a thought and some research, we
realised that commercial solutions don’t
provide us the answer that would suit our
needs and our visions for different video use
cases -> expensive licenses, future possibilities
unclear
 Now we are creating a new platform for
video, utilising our knowledge about digital
workflows, running our own servers and
building complex websites and mobile services.
17.11.2023
JYU SINCE 1863. 6
17.11.2023
JYU SINCE 1863. 7
Dev team
17.11.2023
JYU SINCE 1863. 8
 Team of 8 -> 7 have been working on this at some point
 Lots of experience
 DevOps
 System architects
 UX design
 Plone development
Video Content for Plone – easy?
17.11.2023
JYU SINCE 1863. 9
• PS. Also check Michael
McFadden in Plone
Conference 2023 with
Video Content for Plone
https://www.youtube.com/w
atch?v=0LV5Lj12HkI
First: Technical PoC, vertical
slice
 Proof of Concept first
– Vertical slice to prove the tech stach works
 Integrating a lot of technologies that we already
use
– Plone, Nomad, Camunda, Wowza
 Integrating some new parts
– Keycloak, S3, Min.io
 After PoC, it was decided that we can continue
to first production service
 Build Researchvideo 2.0 during 2023
17.11.2023
JYU SINCE 1863. 10
17.11.2023
JYU SINCE 1863. 11
Backend (media, servers)
API’s (processing, Plone 6)
Study/Co
mmunicati
on
(Renew
current
Moniviesti
n, Plone
6)
Researc
hvideo
2.0
(Plone 6)
Hybrid
events
(New
service,
Plone 6)
Vasara
(Research
for JYU
Mobile)
Moodle-
API, LTI
(Plone 6)
uMove
case
New
service
XYX
New UI
POC 2022
Case 1,
2023
Software stack for the new architecture
 Plone 6
– Frontend, content management
– Authorization
 Keycloak
– Authentication, users, groups
 Min.io, Amazon S3
– Media storage, local servers
 Camunda
– Encoding and captioning workflows
 Nomad
– Encoding jobs with FFMpeg
 Wowza Streaming Engine
– HTTP Live Streaming (or Dash)
 WhisperX
– Automatic Speech Recognition with Word-level Timestamps (& Diarization)
 VideoJS player
 GPU encoding and text processing for speed
Keywords: Open source, licence
free
Encoding Process in Camunda, BPMN
17.11.2023
JYU SINCE 1863. 14
• Ability to see where a user is in the process
• Process transaction history
• Retries
• Visualize problem areas in the process
• When planning, easier to discuss the process details with
visual presentation
Keycloak
17.11.2023
JYU SINCE 1863. 15
 Authentication, users, groups
 Integration to multiple login
services (HAKA, Azure AD, IDM,
Google etc.) using Keycloak
Sharing permissions in Plone 6
17.11.2023
JYU SINCE 1863. 16
API driven solution
 Video platform should be available from any context with simple integration APIs
 People shouldn’t need to use the video portal directly
– Upload video from Moodle (Learning Management System) via LTI (Learning Tools
– Upload bunch of videos from command-line
 What if embedded video is actually an upload widget what shows the video that was
previously uploaded?
 Lecture Recording Systems
– Upload automatically after lecture has ended
– Fill in course metadata automatically from Course Management System to video
Why is Plone 6 a good fit for a
video platform?
 Volto frontend
– No page reloads. Video players really don’t like when
the page reloads!
– Can really fulfil the original Moniviestin vision of
multimedia publishing
– Video Upload Block possibility
 Plone REST API
– All content management functionality available via API
 Hierarchical permission model is good for a university
(faculty, department, organisational unit, detailed
permissions)
 ”Plone has a single feature: It can do anything!”
17.11.2023 JYU SINCE 1863.
19
JYU SINCE 1863.
Plone 6 as part of video capability
– Jussi Talaskivi
• For more technically oriented look in
to the technology stack and reasons
behind it, check out Jussi
Talaskivi’s presentation from the
Plone Conference 2022
• https://2022.ploneconf.org/schedule/t
alks/plone-as-part-of-video-capability
Research video situation and
requirements
 Already existing services, e.g.
– https://researchvideo.jyu.fi (Plone 4.3) and
– Next Cloud –https://nextcloud.jyu.fi/
– Good security, local servers
– Upload, view and share video to certain people
 But that is not enough. There are more requirements
– Really sensitive video and audio
– Sharing material to other users (from other
– Video transcription and diarisation
– Modern user experience
– Utilising AI possibilities
– Using AtlasTI for analysis
17.11.2023
JYU SINCE 1863. 21
Building process
 Requirements:
– We know what a good video platform needs
– Research needs also listed – power users participating
 UX/visual design using Figma tool
 Test site on day 1. Even if it does nothing yet
 Core technical things first
– Camunda process for encoding
– Using S3 buckets for files
– Upload and encoding UI
– New video player
 Lots of learning on the new components
 Fine tuning the theme and rough edges comes last
 Internal testing
 No definite deadline = good+bad
17.11.2023
JYU SINCE 1863. 22
17.11.2023
JYU SINCE 1863. 23
Live demo
Disclaimer
17.11.2023
JYU SINCE 1863. 24
Topics
1. Frontpage (unauthorized)
2. Login
3. Frontpage (as a researcher)
4. Own project
5. Upload media
6. Trim, subtitles
7. Encoding
8. Media page view
9. Editing media page
10.Editing subtitles
11.Editing video player options
17.11.2023
JYU SINCE 1863. 25
1. Frontpage (as admin)
2. Editing main pages
3. Sharing permissions
4. Bonus: Building a faceted search
view with Volto blocks
Easy upload
The new Researchvideo 2.0 allows easy uploads
• New upload process with quick access
• Additionally, you can navigate to project structure
and add videos from there
• Upload process is streamlined and makes adding
metadata worthwhile
• Video trimming and automatic subtitle options
available
17.11.2023
JYU SINCE 1863. 26
New video player
The new VideoJS player with:
• Playback speed selection
• Audio only mode
• Autoplay setting
• Show/hide controls
• Loop setting
• Live playback
• Editable watermark
• Editable subtitles
17.11.2023
JYU SINCE 1863. 27
Security and sensitivity
Security is a key factor here:
• Granular role and permission management
• User permissions have time limits
• New object storage on local secure servers
using Amazon S3
• All transactions are logged with high detail
• Login integration with Keycloak
• Orchestration with Nomad
17.11.2023
JYU SINCE 1863. 28
Modern content editing
Researchvideo 2.0 uses Plone 6 for content
management
• Next generation easy to use editing
experience that is super-fast
• Modern interface with WYSIWYG (What You
See Is What You Get) -functionality built on
React
• Clear hierarchical page structure
• Secure enterprise-level content management
system
17.11.2023
JYU SINCE 1863. 29
Multimedia pages
Not just videos
• Content can be videos, audio, images, files, text
and dynamic features like HTML embeds,
maps, listings and search functionalities and
more.
• Plone 6 enables editors to enhance every page
with flexible components called blocks.
• Editors can build visually impressive pages
with multiple columns and distinctive layouts
17.11.2023
JYU SINCE 1863. 30
Responsive & accessible
Built with two must have features in mind
• Accessibility. By making the site accessible as
required in the law, the site becomes more usable to
every user in various situations
• Mobile responsiveness. Users can watch and even
edit content with their phones and tablets.
17.11.2023
JYU SINCE 1863. 31
Subtitles and
diarisation
17.11.2023
JYU SINCE 1863. 32
 Video and audio can be subtitled
with speaker diarization
 Huge time saver for researchers
 Using Whisper X large language
model from local servers
Feedback from the test
users so far
 “Clear, clean interface”
 “Easy, simple”
 “WYSIWYG editing of the media page almost
in real time”
 “Seems simple, but there is possibility to add
more features to the page”
 “Adding new blocks to the page could be more
clear?”
 “Clear instructions”
 “Granting user and group permissions seems
clear”
17.11.2023
JYU SINCE 1863. 33
AI possibilities
 Transcription - OK
 Translations?
 Automatic metadata extraction?
 Face blurring for more sensitivity?
 Pose detection?
 Object classification?
 Something else?
17.11.2023
JYU SINCE 1863. 34
Security
 Core idea of not moving video files
from server to local machines
 Local servers, S3 buckets
 Keycloak, time limits on permissions
 Plone 6, good UX
 External security audit in October
2023
17.11.2023
JYU SINCE 1863. 35
Challenges
 Timetable
 Priorisation and resources
 Technical complexity
 Lots of own work
 Needs experienced developers
 How to make this a service
17.11.2023
JYU SINCE 1863. 36
What next?
 Production release of Researchvideo 2.0
in December 2023
 Next year:
– More AI features to Researchvideo?
– Renewing Moniviestin video service –
massive migration or a fresh start?
– Building a hybrid event platform on this
tech stack?
– What could we share?
17.11.2023
JYU SINCE 1863. 37
Summary
 Complex problem, complex solution +
lots of work for an easy user experience
 Looking for long life span
 Open source public sector
 Software is not enough, you will need a
service
 This is one way to do it
 Excited about the possibilities
17.11.2023
JYU SINCE 1863. 38
Thank you!
17.11.2023
JYU SINCE 1863. 39
 Any questions?
 Rikupekka Oksanen
University of Jyväskylä

More Related Content

Similar to Building a next generation video sharing platform with Plone 6

Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfSakshiThorat29
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2WSO2
 
Cloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVCloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVIRJET Journal
 
Unlocking the Future-React Native OTT App Development.pdf
Unlocking the Future-React Native OTT App Development.pdfUnlocking the Future-React Native OTT App Development.pdf
Unlocking the Future-React Native OTT App Development.pdfTechugo Canada
 
Flash-based audio and video communication
Flash-based audio and video communicationFlash-based audio and video communication
Flash-based audio and video communicationKundan Singh
 
Video production in the cloud for live streaming
Video production in the cloud for live streamingVideo production in the cloud for live streaming
Video production in the cloud for live streamingPaul Richards
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionObeo
 
Using APIs
Using APIsUsing APIs
Using APIsAkana
 
Webinar: Open Source on the Modern Mainframe
Webinar: Open Source on the Modern MainframeWebinar: Open Source on the Modern Mainframe
Webinar: Open Source on the Modern MainframeOpen Mainframe Project
 
Use of Automation Codecs Streaming Video Applications Based on Cloud Computing
Use of Automation Codecs Streaming Video Applications Based on Cloud ComputingUse of Automation Codecs Streaming Video Applications Based on Cloud Computing
Use of Automation Codecs Streaming Video Applications Based on Cloud ComputingTELKOMNIKA JOURNAL
 
Infinite Toolkit: an overview
Infinite Toolkit: an overviewInfinite Toolkit: an overview
Infinite Toolkit: an overviewCisco DevNet
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformFrancesco Iervolino
 
Streaming Video in the Fortune 500
Streaming Video in the Fortune 500 Streaming Video in the Fortune 500
Streaming Video in the Fortune 500 MediaPlatform
 
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Gina Montgomery, V-TSP
 
Smart India Hackathon Idea Submission
Smart India Hackathon Idea SubmissionSmart India Hackathon Idea Submission
Smart India Hackathon Idea SubmissionGaurav Ganna
 
What's New In InduSoft Web Studio 8.1 + SP4
What's New In InduSoft Web Studio 8.1 + SP4What's New In InduSoft Web Studio 8.1 + SP4
What's New In InduSoft Web Studio 8.1 + SP4AVEVA
 
xbim Flex: taking the xbim toolkit into the cloud
xbim Flex: taking the xbim toolkit into the cloudxbim Flex: taking the xbim toolkit into the cloud
xbim Flex: taking the xbim toolkit into the cloudAndy Ward
 

Similar to Building a next generation video sharing platform with Plone 6 (20)

Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdf
 
WebRTC for Mobile
WebRTC for MobileWebRTC for Mobile
WebRTC for Mobile
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
 
Cloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TVCloudmov: Cloud-Based Mobile Social TV
Cloudmov: Cloud-Based Mobile Social TV
 
Unlocking the Future-React Native OTT App Development.pdf
Unlocking the Future-React Native OTT App Development.pdfUnlocking the Future-React Native OTT App Development.pdf
Unlocking the Future-React Native OTT App Development.pdf
 
Flash-based audio and video communication
Flash-based audio and video communicationFlash-based audio and video communication
Flash-based audio and video communication
 
Video production in the cloud for live streaming
Video production in the cloud for live streamingVideo production in the cloud for live streaming
Video production in the cloud for live streaming
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
Using APIs
Using APIsUsing APIs
Using APIs
 
Webinar: Open Source on the Modern Mainframe
Webinar: Open Source on the Modern MainframeWebinar: Open Source on the Modern Mainframe
Webinar: Open Source on the Modern Mainframe
 
Use of Automation Codecs Streaming Video Applications Based on Cloud Computing
Use of Automation Codecs Streaming Video Applications Based on Cloud ComputingUse of Automation Codecs Streaming Video Applications Based on Cloud Computing
Use of Automation Codecs Streaming Video Applications Based on Cloud Computing
 
Presentation
PresentationPresentation
Presentation
 
Infinite Toolkit: an overview
Infinite Toolkit: an overviewInfinite Toolkit: an overview
Infinite Toolkit: an overview
 
DevOps and Splunk
DevOps and SplunkDevOps and Splunk
DevOps and Splunk
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform
 
Streaming Video in the Fortune 500
Streaming Video in the Fortune 500 Streaming Video in the Fortune 500
Streaming Video in the Fortune 500
 
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
 
Smart India Hackathon Idea Submission
Smart India Hackathon Idea SubmissionSmart India Hackathon Idea Submission
Smart India Hackathon Idea Submission
 
What's New In InduSoft Web Studio 8.1 + SP4
What's New In InduSoft Web Studio 8.1 + SP4What's New In InduSoft Web Studio 8.1 + SP4
What's New In InduSoft Web Studio 8.1 + SP4
 
xbim Flex: taking the xbim toolkit into the cloud
xbim Flex: taking the xbim toolkit into the cloudxbim Flex: taking the xbim toolkit into the cloud
xbim Flex: taking the xbim toolkit into the cloud
 

More from Rikupekka Oksanen

The New plone.org Built on Plone 6
The New plone.org Built on Plone 6The New plone.org Built on Plone 6
The New plone.org Built on Plone 6Rikupekka Oksanen
 
Volto Unleashed - Real Life User Experience - Case Study Guide, University of...
Volto Unleashed - Real Life User Experience - Case Study Guide, University of...Volto Unleashed - Real Life User Experience - Case Study Guide, University of...
Volto Unleashed - Real Life User Experience - Case Study Guide, University of...Rikupekka Oksanen
 
By the Power of Plone - Case Carousel at University of Jyväskylä Revisited
By the Power of Plone - Case Carousel at University of Jyväskylä RevisitedBy the Power of Plone - Case Carousel at University of Jyväskylä Revisited
By the Power of Plone - Case Carousel at University of Jyväskylä RevisitedRikupekka Oksanen
 
Bend the knee and sprint repeatedly - training a university to become more agile
Bend the knee and sprint repeatedly - training a university to become more agileBend the knee and sprint repeatedly - training a university to become more agile
Bend the knee and sprint repeatedly - training a university to become more agileRikupekka Oksanen
 
Workflows and Plone
 - Case supervisiondoc
Workflows and Plone
 - Case supervisiondocWorkflows and Plone
 - Case supervisiondoc
Workflows and Plone
 - Case supervisiondocRikupekka Oksanen
 
Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017
Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017
Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017Rikupekka Oksanen
 
Organizing a Plone Sprint - Lessons Learned, Case Midsummersprint 2017
Organizing a Plone Sprint -  Lessons Learned, Case Midsummersprint 2017Organizing a Plone Sprint -  Lessons Learned, Case Midsummersprint 2017
Organizing a Plone Sprint - Lessons Learned, Case Midsummersprint 2017Rikupekka Oksanen
 
Beyond Infinity with Plone 5 - 
Are We There Yet?
Beyond Infinity with Plone 5 - 
Are We There Yet?Beyond Infinity with Plone 5 - 
Are We There Yet?
Beyond Infinity with Plone 5 - 
Are We There Yet?Rikupekka Oksanen
 
To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!Rikupekka Oksanen
 
By the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of JyväskyläBy the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of JyväskyläRikupekka Oksanen
 
Plone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of HappinessPlone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of HappinessRikupekka Oksanen
 
Sähköinen työpöytä ja Jyväskylän yliopisto 2013
Sähköinen työpöytä ja Jyväskylän yliopisto 2013Sähköinen työpöytä ja Jyväskylän yliopisto 2013
Sähköinen työpöytä ja Jyväskylän yliopisto 2013Rikupekka Oksanen
 
Sosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolleSosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolleRikupekka Oksanen
 

More from Rikupekka Oksanen (14)

The New plone.org Built on Plone 6
The New plone.org Built on Plone 6The New plone.org Built on Plone 6
The New plone.org Built on Plone 6
 
Volto Unleashed - Real Life User Experience - Case Study Guide, University of...
Volto Unleashed - Real Life User Experience - Case Study Guide, University of...Volto Unleashed - Real Life User Experience - Case Study Guide, University of...
Volto Unleashed - Real Life User Experience - Case Study Guide, University of...
 
By the Power of Plone - Case Carousel at University of Jyväskylä Revisited
By the Power of Plone - Case Carousel at University of Jyväskylä RevisitedBy the Power of Plone - Case Carousel at University of Jyväskylä Revisited
By the Power of Plone - Case Carousel at University of Jyväskylä Revisited
 
Bend the knee and sprint repeatedly - training a university to become more agile
Bend the knee and sprint repeatedly - training a university to become more agileBend the knee and sprint repeatedly - training a university to become more agile
Bend the knee and sprint repeatedly - training a university to become more agile
 
Workflows and Plone
 - Case supervisiondoc
Workflows and Plone
 - Case supervisiondocWorkflows and Plone
 - Case supervisiondoc
Workflows and Plone
 - Case supervisiondoc
 
Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017
Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017
Kansainvälistä ohjelmistokehitystä - Case Plone Midsummersprint 2017
 
Organizing a Plone Sprint - Lessons Learned, Case Midsummersprint 2017
Organizing a Plone Sprint -  Lessons Learned, Case Midsummersprint 2017Organizing a Plone Sprint -  Lessons Learned, Case Midsummersprint 2017
Organizing a Plone Sprint - Lessons Learned, Case Midsummersprint 2017
 
Beyond Infinity with Plone 5 - 
Are We There Yet?
Beyond Infinity with Plone 5 - 
Are We There Yet?Beyond Infinity with Plone 5 - 
Are We There Yet?
Beyond Infinity with Plone 5 - 
Are We There Yet?
 
To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!
 
By the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of JyväskyläBy the power of Plone - Case Carousel at University of Jyväskylä
By the power of Plone - Case Carousel at University of Jyväskylä
 
Plone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of HappinessPlone at University of Jyväskylä - 10 Years of Happiness
Plone at University of Jyväskylä - 10 Years of Happiness
 
Fountain project model
Fountain project modelFountain project model
Fountain project model
 
Sähköinen työpöytä ja Jyväskylän yliopisto 2013
Sähköinen työpöytä ja Jyväskylän yliopisto 2013Sähköinen työpöytä ja Jyväskylän yliopisto 2013
Sähköinen työpöytä ja Jyväskylän yliopisto 2013
 
Sosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolleSosiaalisen median haasteet tietohallinnolle
Sosiaalisen median haasteet tietohallinnolle
 

Recently uploaded

Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service PuneVIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service PuneCall girls in Ahmedabad High profile
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 

Recently uploaded (20)

Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service PuneVIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Madhuri 8617697112 Independent Escort Service Pune
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 

Building a next generation video sharing platform with Plone 6

  • 1. Building a Next Generation Video Sharing Hiding Platform Using Plone 6 Case Researchvideo 2.0 17.11.2023 JYU SINCE 1863. 1 Rikupekka Oksanen Digital Services University of Jyväskylä JYU SINCE 1863.
  • 2. Summary  University of Jyväskylä, Finland  Building a secure video streaming platform on Plone 6  Live demo 17.11.2023 JYU SINCE 1863. 2
  • 3. Rikupekka Oksanen, Plone stuff since 2004  My background is in IT, web development, communications, and pedagogy. My work has consisted of lots of customer collaboration, support, training, and a fair share of CSS tricks. 17.11.2023 JYU SINCE 1863. 3
  • 4. University of Jyväskylä and video streaming  University of Jyväskylä has over 20 year of experience on running our own video streaming platfom, Moniviestin. We have over 60 000 videos (combining watching material for 3 years).  Moniviestin has an integral role in study and communication. It’s based on open-source solutions and has no licence costs for us. Remote work and remote learning is everyday business for us.  But there has been demand for storing and using sensitive video material and utilising new technologies like AI, mobile devices and digital workflows. How can we make that happen cost- effectively for the next 20+ years? 17.11.2023 JYU SINCE 1863. 4
  • 5. We need to renew our video capability at University of Jyväskylä 1. Current video streaming platform Moniviestin has to be renewed during 2024 or acquire something to replace it. Python 2 detected. - Critical service for studies and communication, 35 000 users per month, 66 000+ videos 2. Research data needs and possibilities - Need to store sensitive video and audio - video processing and analysis 3. Renewing video capability would allow new innovations - Organizing hybrid events, utilizing AI, integrating with digital workflow management 17.11.2023 JYU SINCE 1863. 5
  • 6. Finding a new solution in 2022  After giving it a thought and some research, we realised that commercial solutions don’t provide us the answer that would suit our needs and our visions for different video use cases -> expensive licenses, future possibilities unclear  Now we are creating a new platform for video, utilising our knowledge about digital workflows, running our own servers and building complex websites and mobile services. 17.11.2023 JYU SINCE 1863. 6
  • 8. Dev team 17.11.2023 JYU SINCE 1863. 8  Team of 8 -> 7 have been working on this at some point  Lots of experience  DevOps  System architects  UX design  Plone development
  • 9. Video Content for Plone – easy? 17.11.2023 JYU SINCE 1863. 9 • PS. Also check Michael McFadden in Plone Conference 2023 with Video Content for Plone https://www.youtube.com/w atch?v=0LV5Lj12HkI
  • 10. First: Technical PoC, vertical slice  Proof of Concept first – Vertical slice to prove the tech stach works  Integrating a lot of technologies that we already use – Plone, Nomad, Camunda, Wowza  Integrating some new parts – Keycloak, S3, Min.io  After PoC, it was decided that we can continue to first production service  Build Researchvideo 2.0 during 2023 17.11.2023 JYU SINCE 1863. 10
  • 11. 17.11.2023 JYU SINCE 1863. 11 Backend (media, servers) API’s (processing, Plone 6) Study/Co mmunicati on (Renew current Moniviesti n, Plone 6) Researc hvideo 2.0 (Plone 6) Hybrid events (New service, Plone 6) Vasara (Research for JYU Mobile) Moodle- API, LTI (Plone 6) uMove case New service XYX New UI POC 2022 Case 1, 2023
  • 12. Software stack for the new architecture  Plone 6 – Frontend, content management – Authorization  Keycloak – Authentication, users, groups  Min.io, Amazon S3 – Media storage, local servers  Camunda – Encoding and captioning workflows  Nomad – Encoding jobs with FFMpeg  Wowza Streaming Engine – HTTP Live Streaming (or Dash)  WhisperX – Automatic Speech Recognition with Word-level Timestamps (& Diarization)  VideoJS player  GPU encoding and text processing for speed Keywords: Open source, licence free
  • 13. Encoding Process in Camunda, BPMN 17.11.2023 JYU SINCE 1863. 14 • Ability to see where a user is in the process • Process transaction history • Retries • Visualize problem areas in the process • When planning, easier to discuss the process details with visual presentation
  • 14. Keycloak 17.11.2023 JYU SINCE 1863. 15  Authentication, users, groups  Integration to multiple login services (HAKA, Azure AD, IDM, Google etc.) using Keycloak
  • 15. Sharing permissions in Plone 6 17.11.2023 JYU SINCE 1863. 16
  • 16. API driven solution  Video platform should be available from any context with simple integration APIs  People shouldn’t need to use the video portal directly – Upload video from Moodle (Learning Management System) via LTI (Learning Tools – Upload bunch of videos from command-line  What if embedded video is actually an upload widget what shows the video that was previously uploaded?  Lecture Recording Systems – Upload automatically after lecture has ended – Fill in course metadata automatically from Course Management System to video
  • 17. Why is Plone 6 a good fit for a video platform?  Volto frontend – No page reloads. Video players really don’t like when the page reloads! – Can really fulfil the original Moniviestin vision of multimedia publishing – Video Upload Block possibility  Plone REST API – All content management functionality available via API  Hierarchical permission model is good for a university (faculty, department, organisational unit, detailed permissions)  ”Plone has a single feature: It can do anything!” 17.11.2023 JYU SINCE 1863. 19
  • 18. JYU SINCE 1863. Plone 6 as part of video capability – Jussi Talaskivi • For more technically oriented look in to the technology stack and reasons behind it, check out Jussi Talaskivi’s presentation from the Plone Conference 2022 • https://2022.ploneconf.org/schedule/t alks/plone-as-part-of-video-capability
  • 19. Research video situation and requirements  Already existing services, e.g. – https://researchvideo.jyu.fi (Plone 4.3) and – Next Cloud –https://nextcloud.jyu.fi/ – Good security, local servers – Upload, view and share video to certain people  But that is not enough. There are more requirements – Really sensitive video and audio – Sharing material to other users (from other – Video transcription and diarisation – Modern user experience – Utilising AI possibilities – Using AtlasTI for analysis 17.11.2023 JYU SINCE 1863. 21
  • 20. Building process  Requirements: – We know what a good video platform needs – Research needs also listed – power users participating  UX/visual design using Figma tool  Test site on day 1. Even if it does nothing yet  Core technical things first – Camunda process for encoding – Using S3 buckets for files – Upload and encoding UI – New video player  Lots of learning on the new components  Fine tuning the theme and rough edges comes last  Internal testing  No definite deadline = good+bad 17.11.2023 JYU SINCE 1863. 22
  • 23. Topics 1. Frontpage (unauthorized) 2. Login 3. Frontpage (as a researcher) 4. Own project 5. Upload media 6. Trim, subtitles 7. Encoding 8. Media page view 9. Editing media page 10.Editing subtitles 11.Editing video player options 17.11.2023 JYU SINCE 1863. 25 1. Frontpage (as admin) 2. Editing main pages 3. Sharing permissions 4. Bonus: Building a faceted search view with Volto blocks
  • 24. Easy upload The new Researchvideo 2.0 allows easy uploads • New upload process with quick access • Additionally, you can navigate to project structure and add videos from there • Upload process is streamlined and makes adding metadata worthwhile • Video trimming and automatic subtitle options available 17.11.2023 JYU SINCE 1863. 26
  • 25. New video player The new VideoJS player with: • Playback speed selection • Audio only mode • Autoplay setting • Show/hide controls • Loop setting • Live playback • Editable watermark • Editable subtitles 17.11.2023 JYU SINCE 1863. 27
  • 26. Security and sensitivity Security is a key factor here: • Granular role and permission management • User permissions have time limits • New object storage on local secure servers using Amazon S3 • All transactions are logged with high detail • Login integration with Keycloak • Orchestration with Nomad 17.11.2023 JYU SINCE 1863. 28
  • 27. Modern content editing Researchvideo 2.0 uses Plone 6 for content management • Next generation easy to use editing experience that is super-fast • Modern interface with WYSIWYG (What You See Is What You Get) -functionality built on React • Clear hierarchical page structure • Secure enterprise-level content management system 17.11.2023 JYU SINCE 1863. 29
  • 28. Multimedia pages Not just videos • Content can be videos, audio, images, files, text and dynamic features like HTML embeds, maps, listings and search functionalities and more. • Plone 6 enables editors to enhance every page with flexible components called blocks. • Editors can build visually impressive pages with multiple columns and distinctive layouts 17.11.2023 JYU SINCE 1863. 30
  • 29. Responsive & accessible Built with two must have features in mind • Accessibility. By making the site accessible as required in the law, the site becomes more usable to every user in various situations • Mobile responsiveness. Users can watch and even edit content with their phones and tablets. 17.11.2023 JYU SINCE 1863. 31
  • 30. Subtitles and diarisation 17.11.2023 JYU SINCE 1863. 32  Video and audio can be subtitled with speaker diarization  Huge time saver for researchers  Using Whisper X large language model from local servers
  • 31. Feedback from the test users so far  “Clear, clean interface”  “Easy, simple”  “WYSIWYG editing of the media page almost in real time”  “Seems simple, but there is possibility to add more features to the page”  “Adding new blocks to the page could be more clear?”  “Clear instructions”  “Granting user and group permissions seems clear” 17.11.2023 JYU SINCE 1863. 33
  • 32. AI possibilities  Transcription - OK  Translations?  Automatic metadata extraction?  Face blurring for more sensitivity?  Pose detection?  Object classification?  Something else? 17.11.2023 JYU SINCE 1863. 34
  • 33. Security  Core idea of not moving video files from server to local machines  Local servers, S3 buckets  Keycloak, time limits on permissions  Plone 6, good UX  External security audit in October 2023 17.11.2023 JYU SINCE 1863. 35
  • 34. Challenges  Timetable  Priorisation and resources  Technical complexity  Lots of own work  Needs experienced developers  How to make this a service 17.11.2023 JYU SINCE 1863. 36
  • 35. What next?  Production release of Researchvideo 2.0 in December 2023  Next year: – More AI features to Researchvideo? – Renewing Moniviestin video service – massive migration or a fresh start? – Building a hybrid event platform on this tech stack? – What could we share? 17.11.2023 JYU SINCE 1863. 37
  • 36. Summary  Complex problem, complex solution + lots of work for an easy user experience  Looking for long life span  Open source public sector  Software is not enough, you will need a service  This is one way to do it  Excited about the possibilities 17.11.2023 JYU SINCE 1863. 38
  • 37. Thank you! 17.11.2023 JYU SINCE 1863. 39  Any questions?  Rikupekka Oksanen University of Jyväskylä

Editor's Notes

  1. Artifactory Podman