SlideShare a Scribd company logo
1 of 23
Download to read offline
Der Freitag: A Use Case

  How we built a
 newspaper website
     in Plone
About the speakers
●   Gil Forcada
●   Timo Stollenwerk
●   Kees Hink
About Der Freitag
●   It's a printed newspaper
●   issued weekly
●   on Thursday
●   15.000 copies across Germany
●   About 40 employees
●   Left-wing, liberal
Der Freitag Online
●   freitag.de
●   web-print integration
●   numbers?
    –   53k articles (31k editorial), 330 comments a day,
        14k members, 1041 authors, 15k visits daily, 11k
        unique visitors
●   Team: Christian Schneider + speakers
Agile Development
●   Scrum
●   Pivotal Tracker
Dexterity
Dexterity
Membership
●   Login/Registration: z3c.form
●   No membrane
●   Dexterity member folder
●   Sync between member profile and folder with
    event handlers
●   Behavior to adapt member properties
●   Registration should/could go into Plone core?
Front page
●   Folderish structure
●   “Link” objects that reference existing content
●   Custom views
●   Ability to override article title, description,
    image
●   Inline management buttons
●   Drag-and-drop to reorder content
Comments
●   plone.app.discussion
●   Complex custom workflow
●   Blaming / editing / deleting comments
●   3 community moderators
●   Most commented viewlet om front page
●   About 330 new comments each day
●   Allow/disallow discussion
    –   behavior => plone.app.dexterity
    –   dexterity support => plone.app.discussion 2.2x???
Development
●   Git
    –   git merge --no-ff
    –   git rebase -i
    –   git pull -r
●   Jenkins
Migration
●   Numbers
    –   30k articles
    –   25k blog entries
    –   20k members
    –   350k comments
●   Transmogrifier
●   MySQL rel DB => Plone
●   Daily non-incremental migration
●   Daily Jenkins job
●   much more work than anticipated, worked well though
Performance Tests
●   The Grinder
●   In Jenkins
●   Helped us identify performance issues (Diazo,
    catalog)
●   Warm-up script after instance restart
Release
●   Stacks of VMs
●   A script to release
Production servers overview
●   physical server
●   delivery vms
●   10 workers
●   1 ZEO server
●   1 monitoring vm (munin)
●   all errors sent as mails
Production server caveats
●   p.a.caching is wonderful
●   workers mem usage keeps growing always
●   really slow startup time
Servers
●   3 in-house and 4 production servers
●   everything in virtual machines
●   and everything controlled by fabric
●   ~150 fabric tasks
Notifications
●   Shown in browser (“notification area”)
●   Example: “you have a new comment”
●   Deleted on click
●   Created by event handler
●   Storage: annotation on Member object
●   Settings
Evaluation
●   Plone rocks!
●   What more could you want?
●   Since you ask:
    –   member profiles, notifications, limit memory
        usage, way to run long and intensive tasks,
        replication with ZODB,
●   Open Spaces

More Related Content

What's hot

You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!Cory Webb
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadaysYankee Nemoy
 
Export pdf with puppeteer
Export pdf with puppeteerExport pdf with puppeteer
Export pdf with puppeteerKnoldus Inc.
 
Continuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGContinuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGRaphaël Brugier
 
Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013Nick Anderson
 
Deploying Joomla sites with GIT
Deploying Joomla sites with GITDeploying Joomla sites with GIT
Deploying Joomla sites with GITAshwin Date
 
JavaScript Tools and Implementation
JavaScript Tools and ImplementationJavaScript Tools and Implementation
JavaScript Tools and ImplementationCharles Russell
 
Go with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress WorkflowGo with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress WorkflowAnn Cascarano
 

What's hot (9)

You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadays
 
Export pdf with puppeteer
Export pdf with puppeteerExport pdf with puppeteer
Export pdf with puppeteer
 
Continuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGContinuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUG
 
Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013
 
Deploying Joomla sites with GIT
Deploying Joomla sites with GITDeploying Joomla sites with GIT
Deploying Joomla sites with GIT
 
DevOps Cebu Presentation
DevOps Cebu PresentationDevOps Cebu Presentation
DevOps Cebu Presentation
 
JavaScript Tools and Implementation
JavaScript Tools and ImplementationJavaScript Tools and Implementation
JavaScript Tools and Implementation
 
Go with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress WorkflowGo with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress Workflow
 

Similar to Building a Newspaper Website with Plone

Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageRan Levy
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXLKris Buytaert
 
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017DevOpsDays Tel Aviv
 
