Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Contributing to PEAR
     DOs and DON’Ts

       by Bill Shupp


      OSCAMP 2009
Why publish via PEAR?

 • Well known distribution channel
 • Lots of reusable dependencies
 • Package manager
 • Peer revi...
When to use PEAR for
   distribution?

  • Libraries (pear.php.net)
  • Full applications/frameworks (channels)
When NOT to use
  PEAR for distribution?
• Lots of components that change very frequently
  • Complex package manager (PEA...
How to contribute
• To existing packages
  • Bug fixes, feature requests/patches
• New packages
  • Formal proposal process...
Proposal Step 1:
  Prerequisites
• Choose a name/category
• Description
• License
• Documentation/Examples
• List dependen...
Proposal Step 2:
Initiate a discussion

 • Listen to feedback from the list.
(Remember, these are the folks that
will be v...
Proposal Step 3:
         Using PEPr
• Request a developer account (first time only)
• Formally propose package
• Respond t...
Take-aways
• Tools for CS compliance
• Tools for testing
Coding Standards

 • PHP_CodeSniffer
 • Custom standards
   • phpcs --standard=Digg
Testing Tips
Sample phpunit wrapper
Example Test Call
Example coverage report
Questions?
Thanks!

       bill@shupp.org

http://pear.php.net/user/shupp
Contributing to PEAR - DOs and DON'Ts
Upcoming SlideShare
Loading in …5
×

Contributing to PEAR - DOs and DON'Ts

1,221 views

Published on

A 45 minute talk I gave on 7/22/2009 for OSCAMP. It focused not only on how the pear proposal process works, but also when it does and does not make sense to publish your software through PEAR.

Published in: Technology, Self Improvement
  • Be the first to comment

  • Be the first to like this

Contributing to PEAR - DOs and DON'Ts

  1. Contributing to PEAR DOs and DON’Ts by Bill Shupp OSCAMP 2009
  2. Why publish via PEAR? • Well known distribution channel • Lots of reusable dependencies • Package manager • Peer review (CS / Tests, OO Design) • Supportive community (lists, irc, PEPr)
  3. When to use PEAR for distribution? • Libraries (pear.php.net) • Full applications/frameworks (channels)
  4. When NOT to use PEAR for distribution? • Lots of components that change very frequently • Complex package manager (PEAR, not Pyrus)
  5. How to contribute • To existing packages • Bug fixes, feature requests/patches • New packages • Formal proposal process (PEPr)
  6. Proposal Step 1: Prerequisites • Choose a name/category • Description • License • Documentation/Examples • List dependencies (pci)
  7. Proposal Step 2: Initiate a discussion • Listen to feedback from the list. (Remember, these are the folks that will be voting on your package.)
  8. Proposal Step 3: Using PEPr • Request a developer account (first time only) • Formally propose package • Respond to comments • Call for votes (sum of 5 required) • Profit!
  9. Take-aways • Tools for CS compliance • Tools for testing
  10. Coding Standards • PHP_CodeSniffer • Custom standards • phpcs --standard=Digg
  11. Testing Tips Sample phpunit wrapper
  12. Example Test Call
  13. Example coverage report
  14. Questions?
  15. Thanks! bill@shupp.org http://pear.php.net/user/shupp

×