SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
No! Bad Pony!
 Dr Russell Keith-Magee
    DjangoCon 2009
wotnews.com.au
 wotnews.com
 wotnews.co.uk
wearehunted.com
how is ponny formed?
Genesis of the pony
Cal Henderson @ DjangoCon2008
What does it mean?
What is a pony?
What turns an idea
 into a bad pony?
It’s an idea that...

• Is just plain wrong
• Is impractical
• Isn’t a good fit for Django’s design
• Takes the project in the wrong direction
• Comes without an offer of assistance
Ideas that are wrong
Ideas that are wrong

• Idea violates a standard or best practice
• Idea can’t be implemented
• Rusty Russell Interface Level too high
• Idea violates DRY
Impractical ideas
Impractical ideas

• A problem that doesn’t exist:YAGNI
• Changes the design contract
• Addresses a small part of larger problem
• Architecture astronauting
Design Mismatch
Replace X with Y

• Replace Django’s templates with Jinga
• Replace ORM with SQLAlchemy
• Replace test framework with Nose
Ignores the philosophy

• Add GROUP BY, HAVING to ORM
• Add variables/callables to template language
• Add AJAX to Forms
Just add a setting...

• A setting is a decision deferred
• N settings, 2 configurations
             N


• Doesn’t mean we won’t add settings
Wrong direction
Feature creep


• Make development server multithreaded
• Add connection pooling
Add a backend...

• MS-SQL / DB2 / SQLAnywhere / Firebird
• New authentication schemes (LDAP)
• New serialization schemes (CSV)
• New file stores (S3)
Put another way...

• You say “Add X to core”
• We hear:
 • “Here’s something else to worry about”
 • “Won’t you look after this for me”
• We introduce backend APIs for a reason
The Community

• The core doesn’t have to do everything
• In fact - the core can’t do everything
• The community has an essential role here
• Blessing by core doesn’t make code better
Add X to contrib

• django-tagging
• django-registration
• django-debug-toolbar
What is django.contrib?
A collection of
      optional,
  defacto standard
implementations of
 common patterns
Here’s a big job...
but I’d like someone else to do it (please)
Process Ponies

• Write more blog posts
• Have a weekly news summary
• Have a nightly tarball download
• Have a continuous build
• Have precompiled PDF documentation
Massive Features

• Support for multiple database connections
• Schema Evolution
• Support for non-SQL data stores
Some popular tickets
Almost certainly in 1.2


• #5390 - Signals for ManyRelatedManager
• #7052 - Problems with auth fixture loading
Possibly in 1.2

• #13 - Better related objects admin UI
• #1142 - Multiple database support
• #5833 - Custom Filterspecs
• #6845 - Model Validation
Waiting on patch
• #373 - Multi-column primary keys
• #2879 - Live test server support
• #4102 - Update of specific fields
• #6148 - Database schemas
• #6735 - Class-based generic views
• #7270 - Reverse select_related()
Waiting on design

• #2405 - FOR UPDATE in querysets
• #3011 - Extendable user auth module
• #3591 - Custom app_label/verbose_name
• #7048 - Support clearing FileFields
Waiting on decision

• #17 - Identity mapper
• #2417 - Binary DB fields
• #4604 - Session-based messages
How to get your pony
What won’t work

• Putting your name in the ticket CC
• Saying “me too” on a ticket or list thread
• Posting hyperbole on your blog
• Changing the ticket to “Milestone 1.X”
• Putting the ticket on the 1.X feature wiki
What will work

• Offer to help out
• Better still - actually help out!
• Build up karma
• Do the unglamorous stuff
 • Triage, django-users, patch feedback
Don’t just write code

• Yes, code needs to be written
• It isn’t just a matter of writing a patch
• You need to be an advocate
• Best advocate is someone who is trusted
A matter of trust

• Core team has limited resources
• We need to make best use of that time
• Understand the core DVCS message:
 • It’s all about trust
 • It’s not about forking - it’s about merging
If you must...

• Do the research
• Demonstrate you understand the problem
• Implementation trumps idle discussion
• Maximise utility for the core team
Yes Virginia,
you can have a pony.
No Pony
       !=
End of the world
Fin

Contenu connexe

En vedette

Introduction to django-config
Introduction to django-configIntroduction to django-config
Introduction to django-configTareque Hossain
 
State of Pinax
State of PinaxState of Pinax
State of Pinaxjtauber
 
Fighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and DjangoFighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and DjangoAndy McKay
 
Cowboy development with Django
Cowboy development with DjangoCowboy development with Django
Cowboy development with DjangoSimon Willison
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 KeynoteTed Leung
 

En vedette (6)

DjangoCon09: The Test Client
DjangoCon09: The Test ClientDjangoCon09: The Test Client
DjangoCon09: The Test Client
 
Introduction to django-config
Introduction to django-configIntroduction to django-config
Introduction to django-config
 
State of Pinax
State of PinaxState of Pinax
State of Pinax
 
Fighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and DjangoFighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and Django
 
Cowboy development with Django
Cowboy development with DjangoCowboy development with Django
Cowboy development with Django
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 

Similaire à DjangoCon09: No! Bad Pony!

Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Ivo Jansch
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPIoannis Baltopoulos
 
Pownce Lessons Learned
Pownce Lessons LearnedPownce Lessons Learned
Pownce Lessons Learnedleahculver
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereKevin Pettitt
 
