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

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Recently uploaded (20)

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

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 )