Loosing faith

Permalink
I've been a user and advocate of C5 since 2007/2008 here in the UK. I've seen it transform two major businesses, the second at my own personal bequest. We replaced a tired incumbent CMS, and we turn over around 15/20 websites a year and get to host and maintain them. I'd say that we know C5 fairly intimately.

We lingered on 5.6 for far longer than was becoming acceptable under the scrutiny of our more savy clients, and have recently made the concerted effort to roll out 8.*.

8.* on the surface promises a lot, and as developers we read the feature list with a certain amount of glee - that this was the "coming of age" of C5, and there was so much promise and certainty around how this release was going to make a our lives so much easier. Taxonomy, Express, the CLI tools... All things we were crying out for.

Sure we read about bugs, but since we left it over 2/౩ years to update, skipping the bit-part release of 5.7 altogether, we were certain that it would be a stable system - stable enough at least to be used for our simple enough brochure-wear websites.

But the reality it seems is a gruelling experience, with little satisfaction, and far too frequent show-stopping bugs.

It's dog slow, and Vagrant/VBox refuse to run it without introducing NFS (which is a real PITB).

Express is great until the point you might change your mind and be foolish enough to rename an object (that useful feature is now on an internal watch list where we have to make DB backups every time we use it for fear of irredeemably corrupting half built websites).

Race conditions on the JS dialogues - you can actually do things too quickly as a user and make the CMS throw exceptions.

Homepage edits corrupting a site by adding "-1" to all URLs...

And now, 4 days to a very real D-day deadline for us, single page controllers on the homepage basically leave changes unapprovable.

I know I get what I pay for, and I'm not ignorant of the efforts that go into software like this. I'm also well aware that my contributions over the years (purchases, some community help, and a lot advocacy) are far less than others, but I still feel compelled to come here and just stick my hand up and ask;

What the hell is going on with C5?!

We can't go back to 5.6.

And we can't go forward with version 8.0.

Is it time for us to move on?

moth
 
mlocati replied on at Permalink Reply
mlocati
Or it's time to contribute to fixing stuff that doesn't work. It's a MIT project, that means that concrete5 is yours too
zanedev replied on at Permalink Reply
zanedev
Long time user here also.. I haven't run into any of those issues and I've been using v7 and v8 for a while now. Yeah there have been some strange quirks here and there but nothing that wasn't hackable/workaroundable. I have noticed that it runs a lot better on php 5.7 and you need a lot of memory. I also always run linux haven't tried windows hosting. Maybe you just have some corruption going on not sure how to help you other than tracking down each of those issues one by one. But overall I have to say that I like 7/8 way better than 5.6 from ui and development standpoint. There are a few quirks but the pros outweigh the cons for me so far.
moth replied on at Permalink Reply
moth
I should clarify speed issues are vagrant only.
moth replied on at Permalink Reply
moth
I should clarify speed issues are vagrant only.
MrKDilkington replied on at Permalink Reply
MrKDilkington
Hi moth,

The upcoming 8.2 release is going to be a big one and should address a lot of issues.

Based on the timeline of 5.7, it takes about 6 months for a new release to be all around stable with major issues resolved. Part of this is due to testing and scheduling of new releases. It looks to be very hard to get people to test previews, alpha, betas, and release candidates. This leads to final releases not having a large volume of real world testing in a variety of environments and with all sorts of custom code. The final release in practice is a beta, because it finally gets enough eyes and users to kick the tires and find edge cases. It is very unlikely that the core team is knowingly shipping broken code, just that they haven't encountered the issue and are unaware of it. This is why version 8 has not been made available in the dashboard as an update.

I agree that it is very frustrating to be working on a project and hitting a wall due to a bug, especially with a deadline looming. But as an open source project run by a small core team, this is where the community becomes important. This means reporting bugs and contributing bug fixes. Like mlocati said, concrete5 is our project, the more we can all contribute the better it will be.

For developers and agencies who depend on concrete5 for their business, I highly recommend starring and watching the concrete5 project on GitHub. It will keep you up to date on changes, issues, and bug fixes.
https://github.com/concrete5/concrete5...