[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
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in DrupalJeff Eaton
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for CitizensMikhail Zyatin
 
Web Design Workshop
Web Design WorkshopWeb Design Workshop
Web Design WorkshopSuseZ
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for CitizensMikhail Zyatin
 
What Would Core Do?
What Would Core Do?What Would Core Do?
What Would Core Do?Jake Goldman
 
Gw Pres Agile 4slideshare
Gw Pres Agile 4slideshareGw Pres Agile 4slideshare
Gw Pres Agile 4slideshareDave Burke
 
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Matthias Noback
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...CAMT
 
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
 

Similaire à DjangoCon09: No! Bad Pony! (20)

SEO and Accessibility
SEO and AccessibilitySEO and Accessibility
SEO and Accessibility
 
Rails For Legacy Apps
Rails For Legacy AppsRails For Legacy Apps
Rails For Legacy Apps
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 
Pownce Lessons Learned
Pownce Lessons LearnedPownce Lessons Learned
Pownce Lessons Learned
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates Everywhere
 
[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
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in Drupal
 
Mojomojo Talk
Mojomojo TalkMojomojo Talk
Mojomojo Talk
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
Web Design Workshop
Web Design WorkshopWeb Design Workshop
Web Design Workshop
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
What Would Core Do?
What Would Core Do?What Would Core Do?
What Would Core Do?
 
Gw Pres Agile 4slideshare
Gw Pres Agile 4slideshareGw Pres Agile 4slideshare
Gw Pres Agile 4slideshare
 
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
 
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
 

Dernier

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
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
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Dernier (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

DjangoCon09: No! Bad Pony!

  • 1. No! Bad Pony! Dr Russell Keith-Magee DjangoCon 2009
  • 4. how is ponny formed?
  • 6. Cal Henderson @ DjangoCon2008
  • 7.
  • 8. What does it mean?
  • 9. What is a pony?
  • 10.
  • 11. What turns an idea into a bad pony?
  • 12.
  • 13. It’s an idea that... • Is just plain wrong • Is impractical • Isn’t a good fit for Django’s design • Takes the project in the wrong direction • Comes without an offer of assistance
  • 14. Ideas that are wrong
  • 15. Ideas that are wrong • Idea violates a standard or best practice • Idea can’t be implemented • Rusty Russell Interface Level too high • Idea violates DRY
  • 17. Impractical ideas • A problem that doesn’t exist:YAGNI • Changes the design contract • Addresses a small part of larger problem • Architecture astronauting
  • 19. Replace X with Y • Replace Django’s templates with Jinga • Replace ORM with SQLAlchemy • Replace test framework with Nose
  • 20. Ignores the philosophy • Add GROUP BY, HAVING to ORM • Add variables/callables to template language • Add AJAX to Forms
  • 21. Just add a setting... • A setting is a decision deferred • N settings, 2 configurations N • Doesn’t mean we won’t add settings
  • 23. Feature creep • Make development server multithreaded • Add connection pooling
  • 24. Add a backend... • MS-SQL / DB2 / SQLAnywhere / Firebird • New authentication schemes (LDAP) • New serialization schemes (CSV) • New file stores (S3)
  • 25. Put another way... • You say “Add X to core” • We hear: • “Here’s something else to worry about” • “Won’t you look after this for me” • We introduce backend APIs for a reason
  • 26. The Community • The core doesn’t have to do everything • In fact - the core can’t do everything • The community has an essential role here • Blessing by core doesn’t make code better
  • 27. Add X to contrib • django-tagging • django-registration • django-debug-toolbar
  • 29. A collection of optional, defacto standard implementations of common patterns
  • 30. Here’s a big job... but I’d like someone else to do it (please)
  • 31. Process Ponies • Write more blog posts • Have a weekly news summary • Have a nightly tarball download • Have a continuous build • Have precompiled PDF documentation
  • 32. Massive Features • Support for multiple database connections • Schema Evolution • Support for non-SQL data stores
  • 34. Almost certainly in 1.2 • #5390 - Signals for ManyRelatedManager • #7052 - Problems with auth fixture loading
  • 35. Possibly in 1.2 • #13 - Better related objects admin UI • #1142 - Multiple database support • #5833 - Custom Filterspecs • #6845 - Model Validation
  • 36. Waiting on patch • #373 - Multi-column primary keys • #2879 - Live test server support • #4102 - Update of specific fields • #6148 - Database schemas • #6735 - Class-based generic views • #7270 - Reverse select_related()
  • 37. Waiting on design • #2405 - FOR UPDATE in querysets • #3011 - Extendable user auth module • #3591 - Custom app_label/verbose_name • #7048 - Support clearing FileFields
  • 38. Waiting on decision • #17 - Identity mapper • #2417 - Binary DB fields • #4604 - Session-based messages
  • 39. How to get your pony
  • 40. What won’t work • Putting your name in the ticket CC • Saying “me too” on a ticket or list thread • Posting hyperbole on your blog • Changing the ticket to “Milestone 1.X” • Putting the ticket on the 1.X feature wiki
  • 41. What will work • Offer to help out • Better still - actually help out! • Build up karma • Do the unglamorous stuff • Triage, django-users, patch feedback
  • 42. Don’t just write code • Yes, code needs to be written • It isn’t just a matter of writing a patch • You need to be an advocate • Best advocate is someone who is trusted
  • 43. A matter of trust • Core team has limited resources • We need to make best use of that time • Understand the core DVCS message: • It’s all about trust • It’s not about forking - it’s about merging
  • 44. If you must... • Do the research • Demonstrate you understand the problem • Implementation trumps idle discussion • Maximise utility for the core team
  • 45. Yes Virginia, you can have a pony.
  • 46.
  • 47. No Pony != End of the world
  • 48. Fin