Answers.Body: <p><strong>Short answer:</strong></p>
  <p>Remove the offending file (which is <code>[cms.root]/administrator/components/com_civicrm/civicrm/Civi/ActionSchedule/Mapping.php</code>) since it is no longer used and interfering with the code in the new version of the CiviCRM code.</p>
  <p><strong>Longer answer:</strong></p>
  <p>Sometimes a new version no longer needs a file, so that file is not in the new distribution. This old file might, if left on the system, interfere with normal operation. Or as in this case completely trash it.</p>
  <p>The Joomla upgrade procedure is actually an install, and there is no mechanism for removing files.</p>
  <p>So when upgrading CiviCRM on Joomla it is important to note the particulars <a href="https://docs.civicrm.org/sysadmin/en/latest/upgrade/joomla/#install-the-extension" rel="nofollow noreferrer">described in the manual</a> for Joomla.</p>
  <p>A procedure that (almost) always will work is the following:</p>
  <ol>
  <li>Take a full backup of your site with Akeeba Backup (you should always do that before modifying a Joomla installation)</li>
  <li>Take your site off-line</li>
  <li>Move the CiviCRM installation to a backup location, e.g <code>sudo mv administrator/components/com_civicrm/civicrm civicrm-backup</code>, or if you are feeling lucky, just delete that directory</li>
  <li>Install the new CiviCRM distribution</li>
  <li>Bring your site online</li>
  </ol>
  <p>Since this procedure does not delete the whole CiviCRM component your settings files will be kept in place, so you should be done.</p>
  <p>Background: The Joomla CiviCRM can be seen as comprised of two parts, the actual CiviCRM code (residing in <code>[cms.root]/administrator/components/com_civicrm/civicrm</code>) and the Joomla component wrapper (the code that is required to make CiviCRM play nice inside a Joomla install).</p>
  <p>The only time the above procedure is risking problems is if any of the &quot;Joomla component files&quot; are subject to such change. But that is very unlikely, I would say, it is mostly the core CiviCRM that moves between releases.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-09-11T08:53:57.533Z
Answers.LastActivityDate: 2023-09-11T08:53:57.533Z
Answers.UserDisplayName: thoni56
Body: <p>When upgrading a Joomla-based installation to 5.65.0 we got this fatal error:</p>
  <pre><code>Fatal error: Declaration of Civi\ActionSchedule\Mapping::getValueHeader() must be compatible with Civi\ActionSchedule\MappingInterface::getValueHeader(): string in .../administrator/components/com_civicrm/civicrm/Civi/ActionSchedule/Mapping.php on line 177
  </code></pre>
  <p>What's up?</p>
  
Tags: <upgrade><joomla>
Title: Upgrading to 5.65 on Joomla gives Fatal Error
ThreadText: # Upgrading to 5.65 on Joomla gives Fatal Error
  
  (Asked by: username_0 on 2023-09-11)
  
  When upgrading a Joomla-based installation to 5.65.0 we got this fatal error:
  Fatal error: Declaration of Civi\ActionSchedule\Mapping::getValueHeader() must be compatible with Civi\ActionSchedule\MappingInterface::getValueHeader(): string in .../administrator/components/com_civicrm/civicrm/Civi/ActionSchedule/Mapping.php on line 177
  
  What's up?
  
  **Tags:** upgrade, joomla
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2023-09-11. Score: 3 | Accepted answer
  
  **Short answer:**
  
  Remove the offending file (which is `[cms.root]/administrator/components/com_civicrm/civicrm/Civi/ActionSchedule/Mapping.php`) since it is no longer used and interfering with the code in the new version of the CiviCRM code.
  
  **Longer answer:**
  
  Sometimes a new version no longer needs a file, so that file is not in the new distribution. This old file might, if left on the system, interfere with normal operation. Or as in this case completely trash it.
  
  The Joomla upgrade procedure is actually an install, and there is no mechanism for removing files.
  
  So when upgrading CiviCRM on Joomla it is important to note the particulars [described in the manual](https://docs.civicrm.org/sysadmin/en/latest/upgrade/joomla/#install-the-extension) for Joomla.
  
  A procedure that (almost) always will work is the following:
  
  1. Take a full backup of your site with Akeeba Backup (you should always do that before modifying a Joomla installation)
  2. Take your site off-line
  3. Move the CiviCRM installation to a backup location, e.g `sudo mv administrator/components/com_civicrm/civicrm civicrm-backup`, or if you are feeling lucky, just delete that directory
  4. Install the new CiviCRM distribution
  5. Bring your site online
  
  Since this procedure does not delete the whole CiviCRM component your settings files will be kept in place, so you should be done.
  
  Background: The Joomla CiviCRM can be seen as comprised of two parts, the actual CiviCRM code (residing in `[cms.root]/administrator/components/com_civicrm/civicrm`) and the Joomla component wrapper (the code that is required to make CiviCRM play nice inside a Joomla install).
  
  The only time the above procedure is risking problems is if any of the "Joomla component files" are subject to such change. But that is very unlikely, I would say, it is mostly the core CiviCRM that moves between releases.
  
  
  ---
  
  