SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
State of
 James Tauber


                DjangoCon 2009
pi in hex
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
Your Site
Your Site
            Django



 Python      Python
idea   realisation
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
Hot Club of France

      reusable apps

     app conventions
Potter Predictions
               • send invitations
               • connect to friends
               • make comments on
                 predictions
               • tag prediction
               • mass mailout to
                 users
Tabula Rasa
          reusable apps

         app conventions


                +
  starting point for new projects

scaffolding for developing new 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
Let’s Build a
Social Networking Site
{ 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
•   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
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
Your Project
               the trade off:
   Pinax
               how much to fix?
               how much to make configurable?
               how much to leave
  Django
               completely to site developer?
Reusability is not just
  at the app layer
reusable app




quisition          potterpredictions
djangopeople   pythonpeople
pinax project




djangopeople             pythonpeople
Ole Kirk Christiansen
• blocks
• sets
• themes
Pinax IS Django
Pinax IS NOT Django
“Pinax is
opinionated so
Django doesn’t
 have to be”
“PINAX:
   Even more
opinionated than
    Django”
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)
1271 commits
343 tickets closed
 between 0.5 and 0.7
 (not counting external apps)
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
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
Sites Using Pinax
Sites Using Pinax
Sites Using Pinax
Sites Using Pinax
Sites Using Pinax
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
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)
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
New Group App
 •   Don’t Repeat Yourself!
 •   endo vs exo
 •   group apps versus content apps
 •   membership app
Endo Approach
(framework-like)
Endo Approach
(framework-like)
Exo Approach
(library approach)
Exo Approach
(library approach)
Shared Templates and Media
 • look up:
  • project
  • pinax            new level (multiple themes)
  • app
 • media build command
 • ship with famfamfam silk icons
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
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
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
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
Move to github
http://github.com/pinax/pinax/
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
Pinax is NOT just for
   social networks
site
       site
              site
                     site
                              site
                                        site
                                               site
                                                      site
                                                             site
                                                                    site
                                                                           site
                                                                                  site
                                                  Learning
Social Networks             Intranets                                 e-commerce
                                                 Management


                                         Pinax

                                        Django
site
       site
              site
                     site
                              site
                                        site
                                               site
                                                      site
                                                             site
                                                                    site
                                                                           site
                                                                                  site
                                                  Learning
Social Networks             Intranets                                 e-commerce
                                                 Management


                                         Pinax

                                        Django
Editions

 •   social networking
 •   intranet
 •   learning management
 •   e-commerce
 •   clubs and associations
 •   conference management
 •   software project management
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?
Join Us During Sprint
(even if just in #pinax-sprint on freenode)
http://pinaxproject.com/

Contenu connexe

En vedette

Brave new world private banking
Brave new world private bankingBrave new world private banking
Brave new world private bankingJuris Cernavskis
 
Salesforce1 Platform - Der schnellste Weg von der Idee zur App
Salesforce1 Platform - Der schnellste Weg von der Idee zur AppSalesforce1 Platform - Der schnellste Weg von der Idee zur App
Salesforce1 Platform - Der schnellste Weg von der Idee zur AppSalesforce Deutschland
 
Companies
CompaniesCompanies
Companiesecsrdl
 
Viii Semana MatemáTica Ies Sierra Minera Alumnos
Viii Semana MatemáTica Ies Sierra Minera AlumnosViii Semana MatemáTica Ies Sierra Minera Alumnos
Viii Semana MatemáTica Ies Sierra Minera AlumnosDe Mates Na
 
Workshop rapport - First edition
Workshop rapport - First editionWorkshop rapport - First edition
Workshop rapport - First editionTeoriogPraksis
 
مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen
 مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen
مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcenAbdelkader Benhaddou
 
Mayli Sepulveda Acceso A La Informacion Para La Incidencia Publica
Mayli Sepulveda   Acceso A La Informacion Para La Incidencia PublicaMayli Sepulveda   Acceso A La Informacion Para La Incidencia Publica
Mayli Sepulveda Acceso A La Informacion Para La Incidencia PublicaMarco Giuseppe Gomero
 
Protagonistas II Guerra Mundial
Protagonistas II Guerra MundialProtagonistas II Guerra Mundial
Protagonistas II Guerra MundialJeanpado7
 
Poveste De Succes.
Poveste De Succes.Poveste De Succes.
Poveste De Succes.guest7a1d88
 
Gsx code two gsx final
Gsx code two gsx finalGsx code two gsx final
Gsx code two gsx finalGSX Solutions
 
Oficinas en Renta en Hermosillo Espacios Habitat Bienes Raices
Oficinas en Renta en Hermosillo Espacios Habitat Bienes RaicesOficinas en Renta en Hermosillo Espacios Habitat Bienes Raices
Oficinas en Renta en Hermosillo Espacios Habitat Bienes RaicesEspacios hábitat Bienes Raíces
 
Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).
Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).
Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).Sociedad Española de Cardiología
 
