State of Pinax

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    State of Pinax - Presentation Transcript

    1. State of James Tauber DjangoCon 2009
    2. pi in hex
    3. def pi(): N = 0 n, d = 0, 1 while True: xn = (120*N**2 + 151*N + 47) xd = (512*N**4 + 1024*N**3 + 712*N**2 + 194*N + 15) n = ((16 * n * xd) + (xn * d)) % (d * xd) d *= xd yield 16 * n // d N += 1
    4. Your Site Your Site Django Python Python
    5. idea realisation
    6. Quisition • currently has: • signup, login, password management • announcements • deck searching and sort • want to add: • user profiles • rating, tagging and commenting on decks • groups, friendships • membership levels • notifications • OpenID
    7. Hot Club of France reusable apps app conventions
    8. Potter Predictions • send invitations • connect to friends • make comments on predictions • tag prediction • mass mailout to users
    9. Tabula Rasa reusable apps app conventions + starting point for new projects scaffolding for developing new apps
    10. 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
    11. Let’s Build a Social Networking Site
    12. { n | available(“cloud<n>.com”), n < 30 } = { 14, 26, 27, 28 }
    13. collection of reusable apps conventions for reusable apps starting point for new projects scaffolding for developing new apps + a platform for website development
    14. Your Project Your Project Pinax Django Django Python Python
    15. • AuthX (AuthN + AuthZ) Modern Web Infrastructure ◦ Capabilities ◦ Multifactor Auth ◦ Rate Limiting ◦ Signup ◦ OpenID ◦ OAuth ◦ External import • API Metering • Groups • Backups & Snapshots • Invites • Counters • Lists • Cloud/Cluster Management Tools • Notifications ◦ Instrumentation/Monitoring (Ganglia, Nagios) ◦ Spam filtering ◦ Failover ◦ Multi-protocol routing ◦ Node addition/removal and hashing ◦ Fine-grained controls/rules ◦ Autoscaling for cloud resources • Presence • CSRF/XSS Protection • Social Activity Log (Newsfeed) • Data Retention/Archival ◦ Filtering • Deployment Tools • Social Model ◦ Multiple Devs, Staging, Prod ◦ Connectivity (uni/bidi) ◦ Data model upgrades ◦ Privacy (private, reciprocal, public) ◦ Rolling deployments ◦ Views ◦ Multiple versions (selective beta) ◦ Traversal ◦ Bucket Testing • Social Object ◦ Rollbacks ◦ Privacy, Social Scoping ◦ CDN Management ◦ Voting • Distributed File Storage ◦ Sharing • Distributed Log storage, analysis ◦ Publishing • Graphing ◦ Comments • HTTP Caching ◦ Favoriting • Input/Output Filtering ◦ Social editing • Memory Caching ◦ Permissions • Non-relational Key Stores • Tagging • Rate Limiting ◦ Combinations • Relational Storage ◦ Relatedness • Queues • User • Rate Limiting ◦ Achievements/Awards • Real-time messaging (XMPP) ◦ Activity Log • Search ◦ External User ID Mapping ◦ Ranging ◦ Permissions (see AuthX) ◦ Geo ◦ Deletion/Archival • Sharding ◦ Flagging • Smart Caching ◦ Direct Messaging ◦ dirty-table management ◦ User Cards
    16. What seems the biggest shame to me is that everyone is currently rebuilding this stuff over and over again and rationalizing it as some sort of secret sauce competitive advantage when it’s really infrastructure - stuff that really should be standardized so you can actually get around to doing the new and interesting stuff. — Leonard Lin http://randomfoo.net/2009/01/28/infrastructure-for-modern-web-sites
    17. Your Project the trade off: Pinax how much to fix? how much to make configurable? how much to leave Django completely to site developer?
    18. Reusability is not just at the app layer
    19. reusable app quisition potterpredictions
    20. djangopeople pythonpeople
    21. pinax project djangopeople pythonpeople
    22. Ole Kirk Christiansen
    23. • blocks • sets • themes
    24. Pinax IS Django
    25. Pinax IS NOT Django
    26. “Pinax is opinionated so Django doesn’t have to be”
    27. “PINAX: Even more opinionated than Django”
    28. Milestones • 0.5.0 — October 2008 • 0.5.1 — January 2009 • 0.7beta1— April 2009 (485) • 0.7beta2 — April 2009 (58) • 0.7beta3 — July 2009 (445) • 0.7rc1— September 2009 (291)
    29. 1271 commits 343 tickets closed between 0.5 and 0.7 (not counting external apps)
    30. Features in 0.5 • openid support • interest groups (called tr ibes) • email ver ification • password management • projects with basic task and issue management • site announcements • threaded discussions • a notification fr amewor k • wikis • user-to-user messaging with multiple mar kup suppor t • fr iend invitation • blogging (both inter nal and exter nal to the site) • bookmar ks • a basic twitter clone • tagging • oembed suppor t • contact impor t • gr avatar suppor t (from vCard, Google or Yahoo) • photo management
    31. 0.5 Structure • external apps • all on Google Code (SVN) • half written independently of Pinax • local apps • libraries (batteries included) • two sample projects • path hacking
    32. Sites Using Pinax
    33. Sites Using Pinax
    34. Sites Using Pinax
    35. Sites Using Pinax
    36. Sites Using Pinax
    37. 0.7 Release • translation removal • locations • frontend-admin and generic flat-blocks • account and group improvements • new task app • uni-form and Section 508 • better shared templates and media • more sample projects (and complete renamed social) • virtualenv and pip • pinax is now a package
    38. New Account App • turn OpenID on/off • turn sign up on/off • waiting list • invite only / private beta • token-based password reset • (resend signup email confirmation) • (use email for login)
    39. you signed up for admin initiated each user has fixed user can invite beta account number to hand out anyone admin sent code user invited you general code unique invite just go to site (type in) (email link) have code external auth username / password username signup (no password) SIGNED UP
    40. New Group App • Don’t Repeat Yourself! • endo vs exo • group apps versus content apps • membership app
    41. Endo Approach (framework-like)
    42. Endo Approach (framework-like)
    43. Exo Approach (library approach)
    44. Exo Approach (library approach)
    45. Shared Templates and Media • look up: • project • pinax new level (multiple themes) • app • media build command • ship with famfamfam silk icons
    46. Problems with 0.5 structure • it largely relies on external dependencies being in svn and this is increasingly not the case (although it was when Pinax started) • it makes it difficult for Pinax itself to move away from svn • there is no management of dependencies between external dependencies, nor between particular projects in Pinax and their individual dependencies
    47. virtualenv and pip • encourage externals apps to be distutils- compliant • pip for package install (at least during development) • optional “batteries included” release • virtualenv to provide isolation, remove need for path hacking and just because it kicks ass
    48. release install (download tarball, extract and cd) $ python scripts/pinax-boot.py ../pinax-env $ source ../pinax-env/bin/activate (pinax-env)$ cd .. (pinax-env)$ pinax-admin clone_project social_project mysite (pinax-env)$ cd mysite/ (pinax-env)$ python manage.py syncdb (pinax-env)$ python manage.py runserver
    49. development install (download pinax-boot.py from github) $ python pinax-boot.py --development ./pinax-env $ source ./pinax-env/bin/activate (pinax-env)$ (pinax-env)$ cd ./pinax-env/ (pinax-env)$ pip install --requirement src/pinax/requirements/external_apps.txt
    50. Move to github http://github.com/pinax/pinax/
    51. 35 contributors 108 members of pinax-core-dev list 58 at PyCon 336 users on code.pinaxproject.com 403 watchers on github 157 at PyCon 649 members of pinax-users list 398 at PyCon
    52. Pinax is NOT just for social networks
    53. site site site site site site site site site site site site Learning Social Networks Intranets e-commerce Management Pinax Django
    54. site site site site site site site site site site site site Learning Social Networks Intranets e-commerce Management Pinax Django
    55. Editions • social networking • intranet • learning management • e-commerce • clubs and associations • conference management • software project management
    56. Roadmap • 0.7rc1 out last week • 0.7 final in next day or two • 0.8 “translation release” based off 0.7 and in parallel to 0.9 • • 0.9 “big feature release” and invitations rethink friends: split into friends, contacts • • rethink profiles • workflow • open stack • calendar / events • new apps • new projects • new editions?
    57. Join Us During Sprint (even if just in #pinax-sprint on freenode)
    58. http://pinaxproject.com/
    SlideShare Zeitgeist 2009

    + jtauberjtauber Nominate

    custom

    1029 views, 2 favs, 1 embeds more stats

    State of Pinax talk from DjangoCon 2009 by James Ta more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1029
      • 1028 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 37
    Most viewed embeds
    • 1 views on http://www.slideshare.net

    more

    All embeds
    • 1 views on http://www.slideshare.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories