Pinax Presentation at DjangoCon 2008

3,583 views
3,466 views

Published on

A talk on the Pinax platform at DjangoCon 2008 by James Tauber.

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

No Downloads
Views
Total views
3,583
On SlideShare
0
From Embeds
0
Number of Embeds
144
Actions
Shares
0
Downloads
55
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Pinax Presentation at DjangoCon 2008

  1. 1. history, state and vision James Tauber
  2. 2. Russ Keith-Magee
  3. 3. idea realisation
  4. 4. when is it okay to reinvent the wheel?
  5. 5. web technologist vs web site creator
  6. 6. Leonardo
  7. 7. Leonardo Leonardo Django Python Python
  8. 8. why layer? • portability • reusability • efficiency through compromise
  9. 9. Quisition • currently has: • announcements • sign up • deck searching and sort • user analytics • want to add: • rating, tagging and commenting on decks • groups, friendships • membership levels • notifications
  10. 10. PyCon 2007: The Birth of the (second) Hotclub of France • reusable apps • app conventions • mailing list • some discussion but never got far
  11. 11. •django-tagging •django-voting •django-registration
  12. 12. Potter Predictions • send invitations • connect to friends • make comments on predictions • tag prediction • mass mailout to users
  13. 13. | I vi | ii V | I vi | ii V | | I I7 | IV iv | I V | I | | III7 | III7 | VI7 | VI7 | | II7 | II7 | V7 | V7 |
  14. 14. rhythm changes contrafacts
  15. 15. •django-friends •django-notification •django-mailer •django-things
  16. 16. PyCon 2008: The Birth of Tabula Rasa build a dummy site to guide development of apps If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea. – Antoine de Saint-Exupéry
  17. 17. Tony Hauber’s Summer of Code
  18. 18. Pinax proposed by Orestis Markou So far it's just my new django-email-confirmation app tied together with password change and reset, login/logout, with the beginnings of a tab-style UI. There's a ton more I want to refactor out of my existing websites to put into it as well as adding support for OpenID and the stuff I'm starting to do for django- friends. Even if one doesn't use Pinax as the starting point of a website, I'm hoping it will prove very useful for another goal, namely a quot;hostquot; project to develop and tryout reusable apps. – blog post 10th May 2008
  19. 19. reusable apps app conventions + starting point for new projects scaffolding for developing new apps
  20. 20. Memorial Day Weekend...
  21. 21. •django-friends •django-notification •django-mailer •django-email-confirmation
  22. 22. •user profile pages •gravatars •user-to-user messages •via django-messages •announcements •a new app, django-announcements •OpenID support •invitations to join
  23. 23. •translations into German, Spanish and Swedish •a new design / logo •auto-completion on message receipt field •a basic Twitter clone •OEmbed support in tweets •the beginnings of tribes (i.e. groups)
  24. 24. •63% reusable apps •10% local apps •13% templates •8% localization •5% media •1% util
  25. 25. By 4th July... •localization into Brazilian Portuguese and Hebrew •timezone localization •external blog aggregation •wikis •threaded discussions •bookmarks with voting •contact import •blogs with tagging and threaded comments ...and 1,000 users on the demo site
  26. 26. It is becoming clear that what was originally intended to be a demo site is a useful site in its own right, irrespective of whether you care or even know about the Pinax platform underlying it. So it will be moving over to a new site with a new identity soon. – blog post 2nd July 2008
  27. 27. { n | available(“cloud<n>.com”), n < 30 } = { 14, 26, 27, 28 }
  28. 28. collection of reusable apps conventions for reusable apps starting point for new projects scaffolding for developing new apps a platform for website development
  29. 29. Your Project Your Project Pinax Django Django Python Python
  30. 30. Your Project the trade off: Pinax how much to fix? how much to make configurable? how much to leave Django completely to site developer?
  31. 31. Features •openid support •interest groups (called •email ver ification tr ibes) •password management •projects with basic task and •site announcements issue management •a notification fr amewor k •threaded discussions •user-to-user messaging •wikis with multiple mar kup •fr iend invitation (both suppor t inter nal and exter nal to •blogging the site) •bookmar ks •a basic twitter clone •tagging •oembed suppor t •contact impor t (from vCard, •gr avatar suppor t Google or Yahoo) •photo management
  32. 32. Structure of SVN repos •external apps •local apps •libraries •pinax project
  33. 33. External apps • all on Google Code Project Hosting • use of svn:externals • half were written independently of Pinax • avoiding “rhythm section apps” • do one thing
  34. 34. External apps • django-email-confirmation • django-timezones • django-command-extensions • django-feedutil • django-robots • django-app-plugins • django-dbtemplates • django-voting • django-friends • django-tagging • django-notification • django-bookmarks • django-mailer • django-ajax-validation • django-messages • django-crashlog • django-announcements • django-photologue • django-logging • django-avatar • django-oembed • django-gravatar • django-pagination • django-arcade • django-threadedcomments • swaps from django-social-economics • django-wikiapp • django-locations
  35. 35. Local apps • some core • many are just incubated here • about • games • account • lifestream • analytics • photos • authsub • profiles • bbauth • projects • blog • tag_app • core • things • django-openidconsumer • tribes • django-openidauth • zwitschern • friends_app
  36. 36. Libraries • batteries included • except for PIL • makes for a huge checkout • dateutil • python-openid-2.1.1 • diff-match-patch • python-twitter-0.5 • django-atompub (format) • python-yadis-1.1.0 • docutils-0.4 • pytz-2008b • feedparser-4.1 • simplejson-1.9.1 • gdata.py-1.0.13 • textile-2.0.11 • geopy-trunk • vobject-0.6.6 • markdown-1.7 • ybrowserauth • pownce-api-0.2
  37. 37. Optional Apps try:     from notification import models as notification except ImportError:     notification = None if notification:     notification.send(...) should really rely on INSTALLED_APPS not path!
  38. 38. Tracking Trunk we wanted to be part of the reason people upgraded to 1.0, not one of the reasons people didn't need to
  39. 39. site site site site site site site site site site site site Learning Management Social Networks Internets Systems Pinax Django Contrib Django
  40. 40. http://pinaxproject.com/
  41. 41. One More Thing...

×