When you find an unconfirmed bug, please check the bug tracker to see if someone has reported it. If no one has, please report it and include the specific details required to reproduce it. Without bug reports, the core team won't know an issue exists.
https://www.concrete5.org/developers/bugs/...
moth replied on at Permalink Reply
moth
I'm not sure I could describe anything after 5.6 as stable. That's the rub of my questioning here.

Some have suggested using 5.7 (via Slack in case anyone is confused), which considering there is no upgrade path is not an option for me.

I appreciate the de-facto response is going to be for me step up contribute, but like I said, I do that in other ways and by other means. Our team here do report bugs (a few of what I've mentioned are already logged), and we have commented in the docs to drawn attention to specific issues.

Does anyone on the team think that maybe, there's just a small possibility that you're over-reaching? Like I said - there's some great new features - but none of them are polished. I wonder if a better tact would be to strive for less, but give things more time.

Is there an ETA on 8.2?
trixiemay replied on at Permalink Reply
trixiemay
As a front end developer/designer I love Concrete5 but find the new interface uses far more screen real estate and more (unecessary) sliding panels etc rather than just clean, centred popups. I can appreciate that the team has to keep up with the most current web paradigms but sometimes simpler is better. That being said, I look forward to trialling C5.8.
MrKDilkington replied on at Permalink Reply
MrKDilkington
@moth

You can upgrade to version 8 from 5.7.
ramonleenders replied on at Permalink Reply
ramonleenders
Yeah, just not from within the website/dashboard is all. So there actually IS an upgrade path indeed.
noogen replied on at Permalink Reply
Since this thread been getting some attention, I'd like to request if it's possible to get more frequent releases? 6+ months for each release in v8 is too long.

Can we, somehow, have critical/bug releases as v8.1.x like in the past? Or separate them as stable, rc, and beta releases (use github tags)? This push fixes into earlier release to help people who are on deadline like the OP.

It also help getting early community supported testing too. Some of us would be more comfortable with one or two versions behind instead of the latest in development branch. Or at least be able to easily identify and rollback to a previous tag if someone report not to use the latest beta.
frz replied on at Permalink Reply
frz
I totally know what it is to be under the gun on schedule and I know how hard it can be to get projects out the door. You certainly have a right to vent.

I can also tell you that version 8 is great. Right now we have clients running live, fast, stable, healthy, kick ass websites on version 8 - including the U.S. Army. If you ran into issues on your install/project/setup - that is of absolute concern and we do want to get to the bottom of each and every bug. I'd just offer that while history tends to bring rose colored glasses. It's not like version 6 or earlier of concrete5 was somehow bug free, launched with perfect documentation, made everyone happy with our UX choices, was always blisteringly fast, etc. It's just that it was all 3+ years ago so in retrospect, you tend to remember the easy stuff and glaze over the challenges.

Some more practical advice for the mid term:
1) Github is where it's at. That's where we're tracking our work. Bugs that get reported on our bug tracker here at concrete5.org will get a glance when we get close to a release. Issues that are created and confirmed on github get far more attention on the day-to-day by everyone. In the big picture, we probably want to eliminate the bug tracker here.

2) Slack is where it's at. I used to make it a large part of my day to respond to forum posts here at concrete5.org. I know that really helped us get from 10 views a day to 100 to 1,000. At some point along the way to 5,000 views a day that became less helpful, as access to the CEO turned in to way too many long posts about the marketplace and potential future of the project. Frankly the marketplace is an important _part_ of concrete5, but it's not the purpose of the project. I took a big step away from being active in these forums, and much of the staff has followed my lead. These days our organization is working out of Slack, and the concrete5 Slack has become pretty active. I'd suggest you or anyone else reading this thread who is looking for more active help in their development efforts to go get involved there.

http://concrete5.org/slack

3) I count 5 different individuals replying to your post in 24 hours. Putting aside any big surprises & changes I may personally have in the works for concrete5, I think there's lot of people beyond me and PortlandLabs who are putting love into v8 and depend on concrete5. We're certainly very passionate about it and are working on it every day.

