Introducing Croogo CMS
Croogo is a free, open source, content management system powered by CakePHP framework.
A few of you may already know about this project, but I thought it would be better to let everyone in the CakePHP community know about it via The Bakery.
Back in 2008, I started developing applications for clients in CakePHP. And most of the projects required basic CMS features like pages, blog, contact forms, user management, etc. I realized I was spending extra time by coding the same thing for every project. So I decided to develop a CMS of my own that I can use as a starting point for my future projects.
I started developing Croogo in early 2009, but I made it open source in October hoping it would benefit the CakePHP community as well as the project itself.
Once you adopt MVC style of development, it is really very difficult for you to go back and code in PHP the normal way. And considering other major PHP frameworks, I found CakePHP easier to learn.
There are hundreds of CMS out there. But very few are developed utilizing popular MVC frameworks. I made a research on other open source CMS in the market, and ended up with this finding:
I kept these three things in mind when developing Croogo.
It covers most of the basic features that you would look for in a CMS. You can find the full list here: http://wiki.github.com/croogo/croogo/features.
Here is a summarized list:
I have released version 1.2 today. Now the goal is to set up the website with proper documentation and also prepare for the next release, which includes migrating the project to CakePHP 1.3. Next version may also include a redesign of the admin panel.
The Beginning
Back in 2008, I started developing applications for clients in CakePHP. And most of the projects required basic CMS features like pages, blog, contact forms, user management, etc. I realized I was spending extra time by coding the same thing for every project. So I decided to develop a CMS of my own that I can use as a starting point for my future projects.
I started developing Croogo in early 2009, but I made it open source in October hoping it would benefit the CakePHP community as well as the project itself.
Why CakePHP?
Once you adopt MVC style of development, it is really very difficult for you to go back and code in PHP the normal way. And considering other major PHP frameworks, I found CakePHP easier to learn.
Inspiration
There are hundreds of CMS out there. But very few are developed utilizing popular MVC frameworks. I made a research on other open source CMS in the market, and ended up with this finding:
- Wordpress has an easy to use admin interface
- Drupal gives you more control over content
- Joomla! is easy for administrators when it comes to extending it
I kept these three things in mind when developing Croogo.
Features
It covers most of the basic features that you would look for in a CMS. You can find the full list here: http://wiki.github.com/croogo/croogo/features.
Here is a summarized list:
- Content: You can create your own content types. Default types are blog, page and node.
- Taxonomy: categorization of your content
- WYSIWYG editor (with integrated file/image uploads)
- Custom Fields for content
- Multilingual: content in multiple languages (i18n)
- Comments
- Syndication (rss feeds)
- Menu manager
- Blocks
- Contact forms
- File manager
- User management (includes ACL management for setting permissions)
- Themes
- Extensions manager: manages uploading/activating of Plugins, Themes and Locales
- Web based installer
Roadmap
I have released version 1.2 today. Now the goal is to set up the website with proper documentation and also prepare for the next release, which includes migrating the project to CakePHP 1.3. Next version may also include a redesign of the admin panel.
Links
- Homepage: http://croogo.org
- Download: http://github.com/croogo/croogo/downloads
- Repository: http://github.com/croogo/croogo
- Issue Tracker: http://croogo.lighthouseapp.com
- Wiki: http://wiki.github.com/croogo/croogo
- Google Group: http://groups.google.com/group/croogo
- Blog: http://fahad19.com








I'm interested in converting existing template to Croogo layout..
Regards!
I came, again (already sent you a PM on github), to yell that you are doing a NICE JOB!
Keep working, the project can change the way we do CMS. And based in a greate framework that CakePHP is, it will not be so hard as the others think.
So, if you need any help... from designer issues to programming, do not forget to ask.
Regards,
João Pedro Barros from Brazil, with happyness.
We will give it a try and change your cms from joomla to croogo.
The one thing i don't realy like is the form desing of admin sites. But this could also solve during small changes on admin-css.
I like how it's modeled after Drupal. Honestly a lot of clients and people ask for Drupal because it has such a buzz...(why???) But I can't use it anymore mainly because it doesn't scale. I'm tired of spending countless hours trying to make it work and then breaking or "hacking" Drupal to do something it wasn't designed to do. It does small sites. That's it. Done. End of story. Anyone who says otherwise, come see me.
This however. Ah, this is beautiful. It will do large sites and it will be rapid to develop with because CakePHP is. So thank you. I hope that I can eventually contribute in some way and I hope that the CakePHP community really pulls together to support this project. It seems like it's very good and flexible. I hope it doesn't go down a road that puts it into a corner, but rather this "modular" approach is maintained and features are added to a nice simple base. Much like you'd now say for a new CakePHP project, "OH, I need a tag cloud. Let's see what the bakery has to drop in and just work or even modify." That idea. Beautiful.
Do you have any official recommendations for improving performance with your CMS?
While I wait for your reply, I'm off to test cake's native caching functionality :-D
EDIT: Changing the core config to use Memcache instead of file caching, resulted in initial page loading in .85s, and subsequent loads at .55s, so that helps. Still seems quite high, as I'm used to .01-.1s load times :-)
In Cake you should only see a timer if it's set to debug, which then it will be much slower. Also, is OPCODE caching enabled? It's difficult a page will take that long in CakeP unless his CMS is doing a ton of work.
Caching will be implemented in the next version which will give this cms a significant performance boost. and also, I believe CakePHP 1.3 is more efficient that 1.2 which will help.
Use github for submitting issues: http://github.com/fahad19/croogo/issues
Right
There has been a few changes in the development process. Lighthouse is the new issue tracker for this project: http://croogo.lighthouseapp.com, and also the repository has been moved to http://github.com/croogo/croogo. I have updated the links in the article.
Great job!
I assume Google Code Issues is where we report any errors, glitches, etc?
http://code.google.com/p/croogo/issues/list
Comments are closed for articles over a year old