customizing civicrm
play

Customizing CiviCRM Lisa Rau/Ashma Shrestha Stuart Gaston - PowerPoint PPT Presentation

Customizing CiviCRM Lisa Rau/Ashma Shrestha Stuart Gaston 3/25/12 www.ConfluenceCorp.com | @ConfluenceCorp 1 Outline Who Are WE? Why CiviCRM?


  1. Customizing ¡CiviCRM ¡ Lisa ¡Rau/Ashma ¡Shrestha ¡ Stuart ¡Gaston ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 1 ¡

  2. Outline ¡ • Who ¡Are ¡WE? ¡ • Why ¡CiviCRM? ¡ • Why ¡does ¡it ¡need ¡CustomizaJon? ¡ • Tools ¡and ¡Techniques ¡ • Pros ¡and ¡Cons ¡ ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 2 ¡

  3. Who ¡are ¡we? ¡ • Lisa ¡Rau ¡ – CEO ¡and ¡Co-­‑Founder ¡of ¡Confluence ¡focusing ¡on ¡Non-­‑ Profit ¡since ¡2001 ¡ – 425 ¡Non-­‑Profit ¡clients ¡and ¡counJng ¡ – Specialize ¡in ¡open ¡source ¡– ¡Civi, ¡Joomla ¡and ¡Drupal ¡ • Ashma ¡Shrestha ¡ – Senior ¡Web ¡Developer ¡ – Specialized ¡in ¡Joomla/Wordpress/ ¡Drupal ¡ – Has ¡been ¡working ¡with ¡CiviCRM ¡since ¡2011 ¡ • Stuart ¡Gaston ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 3 ¡

  4. Why ¡CiviCRM? ¡ • Tools ¡for ¡Non-­‑Profits ¡ – ConsJtuent ¡management ¡ – Membership ¡Management ¡ – DonaJons ¡ ¡ – Advocacy ¡ – Events ¡Management ¡ • AcJve ¡community ¡with ¡20,340+ ¡Members ¡(and ¡ growing) ¡ • Excellent ¡integraJon ¡with ¡Drupal ¡and ¡Joomla ¡ • Low ¡total ¡Cost ¡of ¡Ownership ¡ ¡ – While ¡free; ¡sJll ¡requires ¡implementaJon ¡ ¡ ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 4 ¡

  5. Why ¡Does ¡it ¡Need ¡CustomizaJon? ¡ • Every ¡OrganizaJon ¡works ¡differently: ¡ ¡ ¡ ¡ ¡ ¡ – CiviCRM ¡covers ¡the ¡basic ¡needs ¡of ¡non-­‑profits, ¡every ¡ organizaJon ¡has ¡it ¡own ¡unique ¡set ¡of ¡requirements ¡ • CiviCRM ¡provides ¡tools ¡for ¡tailoring ¡the ¡needs ¡of ¡ organizaJons ¡using ¡a ¡variety ¡of ¡methods ¡ • We ¡will ¡be ¡focusing ¡on: ¡ – Custom ¡Data ¡and ¡Profile ¡ – Templates ¡and ¡PHP ¡files ¡override ¡ – Custom ¡modules ¡or ¡hooks ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 5 ¡

  6. Three ¡Methods ¡ • Custom ¡data ¡ • Overriding ¡templates ¡and ¡PHP ¡files ¡ • CreaJng ¡custom ¡modules ¡ ¡ – Using ¡hooks ¡ ¡ – CreaJng ¡custom ¡CiviCRM ¡modules ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 6 ¡

  7. Problems ¡ • Each ¡technique ¡has ¡pros ¡and ¡cons ¡ ¡ • Choice ¡of ¡technique ¡depends ¡on ¡the ¡parJcular ¡ requirements ¡ • Keep ¡in ¡mind ¡ – When ¡requirements ¡change ¡ ¡ – Appropriateness ¡of ¡technique ¡used ¡changes ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 7 ¡

  8. Method ¡1: ¡Custom ¡Data ¡ • Easiest ¡and ¡simplest ¡way ¡of ¡extending ¡CiviCRM ¡ • Standard ¡set ¡of ¡fields ¡for ¡storing, ¡searching ¡and ¡ extending ¡CiviCRM ¡elements. ¡Example: ¡ – Event ¡RegistraJon ¡InformaJon ¡ ¡ • ParJcipant ¡Custom ¡Data ¡type ¡ • Profiles ¡to ¡add ¡it ¡to ¡the ¡form ¡ – Credit ¡Union ¡InformaJon ¡ • Asset ¡Size ¡ • Credit ¡Union ¡Charter ¡number ¡ • Can ¡the ¡issue ¡be ¡resolved ¡by ¡Custom ¡Data? ¡ ¡ ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 8 ¡

  9. Custom ¡Data ¡Example ¡– ¡RegistraJon ¡ Data ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 9 ¡

  10. Custom ¡Data ¡– ¡ParJcipants ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 10 ¡

  11. Custom ¡Data ¡– ¡Credit ¡Union ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 11 ¡

  12. Custom ¡Data ¡-­‑ ¡Pros ¡ • Build ¡in ¡Core ¡ • Provides ¡flexibility ¡extend: ¡ – Contact, ¡Events, ¡acJviJes, ¡ContribuJon, ¡ Membership, ¡RelaJonship, ¡ParJcipants ¡ • Advanced ¡Search ¡ • Can ¡be ¡accessed ¡via ¡Profiles, ¡Webform, ¡Views ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 12 ¡

  13. Custom ¡Data ¡-­‑ ¡Cons ¡ • Custom ¡Data ¡variable ¡needs ¡to ¡be ¡manually ¡ entered ¡into ¡Drupal ¡“semngs.php” ¡file ¡ • Not ¡all ¡the ¡custom ¡data ¡are ¡accessible ¡via ¡ Views ¡and ¡Webforms ¡ • Adds ¡tables ¡in ¡the ¡database ¡for ¡each ¡custom ¡ data ¡group ¡and ¡columns ¡for ¡the ¡field ¡ – Overhead ¡-­‑ ¡DeleJng ¡Custom ¡data ¡will ¡not ¡ delete ¡the ¡tables ¡ ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 13 ¡

  14. Method ¡2 ¡-­‑ ¡Template ¡override ¡ • Overriding ¡smarty ¡templates ¡to ¡change ¡layout ¡ and ¡modify ¡presentaJon ¡ • TPL ¡files ¡ • Overridden ¡templates ¡are ¡stored ¡in ¡separate ¡ folder ¡ • Changing ¡layouts ¡of ¡Pages ¡and ¡Forms ¡ • Leveraging ¡API ¡to ¡add ¡more ¡features ¡and ¡data ¡ • Leveraging ¡jQuery ¡for ¡enhancement ¡ • Example ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 14 ¡ • Restrict ¡registrants ¡to ¡register ¡associated ¡individuals ¡to ¡the ¡

  15. Template ¡Override ¡-­‑ ¡RegistraJon ¡ { PATH_TO_CIVICRM_CUSTOM_TPL}/CRM/Event/Form/SelectEmployee.tpl ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 15 ¡

  16. Template ¡Override-­‑ ¡ConJnued ¡ {PATH_TO_CIVICRM_CUSTOM_TPL}/CRM/Event/Page/EventInfo.tpl ¡ ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 16 ¡

  17. Template ¡Override ¡-­‑ ¡Pros ¡ • Profile ¡ID ¡specific ¡form ¡edit ¡ – Example: ¡ ¡Edits ¡to ¡the ¡form ¡with ¡profile ¡id ¡52 ¡can ¡ be ¡done ¡by ¡creaJng ¡a ¡subfolder ¡with ¡ID ¡/ custom_template/CRM/Profile/Form/52/Edit.tpl ¡ • Quick ¡way ¡of ¡adding ¡funcJonality ¡and ¡design ¡ changes ¡to ¡the ¡forms ¡and ¡pages ¡ • Leverage ¡API ¡for ¡extending ¡funcJonality ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 17 ¡

  18. Template ¡Override ¡-­‑ ¡Cons ¡ • The ¡core ¡templates ¡might ¡get ¡modified ¡during ¡ the ¡upgrades ¡ – Might ¡break ¡the ¡overridden ¡template ¡ • Causes ¡problems ¡during ¡upgrade ¡if ¡proper ¡ procedures ¡are ¡not ¡followed ¡ • Use ¡hooks ¡for ¡complex ¡modificaJons ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 18 ¡

  19. Method ¡3 ¡-­‑ ¡Custom ¡modules ¡ (Hooks) ¡ • Hooks ¡ – Technique ¡used ¡in ¡ programming ¡for ¡altering/ enhancing ¡behavior ¡ ¡ – Extends ¡CiviCRM ¡funcJonality ¡ – 39 ¡hooks ¡available ¡ ¡ – Example: ¡ • Build ¡Price ¡hook: ¡Modify ¡the ¡ price ¡set ¡for ¡Events ¡depending ¡ on ¡the ¡OrganizaJon ¡Asset ¡size ¡ • Token ¡hook ¡-­‑ ¡Add ¡extra ¡Custom ¡ mail ¡merge ¡token ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 19 ¡

  20. Hook: ¡Asset ¡Size ¡Discount ¡ • Custom ¡Data ¡ – Event ¡Custom ¡Data ¡– ¡Asset ¡Size ¡Discount ¡ (custom_170) ¡ – OrganizaJon ¡Custom ¡Data ¡-­‑ ¡Credit ¡Union ¡Asset ¡ Size ¡ ¡(custom_62) ¡ • API ¡Used ¡ – UFMatch ¡– ¡Get ¡Employer ¡InformaJon ¡ – Event ¡– ¡Check ¡if ¡Asset ¡Size ¡Discount ¡is ¡applicable ¡ – Contact ¡– ¡Get ¡OrganizaJon ¡Asset ¡InformaJon ¡ • civicrm_asset_discount_civicrm_buildAmount( ¡$pag eType, ¡&$form, ¡&$amount ¡) ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 20 ¡

  21. Hook-­‑ ¡Asset ¡Size ¡Discount ¡ • CiviCRM_Asset_Discount ¡Module ¡ 3/25/12 ¡ www.ConfluenceCorp.com ¡ ¡| ¡ ¡@ConfluenceCorp ¡ 21 ¡

Recommend


More recommend