Skip to content
Snippets Groups Projects
mkdocs.yml 14.8 KiB
Newer Older
site_name: Developer Guide
repo_url: https://github.com/civicrm/civicrm-dev-docs
site_description: A guide for CiviCRM developers.
site_author: The CiviCRM community
theme: material
totten's avatar
totten committed
pages:
- Basics:
  - Developer Community: basics/community.md
  - Requirements: basics/requirements.md
  - Useful Skills: basics/skills.md
  - Planning Your Project: basics/planning.md
Sean Madsen's avatar
Sean Madsen committed
- Tools:
  - Development Tools: tools/index.md
Sean Madsen's avatar
Sean Madsen committed
  - Buildkit: tools/buildkit.md
  - civibuild: tools/civibuild.md
  - cividist: tools/cividist.md
mickadoo's avatar
mickadoo committed
  - civilint: tools/civilint.md
  - civi-test-run: tools/civi-test-run.md
  - Issue Tracking: tools/issue-tracking.md
  - Git, GitHub, & GitLab: tools/git.md
  - Jenkins: tools/jenkins.md
  - PhpStorm: tools/phpstorm.md
  - Debugging: tools/debugging.md
  - Universe: tools/universe.md
Sean Madsen's avatar
Sean Madsen committed
- Core:
  - When to Edit Core: core/hacking.md
  - How to Contribute: core/contributing.md
wmortada's avatar
wmortada committed
  - Reviewing a PR: core/pr-review.md
  - Verifying a Bug Fix: core/verify-fix.md
  - Release Process: core/release-process.md
JoeMurray's avatar
JoeMurray committed
- Financial:
  - Overview: financial/overview.md
homotechsual's avatar
homotechsual committed
  - Order API: financial/orderAPI.md
  - Payment API: financial/paymentAPI.md
homotechsual's avatar
homotechsual committed
  - Entities: financial/financialentities.md
Sean Madsen's avatar
Sean Madsen committed
- Extensions:
Sean Madsen's avatar
Sean Madsen committed
  - Basics: extensions/index.md
  - Packaging Options: extensions/packaging.md
  - civix: extensions/civix.md
  - Extension Structure: extensions/structure.md
  - info.xml File: extensions/info-xml.md
  - Publishing Extensions: extensions/publish.md
  - Extension Lifecycle: extensions/lifecycle.md
  - Troubleshooting: extensions/troubleshooting.md
  - Advanced Patterns: extensions/advanced.md
Sean Madsen's avatar
Sean Madsen committed
  - Payment Processors:
    - Payment Processors: extensions/payment-processors/index.md
    - Payment Processor Types: extensions/payment-processors/types.md
Sean Madsen's avatar
Sean Madsen committed
    - Creating a Payment Processor: extensions/payment-processors/create.md
  - CMS-specific development: extensions/cms-specific.md
Seamus Lee's avatar
Seamus Lee committed
  - API Intro: api/index.md
  - API Interfaces: api/interfaces.md
  - APIv4:
    - APIv4 Usage: api/v4/usage.md
    - APIv4 Actions: api/v4/actions.md
    - APIv4 Joins: api/v4/joins.md
    - APIv4 Chaining: api/v4/chaining.md
    - APIv4 Custom Data: api/v4/custom-data.md
colemanw's avatar
colemanw committed
    - APIv4 Architecture: api/v4/architecture.md
colemanw's avatar
colemanw committed
    - Differences Between Api v3 and v4: api/v4/differences-with-v3.md
    - APIv4 Changelog: api/v4/changes.md
Seamus Lee's avatar
Seamus Lee committed
  - APIv3:
    - APIv3 Usage: api/v3/usage.md
    - APIv3 Actions: api/v3/actions.md
    - APIv3 Options: api/v3/options.md
    - APIv3 Joins: api/v3/joins.md
    - APIv3 Chaining: api/v3/chaining.md
    - APIv3 Custom Data: api/v3/custom-data.md
    - APIv3 Examples: api/v3/examples.md
    - APIv3 Changelog: api/v3/changes.md
  - Hooks Introduction: hooks/index.md
  - Hooks Changelog: hooks/changes.md
