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

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 

Recently uploaded (20)

Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 

Featured

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 HubspotMarius Sescu
 
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 ChatGPTExpeed Software
 
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 EngineeringsPixeldarts
 
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 HealthThinkNow
 
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.pdfmarketingartwork
 
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 2024Neil Kimberley
 
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)contently
 
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 2024Albert Qian
 
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 InsightsKurio // The Social Media Age(ncy)
 
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 2024Search Engine Journal
 
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 summarySpeakerHub
 
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 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 Tessa Mero
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
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 managementMindGenius
 
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...RachelPearson36
 

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 )