SlideShare a Scribd company logo
1 of 30
Download to read offline
vrijdag 30 oktober 2009(w )
Rapucation
                                Fred van Dijk
                                Zest Software




vrijdag 30 oktober 2009(w )
Subjects

                              • LinguaPlone Rocks
                              • Video in Plone
                              • contentrules

vrijdag 30 oktober 2009(w )
Story

                  •       A music teacher in a secondary school

                  •       Teenagers:

                       •      Classical music, old instruments, notation…. Booh

                       •      Music video’s, rap songs….   Yeahhh!



vrijdag 30 oktober 2009(w )
Rapucation


                  •             Rap songs
                  •             Education


vrijdag 30 oktober 2009(w )
Teenagers...

                  •       Young people have specific ideas about the World.

                  •       Use these ideas in a creative way by making a video.

                  •       Educational

                  •       Put it on the web: share your ideas

                  •       Others can be influenced creatively and make new versions


vrijdag 30 oktober 2009(w )
Rapucation
                                                              Group 2
                                                          Lyrics German
                                                          Audio German
                                 Group 1                   transl. Italian
                                  Video
                               Lyrics Dutch
                               Audio Dutch
                              English transl.

                                                                               Group 3
                                                                             Lyrics French
                                                                             Audio French


                                                    Group 4
                                                 Lyrics spanish




vrijdag 30 oktober 2009(w )
Rapucation
                  •       A group of secondary school students create a rap song

                              •   Lyrics

                              •   Video

                              •   Audio

                              •   Translation in a foreign language

                              •   How/Who/What/Why/Where/When info

vrijdag 30 oktober 2009(w )
1

vrijdag 30 oktober 2009(w )
LinguaPlone - Song CT
                                                       Song Watsgeburt
                                                       Dutch, canonical
                                                  Title
                                                  Description
                                                  Lyrics
                                                  Translation
                                                  Instrumental video
                                                  Full video




                                     Song Wirst Erblick                     Song .....
                                          German                             French
                                 Title                              Title
                                 Description                        Description
                                 Lyrics                             Lyrics
                                 Translation                        Translation
                                 Instrumental video                 Instrumental video
                                 Full video                         Full video




vrijdag 30 oktober 2009(w )
LinguaPlone

                  • Shows only content in the same language or neutral
                  • Filters content from other languages
                  • But you want both: translate the site layout and show
                          songs in different languages



vrijdag 30 oktober 2009(w )
LinguaPlone
               from Products.LinguaPlone.browser.language import Renderer
               from Products.LinguaPlone.interfaces import ITranslatable

                          lp_renderer = Renderer(self.context, self.request, None, None, None)
                          results = []

                          for item in lp_renderer.items():
                             if item['translated']:
                                 obj = self.context.getTranslation(item['code'])
                                 wf_state = self.wf_tool.getInfoFor(aq_inner(obj), 'review_state', None)
                                 if wf_state == 'published':
                                     results.append(item)

                          return results



vrijdag 30 oktober 2009(w )
Song Details




vrijdag 30 oktober 2009(w )
Homepage: All Songs (English)

                  •       Search English songs

                       •      Lookup translations per song

                  •       Search still unused songs

                       •      show unusd translations



vrijdag 30 oktober 2009(w )
portal_catalog

                          query = dict(object_provides = [ISong.__identifier__,],
                                      review_state = 'published',
                                      sort_order = 'Date',
                                      Language = 'all',)

                          query_main = dict(object_provides = [ISong.__identifier__,],
                                     review_state = 'published',
                                     sort_order = 'Date',
                                     Language=self.current_language)




vrijdag 30 oktober 2009(w )
All songs (Dutch)


                  •       Switch language: Dutch

                          Dutch songs first, on top




vrijdag 30 oktober 2009(w )
vrijdag 30 oktober 2009(w )
vrijdag 30 oktober 2009(w )
vrijdag 30 oktober 2009(w )
2

vrijdag 30 oktober 2009(w )
Video in the Rapucation Site

                  • Don’t serve it from Plone
                  • It is stored in Plone (on the filesystem)
                  • Students can upload high res versions in any format
                          for the instrumental and full sung version


vrijdag 30 oktober 2009(w )
Use a Streaming Provider
                  • Asynchronous conversion
                  • We have a separate python script using ffmpeg
                  • Pull a video to convert fromt he Plone site /@@videoconvert
                    thats-my-word,en,http://localhost:8080/rapucation/songs/thats-my-word,videoclip




vrijdag 30 oktober 2009(w )
Use a Streaming Provider
                  •       Convert it to one default format and size

                  •       Upload it to ftp.streamingprovider.com

                  •       Update the song on the plone site with the correct video http-url

                                 params = urllib.urlencode( {"status": status,
                                                         "mtype" : movie_type,
                                                         "file" : filename
                                                         })
                                 set_url = auth_song_url + "/@@set_conversion_status?" + params
                                 set_result = urllib.urlopen(set_url).read()

vrijdag 30 oktober 2009(w )
3

vrijdag 30 oktober 2009(w )
notification

                  •       Students submit a song, but a moderator has to review

                              teenagers, eductional, no swearing

                  •       Reviewer (teacher) has a local role to review a few songs

                  •       How to notify the Reviewer by mail?

                  •       workflow script -> hardwired to a workflow