ayduns's avatar
ayduns committed
    - Hooks in Extensions: hooks/usage/extension.md
    - Hooks in Symfony: hooks/usage/symfony.md
    - Hooks in Drupal: hooks/usage/drupal.md
    - Hooks in Joomla: hooks/usage/joomla.md
    - Hooks in WordPress: hooks/usage/wordpress.md
  - All Hooks: hooks/list.md
  - Batch Hooks:
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_batchItems: hooks/hook_civicrm_batchItems.md
    - hook_civicrm_batchQuery: hooks/hook_civicrm_batchQuery.md
  - Case Hooks:
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_caseChange: hooks/hook_civicrm_caseChange.md
    - hook_civicrm_caseTypes: hooks/hook_civicrm_caseTypes.md
    - hook_civicrm_post_case_merge: hooks/hook_civicrm_post_case_merge.md
    - hook_civicrm_pre_case_merge: hooks/hook_civicrm_pre_case_merge.md
  - Database Hooks:
    - hook_civicrm_alterLocationMergeData: hooks/hook_civicrm_alterLocationMergeData.md
    - hook_civicrm_copy: hooks/hook_civicrm_copy.md
    - hook_civicrm_custom: hooks/hook_civicrm_custom.md
    - hook_civicrm_managed: hooks/hook_civicrm_managed.md
    - hook_civicrm_merge: hooks/hook_civicrm_merge.md
    - hook_civicrm_post: hooks/hook_civicrm_post.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_postSave_table_name: hooks/hook_civicrm_postSave_table_name.md
    - hook_civicrm_pre: hooks/hook_civicrm_pre.md
    - hook_civicrm_referenceCounts: hooks/hook_civicrm_referenceCounts.md
    - hook_civicrm_triggerInfo: hooks/hook_civicrm_triggerInfo.md
  - Dedupe Hooks:
    - hook_civicrm_dupeQuery: hooks/hook_civicrm_dupeQuery.md
    - hook_civicrm_findDuplicates: hooks/hook_civicrm_findDuplicates.md
  - Entity Hooks:
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_entityTypes: hooks/hook_civicrm_entityTypes.md
mattwire's avatar
mattwire committed
  - Extension Lifecycle Hooks:
    - hook_civicrm_disable: hooks/hook_civicrm_disable.md
    - hook_civicrm_enable: hooks/hook_civicrm_enable.md
    - hook_civicrm_install: hooks/hook_civicrm_install.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_postInstall: hooks/hook_civicrm_postInstall.md
    - hook_civicrm_uninstall: hooks/hook_civicrm_uninstall.md
    - hook_civicrm_upgrade: hooks/hook_civicrm_upgrade.md
  - Form Hooks:
    - hook_civicrm_alterAngular: hooks/hook_civicrm_alterAngular.md
    - hook_civicrm_alterContent: hooks/hook_civicrm_alterContent.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_alterTemplateFile: hooks/hook_civicrm_alterTemplateFile.md
    - hook_civicrm_buildForm: hooks/hook_civicrm_buildForm.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_idsException: hooks/hook_civicrm_idsException.md
    - hook_civicrm_postProcess: hooks/hook_civicrm_postProcess.md
    - hook_civicrm_preProcess: hooks/hook_civicrm_preProcess.md
    - <del>hook_civicrm_validate</del>: hooks/hook_civicrm_validate.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_validateForm: hooks/hook_civicrm_validateForm.md
  - GUI Hooks:
    - hook_civicrm_activeTheme: hooks/hook_civicrm_activeTheme.md
    - hook_civicrm_alterEntityRefParams: hooks/hook_civicrm_alterEntityRefParams.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_alterMenu: hooks/hook_civicrm_alterMenu.md
    - hook_civicrm_buildAmount: hooks/hook_civicrm_buildAmount.md
    - hook_civicrm_caseSummary: hooks/hook_civicrm_caseSummary.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_contact_get_displayname: hooks/hook_civicrm_contact_get_displayname.md
    - <del>hook_civicrm_customFieldOptions</del>: hooks/hook_civicrm_customFieldOptions.md
    - hook_civicrm_dashboard: hooks/hook_civicrm_dashboard.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_dashboard_defaults: hooks/hook_civicrm_dashboard_defaults.md
