Is C5 mature for real business?
At first Concrete5 felt like a fresh spring breeze after building CMS sites with tools like Wordpress and Joomla. Something that both editors and developers can easily love. But ever since I have encountered some fundamental problems:
1) When using certain themes (e.g. Fruitful) the site gets very slow, even if full caching is on. Looks like it is related to number of block elements in a theme. If I reduce blocks in a page let's say total three, respose times are acceptable.
2) Pages get broken occationally with error "Call to a member function getURL() on a non-object" after inserting images. The only thing I have found to fix the problem is to delete a page and create it back from scratch. Really, really annoying to experience this with a production site.
3) Caching messes up my custom block. I have a custom product search block with two pull down menus, reading data from database. If I have caching on, the block gets messed up and shows wrong selections initially. I have disabled caching because of that.
4) Some functionality (e.g. topic lists) just don't work fully as expected.
I have spent countles hours struggling with these problems. Community has been very helpful, but now I'm feeling that Concrete5 is not mature enough for my needs. I wish it was, it's so great in so many ways.
Concrete5 is definitely ready for real business. Real businesses (and by that I assume you mean big) are using it already.
This site right here is a real business.
And here's some reading to show you what kind of institutional users have adopted Concrete5:https://www.concrete5.org/about/blog/concrete5-sightings/concrete5-p...
Having said so, yes there can be problems like with any other system. So to answer your questions:
1- I didn't try that theme and don't know what blocks you are referring to but in my experience what really slows down a site is blocks with images such as galleries, slideshows... Concrete5 has evolved in the right direction and there is a new way of dealing with images (thumbnail types) that takes care of that problem. BUT all galleries and other add-ons in the marketplace are still using the old way of doing it.
2- If you mean the core image block, you should definitely post a bug report here:https://www.concrete5.org/developers/bugs/5-7-5-6/... or under the appropriate version. If you mean a block that comes with your theme, you should send the developer a request for support.
3- Caching in Concrete5 is pretty versatile and you have checked the setting to cache if blocks on the page allow it, you can set your search block to not use the cache. or you can set the cache specifically for certain pages to not use the cache.
4- Can't say you're wrong. I haven't tried that specific functionality myself but I heard a few complaints. Other things also need ironing out but Concrete5 5.7 is still relatively new (unlike 5.6.x which is pretty stable) and some things will not work as expected. Still, I can't think of anything that would be a deal breaker given how fast new versions come up and how it's mostly little things.
Anyway, I hope you'll try it a little more and just out of curiosity, how does your first Concrete5 website owner feel about it?
Problems 1 and 2 are related. Full page cache will only cache pages where all blocks are cacheable. When you disable caching for your custom block, you disable caching for pages that use it. Running your site without cache will make it much slower. This will happen with any CMS, including Drupal, WordPress, and Joomla!. Without cache, the speed of your site will depend on the quality of your web host. Instead of disabling cache for your block, I would first investigate how to write it so it will work with block caching enabled.
When you receive the error "Call to a member function getURL() on a non-object", what is the error in your concrete5 log? The full error will allow for better troubleshooting.
Dashboard > Reports > Logs
This looks to be an uncommon error. I found one occurrence here:
While developing, I recommend turning on the full debug error output to get more information.
Dashboard > System & Settings > Environment > Debug Settings > Error Detail > Show the debug error output
"4) Some functionality (e.g. topic lists) just don't work fully as expected."
I responded to your Topic List block post, but you changed the website before I had a chance to review the issue fully. Aside from the Topic List block, what other functionality were you having issues with?
Here is an example of a high traffic 5.7 website:
I am new in C5. From my experience In the start of any Framework or CMS you spend hours on hours to solve very simple thing.
The main Reason i love C5 - is the really simple "build in" connection between The Front and Back-end (You dont need to change the way you love to work with CSS-HTML to crate clean and accessibility markup).
In other side, in wordpress you have endless great framework and options to do the "SAME" thing (Like the world of CSS before bootstrap - endless CSS styles and namespaces for the same look of Button or tab).
Each WP framework go forward separate from the CORE. In AVADA the code and concept absolutely difference from Enfold and so on - a 8,000 hours of changes and tweaks from the core (And Separate curve learning & separate community).
In C5 - This "8,000 hours" spend for One Good CMS.
I won't go to details with my issues in this thread. But I promise to be more active reporting problems with details/logs etc. in the future.
The actual background for the question "is C5 mature for real business?" is that I'm part of a team building up WHM/cPanel based hosting site, where we are planning to offer and promote a limited selection of web applications. I would love to get Concrete5 to the list of our CMS apps, along with Wordpress and Joomla.
My biggest single concern is performance. An average customer in our hosting portal will be a non-technical person, who loads a nice looking theme - like Fruitful - and soon will start complaining about how slowly pages load. Personally, I have tackled the issue by creating my own theme from scratch, with minimum set of block areas in my page types. But average customers will not do that.
I probably need to do more testing, my experience is based on couple of themes. Anyway, with Fruitful, a page with few text blocks and a navbar, loading took 3-5 seconds - even when all caches were enabled. With my own custom theme, loading takes just on second. As it does with all Wordpress sites in the same hosting server.
Maybe there's something in Concrete5 architecture that doesn't quite fit to hosting environments? If there is, it would be great to get (from Concrete5 team) at least some technical information of how to improve Concrete5 experience on cPanel and other shared environments. Btw I just found this (will try those settings soon):http://iconicmedia.net/blog/how-optimize-your-concrete5-website...
I'm not giving up with C5 yet. But I need to make some decisions soon, both for our hosting service and for the upcoming website projects.