Catalogo quiko criadores profesional
Catalogo quiko criadores profesionalCatalogo quiko criadores profesional
Catalogo quiko criadores profesionalPornis Pipo
 
How to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensionsHow to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensionsChristian Trabold
 
Las tic en la educación
Las tic en la educaciónLas tic en la educación
Las tic en la educaciónLizeth_08
 

En vedette (18)

Brave new world private banking
Brave new world private bankingBrave new world private banking
Brave new world private banking
 
Salesforce1 Platform - Der schnellste Weg von der Idee zur App
Salesforce1 Platform - Der schnellste Weg von der Idee zur AppSalesforce1 Platform - Der schnellste Weg von der Idee zur App
Salesforce1 Platform - Der schnellste Weg von der Idee zur App
 
Companies
CompaniesCompanies
Companies
 
Viii Semana MatemáTica Ies Sierra Minera Alumnos
Viii Semana MatemáTica Ies Sierra Minera AlumnosViii Semana MatemáTica Ies Sierra Minera Alumnos
Viii Semana MatemáTica Ies Sierra Minera Alumnos
 
Te lo cuento octubre 2011
Te lo cuento octubre 2011Te lo cuento octubre 2011
Te lo cuento octubre 2011
 
Workshop rapport - First edition
Workshop rapport - First editionWorkshop rapport - First edition
Workshop rapport - First edition
 
مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen
 مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen
مركز الدراسات الاندلسية بتلمسان Centre d'études andalouses de tlemcen
 
Mayli Sepulveda Acceso A La Informacion Para La Incidencia Publica
Mayli Sepulveda   Acceso A La Informacion Para La Incidencia PublicaMayli Sepulveda   Acceso A La Informacion Para La Incidencia Publica
Mayli Sepulveda Acceso A La Informacion Para La Incidencia Publica
 
Protagonistas II Guerra Mundial
Protagonistas II Guerra MundialProtagonistas II Guerra Mundial
Protagonistas II Guerra Mundial
 
Poveste De Succes.
Poveste De Succes.Poveste De Succes.
Poveste De Succes.
 
Gsx code two gsx final
Gsx code two gsx finalGsx code two gsx final
Gsx code two gsx final
 
Oficinas en Renta en Hermosillo Espacios Habitat Bienes Raices
Oficinas en Renta en Hermosillo Espacios Habitat Bienes RaicesOficinas en Renta en Hermosillo Espacios Habitat Bienes Raices
Oficinas en Renta en Hermosillo Espacios Habitat Bienes Raices
 
Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).
Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).
Ejemplo de buenas prácticas en el Complejo Hospitalario de Vigo (Pontevedra).
 
Catalogo quiko criadores profesional
Catalogo quiko criadores profesionalCatalogo quiko criadores profesional
Catalogo quiko criadores profesional
 
How to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensionsHow to improve the quality of your TYPO3 extensions
How to improve the quality of your TYPO3 extensions
 
Tubos pvc
Tubos pvcTubos pvc
Tubos pvc
 
Mercadotecnia
MercadotecniaMercadotecnia
Mercadotecnia
 
Las tic en la educación
Las tic en la educaciónLas tic en la educación
Las tic en la educación
 