homotechsual's avatar
homotechsual committed
    - hook_civicrm_entityRefFilters: hooks/hook_civicrm_entityRefFilters.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_fieldOptions: hooks/hook_civicrm_fieldOptions.md
    - hook_civicrm_links: hooks/hook_civicrm_links.md
    - hook_civicrm_navigationMenu: hooks/hook_civicrm_navigationMenu.md
    - hook_civicrm_pageRun: hooks/hook_civicrm_pageRun.md
    - hook_civicrm_searchColumns: hooks/hook_civicrm_searchColumns.md
    - hook_civicrm_searchTasks: hooks/hook_civicrm_searchTasks.md
    - hook_civicrm_summary: hooks/hook_civicrm_summary.md
    - hook_civicrm_summaryActions: hooks/hook_civicrm_summaryActions.md
Seamus Lee's avatar
Seamus Lee committed
    - hook_civicrm_themes: hooks/hook_civicrm_themes.md
    - <del>hook_civicrm_tabs</del>: hooks/hook_civicrm_tabs.md
    - hook_civicrm_tabset: hooks/hook_civicrm_tabset.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_xmlMenu: hooks/hook_civicrm_xmlMenu.md
  - Mail Hooks:
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_alterMailContent: hooks/hook_civicrm_alterMailContent.md
    - hook_civicrm_alterMailer: hooks/hook_civicrm_alterMailer.md
    - hook_civicrm_alterMailParams: hooks/hook_civicrm_alterMailParams.md
    - hook_civicrm_alterMailingRecipients: hooks/hook_civicrm_alterMailingRecipients.md
    - hook_civicrm_emailProcessor: hooks/hook_civicrm_emailProcessor.md
    - hook_civicrm_emailProcessorContact: hooks/hook_civicrm_emailProcessorContact.md
    - hook_civicrm_mailingGroups: hooks/hook_civicrm_mailingGroups.md
    - hook_civicrm_postEmailSend: hooks/hook_civicrm_postEmailSend.md
    - hook_civicrm_postMailing: hooks/hook_civicrm_postMailing.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_unsubscribeGroups: hooks/hook_civicrm_unsubscribeGroups.md
  - Membership Hooks:
    - hook_civicrm_alterCalculatedMembershipStatus: hooks/hook_civicrm_alterCalculatedMembershipStatus.md
    - hook_civicrm_membershipTypeValues: hooks/hook_civicrm_membershipTypeValues.md
  - Permission Hooks:
    - hook_civicrm_aclGroup: hooks/hook_civicrm_aclGroup.md
    - hook_civicrm_aclWhereClause: hooks/hook_civicrm_aclWhereClause.md
    - hook_civicrm_alterAPIPermissions: hooks/hook_civicrm_alterAPIPermissions.md
    - hook_civicrm_notePrivacy: hooks/hook_civicrm_notePrivacy.md
    - hook_civicrm_permission: hooks/hook_civicrm_permission.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_permission_check: hooks/hook_civicrm_permission_check.md
    - hook_civicrm_selectWhereClause: hooks/hook_civicrm_selectWhereClause.md
  - Profile Hooks:
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_buildProfile: hooks/hook_civicrm_buildProfile.md
    - hook_civicrm_buildUFGroupsForModule: hooks/hook_civicrm_buildUFGroupsForModule.md
    - hook_civicrm_processProfile: hooks/hook_civicrm_processProfile.md
    - hook_civicrm_searchProfile: hooks/hook_civicrm_searchProfile.md
    - hook_civicrm_validateProfile: hooks/hook_civicrm_validateProfile.md
    - hook_civicrm_viewProfile: hooks/hook_civicrm_viewProfile.md
  - Report Hooks:
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_alterReportVar: hooks/hook_civicrm_alterReportVar.md
  - SMS Hooks:
    - hook_civicrm_inboundSMS: hooks/hook_civicrm_inboundSMS.md
  - Scheduled Job / cron Hooks:
    - hook_civicrm_cron: hooks/hook_civicrm_cron.md
    - hook_civicrm_preJob: hooks/hook_civicrm_preJob.md
    - hook_civicrm_postJob: hooks/hook_civicrm_postJob.md
  - Uncategorized Hooks:
    - hook_civicrm_alterBadge: hooks/hook_civicrm_alterBadge.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_alterBarcode: hooks/hook_civicrm_alterBarcode.md
    - hook_civicrm_alterLogTables: hooks/hook_civicrm_alterLogTables.md
    - hook_civicrm_alterMailingLabelParams: hooks/hook_civicrm_alterMailingLabelParams.md
    - hook_civicrm_alterPaymentProcessorParams: hooks/hook_civicrm_alterPaymentProcessorParams.md
    - hook_civicrm_alterSettingsFolders: hooks/hook_civicrm_alterSettingsFolders.md
    - hook_civicrm_alterSettingsMetaData: hooks/hook_civicrm_alterSettingsMetaData.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_angularModules: hooks/hook_civicrm_angularModules.md
    - hook_civicrm_apiWrappers: hooks/hook_civicrm_apiWrappers.md
    - hook_civicrm_buildAsset: hooks/hook_civicrm_buildAsset.md
    - hook_civicrm_buildStateProvinceForCountry: hooks/hook_civicrm_buildStateProvinceForCountry.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_check: hooks/hook_civicrm_check.md
    - hook_civicrm_config: hooks/hook_civicrm_config.md
    - <del>hook_civicrm_contactListQuery</del>: hooks/hook_civicrm_contactListQuery.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_container: hooks/hook_civicrm_container.md
    - hook_civicrm_coreResourceList: hooks/hook_civicrm_coreResourceList.md
    - hook_civicrm_crudLink: hooks/hook_civicrm_crudLink.md
    - hook_civicrm_eventDiscount: hooks/hook_civicrm_eventDiscount.md
    - hook_civicrm_export: hooks/hook_civicrm_export.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_fileSearches: hooks/hook_civicrm_fileSearches.md
    - hook_civicrm_geocoderFormat: hooks/hook_civicrm_geocoderFormat.md
    - hook_civicrm_getAssetUrl: hooks/hook_civicrm_getAssetUrl.md
    - hook_civicrm_import: hooks/hook_civicrm_import.md
