Updating sites to 9.x with non-backward compatible themes / add-ons

Hi.

I have a site on concrete 8.5.7 using Modena theme v1.0.3.

Vidal themes have released a version of Modena (2.0.3) for concrete 9.x but it’s not backwards compatible.

Several other 9.x packages I use are backwards to avoid this problem but vidal themes said that there were too many bugs in the 8.5.x core for them to do this.

I tried updating the core to concrete to 9.0.1 but the update fails, front-end and dashboard are broken.

I could change the theme to elemental, run the 9.0.1. update, then reinstall the theme but that would likely cause loss of custom blocks, problems with missing page areas etc. I’d also lose all the style customisation I’ve done on the theme.

Anyone got any thoughts? We have a fairly large site that’s now stuck on 8.5.7 and would take 3-4 days to rebuild manually :smiling_face_with_tear:
Thanks.

Hi Simon,

The bugs in question were not with 8.5.x core they were in 9.0.0 - 9.0.2 all were resolved in 9.1.0.

You are running a old versions of Modena at 1.0.3 we have made alterations in the newer version (current being 1.2.3) to ease the transition to 2.0.3.

Version 1.2.3 will work in 9.1.0 but some features will not work, but you will be able to update to 2.0.3 without issue.

Once you have updated your core to 9.1.0 you will be able to update your theme.

1 Like

Oh awesome, thanks for the info and apologies for my misundestanding!

No problem, and apologies that I did not explain that in the support thread.

I’ve tried running the updates as follows. I’m doing manual updates.

  1. Update Modena to 1.2.3: replace Modena folder in /packages, run update via dashboard - no problems
  2. Replace /concrete folder with one from v9.1.0 (also tried this with 9.1.1)
  3. Visit site

After a minute or so I get an internal server error. Apache and PHP logs are empty. Tried refreshing the page to see if it would complete the update, internal server error again. After the third try I get a php error:

Argument 1 passed to Concrete\Core\StyleCustomizer\Style\StyleValueList::add() must be an instance of Concrete\Core\StyleCustomizer\Style\StyleValue, instance of Concrete\Core\StyleCustomizer\Style\Value\TypeValue given, called in /Users/simonchilton/Sites/localhost/fingaltri/concrete/src/Page/CustomStyle.php on line 48

PHP 7.4.21 settings:
max_input_time = 600
max_input_vars = 10000
memory_limit = 512M
max_execution_time = 3000

Any thoughts? Thanks!

Hopefully someone with more ConcreteCMS knowledge can help you parse the error.

In the meantime, I’ve seen advice to make sure all the cache is cleared before upgrading. I’m not sure if clearing after an upgrade is equally effective.

Also, have you tried upgrading the Modena to v2.0.3? I’m not sure, maybe v9.1.1 ConcreteCMS with a less compatible v1.2.3 Modena could cause an error.

1 Like

I am having this same issue. Upgrade a stock c5 website, no themes, was using elemental, was able to update all the way to 8.5.9 with no issues.

I have tried several different methods to update to 9.1.1, including clearing cache, replacing concrete directory, and a dashboard update. All end with the same error as above.

Hi @BHyahoo - so you’re getting this error?
Argument 1 passed to Concrete\Core\StyleCustomizer\Style\StyleValueList::add() must be an instance of Concrete\Core\StyleCustomizer\Style\StyleValue, instance of Concrete\Core\StyleCustomizer\Style\Value\TypeValue given, called in [localpath]/concrete/src/Page/CustomStyle.php on line 48

I did see this referenced here in this Github issue, not sure if there’s anything helpful there:

And it looks like it has popped up in the past:

Did you happen to migrate this site by any chance? I’m seeing that pop up as a common occurrence in some of these older threads.

Yep, getting the same error.

I found those links you posted, but none of them have anything helpful.

Was originally on 8.5.5, did upgrade to 8.5.9.

Removed old installs of Fruitful and one other theme, but these were not the active theme.

No plugins being used, it’s a simple two page site.

Tried the upgrade about a dozen times, kept rolling back, thinking it was some artifact breaking it, since the site is so basic and stock.

There was a migration last year, but not since.

Basically threw in the towel and will look at maybe rebuilding the site some other time.

It’s just odd that it errors out.

Do u have an URL we could look at?

I’m wondering if this error is a red herring. I installed a fresh copy of Concrete 8.5.9 and then proceeded to update it to Concrete 9.1.0 by replacing the concrete directory (as described above).

The first thing to watch out for is that Concrete 9.1.0 requires PHP 7.4 or higher. If your pre-9 site is/was running on PHP 7.3.x or something lower, then you’ll need to update PHP first.

After getting past that roadblock, I ran into this error which is also related to the Style Customizer, but in this case, it’s a problem with the database character set:

An exception occurred while executing ‘ALTER TABLE StyleCustomizerInlineStyleSets ADD boxShadowInset TINYINT(1) DEFAULT NULL’: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

To get past this, I converted the database from utf8 to utf8mb4 by running the following CLI command from the webroot:

./concrete/bin/concrete c5:database:charset:set utf8mb4

After that, the upgrade completed without issue.

So, @BHyahoo, I’d recommend you look into that, especially if your site really is a stock site. If you still run into problems, let me know.

1 Like

I would rather DM you the url, don’t want to post publicly.
I just can’t figure out how to do that here!

select the user’s name, then select the “Community Profile” link. if you are logged in to the community site, you’ll see a “Send Message” button on the user’s profile page.