Big data @ uber vu (1)
Big data @ uber vu (1)Big data @ uber vu (1)
Big data @ uber vu (1)Mihnea Giurgea
 
Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+Python Ireland
 
Utopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K usersUtopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K usersJaime Buelta
 
Plone at the University of Washington
Plone at the University of WashingtonPlone at the University of Washington
Plone at the University of Washingtonmwinkle1
 
WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...
WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...
WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...GeeksLab Odessa
 
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
Eko10 workshop - OPEN SOURCE DATABASE MONITORINGEko10 workshop - OPEN SOURCE DATABASE MONITORING
Eko10 workshop - OPEN SOURCE DATABASE MONITORINGPablo Garbossa
 
OSMC 2014 | Naemon 1, 2, 3, N by Andreas Ericsson
OSMC 2014 | Naemon 1, 2, 3, N by Andreas EricssonOSMC 2014 | Naemon 1, 2, 3, N by Andreas Ericsson
OSMC 2014 | Naemon 1, 2, 3, N by Andreas EricssonNETWAYS
 
Eko10 Workshop Opensource Database Auditing
Eko10  Workshop Opensource Database AuditingEko10  Workshop Opensource Database Auditing
Eko10 Workshop Opensource Database AuditingJuan Berner
 
Django on app engine
Django on app engineDjango on app engine
Django on app enginebenpotato
 
Activity feeds (and more) at mate1
Activity feeds (and more) at mate1Activity feeds (and more) at mate1
Activity feeds (and more) at mate1Hisham Mardam-Bey
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at FrosconKris Buytaert
 
More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdfWP Engine
 
Performance & dev tools
Performance & dev toolsPerformance & dev tools
Performance & dev toolsGuy Yogev
 

Similar to Building a Newspaper Website with Plone (20)

Scaling xtext
Scaling xtextScaling xtext
Scaling xtext
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritage
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXL
 
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
A culture of Automation - Joe Smith - DevOpsDays Tel Aviv 2017
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
 
Big data @ uber vu (1)
Big data @ uber vu (1)Big data @ uber vu (1)
Big data @ uber vu (1)
 
Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+
 
Utopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K usersUtopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K users
 
Plone at the University of Washington
Plone at the University of WashingtonPlone at the University of Washington
Plone at the University of Washington
 
WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...
WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...
WebCamp:Front-end Developers Day. Алексей Ященко, Сергей Руденко "Фронтенд-мо...
 
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
Eko10 workshop - OPEN SOURCE DATABASE MONITORINGEko10 workshop - OPEN SOURCE DATABASE MONITORING
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
 
OSMC 2014 | Naemon 1, 2, 3, N by Andreas Ericsson
OSMC 2014 | Naemon 1, 2, 3, N by Andreas EricssonOSMC 2014 | Naemon 1, 2, 3, N by Andreas Ericsson
OSMC 2014 | Naemon 1, 2, 3, N by Andreas Ericsson
 
Eko10 Workshop Opensource Database Auditing
Eko10  Workshop Opensource Database AuditingEko10  Workshop Opensource Database Auditing
Eko10 Workshop Opensource Database Auditing
 
Django on app engine
Django on app engineDjango on app engine
Django on app engine
 
Activity feeds (and more) at mate1
Activity feeds (and more) at mate1Activity feeds (and more) at mate1
Activity feeds (and more) at mate1
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Redmine @ Mippin
Redmine @ MippinRedmine @ Mippin
Redmine @ Mippin
 
More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdf
 
Performance & dev tools
Performance & dev toolsPerformance & dev tools
Performance & dev tools
 

More from khink

Easy User Interaction testing with Webtest.pdf
Easy User Interaction testing with Webtest.pdfEasy User Interaction testing with Webtest.pdf
Easy User Interaction testing with Webtest.pdfkhink
 
Practical pointers for better code review
Practical pointers for better code reviewPractical pointers for better code review
Practical pointers for better code reviewkhink
 
The Tale of Oscar and the API
The Tale of Oscar and the APIThe Tale of Oscar and the API
The Tale of Oscar and the APIkhink
 
Mosaic - flexibele layouts voor Plone
Mosaic - flexibele layouts voor PloneMosaic - flexibele layouts voor Plone
Mosaic - flexibele layouts voor Plonekhink
 
Presentatie gebruikersdag
Presentatie gebruikersdagPresentatie gebruikersdag
Presentatie gebruikersdagkhink
 