tl:dr> My apologies if you had a punky time on this last gig, but nothing's ever been perfect and there's a lot of people who are happy to help.
ramonleenders replied on at Permalink Reply
ramonleenders
+ 1

Loads of people are available here to help and Slack is quite active too. And if you ever find out stuff ain't workin the way it should, search for a way to fix or report it (using GitHub).

Just have faith and everything'll be alright!
moth replied on at Permalink Reply
moth
Thanks for taking time out to reply Frantz.

We do frequent Github, and we are on Slack. I guess what I'll do is trawl back through our reports and bugs, and consolidate. I will cycle that back here once done and ensure finally that they indeed referenced in both bug trackers(!).

That leads me neatly onto some things that I just want to point out, and I'm sure you've heard it all before, but here goes;

1) Maybe just remove the bug tracker on concrete5.org and point everyone at Github issues. I'm fairly sure some people might be kind of disappointed that their bug reports run the risk of not being taken seriously until the 11th hour because they didn't know where best to post it. I suppose there might be assumption that everybody knows this, but for the sake of people who don't, there is nothing on this page to indicate that you are indeed tracking bugs on Github. I'd imagine this would save everyones' time.

2) From my limited exposure to the Slack channels, Documentation is a source of some amusement. We have commented where can with errors or clarification (moth, thirtythree, lewismcarey). One thing in particular to note is that there are very few verbose working examples. This is especially true when one is trying to figure out Namespacing and Legacy Namespacing, and how they apply to either Custom Code or Packages.

For us, I'd imagine anyone using C5 in an enterprise capacity, this particular lack was kind of hard, and all we've personally achieved is to hack it and hope for the best in the absence of 2 simple working examples (like a starting point package code, and example application code) from someone who knows how it's actually meant to work. That person is definitely not us - and for that reason I'm reluctant to share our attempts for the blind leading the blind.

I can imagine it might take just a day for someone like Andrew to knock out an "official" boilerplate package.

Instead we have this;

(empty)
https://documentation.concrete5.org/developers/extending-concrete5-w...

Leads me here with the promise of "extensive documentation". This has errors that we've noted, and it is not very extensive;

https://documentation.concrete5.org/developers/packages/adding-custo...

---

I really do appreciate the hard work that goes into this.

But I've supported C5 for many years, and seen major versions come and go, but it seems to me something here just isn't moving in the right direction, and so it seems there's not much acknowledgement of this. I don't agree the state of version 8 is in anyway comparable to previous roll-outs. I can't believe we're the only ones struggling with this.
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
@moth
You are certainly not the only ones struggling with this..
That was quite a revelation from Franz that they only give the bug tracker a 'glance' before releasing an update, I think a lot of members that have posted to the bug tracker will feel misled into believing they were helping the community.
Switch the bug tracker off if you don't value your members input!
MrKDilkington replied on at Permalink Reply
MrKDilkington
I am surprised to hear that the bug tracker does not get much attention from the core team. I was under the assumption that the core team did not read the forums, but did monitor the bug tracker.

Confirmed GitHub issues do get a lot more attention from the core team and community members, but there are potential problems with pushing people away from the bug tracker and to GitHub. The main issues are that GitHub is currently for confirmed issues using the develop branch and we risk flooding GitHub with vague, poorly written "kitchen sink" issues that are rarely concrete5 bugs. There are already a large number of open confirmed GitHub issues.

I think this is definitely something that needs to be addressed. That might be to encourage more people to take time to vote on bug tracker issues and ask that the core team monitor the bug tracker on a regular basis.

Documentation continues to be a significant weakness. Some community members are working on Editors documentation and tutorials, but for the Developers documentation, much of it requires the knowledge of the core team to write. It would be great if the core team could add new developer documentation and update existing documentation on a regular basis - setting aside time each week to do it. Creating documentation is time consuming and not always enjoyable, but is required for concrete5 to be healthy and grow. Lack of full documentation will hobble the project.

About Slack, it is great for quickly discussing issues, but without any history or logging we lose a great deal of knowledge. Important questions will be answered and lost because of the 10,000 message Slack account limit. The forums offer a permanent resource for people to search for solutions and to learn, we lose that by moving more discussion to Slack. A possible solution to this would be setting up a Slack bot that logs the main channels and makes the log available on concrete5.org.

