SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
history, state and vision
James Tauber
Russ Keith-Magee
idea   realisation
when is it okay to
reinvent the wheel?
web technologist
       vs
web site creator
Leonardo
Leonardo
Leonardo
            Django



 Python     Python
why layer?
• portability
• reusability
• efficiency through compromise
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
PyCon 2007:
The Birth of the (second)
Hotclub of France
     reusable apps
 •
     app conventions
 •
     mailing list
 •
     some discussion but never got far
 •
•django-tagging
•django-voting
•django-registration
Potter Predictions
               • send invitations
               • connect to friends
               • make comments on
                 predictions
               • tag prediction
               • mass mailout to
                 users
| I vi | ii V | I vi | ii V |
| I I7 | IV iv | I V | I |
| III7 | III7 | VI7 | VI7 |
| II7 | II7 | V7 | V7 |
rhythm changes
 contrafacts
•django-friends
•django-notification
•django-mailer
•django-things
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
Tony Hauber’s
Summer of Code
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
reusable apps

         app conventions


                +
  starting point for new projects

scaffolding for developing new apps
Memorial Day
 Weekend...
•django-friends
•django-notification
•django-mailer
•django-email-confirmation
•user profile pages
•gravatars
•user-to-user messages
 •via django-messages
•announcements
 •a new app, django-announcements
•OpenID support
•invitations to join
•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)
•63% reusable apps
•10% local apps
•13% templates
•8% localization
•5% media
•1% util
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
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
{ n | available(“cloud<n>.com”), n < 30 }
                      =
              { 14, 26, 27, 28 }
collection of reusable apps

  conventions for reusable apps

  starting point for new projects

scaffolding for developing new apps


a platform for website development
Your Project
Your Project
                  Pinax



  Django         Django




  Python         Python
Your Project
               the trade off:
   Pinax
               how much to fix?
               how much to make configurable?
               how much to leave
  Django
               completely to site developer?
Features
                               •interest groups (called
•openid support
•email ver ification             tr ibes)
                               •projects with basic task and
•password management
•site announcements              issue management
                               •threaded discussions
•a notification fr amewor k
                               •wikis with multiple mar kup
•user-to-user messaging
•fr iend invitation (both        suppor t
                               •blogging
  inter nal and exter nal to
                               •bookmar ks
  the site)
                               •tagging
•a basic twitter clone
                               •contact impor t (from vCard,
•oembed suppor t
•gr avatar suppor t              Google or Yahoo)
                               •photo management
Structure of SVN repos

  •external apps
  •local apps
  •libraries
  •pinax project
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
External apps
                                    django-timezones
                                •
    django-email-confirmation
•
                                    django-feedutil
                                •
    django-command-extensions
•
                                    django-app-plugins
                                •
    django-robots
•
                                    django-voting
                                •
    django-dbtemplates
•
                                    django-tagging
                                •
    django-friends
•
                                    django-bookmarks
                                •
    django-notification
•
                                    django-ajax-validation
    django-mailer               •
•
                                    django-crashlog
    django-messages             •
•
                                    django-photologue
    django-announcements        •
•
                                    django-avatar
    django-logging              •
•
    django-oembed                   django-gravatar
•                               •
    django-pagination
•                                   django-arcade
                                •
    django-threadedcomments
•                                   swaps from django-social-economics
                                •
    django-wikiapp
•                                   django-locations
                                •
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
 •
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
   •
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!
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
site
         site
                site
                         site
                                site
                                       site
                                              site
                                                     site
                                                            site
                                                                   site
                                                                          site
                                                                                 site
                                                             Learning Management
       Social Networks                 Internets
                                                                    Systems


                                        Pinax

                                 Django Contrib

                                       Django
http://pinaxproject.com/
One More Thing...

Más contenido relacionado

Similar a Pinax

Open Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial MeetupOpen Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial MeetupChris Schalk
 
Getting Started With Django
Getting Started With DjangoGetting Started With Django
Getting Started With Djangojeff_croft
 
Free the Bandwidth of News
Free the Bandwidth of NewsFree the Bandwidth of News
Free the Bandwidth of NewsShih-Chieh Li
 
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...adunne
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLars Trieloff
 
Image Optimization for the Web at php|works
Image Optimization for the Web at php|worksImage Optimization for the Web at php|works
Image Optimization for the Web at php|worksStoyan Stefanov
 
How To Build The Open Mesh 09
How To Build The Open Mesh 09How To Build The Open Mesh 09
How To Build The Open Mesh 09Marc Canter
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationLong Nguyen
 
Jython on Django
Jython on DjangoJython on Django
Jython on Djangofwierzbicki
 
Presentation eXo Foss Bridge
Presentation eXo Foss BridgePresentation eXo Foss Bridge
Presentation eXo Foss BridgeJeremi Joslin
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...Scott Abel
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryScott Abel
 
Open Social Technical Update for Java developers - Presented at sv-gtug.org m...
Open Social Technical Update for Java developers - Presented at sv-gtug.org m...Open Social Technical Update for Java developers - Presented at sv-gtug.org m...
Open Social Technical Update for Java developers - Presented at sv-gtug.org m...Chris Schalk
 
Fedora App Slide 2009 Hastac
Fedora App Slide 2009 HastacFedora App Slide 2009 Hastac
Fedora App Slide 2009 HastacLoretta Auvil
 
Django & Buildout (en)
Django & Buildout (en)Django & Buildout (en)
Django & Buildout (en)zerok
 

Similar a Pinax (20)