vrijdag 30 oktober 2009(w )
vrijdag 30 oktober 2009(w )
vrijdag 30 oktober 2009(w )
contentrules
                  •       contentrules are great

                  •       two components Filters and Actions

                  •       check plone.app.contentrules for the basic examples

                  •       Add small blocks of functionality

                  •       one .py and a tests file is all there is to it

                  •       reuse

vrijdag 30 oktober 2009(w )
www.rapucation.eu

                              •   simple first version: one CT, video conversion views, contentrule

                              •   Been online for a year, next development cycle on account creation and
                                  management, it’s been proven now to work.

                              •   Plone in eduction = cool !




vrijdag 30 oktober 2009(w )
Thanks!




vrijdag 30 oktober 2009(w )

More Related Content

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Recently uploaded (20)

How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Rapucation Project

  • 2. Rapucation Fred van Dijk Zest Software vrijdag 30 oktober 2009(w )
  • 3. Subjects • LinguaPlone Rocks • Video in Plone • contentrules vrijdag 30 oktober 2009(w )
  • 4. Story • A music teacher in a secondary school • Teenagers: • Classical music, old instruments, notation…. Booh • Music video’s, rap songs…. Yeahhh! vrijdag 30 oktober 2009(w )
  • 5. Rapucation • Rap songs • Education vrijdag 30 oktober 2009(w )
  • 6. Teenagers... • Young people have specific ideas about the World. • Use these ideas in a creative way by making a video. • Educational • Put it on the web: share your ideas • Others can be influenced creatively and make new versions vrijdag 30 oktober 2009(w )
  • 7. Rapucation Group 2 Lyrics German Audio German Group 1 transl. Italian Video Lyrics Dutch Audio Dutch English transl. Group 3 Lyrics French Audio French Group 4 Lyrics spanish vrijdag 30 oktober 2009(w )
  • 8. Rapucation • A group of secondary school students create a rap song • Lyrics • Video • Audio • Translation in a foreign language • How/Who/What/Why/Where/When info vrijdag 30 oktober 2009(w )
  • 10. LinguaPlone - Song CT Song Watsgeburt Dutch, canonical Title Description Lyrics Translation Instrumental video Full video Song Wirst Erblick Song ..... German French Title Title Description Description Lyrics Lyrics Translation Translation Instrumental video Instrumental video Full video Full video vrijdag 30 oktober 2009(w )
  • 11. LinguaPlone • Shows only content in the same language or neutral • Filters content from other languages • But you want both: translate the site layout and show songs in different languages vrijdag 30 oktober 2009(w )
  • 12. LinguaPlone from Products.LinguaPlone.browser.language import Renderer from Products.LinguaPlone.interfaces import ITranslatable lp_renderer = Renderer(self.context, self.request, None, None, None) results = [] for item in lp_renderer.items(): if item['translated']: obj = self.context.getTranslation(item['code']) wf_state = self.wf_tool.getInfoFor(aq_inner(obj), 'review_state', None) if wf_state == 'published': results.append(item) return results vrijdag 30 oktober 2009(w )
  • 13. Song Details vrijdag 30 oktober 2009(w )
  • 14. Homepage: All Songs (English) • Search English songs • Lookup translations per song • Search still unused songs • show unusd translations vrijdag 30 oktober 2009(w )
  • 15. portal_catalog query = dict(object_provides = [ISong.__identifier__,], review_state = 'published', sort_order = 'Date', Language = 'all',) query_main = dict(object_provides = [ISong.__identifier__,], review_state = 'published', sort_order = 'Date', Language=self.current_language) vrijdag 30 oktober 2009(w )
  • 16. All songs (Dutch) • Switch language: Dutch Dutch songs first, on top vrijdag 30 oktober 2009(w )
  • 17. vrijdag 30 oktober 2009(w )
  • 18. vrijdag 30 oktober 2009(w )
  • 19. vrijdag 30 oktober 2009(w )
  • 21. Video in the Rapucation Site • Don’t serve it from Plone • It is stored in Plone (on the filesystem) • Students can upload high res versions in any format for the instrumental and full sung version vrijdag 30 oktober 2009(w )
  • 22. Use a Streaming Provider • Asynchronous conversion • We have a separate python script using ffmpeg • Pull a video to convert fromt he Plone site /@@videoconvert thats-my-word,en,http://localhost:8080/rapucation/songs/thats-my-word,videoclip vrijdag 30 oktober 2009(w )
  • 23. Use a Streaming Provider • Convert it to one default format and size • Upload it to ftp.streamingprovider.com • Update the song on the plone site with the correct video http-url params = urllib.urlencode( {"status": status, "mtype" : movie_type, "file" : filename }) set_url = auth_song_url + "/@@set_conversion_status?" + params set_result = urllib.urlopen(set_url).read() vrijdag 30 oktober 2009(w )
  • 25. notification • Students submit a song, but a moderator has to review teenagers, eductional, no swearing • Reviewer (teacher) has a local role to review a few songs • How to notify the Reviewer by mail? • workflow script -> hardwired to a workflow vrijdag 30 oktober 2009(w )
  • 26. vrijdag 30 oktober 2009(w )
  • 27. vrijdag 30 oktober 2009(w )
  • 28. contentrules • contentrules are great • two components Filters and Actions • check plone.app.contentrules for the basic examples • Add small blocks of functionality • one .py and a tests file is all there is to it • reuse vrijdag 30 oktober 2009(w )
  • 29. www.rapucation.eu • simple first version: one CT, video conversion views, contentrule • Been online for a year, next development cycle on account creation and management, it’s been proven now to work. • Plone in eduction = cool ! vrijdag 30 oktober 2009(w )