Similaire à State of Pinax

Drupal By Design - Business Case for Drupal
Drupal By Design - Business Case for DrupalDrupal By Design - Business Case for Drupal
Drupal By Design - Business Case for DrupalGlenn Lim
 
The OSS Forge Ecosystem: Today and Tomorrow
The OSS Forge Ecosystem: Today and TomorrowThe OSS Forge Ecosystem: Today and Tomorrow
The OSS Forge Ecosystem: Today and Tomorrowoostendo
 
Offience's Node showcase
Offience's Node showcaseOffience's Node showcase
Offience's Node showcasecloud4le
 
TechSoup Global - Technology Resources for Nonprofits Webinar 012413
TechSoup Global - Technology Resources for Nonprofits Webinar 012413TechSoup Global - Technology Resources for Nonprofits Webinar 012413
TechSoup Global - Technology Resources for Nonprofits Webinar 012413Community IT Innovators
 
Django - non-technical introduction
Django - non-technical introductionDjango - non-technical introduction
Django - non-technical introductionjakaspaka
 
Monitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetupMonitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetupPromet Source
 
Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.Sara Rosso
 
Achieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefAchieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefMatt Ray
 
Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityPaul Morse
 
IMPACT Interoperability Framework - Clemens Neudecker
IMPACT Interoperability Framework - Clemens NeudeckerIMPACT Interoperability Framework - Clemens Neudecker
IMPACT Interoperability Framework - Clemens NeudeckerIMPACT Centre of Competence
 
Better Tools, Better Mindset
Better Tools, Better MindsetBetter Tools, Better Mindset
Better Tools, Better MindsetYusup
 
zAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.pptzAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.pptOpenStack Foundation
 
Achieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.pptAchieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.pptOpenStack Foundation
 
Frokost seminar windows 8 februar 2013
Frokost seminar   windows 8 februar 2013Frokost seminar   windows 8 februar 2013
Frokost seminar windows 8 februar 2013Olav Tvedt
 
Joel Jacobson (Datastax) - Diagnosing Cassandra Problems in Production
Joel Jacobson (Datastax) - Diagnosing Cassandra Problems in ProductionJoel Jacobson (Datastax) - Diagnosing Cassandra Problems in Production
Joel Jacobson (Datastax) - Diagnosing Cassandra Problems in ProductionOutlyer
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with ChefMatt Ray
 
Chef for OpenStack - OpenStack Fall 2012 Summit
Chef for OpenStack  - OpenStack Fall 2012 SummitChef for OpenStack  - OpenStack Fall 2012 Summit
Chef for OpenStack - OpenStack Fall 2012 SummitMatt Ray
 

Similaire à State of Pinax (20)

Drupal By Design - Business Case for Drupal
Drupal By Design - Business Case for DrupalDrupal By Design - Business Case for Drupal
Drupal By Design - Business Case for Drupal
 
The OSS Forge Ecosystem: Today and Tomorrow
The OSS Forge Ecosystem: Today and TomorrowThe OSS Forge Ecosystem: Today and Tomorrow
The OSS Forge Ecosystem: Today and Tomorrow
 
Offience's Node showcase
Offience's Node showcaseOffience's Node showcase
Offience's Node showcase
 
TechSoup Global - Technology Resources for Nonprofits Webinar 012413
TechSoup Global - Technology Resources for Nonprofits Webinar 012413TechSoup Global - Technology Resources for Nonprofits Webinar 012413
TechSoup Global - Technology Resources for Nonprofits Webinar 012413
 
Django - non-technical introduction
Django - non-technical introductionDjango - non-technical introduction
Django - non-technical introduction
 
Monitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetupMonitoring with Icinga @ SF Bay Area LSPE meetup
Monitoring with Icinga @ SF Bay Area LSPE meetup
 
Drupal In 1 Hour
Drupal In 1 HourDrupal In 1 Hour
Drupal In 1 Hour
 
Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.
 
Achieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with ChefAchieving Infrastructure Portability with Chef
Achieving Infrastructure Portability with Chef
 
Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud Security
 
