comment about C5 development @opensourcecms.com

Permalink
Hello,

Can someone more familiar with C5 development comment on the feedback ' Posted By: Carlos on October 18 2011 10:34 am ' (http://php.opensourcecms.com/scripts/details.php?scriptid=14&name=concrete5)


Sincerely,
Gour

gour
 
Phallanx replied on at Permalink Reply
Phallanx
@Gour.
I kind of agree with him.
gour replied on at Permalink Reply
gour
> I kind of agree with him.

Will 5.5. change/improve something?
12345j replied on at Permalink Reply
12345j
I think that comment has some elements of truth, but some I don't find to be true. I have had several exchanges with carlos, and one of the things that he didn't like was the mvc architecture, whereas wordpress has much more of a straight path, concrete5 steps through lots of function and helpers to generate your final output. MVC is very easy to understand if you understand the basic theories around it and the order files will be called in. That being said- the documentation is pretty weak, and it definitely takes time poking through the files to take full advantage of the features. BUT- I very strongly disagree with this line
>But if you are like me, and want to have a CMS do your bidding to allow
>you to create most anything you want on a web site with a minimum of
>fuss and with relatively easy PHP code to understand and modify...think
>twice about this CMS.
I think that this is the best feature of concrete5 actually. I find that concrete5 is best for small or really complex sites, its the middle that it has trouble scaling to. When used for very small sites, you can often just use the core blocks and maybe 1 or 2 others to build- very easy. For medium sites, you often want a couple custom blocks and some core hacks. I find this to be very stringy, and can be troublesome to find small bits of the core that are causing bugs. Also, since you aren't fully invested in the api for these sites, you don't fully understand the inner mechanisms. For really complicated apps, concrete5 scales really well to. C5 was built around a framework, and it includes zend, so you can really build anything. The concrete5.org site is a perfect example. It has around 80,000 users each with their own customizable profile page, a marketplace and marketplace submission, a blog, how to section, showcase, karma, and a forum with thousands of posts. Everything was built off of c5, and is possible with some time and energy.
Phallanx replied on at Permalink Reply
Phallanx
@12345j
"and the order files will be called in"

And what order are "events" called in? Still haven't found an answer to that one.

@Goud.
No idea. You have to be a part of the wobbly handshake club to be part of that loop.
12345j replied on at Permalink Reply
12345j
Check outhttps://github.com/concrete5/concrete5/blob/master/web/concrete/libr... When extending events you can specify a priority for the event to be run at, those with higher priority will be run first.
Phallanx replied on at Permalink Reply
Phallanx
"those with higher priority will be run first."
Are you sure? It looks like it does a usort (ascending) then iterates over the result which means the lowest runs first.
12345j replied on at Permalink Reply
12345j
no, I'm not sure actually, since I haven't had to use it. Thats the type of thing where unit tests would really come in handy.
mkly replied on at Permalink Reply
mkly
These types of things and comments are pretty much troll bait. I would definitely agree with @12345j on a lot of he said. I find Concrete5 to be very flexible, and MVC is very important to me. Some php coders are a little old school and are pretty resistant to change. It still blows my mind when I talk to php people who think ORM's are a pain and a waste of time. I'm not saying they are wrong, I'm just saying these are more philosophical differences than quality concerns.

I mean come on, C5's code base isn't very big. I'm far from an expert coder and it's honestly not that hard to figure out whats going on. Documentation is really just a case of more people using C5 and someone finally coming along and typing up the comments over the function and classes.

And I guess lastly, C5 is MIT Licensed. I mean, fork it right now and change anything you want and then do anything you want with it.

Someone close this thread soon. Ugh.
gour replied on at Permalink Reply
gour
> These types of things and comments are pretty much troll bait.

Still, people are reading 'em and they might influence people, so it would be nice if someone more familiar with the C5's codebase, can post relevant comment there. ;)
mkly replied on at Permalink Reply
mkly
Because there is no answer. These are philosophical discussions that lead nowhere. C5's codebase is fine. Wordpress's codebase is fine.
frz replied on at Permalink Best Answer Reply
frz
I'll go post over there...

In short:

1) yes, documentation is a chore and never makes everyone happy. We've certainly thrown energy at it in the past and it's always improving, but I know that's not really an answer. We have had some great energy out of the alpha team, and I do recognize this as an important challenge to address, so perhaps we can get some community involvement going in getting the in-line comments stronger in 5.5.

We have also never really tried to make the API that phpdoc spits out pretty or useful. What we're going to do now is add the meta information needed to organize that API in at least a semi-helpful way, improve the inline comments, and start pushing people to the generated docs over the Developers Guide section in our current help. We think we need to write more mid-level docs for developers, how to approach problems, why you should be looking at this or that.. Of course that's the stuff that -ahem- anyone could be writing as how-tos, but regardless that's what feels missing to us and where what time we have will go.

2) The comments about the code being a mess or spaghetti are simply inaccurate. I've never worked with Carlos but someone here mentioned that he prefers procedural code to OOP. Putting aside the learning curve, I find it difficult to believe the majority of programmers would prefer wordpress's codebase to ours.

3) The "this can't be extend the way i want" vibe is ridiculous. Look at this site. Look at clear.com. Frankly you can build just about anything out of concrete5. The idea that wordpress is somehow a more flexibly architected framework than concrete5 also leaves me befuddled.

Thanks for bringing the comment to my attention, I'll go reply over there - and of course it'd be great if some people who weren't me did as well.
gour replied on at Permalink Reply
gour
> 1) yes, documentation is a chore and never makes everyone happy. We've certainly thrown energy at it in the past and it's always improving, but I know that's not really an answer.

I'm glad you are aware of it and ready to improve. *thumbs up*

> Putting aside the learning curve, I find it difficult to believe the majority of programmers would prefer wordpress's codebase to ours.

That's my feeling now as well and we'll stay with C5 trying to learn more.

> Thanks for bringing the comment to my attention, I'll go reply over there - and of course it'd be great if some people who weren't me did as well.

I'm glad you find it useful...I'd gladly reply over there, but not written the single code in C5, I thought it's more fair to leave it to real C5 devs.


Sincerely,
Gour
jordanlev replied on at Permalink Reply
jordanlev
I agree that Concrete5 is not the best platform for building anything and everything -- for very custom projects you should be using a lower-level framework like Symfony or Kohana or CakePHP or Ruby on Rails or Django or whatever. I think this is where most of Carlos's frustrations stem from -- he is using the wrong tool for the job. If you look through his forum posts, you will see that most of them are asking how to make the system do things it wasn't designed or intended to do.

If, however, you are trying to build something that Concrete5 *is* designed for -- a marketing site, a small ecommerce site, an artist portfolio site -- basically a website where custom design and informational content is the primary focus (as opposed to a heavily-interaction-based web application) -- then the underlying architecture is great, and it's way easier to work with than other CMS's (in my experience).
frz replied on at Permalink Reply
frz
I agree with the spirit of that summary. concrete5 is a /content/
management system. It's got some great framework features as well, but if I
were building twitter or a banking app - i might consider starting with
something more basic like Zend or Symfony.
Uhh, not wordpress tho.

The basic question I would urge everyone to ask is "is there content to
manage that will benefit from in-context editing?" If so, and particularly
if the site & content is likely to mature in new ways once launched,
concrete5 is great.

If the whole thing is just an app, and once it's built its done (banking
app) .. You're using too much tool for the job.

best wishes

Franz Maruna
CEO - concrete5.org
http://about.me/frz