Here is some excellent information about namespacing in concrete5 by community member Mesuva. It should be turned into a tutorial/documentation page so more people can access it.
https://www.youtube.com/watch?v=FjJJUrggPM0...
https://www.concrete5.org/community/forums/5-7-discussion/so-hows-ev...

Regarding official boilerplates, that was something that was discussed a while back, but didn't get any traction. There are community members who have worked on high quality boilerplates though. The most notable being work done by olsgreen/c5labs.
- Starter Theme
Generate customised concrete5 theme boilerplate
https://c5labs.com/concrete5-boilerplate/concrete5-starter-theme...
- Starter Block Type
Generate customised concrete5 block type boilerplate
https://c5labs.com/concrete5-boilerplate/concrete5-starter-block...
- Package Generator
Generate customised concrete5 package boilerplate
https://c5labs.com/concrete5-boilerplate/concrete5-package-generator...

A working starting point package code example is needed and would be very useful.
mlocati replied on at Permalink Reply
mlocati
> About Slack, it is great for quickly discussing issues
> but without any history or logging we lose a great deal of knowledge.
> Important questions will be answered and lost because of the 10,000
> message Slack account limit.

That's why I do prefer Telegram a lot: it's free, it's reliable, it's feature rich, and doesn't have any limit. The only feature it's missing are #channels.
gavthompson replied on at Permalink Reply
gavthompson
I personally started out on C5 with version 7 and gone on from there.
I'm not a developer by any stretch I'm just a technician that has built a school website starting with early versions of 5.7 up to v7.5.13.

My personal experience has been overall good leading up to v8 however things are really starting to get disjointed.

Communication:
Personally I feel at present there are too many avenues to get lost in for the a user like me:

Forums,
Slack,
Github,
Bug Tracker,
Stack Overflow,
Documentation

At times you just think where the hell do I go for an answer or voice an issue that will get looked at.
I have tended to stick to the concrete5.org website for questions and answers as I always felt I'm not technical enough to go elsewhere and I'm sure others feel similar.
If it wasn't for some key members of the forums I would have had to abandoned C5.

Bug Tracker:
I've stalled on my upgrade to v8 from 5.7.13 as the upgrade process breaks the site.
I've contributed to a bug tracker post on the subject but if it isn't getting looked at that's disheartening to say the least.
For the average user like me I find Github a bit daunting and if it was the only place to put bugs that wouldn't be great.

Documentation:
As Moth mentioned I feel the Documentation has really fell off the project it started well when 7 was beginning however it is out of date already.
For example the File Manager is very different animal to v7 but the Docs only show v7 File Manager.
Writing documents isn't the most enjoyable thing am sure however it is the life blood to get new users/developers on to the project.

As with on the forums it feels as tho with the arrival of v8, things have splintered into v7 stuff and v8 stuff without even realizing it.
JohntheFish replied on at Permalink Reply
JohntheFish
Totally agree about communication being disjointed. In addition to:
>Forums,
>Slack,
>Github,
>Bug Tracker,
>Stack Overflow,
>Documentation
There are more communication channels that have been created in the guise of spreading the word without considering the side effect of spreading the jam too thin. Some of them are just about active. Others have atrophied due to lack of attention, including a lack of attention from those who so strongly advocated their creation.

Its too easy for a newcomer to c5 to have a question, post it somewhere that (unknown to them) gets little attention, and then conclude their question is being ignored.

When searching for information, there is no simple answer of where to search (other than Google)
OKDnet replied on at Permalink Reply
OKDnet
+1 on all @MrKDilkington points
Veronikan replied on at Permalink Reply
Veronikan
I am there with you, today especially, quite at my wits' end with C5.

Express is not fully baked, it shouldn't be out of the oven.

Example, I hit the end of a month long project, a big data heavy site and I was able to use express to manage some of it, despite numerous error messages and glitches. However, I needed to add a series of forms for the client. The form block now uses express. My clients have 30 some checkbox questions. They must be entered one at a time. The same goes for a select input, each option has to be added one at a time. This is untenable.