Plone multi language
Plone multi languagePlone multi language
Plone multi languagekhink
 
Hardening Plone, a military-strength CMS
Hardening Plone, a military-strength CMSHardening Plone, a military-strength CMS
Hardening Plone, a military-strength CMSkhink
 
Deliverance for Plone, a use case
Deliverance for Plone, a use caseDeliverance for Plone, a use case
Deliverance for Plone, a use casekhink
 

More from khink (8)

Easy User Interaction testing with Webtest.pdf
Easy User Interaction testing with Webtest.pdfEasy User Interaction testing with Webtest.pdf
Easy User Interaction testing with Webtest.pdf
 
Practical pointers for better code review
Practical pointers for better code reviewPractical pointers for better code review
Practical pointers for better code review
 
The Tale of Oscar and the API
The Tale of Oscar and the APIThe Tale of Oscar and the API
The Tale of Oscar and the API
 
Mosaic - flexibele layouts voor Plone
Mosaic - flexibele layouts voor PloneMosaic - flexibele layouts voor Plone
Mosaic - flexibele layouts voor Plone
 
Presentatie gebruikersdag
Presentatie gebruikersdagPresentatie gebruikersdag
Presentatie gebruikersdag
 
Plone multi language
Plone multi languagePlone multi language
Plone multi language
 
Hardening Plone, a military-strength CMS
Hardening Plone, a military-strength CMSHardening Plone, a military-strength CMS
Hardening Plone, a military-strength CMS
 
Deliverance for Plone, a use case
Deliverance for Plone, a use caseDeliverance for Plone, a use case
Deliverance for Plone, a use case
 

Recently uploaded

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Building a Newspaper Website with Plone

  • 1. Der Freitag: A Use Case How we built a newspaper website in Plone
  • 2. About the speakers ● Gil Forcada ● Timo Stollenwerk ● Kees Hink
  • 3. About Der Freitag ● It's a printed newspaper ● issued weekly ● on Thursday ● 15.000 copies across Germany ● About 40 employees ● Left-wing, liberal
  • 4. Der Freitag Online ● freitag.de ● web-print integration ● numbers? – 53k articles (31k editorial), 330 comments a day, 14k members, 1041 authors, 15k visits daily, 11k unique visitors ● Team: Christian Schneider + speakers
  • 5. Agile Development ● Scrum ● Pivotal Tracker
  • 8. Membership ● Login/Registration: z3c.form ● No membrane ● Dexterity member folder ● Sync between member profile and folder with event handlers ● Behavior to adapt member properties ● Registration should/could go into Plone core?
  • 9. Front page ● Folderish structure ● “Link” objects that reference existing content ● Custom views ● Ability to override article title, description, image ● Inline management buttons ● Drag-and-drop to reorder content
  • 10.
  • 11.
  • 12. Comments ● plone.app.discussion ● Complex custom workflow ● Blaming / editing / deleting comments ● 3 community moderators ● Most commented viewlet om front page ● About 330 new comments each day ● Allow/disallow discussion – behavior => plone.app.dexterity – dexterity support => plone.app.discussion 2.2x???
  • 13.
  • 14. Development ● Git – git merge --no-ff – git rebase -i – git pull -r ● Jenkins
  • 15.
  • 16. Migration ● Numbers – 30k articles – 25k blog entries – 20k members – 350k comments ● Transmogrifier ● MySQL rel DB => Plone ● Daily non-incremental migration ● Daily Jenkins job ● much more work than anticipated, worked well though
  • 17. Performance Tests ● The Grinder ● In Jenkins ● Helped us identify performance issues (Diazo, catalog) ● Warm-up script after instance restart
  • 18. Release ● Stacks of VMs ● A script to release
  • 19. Production servers overview ● physical server ● delivery vms ● 10 workers ● 1 ZEO server ● 1 monitoring vm (munin) ● all errors sent as mails
  • 20. Production server caveats ● p.a.caching is wonderful ● workers mem usage keeps growing always ● really slow startup time
  • 21. Servers ● 3 in-house and 4 production servers ● everything in virtual machines ● and everything controlled by fabric ● ~150 fabric tasks
  • 22. Notifications ● Shown in browser (“notification area”) ● Example: “you have a new comment” ● Deleted on click ● Created by event handler ● Storage: annotation on Member object ● Settings
  • 23. Evaluation ● Plone rocks! ● What more could you want? ● Since you ask: – member profiles, notifications, limit memory usage, way to run long and intensive tasks, replication with ZODB, ● Open Spaces