-
Notifications
You must be signed in to change notification settings - Fork 448
Upgrade
Robert Spencer edited this page Jun 13, 2024
·
13 revisions
- Login to the system with a user that is an
admin
- Review the Open Tasks Notification On the top right corner of the menu.
- If there is a new version of the software, the version will be listed.
- Follow the steps to backup, download, and install the release.
- Go back to the main page, click the upgrade database button.
- Login to your upgraded system.
- Download the latest zip file from https://github.com/ChurchCRM/CRM/releases/latest
- Move the zip file in the same level as the /churchcrm
- Unzip the files over the existing files
- Update file permissions.
- Go back to the main page, click the upgrade database button.
- Login to your upgraded system.
Unfortunately, in the 3.0.0 release, a bug was introduced that prevents auto-upgrade from succeeding. This bug also affects 3.0.1. The good news is that it's an easy fix:
- Ensure you have access to the deployed ChurchCRM code.
- Edit the following File -
ChurchCRM/Service/SystemService.php
- Update Line 382 from
$release = $this->getLatestRelese();
{.php} to$release = $this->getLatestRelease();
{.php} - Try the Auto Upgrade process listed at the top of this page.
Unfortunately, in the 3.2.0 release, a bug was introduced that prevents auto-upgrade from succeeding. This bug also affects 3.2.1 and 3.2.2. The good news is that it's an easy fix with a few options:
Replace line 159 of UpgradeCRM.php
with this line before opening the upgrade wizard:
var downloadButton = "<button class=\"btn btn-primary\" id=\"downloadbutton\" role=\"button\" onclick=\"javascript:downloadbutton('"+data.BackupDownloadFileName+"')\"><i class='fa fa-download'></i> "+data.BackupDownloadFileName+"</button>";
While in the upgrade wizard, open a your browser's developer tools console, and paste the following code to generate a backup, and allow the backup wizard to continue:
window.CRM.APIRequest({
method : 'POST',
path : 'database/backup',
data : JSON.stringify({
'iArchiveType' : 3
})
})
.done(function(data) {
var downloadButton = "<button class=\"btn btn-primary\" id=\"downloadbutton\" role=\"button\" onclick=\"javascript:downloadbutton('"+data.BackupDownloadFileName+"')\"><i class='fa fa-download'></i> "+data.BackupDownloadFileName+"</button>";
$("#backupstatus").css("color","green");
$("#backupstatus").html("<?= gettext('Backup Complete, Ready for Download.') ?>");
$("#resultFiles").html(downloadButton);
$("#status1").html('<i class="fa fa-check" style="color:orange"></i>');
$("#downloadbutton").click(function(){
$("#fetchPhase").show("slow");
$("#backupPhase").slideUp();
$("#status1").html('<i class="fa fa-check" style="color:green"></i>');
});
}).fail(function() {
$("#backupstatus").css("color","red");
$("#backupstatus").html("<?= gettext('Backup Error.') ?>");
});