IMPACT Interoperability Framework - Clemens Neudecker
IMPACT Interoperability Framework - Clemens NeudeckerIMPACT Interoperability Framework - Clemens Neudecker
IMPACT Interoperability Framework - Clemens Neudecker
 
Better Tools, Better Mindset
Better Tools, Better MindsetBetter Tools, Better Mindset
Better Tools, Better Mindset
 
zAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.pptzAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.ppt
 
Achieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.pptAchieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.ppt
 
Frokost seminar windows 8 februar 2013
Frokost seminar   windows 8 februar 2013Frokost seminar   windows 8 februar 2013
Frokost seminar windows 8 februar 2013
 
Deep thoughts from the real world of azure
Deep thoughts from the real world of azureDeep thoughts from the real world of azure
Deep thoughts from the real world of azure
 
Joel Jacobson (Datastax) - Diagnosing Cassandra Problems in Production
Joel Jacobson (Datastax) - Diagnosing Cassandra Problems in ProductionJoel Jacobson (Datastax) - Diagnosing Cassandra Problems in Production
Joel Jacobson (Datastax) - Diagnosing Cassandra Problems in Production
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with Chef
 
Chef for OpenStack - OpenStack Fall 2012 Summit
Chef for OpenStack  - OpenStack Fall 2012 SummitChef for OpenStack  - OpenStack Fall 2012 Summit
Chef for OpenStack - OpenStack Fall 2012 Summit
 
Chef for OpenStack- Fall 2012.pdf
Chef for OpenStack- Fall 2012.pdfChef for OpenStack- Fall 2012.pdf
Chef for OpenStack- Fall 2012.pdf
 

Dernier

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Dernier (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

State of Pinax

  • 1. State of James Tauber DjangoCon 2009
  • 2.
  • 4. 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
  • 5. Your Site Your Site Django Python Python
  • 6. idea realisation
  • 7. 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
  • 8. Hot Club of France reusable apps app conventions
  • 9. Potter Predictions • send invitations • connect to friends • make comments on predictions • tag prediction • mass mailout to users
  • 10. Tabula Rasa reusable apps app conventions + starting point for new projects scaffolding for developing new apps
  • 11.
  • 12. 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
  • 13. Let’s Build a Social Networking Site
  • 14.
  • 15.
  • 16. { n | available(“cloud<n>.com”), n < 30 } = { 14, 26, 27, 28 }
  • 17. collection of reusable apps conventions for reusable apps starting point for new projects scaffolding for developing new apps + a platform for website development
  • 18. Your Project Your Project Pinax Django Django Python Python
  • 19. 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
  • 20. 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
  • 21. Your Project the trade off: Pinax how much to fix? how much to make configurable? how much to leave Django completely to site developer?
  • 22. Reusability is not just at the app layer
  • 23. reusable app quisition potterpredictions
  • 24. djangopeople pythonpeople
  • 29. Pinax IS NOT Django
  • 30. “Pinax is opinionated so Django doesn’t have to be”
  • 31. “PINAX: Even more opinionated than Django”
  • 32. 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)
  • 33. 1271 commits 343 tickets closed between 0.5 and 0.7 (not counting external apps)
  • 34. 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
  • 35. 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
  • 41. 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
  • 42. 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)
  • 43. 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
  • 44. New Group App • Don’t Repeat Yourself! • endo vs exo • group apps versus content apps • membership app
  • 49. Shared Templates and Media • look up: • project • pinax new level (multiple themes) • app • media build command • ship with famfamfam silk icons
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. 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
  • 55.
  • 56. 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
  • 57. Pinax is NOT just for social networks
  • 58. site site site site site site site site site site site site Learning Social Networks Intranets e-commerce Management Pinax Django
  • 59. site site site site site site site site site site site site Learning Social Networks Intranets e-commerce Management Pinax Django
  • 60. Editions • social networking • intranet • learning management • e-commerce • clubs and associations • conference management • software project management
  • 61. 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?
  • 62. Join Us During Sprint (even if just in #pinax-sprint on freenode)