Der Freitag, A Use Case
-
Upload
khink -
Category
Technology
-
view
745 -
download
1
description
Transcript of Der Freitag, A Use Case
![Page 1: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/1.jpg)
Der Freitag: A Use Case
How we built a newspaper website
in Plone
![Page 2: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/2.jpg)
About the speakers● Gil Forcada● Timo Stollenwerk● Kees Hink
![Page 3: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/3.jpg)
About Der Freitag● It's a printed newspaper● issued weekly● on Thursday● 15.000 copies across Germany● About 40 employees● Left-wing, liberal
![Page 4: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/4.jpg)
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
![Page 5: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/5.jpg)
Agile Development● Scrum● Pivotal Tracker
![Page 6: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/6.jpg)
Dexterity
![Page 7: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/7.jpg)
Dexterity
![Page 8: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/8.jpg)
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?
![Page 9: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/9.jpg)
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
![Page 10: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/10.jpg)
![Page 11: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/11.jpg)
![Page 12: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/12.jpg)
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???
![Page 13: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/13.jpg)
![Page 14: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/14.jpg)
Development● Git
– git merge --no-ff– git rebase -i– git pull -r
● Jenkins
![Page 15: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/15.jpg)
![Page 16: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/16.jpg)
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
![Page 17: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/17.jpg)
Performance Tests● The Grinder● In Jenkins● Helped us identify performance issues (Diazo,
catalog)● Warm-up script after instance restart
![Page 18: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/18.jpg)
Release● Stacks of VMs● A script to release
![Page 19: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/19.jpg)
Production servers overview● physical server● delivery vms● 10 workers● 1 ZEO server● 1 monitoring vm (munin)● all errors sent as mails
![Page 20: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/20.jpg)
Production server caveats● p.a.caching is wonderful● workers mem usage keeps growing always● really slow startup time
![Page 21: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/21.jpg)
Servers● 3 in-house and 4 production servers● everything in virtual machines● and everything controlled by fabric● ~150 fabric tasks
![Page 22: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/22.jpg)
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
![Page 23: Der Freitag, A Use Case](https://reader033.fdocuments.in/reader033/viewer/2022052522/554bc1adb4c90530298b517b/html5/thumbnails/23.jpg)
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