concrete5 For Web Apps?
Permalink 1 user found helpful
I'm getting into a project and fishing around for the "right" CMS/Framework for the job.
This project will have a modest sized CMS component that concrete5 looks more than capable of handling. And I love the "edit in context" philosophy.
But how strong is the framework behind the CMS for web application development? I see the need for plenty of AJAX, user accounts, image handling (display and thumbnail creating, mostly), and e-commerce (cart, multiple options per item, checkout, PayPal and Stripe). Those are the parts I plan on coding myself.
Is there some solid documentation I've missed for the framework?
Would concrete5 be likely to handle the job?
My current alternative looks to be SilverStripe. It's CMS looks OK, but lacks in context editing, but the foundation behind their CMS is more clearly a component and has what looks to be pretty good documentation.
Links?
Opinions or guidance?
Bob
This project will have a modest sized CMS component that concrete5 looks more than capable of handling. And I love the "edit in context" philosophy.
But how strong is the framework behind the CMS for web application development? I see the need for plenty of AJAX, user accounts, image handling (display and thumbnail creating, mostly), and e-commerce (cart, multiple options per item, checkout, PayPal and Stripe). Those are the parts I plan on coding myself.
Is there some solid documentation I've missed for the framework?
Would concrete5 be likely to handle the job?
My current alternative looks to be SilverStripe. It's CMS looks OK, but lacks in context editing, but the foundation behind their CMS is more clearly a component and has what looks to be pretty good documentation.
Links?
Opinions or guidance?
Bob
Blake,
That's good feedback. Thank you.
I'm comfortable in PHP (because I started with WordPress), so systems like Laravel, SilverStripe and Kirby are just fine by me. And it's easy to find a hosting company that can handle a LAMP stack.
So I'll drive on a little deeper into the woods. :)
Next up for me will be a custom block to handle a client's proofing gallery and let them pick the images they want.
Bob
That's good feedback. Thank you.
I'm comfortable in PHP (because I started with WordPress), so systems like Laravel, SilverStripe and Kirby are just fine by me. And it's easy to find a hosting company that can handle a LAMP stack.
So I'll drive on a little deeper into the woods. :)
Next up for me will be a custom block to handle a client's proofing gallery and let them pick the images they want.
Bob
Hi Bob,
In a way concrete5 is a CMS with a Framework added in, a bit more than it's a Framework with a CMS added in, if that makes sense.
There are a lot of use cases for concrete5 in App Land but those typically boil down to situations where you have a content heavy or organizationally heavy site. I think you get this already, but if you need an application only, grab Laravel, Slim etc and you'll be happier.
Another avenue is reaching across into concrete5 from an Application. I have in the past worked with some projects where we reached over and authenticated users from concrete5 but then used a Framework for that one Application we needed to add onto the site. concrete5 already had so much user management built into the back end and the majority of the site was content heavy so it was easy enough just to have our app use it for authentication. We kept everything in the same database so writing blocks in concrete5 to grab the data from the app was pretty straightforward.
Best Wishes,
Mike
In a way concrete5 is a CMS with a Framework added in, a bit more than it's a Framework with a CMS added in, if that makes sense.
There are a lot of use cases for concrete5 in App Land but those typically boil down to situations where you have a content heavy or organizationally heavy site. I think you get this already, but if you need an application only, grab Laravel, Slim etc and you'll be happier.
Another avenue is reaching across into concrete5 from an Application. I have in the past worked with some projects where we reached over and authenticated users from concrete5 but then used a Framework for that one Application we needed to add onto the site. concrete5 already had so much user management built into the back end and the majority of the site was content heavy so it was easy enough just to have our app use it for authentication. We kept everything in the same database so writing blocks in concrete5 to grab the data from the app was pretty straightforward.
Best Wishes,
Mike
Mike,
This is all sounding right to me. I have played with Laravel 4 and found it to be a very powerful and well thought out framework. But as a framework, the developer needs to create the application - all of it. So it means coding up all the blogging, and "boilerplate" stuff.
concrete5 has such nice "boilerplate" features, that so much of the site design looks like it will require no code, just some organization and design (CSS).
So I'll be trying out the framework side of concrete5 for the app portion. And it's already looking like there are some free addons that I may be able to leverage to get started.
At this point, and it may be my lack of familiarity with concrete5, the developer side of the documentation isn't ringing the bell for me. Do you know of any go-to 3rd party resources for developer details?
Thanks for your comments.
Bob
This is all sounding right to me. I have played with Laravel 4 and found it to be a very powerful and well thought out framework. But as a framework, the developer needs to create the application - all of it. So it means coding up all the blogging, and "boilerplate" stuff.
concrete5 has such nice "boilerplate" features, that so much of the site design looks like it will require no code, just some organization and design (CSS).
So I'll be trying out the framework side of concrete5 for the app portion. And it's already looking like there are some free addons that I may be able to leverage to get started.
At this point, and it may be my lack of familiarity with concrete5, the developer side of the documentation isn't ringing the bell for me. Do you know of any go-to 3rd party resources for developer details?
Thanks for your comments.
Bob
Hi Bob,
Just to chime in again, here are a few links that will hopefully help you get started:
hereNT has created a nice demo that shows you how to create custom objects in concrete5 here:http://www.concrete5.org/marketplace/addons/custom-objects-demo/.... Be sure to check out his blog for full explanations.
I found the example FAQ system written by Andrew to be very helpful:http://www.concrete5.org/marketplace/addons/example-faq/...
Jordanlev, creator of the Designer Content block has recently started a blog that has some nice tips. The blog ishttp://concrete5tricks.com/. I would definitely keep an eye on that for new articles.
I also found a lot of the video tutorials on the "Learn concrete5" page to be really helpful:http://www.concrete5.org/documentation/...
The developers index (http://www.concrete5.org/documentation/developers/) also has some nice documentation for a lot of the common API functions.
Also, as I mentioned before, you can always join us in the #concrete5 IRC channel on chat.freenode.net
Good luck!
Just to chime in again, here are a few links that will hopefully help you get started:
hereNT has created a nice demo that shows you how to create custom objects in concrete5 here:http://www.concrete5.org/marketplace/addons/custom-objects-demo/.... Be sure to check out his blog for full explanations.
I found the example FAQ system written by Andrew to be very helpful:http://www.concrete5.org/marketplace/addons/example-faq/...
Jordanlev, creator of the Designer Content block has recently started a blog that has some nice tips. The blog ishttp://concrete5tricks.com/. I would definitely keep an eye on that for new articles.
I also found a lot of the video tutorials on the "Learn concrete5" page to be really helpful:http://www.concrete5.org/documentation/...
The developers index (http://www.concrete5.org/documentation/developers/) also has some nice documentation for a lot of the common API functions.
Also, as I mentioned before, you can always join us in the #concrete5 IRC channel on chat.freenode.net
Good luck!
bbeng89 said it better than I could. Pretty much exactly(but better version of) what I was just about to write.
I would only add the IRC channel ( #concrete5 at irc.freenode.net ) has some really high quality and helpful developers hanging around.
EDIT: I didn't read as well as I should. IRC has been mentioned a couple times. But really it is a fantastic place for info.
I would only add the IRC channel ( #concrete5 at irc.freenode.net ) has some really high quality and helpful developers hanging around.
EDIT: I didn't read as well as I should. IRC has been mentioned a couple times. But really it is a fantastic place for info.
Thanks!
There are some pretty nice looking resources there.
I also foundhttp://www.concrete5tutorials.com....
Bob
There are some pretty nice looking resources there.
I also foundhttp://www.concrete5tutorials.com....
Bob
Thanks to all for the great perspectives and excellent resource links. This has been very helpful.
Now on to new problems on another thread:
http://www.concrete5.org/community/forums/installation/sync-live-an...
How do you make revisions to the structure of a site (on the development database) while the live version is running (on the production database) and then sync in just the revised structural data from the development database?
Bob
Now on to new problems on another thread:
http://www.concrete5.org/community/forums/installation/sync-live-an...
How do you make revisions to the structure of a site (on the development database) while the live version is running (on the production database) and then sync in just the revised structural data from the development database?
Bob
Ah yes. Also, since you mentioned AJAX you could check out JohntheFish's AJAX lessons here:http://www.concrete5.org/marketplace/addons/ajax-lessons/...
While on AJAX and pulling content about the place, I also have the Blocks By AJAX addon and Universal Content Puller (with associated source plugins).
http://www.concrete5.org/marketplace/addons/blocks-by-ajax/...
http://www.concrete5.org/marketplace/addons/universal-content-pulle...
http://www.concrete5.org/marketplace/addons/blocks-by-ajax/...
http://www.concrete5.org/marketplace/addons/universal-content-pulle...
I've been in a similar situation to yours several times and in general if the project I am going to be working on has a lot of content management requirements I will end up going with concrete5. I used to do mostly .NET MVC and Django development and I hated reinventing the wheel for content management in all of my projects. My end products also never really seemed to be very intuitive for the site administrators. I didn't particularly like programming in PHP but I liked concrete5 so much (especially from a users standpoint) that I decided to try to dive in and do some more custom work with it. It turns out that behind the scenes concrete5 has a really nice MVC framework. It also has a great override system that lets you override/extend the core framework classes. The documentation isn't always great, but I will say that the #concrete5 IRC channel is a great place to get support and learn more about developing with c5. If you have some more specific questions that would definitely be a good place to go get some more feedback and ideas.
So I would say if you're familiar with MVC and your project is going to have a fair amount of content management I would definitely give concrete5 a shot. AJAX is really easy with it, files and images can easily be managed with the file manager, and it has a great membership system for creating user accounts and groups. There is also an e-commerce add-on developed by the core team, but I don't have any experience with it so I can't really say much about that. I haven't really run into any problems yet that I didn't think were possible to solve with concrete5 though. If your project doesn't have a lot of content management, I would say you would probably be better off just going with a framework, but if you want to have a really elegant content management system built into your app then go with concrete.