Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports:...
Transcript of Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports:...
![Page 1: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/1.jpg)
Custom Reports for CiviCRM:
Not as hard as you might think.
![Page 2: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/2.jpg)
Anything
CiviReport does, you can do.
Grouping
Charts
Filters
Displaycolumns
Customdata
Linked text
Textmanipulation
Defaultsettings
Ordering
Anything.
![Page 3: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/3.jpg)
What you'll need
Good grasp of SQL.
Basic understanding of
Object-Oriented Programming.
Decent IDE.
Patience.
![Page 4: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/4.jpg)
Getting started
Documentation:
http://bit.ly/civireport_customize
![Page 5: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/5.jpg)
Getting started
Directories
for custom
templates and
PHP files.
![Page 6: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/6.jpg)
Getting started
Extending CRM_Report_Form:
● Override an existing report; OR
● Create a completely new one.
![Page 7: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/7.jpg)
Simple example:Add a column to an existing report.
![Page 8: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/8.jpg)
Simple example:Add a column to an existing report.
$civicrm_root/CRM/Report/Form/Contact/Summary.php
[custom_dir]/CRM/Report/Form/Contact/Summary.php
![Page 9: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/9.jpg)
Simple example:Add a column to an existing report.
![Page 10: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/10.jpg)
Simple example:Add a column to an existing report.
![Page 11: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/11.jpg)
Creating a new report
“A report showing the name
and phone number of everyone
who came to more than
one event last year.”
![Page 12: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/12.jpg)
Creating a new report
![Page 13: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/13.jpg)
Creating a new report
$civicrm_root/CRM/Report/Form/Event/ParticipantListing.php
[custom_dir]/CRM/Report/Form/Event/ParticipantAggregate.php
![Page 14: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/14.jpg)
Creating a new report
![Page 15: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/15.jpg)
Creating a new report
$civicrm_root/templates/CRM/Report/Form/Event/ParticipantListing.tpl
[custom_dir]/templates/CRM/Report/Form/Event/ParticipantAggregate.tpl
![Page 16: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/16.jpg)
Creating a new report
Register the
new report
template.
![Page 17: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/17.jpg)
Creating a new report
Register the
new report
template.
![Page 18: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/18.jpg)
Creating a new report
![Page 19: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/19.jpg)
$_columns array: 'fields': existing
![Page 20: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/20.jpg)
$_columns array: 'fields': count
![Page 21: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/21.jpg)
$_columns array: 'fields': phone
![Page 22: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/22.jpg)
$_columns array: 'fields': phone
![Page 23: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/23.jpg)
from( ) method: phone table
![Page 24: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/24.jpg)
Quick debugging tip:
Print the actual report SQL to a
status message, near the end of
CRM_Report_Form::buildQuery( ) :
CRM_Core_Session::setStatus("<pre>$sql</pre>"
);
![Page 25: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/25.jpg)
$_columns array: 'group_bys':Contact ID
![Page 26: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/26.jpg)
$_columns array: 'filters': count
![Page 27: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/27.jpg)
where( ) method
![Page 28: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/28.jpg)
where( ) method
![Page 29: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/29.jpg)
$_columns array: 'order_bys':postal code
![Page 30: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/30.jpg)
alterDisplay( ) method:
![Page 31: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/31.jpg)
Useful thing #1Improved styles for printing reports:
http://bit.ly/civireport_printstyle
![Page 32: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/32.jpg)
Useful thing #2User-private reports:
http://drupal.org/project/civicrm_private_report
![Page 33: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/33.jpg)
Last thing, lots o' fun: Charts
![Page 34: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/34.jpg)
Last thing, lots o' fun: Charts
![Page 35: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/35.jpg)
Last thing, lots o' fun: Charts
![Page 36: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/36.jpg)
Last thing, lots o' fun: Charts
CRM_Report_Form_Contribute_Summary
CRM_Report_Form_Contribute_Sybunt
CRM_Report_Form_Contribute_Lybunt
Examples in core reports:
![Page 37: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/37.jpg)
Grouping
Charts
Filters
Displaycolumns
Customdata
Linked text
Textmanipulation
Defaultsettings
Ordering
![Page 38: Custom Reports for CiviCRM · Extending CRM_Report_Form: ... Improved styles for printing reports: ... Useful thing #2 User-private reports: . Last ...](https://reader031.fdocuments.us/reader031/viewer/2022022515/5afa942b7f8b9ad2208f7401/html5/thumbnails/38.jpg)