Open Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial MeetupOpen Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial Meetup
 
Getting Started With Django
Getting Started With DjangoGetting Started With Django
Getting Started With Django
 
Sensible scaling
Sensible scalingSensible scaling
Sensible scaling
 
Free the Bandwidth of News
Free the Bandwidth of NewsFree the Bandwidth of News
Free the Bandwidth of News
 
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
 
Image Optimization for the Web at php|works
Image Optimization for the Web at php|worksImage Optimization for the Web at php|works
Image Optimization for the Web at php|works
 
How To Build The Open Mesh 09
How To Build The Open Mesh 09How To Build The Open Mesh 09
How To Build The Open Mesh 09
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Jython on Django
Jython on DjangoJython on Django
Jython on Django
 
Presentation eXo Foss Bridge
Presentation eXo Foss BridgePresentation eXo Foss Bridge
Presentation eXo Foss Bridge
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation Library
 
Open Social Technical Update for Java developers - Presented at sv-gtug.org m...
Open Social Technical Update for Java developers - Presented at sv-gtug.org m...Open Social Technical Update for Java developers - Presented at sv-gtug.org m...
Open Social Technical Update for Java developers - Presented at sv-gtug.org m...
 
Mojomojo Talk
Mojomojo TalkMojomojo Talk
Mojomojo Talk
 
Fedora App Slide 2009 Hastac
Fedora App Slide 2009 HastacFedora App Slide 2009 Hastac
Fedora App Slide 2009 Hastac
 
Introduction to Plone
Introduction to PloneIntroduction to Plone
Introduction to Plone
 
Django & Buildout (en)
Django & Buildout (en)Django & Buildout (en)
Django & Buildout (en)
 
Titanium Desktop Intro
Titanium Desktop IntroTitanium Desktop Intro
Titanium Desktop Intro
 
Drupal.org Search Evaluation
Drupal.org Search EvaluationDrupal.org Search Evaluation
Drupal.org Search Evaluation
 

Más de DjangoCon2008

Más de DjangoCon2008 (6)

Why I Hate Django
Why I Hate DjangoWhy I Hate Django
Why I Hate Django
 
Satchmo
SatchmoSatchmo
Satchmo
 
Reusable Apps
Reusable AppsReusable Apps
Reusable Apps
 
What’S New In Newforms Admin
What’S New In Newforms AdminWhat’S New In Newforms Admin
What’S New In Newforms Admin
 
High Performance Django 1
High Performance Django 1High Performance Django 1
High Performance Django 1
 
High Performance Django
High Performance DjangoHigh Performance Django
High Performance Django
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise 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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Pinax

  • 1. history, state and vision James Tauber
  • 3. idea realisation
  • 4. when is it okay to reinvent the wheel?
  • 5. web technologist vs web site creator
  • 7. Leonardo Leonardo Django Python Python
  • 8. why layer? • portability • reusability • efficiency through compromise
  • 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. PyCon 2007: The Birth of the (second) Hotclub of France reusable apps • app conventions • mailing list • some discussion but never got far •
  • 12. Potter Predictions • send invitations • connect to friends • make comments on predictions • tag prediction • mass mailout to users
  • 13. | I vi | ii V | I vi | ii V | | I I7 | IV iv | I V | I | | III7 | III7 | VI7 | VI7 | | II7 | II7 | V7 | V7 |
  • 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
  • 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. reusable apps app conventions + starting point for new projects scaffolding for developing new apps
  • 22. •user profile pages •gravatars •user-to-user messages •via django-messages •announcements •a new app, django-announcements •OpenID support •invitations to join
  • 23.
  • 24. •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)
  • 25. •63% reusable apps •10% local apps •13% templates •8% localization •5% media •1% util
  • 26. 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
  • 27.
  • 28. 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
  • 29.
  • 30. { n | available(“cloud<n>.com”), n < 30 } = { 14, 26, 27, 28 }
  • 31. collection of reusable apps conventions for reusable apps starting point for new projects scaffolding for developing new apps a platform for website development
  • 32.
  • 33.
  • 34.
  • 35. Your Project Your Project Pinax Django Django Python Python
  • 36. Your Project the trade off: Pinax how much to fix? how much to make configurable? how much to leave Django completely to site developer?
  • 37. Features •interest groups (called •openid support •email ver ification tr ibes) •projects with basic task and •password management •site announcements issue management •threaded discussions •a notification fr amewor k •wikis with multiple mar kup •user-to-user messaging •fr iend invitation (both suppor t •blogging inter nal and exter nal to •bookmar ks the site) •tagging •a basic twitter clone •contact impor t (from vCard, •oembed suppor t •gr avatar suppor t Google or Yahoo) •photo management
  • 38. Structure of SVN repos •external apps •local apps •libraries •pinax project
  • 39. 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
  • 40. External apps django-timezones • django-email-confirmation • django-feedutil • django-command-extensions • django-app-plugins • django-robots • django-voting • django-dbtemplates • django-tagging • django-friends • django-bookmarks • django-notification • django-ajax-validation django-mailer • • django-crashlog django-messages • • django-photologue django-announcements • • django-avatar django-logging • • django-oembed django-gravatar • • django-pagination • django-arcade • django-threadedcomments • swaps from django-social-economics • django-wikiapp • django-locations •
  • 41. 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 •
  • 42. 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 •
  • 43. 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!
  • 44. 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
  • 45. site site site site site site site site site site site site Learning Management Social Networks Internets Systems Pinax Django Contrib Django