Upgrading from 8.3.2 to version 9

I am currently on Version 8.3.2 and php 7.2.34 . Over the past few years I have been focusing on the content on my site and not the technical aspect. I am now seeing that there may be support/security issues with staying on version 8. After reading various posts about updating I see that I need to update from 8.3 to 8.7 and then update to version 9. I must say that I am totally lost and do not feel I know all the steps in the process.

  1. It looks like when I upgrade from 8.3.2 to 8.5.7 I need to make a change to my database so that instead of a utf8 character set it is using a utf8mb4. What other changes are required? Are there any issues or problems modifying this database setting? Seems like several people posting in the forum ran into problems.

  2. How does one do the php update so that you keep the php and concrete versions in sync? Not sure the order of the upgrade path.

  3. Is there a list of differences between 8.5.7 and concrete 9 available so that I understand how to upgrade my custom blocks? Could not find anything in the documentation.

  4. My template provider has not upgraded the template I am using to Version 9. What are my options? Sounds like the new system for managing templates requires more heavy duty programming experience. I am basically a web designer that knows enough php to be dangerous. Seriously wondering if Concrete5 is becoming too difficult for someone like me to continue using. I really do not have a budget to be hiring outside consultants.

Any insights would be sincerely appreciated.

1 Like

There are no clear instructions on how to upgrade from v8 to v9. Several Forum conversations and documentation pages can help to run your site on v.9. But, - version 9 doesn’t necessarly mean all is fine, there’s still PHP 8 to beat. What a tedious process fixing all assets and go through fixing PHP errors in your theme and older addons.

If you you choose to rebuild your theme with Bedrock on version 9, you need to have a developing environment. You can no longer build and maintain your site the easy way. All has become very complex and is therefore frustrating for webdesigners - even if you have a fair knowledge of programming or PHP.
Migrating a medium sized client website and converting it to Bedrock would be a crazy task, - no client would ever pay the cost.

I agree, ConcreteCMS has become very difficult to work with by a normal user. You need to have a lot of time rigging and testing in order to upgrade your site and make it fit for the future - v.9 and PHP8.

The system is packed with new features, but lacks the ease of use - what actually made Concrete5 famous.

Maybe it is no longer for designers and occasional users who run a brochure website.

Here are some useful links

Thank you for the links. I have been going through the forums looking for V9 upgrade discussions. Missed a few of these. I am still at loose ends as to the best means of starting this daunting upgrade. Just found out that the theme I am using is not being upgraded to V9 due to the amount of work the upgrade will require. So now I am reading about Bedrock.

I am a long time Concrete5 user with a very large website (hikingwalking.com). I also have a few sites I built for nonprofits. Wish there was more documentation to help someone like me to proceed. Guess I am also going to start looking at alternatives.

Sincerely appreciate your help. Thank you.

The way I see it like this. I have loads of V8 site that will more than likely not be upgraded until they are redesigned. They will work fine and last a few more years.

All new projects I have I will start using V9. I will use bedrock for some and then I will just use older theme packages I already have for others depending on the complexity of the design.

I love V9 and bedrock but its not the be all and end all, I have sites still running 4.4.2 that work fine and the clients love.

A lot of people have thrown there toys out of the pram at this new way of working. But with PHP on a aggressive update cycle and technology constantly progressing V9 and the bedrock is the gold star way for developing with Concrete CMS. But not the be all and end all. You have to find what works for you.

Trust me compared to WordPress or ModX the team at Concrete CMS are way ahead in ease of use and quality.

2 Likes

I guess there are many developers here with clients on a upgrade/security plan that requires them to upgrade to PHP8 soon an therefore drop/rework everything pre v9.

Privately i also have sites running on very outdated/vulnerable tech and that is not a problem but paid work for clients demanding up-to-date security might be another thing…

1 Like

You are correct about Concrete5 functionality. It is a great system, albeit less so now since it is less user friendly for designers.

My problem is the way the major updates are handled. They all demand amazing amounts of work. It would have been nice if version 8 was updated for php 8. This would have made the security upgrades more reasonable for the wider audience currently using Concrete5. Especially those who don’t have the resources or money to do a major update on their site(s) right now.

A more incremental update approach would also allow people more time to investigate and learn Bedrock, etc. when the time and resources were available.

I am curious about what you said about Bedrock and older theme packages. Can you still use the older theme packages with V9? It was my impression that you had to upgrade to Bedrock, especially if you wanted all of the Concrete5 features to look good. Has anyone done a V9 upgrade but used a v8 theme?

1 Like

I upgraded a site to v9 and kept my v8 theme and my site continued to work just as it did on v8 after I fixed the missing assets (my site has many custom features).

The only things I had to fix from just a theme perspective were the FontAwesome references as it was updated from v4 to v5 so instead of “fa” I needed “fas” but that was fairly minor.

My theme also uses bootstrap3 so I had to make an override css file for fixing some of the CMS editing tools (bootstrap3 base font size is 10px where bootstrap5 is 16px so a lot of the editing items were really tiny).

Thank you. That is good news. This will make the update process a little easier. Still need to get my head around what needs to be done from an asset perspective. I have quite a few custom blocks. Sincerely appreciate the information.

I find the best way to do any update is to make a complete copy of the live site on a Dev server then step by step do the upgrade and see what breaks.

1 Like

I agree that a development sever, along with full backups, is a must. Did you do a manual upgrade or did you do the upgrade through the Dashboard? If you used the dashboard did the automated update change the version of PHP you were using or did you need to do that manually after the upgrade completed. (I assume this needs to be done manually.) Also, was it difficult to troubleshoot missing assets?

1 Like

I guess it was semi automated. I upload the version I want to the upgrade folder then use the dashboard to run upgrade. I just follow the recommendations here

The updater won’t change the PHP you have to do that on the server yourself.

In terms of assets, you can find most of them in the theme read this.

https://marketplace.concretecms.com/documentation/developers/5.7/assets/overview/

Most theme just use query and bootstrap so it’s not had to just pull them into you theme.

I would say it’s hit and miss really on adding old themes to v9 as it all depends on the theme and when it was created.

The big thing is to get the theme working on v9 using PHP 7.4 first before upgrading to PHP8 this will help make sure you are not battling the software upgrade and the PHP update at the same time.

Thank you. That information is incredibly helpful. I did not realize I could stay on PHP 7.4 while using V9. Much saner way to do the update. Also appreciate the link to the asset overview.

1 Like

Hi all,

Just wanted to add that one option is also staying on the latest v8 version and getting on PHP 7.4 LTS (Long term support). More information about that option here: