Creating CiviCRM Extensions
===========================

**CiviCRM Extensions** are packaged pieces of functionality that extend
CiviCRM's out-of-the-box functionality, independent of CMS plaform.

This section covers writing extensions, submitting extensions to the public
extensions directory, and the review process for extensions submitted to the
directory.

TODO:

-   General overview: Use APIv3 and hooks. Package code in Civi extensions or CMS extensions (w/trade-offs).
-   Assimilate: http://wiki.civicrm.org/confluence/display/CRMDOC/Create+an+Extension
-   Assimilate: http://wiki.civicrm.org/confluence/display/CRMDOC/Publish+an+Extension
-   Assimilate: https://wiki.civicrm.org/confluence/display/CRMDOC/Extension+Review
-   Create a CiviCRM extension developer's guide to best practices (Nicolas?)
-   Reference this page from the wiki and also https://civicrm.org/extensions (in the header).