Joomla or cakePHP for designing application without limitation? - cakephp

I've only touched the top of the iceberg of Joomla and cakePHP. There is so much to learn. But on top of learning I want to build something useful as well.
Joomla is the easiest to set up and is very agile if I wanted to get things up and running with concepts that are already in use out there. That is, I can install different components and extensions that are developed by other uses. The problem here is that I'm limited to other people's imagination and vision. What if I wanted something specific and no components or extension meets my needs, I would need to build my own. Which brings me to the question: -
Should I learn how to develop custom components/extensions in Joomla, or learn cakePHP to truly be capable of engineering my own application to suit all my needs?
Here is the application that I want to build through my learning - an integration of all of the below component each able to interact with one another:
A blog
A forum
A user participating recipe book
User calendar
Image gallery
Yes there is alot that I want to do, but it's all in the name of learning. I really want to be able to have an application which has an integration of all the above components which works smoothly together. For example, when a user submits a recipe or a blog this is written to their Calendar. Another example, user will be able to share their recipe/image gallery within their blog, without the reader having to navigate away. Another example, images can be tagged with recipe or ingredients of the recipe.
I'm starting on a clean slate, so I'm really looking for some opinion on which one I should stick to to achieve what I want to do. And which one will have a steeper learning curve?

For a forum, you could use Kunena.
Image Gallery, Blog and User Calendar should be easy enough to find.
As for the Recipe Book, if you are willing to purchase an extension then the ZOO app by Yootheme might be an idea, or you could allow users to submit standard Joomla articles and use a comments component such as JComment

Related

Know any documentation for taking existing cakephp site and integrating into Croogo?

My employer runs a website with a homebrewed CMS that it has outgrown. I would prefer to use Django, but since everything is already in PHP, and I know the Cakephp framework, I'm going to just rebuild it in Cake. I've already done the gap analysis between the current site and the Cake version and it looks doable.
However, I need the site to have a CMS and don't want to put one together myself. I'd rather not reinvent the wheel. Croogo seems like the most actively developed and positively reviewed Cake CMS, so I'm leaning in that direction.
The trouble is I can't find any detailed documentation of how Croogo handles the database relative to Cake. I understand there is a direct link between the two, but is that enough for me to just trust that I can easily take an existing Cake site and magically integrate that with Croogo? I have a strong feeling that it won't be that simple.
I plan on to creating a fake croogo site to try to look behind the curtain, but I'd rather not have to reverse engineer the whole thing. So, does anyway know a bit about my scenario or have a resource they can point me to?
I doubt I'm the only one who wants to migrate an existing site to Croogo.
It really isn’t that difficult to build something in CakePHP. As long as your database is normalised, and you have your models set up correctly, you can easily “bake” something specific to your needs. User authentication with bcrypt-hashed password is easy to add, as is authentication and ACL.
I have a starting point that covers the above that I use for each CakePHP project, and can quickly build bespoke websites in CakePHP with little effort, without having to shoe-horn it into a CMS or plugin. Once you go down that road and start working around a particular CMS or plugin, you’ll find yourself quickly in the same position (outgrowing your chosen CMS/plugin’s capabilities) as opposed to building something that’s fit for purpose.

Is agiletoolkit (atk) framework dead?

