Der Freitag, A Use Case

1,530 views

Published on

A talk for the 2012 PloneConf in Arnhem, the Netherlands. Speakers: Gil Forcada, Timo Stollenwerk, Kees Hink. How we built a newspaper website in Plone.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,530
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Der Freitag, A Use Case

  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● Its 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
  6. Dexterity
  7. Dexterity
  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. 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???
  11. Development● Git – git merge --no-ff – git rebase -i – git pull -r● Jenkins
  12. 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
  13. Performance Tests● The Grinder● In Jenkins● Helped us identify performance issues (Diazo, catalog)● Warm-up script after instance restart
  14. Release● Stacks of VMs● A script to release
  15. Production servers overview● physical server● delivery vms● 10 workers● 1 ZEO server● 1 monitoring vm (munin)● all errors sent as mails
  16. Production server caveats● p.a.caching is wonderful● workers mem usage keeps growing always● really slow startup time
  17. Servers● 3 in-house and 4 production servers● everything in virtual machines● and everything controlled by fabric● ~150 fabric tasks
  18. 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
  19. 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

×