Upgrade from 5.5.2.1 -> 5.6.1.2 fails - 'Call to undefined method AddBlockBlockTypePermissionAccess::isPermissionKeyInUse()'

Permalink 2 users found helpful
I get the error ....

Fatal error: Call to undefined method AddBlockBlockTypePermissionAccess::isPermissionKeyInUse() in /home/bes/public_html/updates/concrete5.6.1.2/concrete/helpers/concrete/upgrade/version_560.php on line 284

I have tried upgrading to 5.6.1 but get same error

Can anyone help?

Thanks, Tim

 
chassa2556 replied on at Permalink Reply
chassa2556
Hi I got this error and used this link

http://www.yourwebsite.com/index.php/tools/required/upgrade?source=...

That error is something to do with upgrading - this link takes you to the auto install upgrade path. Obviously put your www url instead of 'yourwebsite'. It should come up with 'upgraded successfully and clear it.

Hope this helps.
timdwyer replied on at Permalink Reply
Thanks, but that URL (that is called when clicking on the update option in the Dashboard)

http://www.yourwebsite.com/index.php/tools/required/upgrade?source=...

is the one that was being used to initiate the update and resulted in that error ....

Fatal error: Call to undefined method AddBlockBlockTypePermissionAccess::isPermissionKeyInUse() in /home/bes/public_html/updates/concrete5.6.1.2/concrete/helpers/concrete/upgrade/version_560.php on line 284
timdwyer replied on at Permalink Best Answer Reply
Solved this (after a worrying day or so and several reinstalls!)

The site would not upgrade direct to 5.6.1.2 from 5.5.2.1 - I had to upgrade to 5.6.0 first and then from there to 5.6.1.2
Shopimport replied on at Permalink Reply
Shopimport
Yes indeed I also had to upgrade to 5.6.0 prior to upgrade to 5.6.2.1. Thanks for the tip! However the auto update feature didn't allow me to select 5.6.0.
So how I did it...

Basically two steps. Step 1 is to get a working (older) version in case you have errors during update. If you can still access dashboard then skip step 1.

Step1: In case you cannot access dashboard after upgrade:

First check the updates folder and check which concrete5.X.X.X version was working before 5.6.2.1. You can also check the table config and check SITE_APP_VERSION.
Then in config/site.php I change define('DIRNAME_APP_UPDATED', 'concrete5.6.2.1') into the one you saw in updates define('DIRNAME_APP_UPDATED', 'concrete5.X.X.X') or if nothing appears in updates folder then remove the line as it will use the first installed version.

Step2: Download the 5.6.0 from the concrete5 website and unpack the zip in the updates folder. You should now have a updates/concrete5.6.0 folder. Edit config/site.php and make sure you have define('DIRNAME_APP_UPDATED', 'concrete5.6.0'). Now concrete will use this updates/concrete5.6.0 folder. Then navigate towww.www.yourowndomain.com/index.php/tools/required/upgrade?source=da... which starts to update the database. Replace yourowndomain.com with yours.

At the end (at least for me) you will have a working 5.6.0. And then you can use the automatic upgrade to 5.6.2.1
thenine replied on at Permalink Reply
thenine
Thanks for this clear instructions!!!!
Remo replied on at Permalink Reply
Remo
I've posted a bug for this because I think the auto updater should suggest 5.6.0 first:

http://www.concrete5.org/index.php?cID=481274...
bjalexander replied on at Permalink Reply
bjalexander
You wouldn't believe what a lifesaver you've been! Thank you for these clear instructions.

Now that I'm over the disaster, I'm looking at updating a bunch of sites. It looks like the fast way to do that is to upload the 5.6.0 zip file to the /updates folder for that site. Then when you go to update from the dashboard, it gives you that choice. Once you've done that update, you can update the rest of the way to 5.6.1.2.
bjalexander replied on at Permalink Reply
bjalexander
You wouldn't believe what a lifesaver you've been! Thank you for these clear instructions.

Now that I'm over the disaster, I'm looking at updating a bunch of sites. It appears that the fastest way to do that is to upload the 5.6.0 zip file to the /updates folder for that site. Then when you go to update from the dashboard, it gives you that choice. Once you've done that update, you can update the rest of the way to 5.6.1.2.
catapult replied on at Permalink Reply
I have followed your instructions as per step 2. The upgrade completed and now shows "Currently running 5.6.0" on the upgrade page of the dashboard.

When I now check for updates it still doesn't find them and only shows "No updates available".

Any help appreciated.
catapult replied on at Permalink Reply
I just downloaded 5.6.1.2 and unzipped it into the updates folder then went through updating via the dashboard and it worked fine.
plastic replied on at Permalink Reply
Thankyou so much! Saved my bacon. Back running 5.5.2.1 and too scared to upgrade until someone tells me this bug is sorted.
plastic replied on at Permalink Reply
Ok just girded the loins and went through to 5.6.1.2
It seems to display the site ok, but it's a bit funny...its using a 5.6.1.2_updater folder
jpgriffin replied on at Permalink Reply
jpgriffin
Great instructions. Worked well for me!

Many thanks!
MysteriousCleon replied on at Permalink Reply
MysteriousCleon
Hello folks!

I've just attempted to upgrade from 5.5.1. As you advised I upgraded first to 5.6.0, but unfortunatelly got this error:


Fatal error: Call to a member function getPermissionKeyByHandle() on a non-object in *my_domain_directory*/public_html/concrete/core/models/permission/response.php on line 53


Any ideas? The site is important, so it cannot be down for experiments, and I don't know what should I do...
micahc replied on at Permalink Reply
micahc
One thing I found out when going through this is that you must not have any other directories in your updates/ directory that is newer than 5.6.0 - otherwise C5 will try to update to whatever is newest. So remove any directories for 5.6.1 and up.
MysteriousCleon replied on at Permalink Reply
MysteriousCleon
Thanks for response.
updates/ is empty all the time...
wavemedia replied on at Permalink Reply
wavemedia
Has anyone figured this out. I have tried the given fix for sites that originated with versions older then 5.5.2.1. and it will not work.

I have a bunch of sites that where installed with version 5.4.2.2 and I can get them to upgrade to 5.5.2.1 , but not to anything 5.6. related.
plastic replied on at Permalink Reply
Same here.
Installed originally on 5.4. something
Can upgrade to 5.5.2.1
Can't get to 5.6.0 or 5.6.1.2
bentech replied on at Permalink Reply
This is how I fixed it.

1. Remove <?php define('DIRNAME_APP_UPDATED', 'concrete5.6.1.2_updater');?> from config/site.php

2. Download Concrete 5.6.0http://www.concrete5.org/download_file/-/view/43239/8497/...

3. Rename concrete in your site root to concrete_old (or anything)

4. Extract archive locally and upload the concrete directory

5. Goto index.php/tools/required/upgrade

6. Perform Upgrade.

7. Upgrade to latest

8. Change config/site.php back to <?php define('DIRNAME_APP_UPDATED', 'concrete5.6.1.2_updater');?> or whatever version you are on
MrGrowBizz replied on at Permalink Reply
MrGrowBizz
Thanks for the fix on this!!!!!