Make a Joomla "Drupal" model work?

Background

Why should Joomla have 7 different cck system instead of only one in core?

Why should we have 8 different comments system instead of only one in core?

Why should Joomla have 8 different template frameworks instead of only one in the core?

Why should Joomla have 7 different ... instead of only one in core?
etc etc instead of have CCK, RDF, JQueryUI use of Mootols conflicts etc in core.


So question is "Why not focus on only one core feature for the core and have all this brainpower, energy and time for just one of these core features?"

W h y invest all Joomla peoples valuable time and efforts making duplicate solutions when you can make it work like Drupal doing?

So...
I have seen a debate here that Joomla should only make the core very small with no or very few extensions to it, distribution model and other suggestions.

I personally don't like this idea and also Drupal are doing the opposite. So question is: Is Joomla taking the right decision or Drupal?

I personally think that here again we have a lot to learn from what Drupal is doing.

Drupal adding those extra addons into the core features instead and use a "maintainers model" with about 800 core contributors.
http://acquia.com/resources/acquia-tv/drupal-7-top-40-core-modules-...
http://www.unleashedmind.com/en/blog/sun/more-than-50-drupal-module... "

And have an user dev contributor organization model with Feature contributors, Framework contributors, Sub-system maintainers (specialists) , Code gardeners (generalists), Core branch maintainers.http://www.unleashedmind.com/en/blog/sun/drupal-core-development-wo...

Making Drupal easy to use for everyone
http://acquia.com/resources/acquia-tv/conference/drupalcon-sf-2010-...

So what can and will Joomla do ? What do you think how we can make Joomla better?

Views: 51

Tags: Drupal, Joomla, core, for, maintainer, model

Comment by Michael Babker on September 15, 2010 at 10:48am
Some people think that a minimal core distribution for Joomla! is the right way to go, and let the end user choose what they want on their site with extensions (either third party or core developed).

Some people think that there should be a Joomla! core, then "customized" distributions for different types of site functions (blog, business, etc.).

Personally, I think that a decision needs to be made on a good road map for Joomla! (what can we expect for 1.7, 1.8, and possibly 1.9 while preparing for and creating 2.0) and this is one of the things that should be decided upon.

Personally, I think it'd be cool to see a minimal Joomla! core with various different distros for various site purposes. A minimal distribution could be good for someone who's building a site that doesn't necessarily fit any of the distro packages, and allows them full customization of the site. The distro packages could come with a small group of components designed for that function (i.e. a blog site should definitely include a comments system, while a business oriented site could have something like VirtueMart included in the package).
Comment by Torkil Johnsen on September 15, 2010 at 12:53pm
I don't think a monolithic core is the way to go. And I don't think having 8 different solutions for one problem is the way to go either, although freedom of choice is nice.

I think David Deutch phrases his suggestion to this problem nicely, in his contribution to the Nooku mission statement discussion:
http://groups.google.com/group/nooku-framework/browse_thread/thread...

"Problems should be solved once and in such a way that others don't need to solve the same problems again. We think that DRY is a concept that should apply to the community, not just to one application or framework. "

Nooku's nature allows both the framework and it's extensions to be a lot more reusable than those of native Joomla, so I expect that Nooku based extensions won't end up as numerous as Joomla based ones, with 5000+ registered on the JED…
Comment by ssnobben on September 16, 2010 at 1:37am
Thanks Michael and Torkil for your comments.

Great discussions that started and Torkil this nailed it by David D old skore :) to really understand it and focus on the right things instead of inventing the wheel again again again.

"Problems should be solved once and in such a way that others don't need to solve the same problems again. We think that DRY is a concept that should apply to the community, not just to one application or framework."

We should reuse everything that is great factored and also copy good ideas, libraries, best of bread code etc