So I settle in for some drudgery anyway. I get an error, then I get another error, mysterious database errors. This is par for the course with express. I finally figure out I can only add 3 checkbox questions in a row safely. It takes all day, but I finally finish building the form, now to add some styles...

Yeah, no. Every single label, every single element container has the same class, regardless of the form element within. I can't put the checkboxes next to the questions, and still have the text labels above the input fields. I can't do it unless I target every for attribute on every single label, which has unique identifiers. What if my client wants to edit the form, or build a new one?

Two questions, because I'm a month into the work and I don't want to volunteer another month of labor by having to totally rebuild the site on another platform. How can I use the legacy form block in 8.1 or, can anyone recommend a good external form service?

C5 has cost me a lot of money on this project. I should have heeded the warnings and not used 8, or even 7. I guess the next step is researching a new CMS, though that makes me really sad.
buurvrouw replied on at Permalink Reply
buurvrouw
I think you should download the github version 8.2. Make a backup of your site first, because this version is not ready yet. But it irons lots of bugs from 8.1. I don't know about express forms, but i guess those are also ironed.

But as the topic of this post says. I am also loosing faith in c5. Reading the bugtracker is not very much looked at by the core team is a shame. Especially with a running version that produces this much errors...
gavthompson replied on at Permalink Reply
gavthompson
I would wait for the release of 8.2 rather than download the github version as has been mentioned on the C5 Blog, 8.2 should be released this week.

Honestly I've no experience with Express but I know a lot of people started using it so I would assume a ton of issues that came with 8.1 regarding Express will have been found and ironed out in 8.2 as buurvouw has mentioned.

From what I understand of Express you can do a hell of a lot with it and because of that until it get released to the public all issues couldn't be found till it was used by a lot of people.

I know that doesn't help you right now Veronikan but unfortunately I guess that's just software development in a nutshell. Hell, even the massive companies like Microsoft like to make the public consumers beta testers.
JohntheFish replied on at Permalink Reply
JohntheFish
Legacy Form block is under 'Other' in the block panel.

Forms packages such as Formify (previously Advanced Forms) and Formidable are also available in the marketplace.

http://www.concrete5.org/marketplace/addons/formify...
http://www.concrete5.org/marketplace/addons/formidable-lite...
Veronikan replied on at Permalink Reply
Veronikan
Thank you! You know, I looked for it in the blocks panel yesterday, but I didn't see it until this morning. Funny what happens in the midst of stress.

Problem solved, and I get to use radio buttons too, which I really needed.
Cahueya replied on at Permalink Reply
mesuva replied on at Permalink Reply
mesuva
In terms of styling the express form, I have a suggestion how to add in classes that might help.

If you create the file /application/elements/express/form/form/attribute_key.php and paste in the following, after a cache clear you should have an override in place:
<?php
defined('C5_EXECUTE') or die("Access Denied.");
?>
<div class="form-group form-group-type-<?php echo $key->getAttributeTypeHandle(); ?>">
    <label class="control-label" for="<?php echo $key->getController()->getLabelID() ?>"><?php echo $label?>
        <?php
        if ($control->isRequired()) {
            print $renderer->getRequiredHtmlElement();
        }
        ?>
    </label>
    <?php echo $key->render(new \Concrete\Core\Attribute\Context\StandardFormContext(), $value)?>
</div>

It's really just a copy of the original file with one addition in it, it should spit out classes like 'form-group-type-text' or 'form-group-type-boolean', depending on the type of form element added'.

That should allow you to do stuff like target the labels next to checkboxes differently from labels above text fields.

I think this might be a different override in the upcoming 8.2 though, you may need to adjust the path and the code slightly. (someone might be able to comment on this)
Veronikan replied on at Permalink Reply
Veronikan
Good to know for future reference. Thank you.
Myq replied on at Permalink Reply
Myq
Please note that the End of Life date has been set for legacy concrete5 (versions earlier than v5.7). Please see the official announcement here:https://www.concrete5.org/about/blog/community-blog/official-end-lif...