Posted 09.09.2009 by Jack
These are truly raw notes taken at the CiviCRM Developer Camp in NYC. These notes are mostly intended for and thus primarily decipherable by me, but I’m sharing them in case there’s something of use or interest for other folks.
Note: this was a little over my head, so my notes might be more muddled than usual.
- Basic File Structure
- Packages Used
- PEAR - Quickform + DataObjects
- Smarty - Templating
- Jquery - AJAX Library
- WYSIWYG Editor - FCKEditor/TinyMCE
- PayPal and other payment processors
- Other packages can be found in civicrm/packages
- Code Structure - PHP files and Templates
- PHP files found in civicrm/CRM; subsequent directories are named clearly and self-evidently
- Form directories (e.g. civicrm/templates/CRM/Contact/Form) include PHP for forms used to create and edit records, data entry; Page directories (e.g. civicrm/templates/CRM/Contact/Page) include PHP for pages used to display records
- BAO - Business Access Object - where you define all the functions (create, add, delete, etc)
- DAO - auto-generated by the systems - schemas defined in XML file - DAOs used for data objects
- when you get CiviCRM from svn, no DAO files are stored in the repo, need to be generated; they are there when you get the CiviCRM tarball
- Menu Structure
- Menus are defined in xml files (eg: Contact.xml)
- Also an xml menu hook so you can insert your own menus/items into the CiviCRM menus