Andie Hunt's avatar
Andie Hunt committed
    - <del>hook_civicrm_optionValues</del>: hooks/hook_civicrm_optionValues.md
    - hook_civicrm_postIPNProcess: hooks/hook_civicrm_postIPNProcess.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_queryObjects: hooks/hook_civicrm_queryObjects.md
    - hook_civicrm_recent: hooks/hook_civicrm_recent.md
Andie Hunt's avatar
Andie Hunt committed
    - hook_civicrm_tokens: hooks/hook_civicrm_tokens.md
    - hook_civicrm_tokenValues: hooks/hook_civicrm_tokenValues.md
    - hook_civicrm_unhandledException: hooks/hook_civicrm_unhandledException.md
- Testing:
  - Testing: testing/index.md
  - Continuous Integration: testing/continuous-integration.md
  - PHP:
    - PHPUnit Tests: testing/phpunit.md
    # - Codeception Tests: testing/codeception.md
    - Selenium Tests: testing/selenium.md
  - Javascript:
    - Karma Tests: testing/karma.md
    # - Protractor Tests: testing/protractor.md
    - QUnit Tests: testing/qunit.md
  - Other:
    - Upgrade Tests: testing/upgrades.md
    - Manual Tests: testing/manual.md
- Security:
  - Secure Coding: security/index.md
  - Securing Inputs: security/inputs.md
  - Securing Outputs: security/outputs.md
  - Permissions: security/permissions.md
  - Access Control: security/access.md
  - Reporting Vulnerabilities: security/reporting.md