http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
Comment by Jeff Channell on September 23, 2010 at 3:24pm
It may be a bit off topic, but I'd like to see a revamp of JDatabase and/or JTable to have CakePHP-like "find" and "findByX" methods, and maybe add a bit to JModel so mapping relationships (hasMany, belongsToMany, etc) would be easier than pounding out raw JOIN statements in SQL. Other than that, I'd like to see the core expand a bit by adding more core libraries, like captcha and bbcode parsing, so developers that need these things have them available.
Comment by Joe LeBlanc on September 23, 2010 at 8:53pm
I have to disagree on becoming more Drupalish. While I think there are a lot of conflicts and duplication out there, I don't think the answer is to go the One True Way approach that Drupal seems to apply to everything. I propose that we work together to build better and more flexible APIs for Joomla. That way, we wouldn't have to build a separate integrations for each extension we want to talk to. For instance, if we had a hook system and you were building a CCK component, you could simply say "I want comments here associated with this record." This way, site admins could swap out comment systems at will without worrying about whether or not your CCK knows about the specific comment system being installed. All comment systems would respond to a 'comment' hook called in your CCK component.

So to bring it back to Drupal, perhaps we should look at Drupal's hook system rather than the way they try to go with one "preferred" way of doing things.
Comment by Jeff Channell on September 23, 2010 at 8:57pm
Joe, you've got the right idea - maybe an extension of the event system. Having more triggers for things like comments, captchas and the like would definitely make it a lot easier. :)
Comment by Joe LeBlanc on September 24, 2010 at 7:57am
Jeff, yes, I'd even like to see something where we approach this as a "directory" of events. We'd have a site where developers can propose new events, then document them in the directory for everyone to use. This would get everyone on the same page, while making it possible to add new events between Joomla releases.
Comment by David Hurley on September 25, 2010 at 12:30pm
I tend to agree with Michael's initial post. I believe keeping a lightweight framework, and Joomla! library is ideal. This way applications can be built off of it as needed. I think more of a distinction needs to be made regarding the CMS versus the framework. I think of the CMS as an application utilizing the Joomla! framework. This isn't really a clearly announced idea yet. I think it should be. I think at that point we can more clearly define distros as Michael mentioned. That way you can choose the 'version' that is most appropriate for your needs. Let the community decide the success or failure of a version.

While there may be comparisons to Drupal that can be made, and we can certainly learn from other open source systems, we could also be learning from WordPress, we could also look at Linux as successful projects that offer various distros and 'flavors'

In the end, I have to say I think the framework should be a concise library that emphasizes a rapid development tool upon which a developer can create a CMS, or other application then introduce distros, versions, flavors, whatever you want to call them to satisfy specific markets and industries.
Comment by Jeff Channell on September 25, 2010 at 1:19pm
@Nicholas: while I don't disagree, I'd still love to see an easier way for developers to integrate things like commenting, captcha, and maybe a few other types of extension in an easier manner. I realize that we are free as developers to extend things with plugins and new events and the like - but when it comes specifically to the two I mentioned, comments and captcha (which, to be honest, would better serve as being a more-generic "form" event), it seems useless to attempt the implementation of a new plugin event when it's not supported in the core.

I guess what I'm saying is I'd like to see a few more core event triggers, even if there's no core code taking advantage of them.
Comment by Jeff Channell on September 25, 2010 at 4:19pm
It would be wonderful indeed if I could, as a developer, include a one-line event trigger to allow users to load whichever comment solution they wanted in any custom component instead of kludges with extension detection, and the same goes for captcha too.

The important thing is the implementation. For example, with these two triggers you would almost need to have the current plugin system choose a default, lest someone have multiple solutions installed and end up with, say, multiple captchas on the same page. It would have to be configurable as well, so how does a user decide? Via the Plugin Manager? Where would it go in the UI?

I ask this, by the way, in hopes that it leads to some working code to be committed at some point!

Comment

You need to be a member of All Together, As A Whole to add comments!

Join All Together, As A Whole

Badge

Loading…

© 2012   Created by Amy Stephen.

Badges  |  Report an Issue  |  Terms of Service