Answers.Body: <p>It sounds like you may have an override file in place.  Check <strong>Administer » System Settings » Directories</strong> to get the custom PHP path, then look in the appropriate subfolder (if it exists) for an override file.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-13T19:31:17.630Z
Answers.Text: The override file is where I have placed my new class which is based on the Sybunt class, but it has a different classname and filename. This directory is the only place this class should exist.
Answers.UserDisplayName: R Dooman
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-22T00:15:05.980Z
Answers.Text: I am still having difficulties with this. Once a class has been registered, it never gets updated. My only recourse is to change the class name and filename by appending a suffix. I should not have to do this.
Answers.UserDisplayName: R Dooman
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-29T15:06:37.060Z
Answers.Text: Issue was traced to opcache, which was running on one site, but not the other. Followed the instructions here (https://ma.ttias.be/how-to-clear-php-opcache/) to clear the cache and that resolved the problem.
Answers.UserDisplayName: R Dooman
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-29T15:42:00.903Z
Answers.Text: @RDooman Thank you for reporting back!  Feel free to post that as a separate answer here and mark it "accepted".  It will help others and get you some upvotes.
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-13T06:45:08.047Z
Answers.LastActivityDate: 2017-03-13T06:45:08.047Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.Body: <p>Issue was traced to opcache, which was running on one site, but not the other. Followed the instructions here (ma.ttias.be/how-to-clear-php-opcache) to clear the cache and that resolved the problem. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-30T19:38:31.597Z
Answers.LastActivityDate: 2017-03-30T19:38:31.597Z
Answers.UserDisplayName: R Dooman
Answers.Body: <p>One word - <strong><em>pseudoconstants</em></strong>. Put clear_cache=1 in a call in the CiviAPI and see what happens.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-12T14:24:12.077Z
Answers.Text: Maybe my mention of flushing the cache was misleading. Since my new code is not being invoked at all, I'm not sure how adding a call would do anything. I can tell it is not being invoked because I add a field in the __construct() function, and that field does not appear in the 'Columns' tab of the report. I am modifying the out-of-the-box CRM_Report_Form_Contribute_Sybunt class, which as far as I can tell doesn't have any CiviAPI calls anyway.
Answers.UserDisplayName: R Dooman
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-12T14:41:58.287Z
Answers.Text: Same applies. Give it a go in an API call outside that class, i.e. with the API explorer.
Answers.UserDisplayName: JohnFF
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-12T15:54:12.017Z
Answers.Text: This had no impact. Executed the following from API explorer: $result = civicrm_api3('Contribution', 'get', array(
    'sequential' => 1,
    'clear_cache' => 1,
  ));
Answers.UserDisplayName: R Dooman
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-12T06:12:23.307Z
Answers.LastActivityDate: 2017-03-12T06:12:23.307Z
Answers.UserDisplayName: JohnFF
Body: <p>I am using 4.7.13 on two different sites. On one site, when I update the class and refresh my custom report, all of the changes are visible. On the other site when I do the same thing, the changes are not visible. Even stranger, when I delete the class (i.e., the PHP file), the report is still visible in its old form. I have tried 'flush all cache' and searching for any other cached versions without success. Since this works on one site but not the other I suspect there is some configuration setting that I am missing somewhere.</p>
  
Tags: <civireport><custom-reports>
Title: How to update custom report template
ThreadText: # How to update custom report template
  
  (Asked by: username_0 on 2017-03-10)
  
  I am using 4.7.13 on two different sites. On one site, when I update the class and refresh my custom report, all of the changes are visible. On the other site when I do the same thing, the changes are not visible. Even stranger, when I delete the class (i.e., the PHP file), the report is still visible in its old form. I have tried 'flush all cache' and searching for any other cached versions without success. Since this works on one site but not the other I suspect there is some configuration setting that I am missing somewhere.
  
  **Tags:** civireport, custom-reports
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2017-03-13. Score: 2
  
  It sounds like you may have an override file in place. Check **Administer » System Settings » Directories** to get the custom PHP path, then look in the appropriate subfolder (if it exists) for an override file.
  
  > **Comments:**
  > **username_0**: The override file is where I have placed my new class which is based on the Sybunt class, but it has a different classname and filename. This directory is the only place this class should exist.  
  > **username_0**: I am still having difficulties with this. Once a class has been registered, it never gets updated. My only recourse is to change the class name and filename by appending a suffix. I should not have to do this.  
  > **username_0**: Issue was traced to opcache, which was running on one site, but not the other. Followed the instructions here (https://ma.ttias.be/how-to-clear-php-opcache/) to clear the cache and that resolved the problem.  
  > **username_1**: @username_0 Thank you for reporting back!  Feel free to post that as a separate answer here and mark it "accepted".  It will help others and get you some upvotes.  
  
  ---
  
  ### Answer by username_0 on 2017-03-30. Score: 1
  
  Issue was traced to opcache, which was running on one site, but not the other. Followed the instructions here (ma.ttias.be/how-to-clear-php-opcache) to clear the cache and that resolved the problem.
  
  
  ---
  
  ### Answer by username_2 on 2017-03-12. Score: 0
  
  One word - ***pseudoconstants***. Put clear\_cache=1 in a call in the CiviAPI and see what happens.
  
  > **Comments:**
  > **username_0**: Maybe my mention of flushing the cache was misleading. Since my new code is not being invoked at all, I'm not sure how adding a call would do anything. I can tell it is not being invoked because I add a field in the __construct() function, and that field does not appear in the 'Columns' tab of the report. I am modifying the out-of-the-box CRM_Report_Form_Contribute_Sybunt class, which as far as I can tell doesn't have any CiviAPI calls anyway.  
  > **username_2**: Same applies. Give it a go in an API call outside that class, i.e. with the API explorer.  
  > **username_0**: This had no impact. Executed the following from API explorer: $result = civicrm_api3('Contribution', 'get', array(   'sequential' => 1,   'clear_cache' => 1, ));  
  
  ---
  
  