- Framework:
  - AJAX Pages and Forms Reference: framework/ajax.md
  - AngularJS:
    - AngularJS Intro: framework/angular/index.md
    - AngularJS Quick Start: framework/angular/quickstart.md
    - AngularJS File Names: framework/angular/files.md
    - AngularJS Loader: framework/angular/loader.md
    - AngularJS Changesets:  framework/angular/changeset.md
  - Asset Builder: framework/asset-builder.md
  - Bootstrap Process: framework/bootstrap.md
  - Backbone Reference: framework/backbone.md
  - Cache Reference: framework/cache.md
  - CiviMail: framework/civimail.md
  - CiviReport: framework/civireport.md
  - Codebase: framework/codebase.md
  - Database:
    - Overview: framework/database/index.md
    - XML Schema definition: framework/database/schema-definition.md
    - Schema Design: framework/database/schema-design.md
    - Transaction Reference: framework/database/transactions.md
  - File System: framework/filesystem.md
  - PseudoConstant Reference: framework/pseudoconstant.md
  - QuickForm Reference:
     - QuickForm: framework/quickform/index.md
     - Entity Reference Field: framework/quickform/entityref.md
Rich's avatar
Rich committed
  - Queue Reference: framework/queues/index.md
  - Region Reference: framework/region.md
Sean Madsen's avatar
Sean Madsen committed
  - Routing: framework/routing.md
  - Resources Reference: framework/resources.md
  - Setting Reference: framework/setting.md
totten's avatar
totten committed
  - Setup Reference:
    - Overview: framework/setup/index.md
    - Getting Started: framework/setup/getting-started.md
    - New Installer: framework/setup/new-installer.md
    - New Plugin: framework/setup/new-plugin.md
    - Manage Plugins: framework/setup/plugins.md
  - Template Reference:
    - Templates: framework/templates/index.md
    - Customizing Templates: framework/templates/customizing.md
    - Extending Smarty: framework/templates/extending-smarty.md
  - Theme Reference: framework/theme.md
  - Token Reference: framework/token.md
  - UI Reference: framework/ui.md
  - Upgrade Reference: framework/upgrade.md
- Translation:
  - Translation: translation/index.md
  - Extensions Translation: translation/extensions.md
  - Database localized fields and upgrades: translation/database.md
- Standards:
  - Coding Standards: standards/index.md
  - PHP Standards: standards/php.md
  - Javascript Standards: standards/javascript.md
  - Database Standards: standards/database.md
  - Review Standards: standards/review.md
- Documentation:
Sean Madsen's avatar
Sean Madsen committed
  - Writing Documentation: documentation/index.md
  - Documenting Extensions: documentation/extensions.md
Sean Madsen's avatar
Sean Madsen committed
  - Markdown: documentation/markdown.md
  - Style Guide: documentation/style-guide.md


markdown_extensions:
  - attr_list
  - admonition
  - def_list
  - toc:
      permalink: true
  - pymdownx.highlight:
      guess_lang: true
      extend_pygments_lang:
        - name: php
          lang: php
          options:
            startinline: true
  - pymdownx.superfences:
      css_class: codehilite
  - pymdownx.inlinehilite:
      css_class: codehilite
  - pymdownx.tilde
  - pymdownx.betterem
  - pymdownx.mark