I want to choose ATK (http://agiletoolkit.org) as my framework for easily build the admin part, I have 2 questions.
In their site, I see that the last blog post was a year a go.
Is this project continuing?
Should I use this framework in the site AND the admin? I am a bit confused about using it in the site side? Or maybe I should use another framework (which will create an overhead)..
Edit
I am a developer that is coming from JAVA and .net mostly.
I am a freak of service reuse because I have an experience on a large scale projects.
I see that ATK4 is not a classic REST based.
Lets examine this situation if I may:
Just as an example, I have a registration form that has a very complex logic in pre-insert and post-insert.
So it means that I need to create a REST api for registration (with all the complex pre-post logic).
BUT! the crud operation will not be arware for this complex logic in it, so I am creating some sort of a pit-fall when I cant re-use CRUD operation from the site and vice versa.
I am use to create single service that is suitable with admin CRUD and site operation, this way you wont have duplicate invocations, and each operation is aware to the permissions you have.
Thanks
Site is now in the process of complete rewrite. Their blog never was active enough.
BUT this project is very alive and very active. For all news you should check these resources:
GitHub repository - https://github.com/atk4/atk4. As you can see there are new commits almost every day.
Google groups for discusions - https://groups.google.com/forum/#!forum/agile-toolkit-devel Same story - new posts every day.
IRC - #atk4 at freenode
Stackoverflow - https://stackoverflow.com/questions/tagged/atk4
YouTube - video tutorials
some more resources for addons etc.
You can use ATK4 for whatever type of site you want. I guess it better suits for admin (backoffice) side, but can be used equally well in frontend too. It's just - learning curve can sometimes be not so short. On the other hand - when you get used to ATK4 style of coding, then it definitely sucks you in :))
Update on Agile Toolkit as of 2017:
In order to keep the best parts of ATK4 framework alive, I have started 2 open-source projects following best practices:
https://github.com/atk4/data - Agile Data - Refactor for models
https://github.com/atk4/ui - Agile UI - Refactor for UI
Additional resources (forum, blog, etc) can be found at http://agiletookit.org/.

CakePHP: Internationalizing a web application - Design and Examples?

I have a web application built using CakePHP framework and now I am in the process of internationalizing it. I started with the base set-up as outlined in the below article -
http://puskin.in/blog/2010/08/cakephp-manage-multiple-language-in-application/
and also add little bit of customization based on my previous question -
CakePHP: Internationalizing Web Application
To completely internationalize my web app, I would need to translate my drop-down/look-up content as well, like - categories, favorites, countries, bucket list etc.
What is the best way to design my tables and CakePHP samples? Can someone explain with a simple example and classes? Links or articles?
Lets say we have something like -
A user can create multiple posts, and each post has a category [science article, match article] etc in the drop-down and same we need to internationalize drop-down as well.
Two hints:
Read the manual of cakephp.
Look into the code of a available application (maybe croogo)
My open source project is translated.
It call CandyCane. A port of Redmine into CakePHP.
I also imported translation files from Redmine, so CandyCane supports numbers of languages from the beginning.
https://github.com/yandod/candycane
It might be helpful for you.

Creating an online Asset Library/Catalogue? Help

I've been asked to look in to creating and online database for sorting flash banners. So its kind of like a big resource library where our client can log on search and browser for old/existing banner creatives.
Does anyone have any recommendations on what I should do/look in to. CMS Framesworks etc.
I'm pretty sure I could use Wordpress for this job via custom post types etc. But I think there's probably a better solution out there. Drupal? Joomla? Expression Engine? Or would it be better to just create a basic cms from scratch.
Features needed:
Kick arse search functionality (am guessing the client will likely try to search for creative by year, month, campaign, banner type.
Smart navigation
Sharing is convenient
Must be able to demo working demos of expanding banners as well as non-expanding
CMS so new ads can be easily added to the library.
Thanks in advance for you knowledgeable insights :P
cheers
Although basic Joomla has own extension for this purpose, here:
http://extensions.joomla.org/extensions/ads-a-affiliates/banner-management , you have got a whole set of advanced extensions which do the job for you in Joomla. Read opinions and choose your favourite

Which is the easier CMS to integrate with CakePHP?

I was trying develop a website with Cakephp and Joomla... But lately I've been founding a lot of barriers that create difficulties implementing things that would have been a lot easier if I only developped using one of the components.
So, in your point of view (as someone with more experience than me), is it worth to integrate CakePhp with a CMS?
If yes, what do you think its the best and easier CMS to integrate with?
Or use Croogo (http://croogo.org/)
A CakePHP CMS. I like Croogo's implementation more than Wildflower and the admin UI looks a bit similar to Wordpress.
From my point of view i wouldn't try. I think there would be a lot of crossover functionality and a lot of conflict. Either use Cake and write a CMS and the other elements you want or pick a CMS and develop the other elements you want as add-ins/plugins.
Joomla, Drupal, Xaraya, Expression-engine etc are all extensible so pick the one that is the best fit and has the ability to be extended or maybe already has plugins you require.
Another option would be to use Joomla as the CMS and Cake for the other element you want, keep them as separate entities but skin then identically and make the navigation seamless. In this case about the only thing you would need to integrate would be state.
There are some out there already that are on Cake from the ground up. Wildflower for example
http://wf.klevo.sk/
I have a cakephp site that is running wordpress in it's public_html/blog folder and it is doing great.
They are basically two separate sites, with two separate backend but it is fairly easy to create a model for the wordpress database if you want to pull in any data (eg. posts, pages, comments) and use it in the cakephp site.
As far a integrating the two I don't think it is a good idea if it needs to be a seamless experience for the backend users, most frontend users won't notice the difference because you can use the same style sheet and images.
If you want any more about my experiences with the combination let me know!
Cakeui is a rip of Croogo. Infinitas CMS could be what you're looking for if you want a full blown application or check this site for a list of good CakePHP Cms
As the developer of Croogo, I will be biased and recommend you to check it out at http://croogo.org. It comes with a web based installer too and you should be up and running in minutes.
Another CakePHP based CMS is Infinitas which has more features (including shopping cart). Both are based on the latest version of the framework (1.3 at the moment) and are actively developed.
I wrote a lot of CMS type apps with Cake and was thinking along the same lines. I've tried Joomla, Drupal and Wordpress but still had a dirty feeling in my mouth that I was failing by using Cake just for the sake of it or vice versa.
The most important common denominator, in my experience, is the back-end. It is re-used most often, but gets the least input.
Now I have built my own CMS with CakePHP. The intention is to 'opensource' it, but it's not quite ready yet.
I don't think it is worth the headache trying to combine, then maintain Cake and a 3rd party CMS. Save your best modules and components and build your own. The blog tutorial will give you a good head start and you can cherrypick what you like from other sources, rewriting it to suit your ideals. The benefit is you will then know the CMS inside out and have it working just the way you want. You'll learn a lot along the way as well.

Resources