The Joomla! Community Magazine™

Distributions - When One Flavour is Not Enough

Written by | Friday, 01 November 2013 00:00 | Published in 2013 November
Anyone who knows me knows I have a bit of a sweet tooth and I'm a sucker for chocolate, cheesecake and ice cream. It's extremely hard for me to walk past the local gelato shop. As I yield to temptation, I'm affronted with an assortment of flavours and mix-ins. I can choose between standard or sugar cones or have it in a cup. I can tailor my order for the likes and dislikes of my family, and get serving sizes that are realistic for their appetite (or my budget). Decisions, decisions ...

But when it comes to getting a copy of the Joomla CMS, it's a bit like walking into the ice-cream shop and only being able to order two-scoops of vanilla in a standard cone. The attendant behind the counter says to me, "I'm sorry sir, if you'd like other flavours and sprinkles on top, there's a grocery store down the road." Hrm ...

What if there was another way to download a fresh copy of Joomla, but pre-installed with just the extensions I want to suit the site I need to build today just like I can order different types of ice cream.

Earlier this year, the Joomla project published a roadmap for the Joomla CMS. Part of that roadmap was to look at different ways that the Joomla CMS could be distributed, tailored in a way that suited what users might actually need rather than having a one-size-fits-all (two scoops of vanilla thank you very much) approach. Last month, the first steps were taken towards realising that goal. The Distributions Working Group was formed.

The purpose of this working group is to look at how distributions could work from the software engineering requirements at one end, to the download and compilation experience for users at the other.

How could distributions work?

Obviously this is a point of discussion, but let me cast a vision for how it could work.

Distributions could simply be a variable set of the core extensions (Articles, Weblinks, Banners and so on). There could be a "classic" distribution which is much like the CMS we are used to today. There could be a "light" version that only includes articles support and is your pick for blogging. There could be a "developer" version that includes utilities such as a JED Checker extensions.

This sounds great, and would be helpful for people that are new to Joomla aren't quite sure where to start. It would be a step in the right direction, but I think we can offer our customers more.

Imagine if the download page for Joomla included the "house suggestions" as I've mentioned above. But now imagine there is a "choose your own CMS" button that you can click. A panel rolls down to reveal a list of extension packages that I can "check off". I can select just the extensions I need for my current project and download the site ready to go. Not only that, popular free extensions like Akeeba Backup and others are in the list too, and I can search the JED for more.

Now imagine that you've gone to all the trouble of selecting a custom distribution of the CMS, and I have another client that needs a similar stack but with a few changes. Wouldn't it be great if I could save my custom distributions just like I'd save a playlist of music, and how about letting me share that with my friends? Imagine you could search all of the custom distributions that have been saved by other people to find something suitable for a small business site, a bed-and-breakfast, a music band?

What if distributions even preconfigure themselves based on what other extensions are installed?

What if I could buy support or "pro" upgrades directly through an in-site purchasing system?

What if ... ?

All these things are possible – all we need is your time and effort.

How can you help?

There are many ways to help. The first thing to do is check out the Distributions Working Group home page on Github. This is central command for all of the major discussions that we need to have to realise the distribution vision.

We need developers and engineers to help with the technical details of how to refactor our software into building blocks that can be made into distributions.

We need user experience people to help design the new ways users will interact with the variety that distributions will offer.

We need planners and thinkers to help work through the logistics and new workflows that we are going to need, not to mention the myriad of new problems we are going to have to solve.

We need marketers and communicators to help keep the teams and the spectators informed.

To be a part of the team of people that reinvents Joomla is a very exciting prospect. If you are attending the Joomla World conference, you might like to join the conference session for the Distribution Working Group on the Sunday.

When will distributions be available?

Let's be realistic - this is a huge and new undertaking for the project and it will take many months to plan and probably years to perfect. But an initial goal could be for Joomla 4.0 to be built on the distribution architecture, even if the ability to build different types of distributions is still some way down the track.

The first steps have been taken so now it's over to you to get involved if this is something you feel you might be interested in. If you have any questions leave a comment below or join the conversation on Github.

Thanks in advance!

Read 14444 times
Tagged under Feature Stories, English
Andrew Eddie

Andrew Eddie

Andrew is a co-founder and long term contributor to the Joomla project (currently serving a term on the PLT - the Production Leadership Team - and is a Platform Maintainer).  He works for eBay as a software engineer working on a large Joomla intranet project within the company called DataHub. Andrew speaks about Joomla development regularly at Joomla events and ICT conferences all around the world.

Latest from Andrew Eddie

Got an interview with Andrew about the idea coming up on the podcast in a few weeks. Chatted to him about it at JoomlaDay Sydney.

Episode 42 should have it after the 19th of Nov
Excellent idea, really really excellent. Looking forward to giving some input on the new distros
This is a wonderful idea Andrew, and I'm glad that someone has finally been able lay this idea out in such an articulate manner.
I really do hope that maybe in the next version of Joomla (4.0), this can actually become a reality.
Excuse me for being so rude but the idea of distributions sound weird for me. I have worked with Joomla for 6 years and it sounds weird that there will be maybe thousands of Joomla installation packs I have to (can) chose from. It doesn't sound to be safe to use pre-defined packs (I cannot feel safety by using a non-core pack for starting a project) and it doesn't sound to be easy to choose from the list for a particular goal. I cannot imagine what type of users could use it better than one well-defined core Joomla pack. Newbies? They won't understand, it will be another factor of misunderstood. Accomplished? We all have our starting packs.

The only way of use I can imagine is if Joomla really (or by the time) leads in Unified Content Model. In that case I think that would be cool for users to have "recommended content packs" or something like that for some purposes like contact form, article submission form and so on.
Hi SPDRMN. I've been working with the Joomla code for coming up on 11 years and it's clear to me that more than one flavour of the CMS is required. I'm not sure how pre-defined packs of extensions that you are going to install is any less safe than downloading the CMS, and then installing them by hand. It's just a matter of convenience. Sure, for the person managing one site, it's not that big a deal, but for people that manage many sites, the idea that they are create a type of "playlist" for their standard install, and have the absolutely latest version be assembled for them is, I think, rather attractive.

There would not be any change to the existing way you can download the CMS. Newbies would be directed to the good old "classic" Joomla, but to that we can add maybe a lighter version for blogging, a heavier version for developers, and also a portal where you can create your own or choose from a distribution someone else has put together. It will also help people see the kind of possibilities that are available when it comes to building sites, and anyone will be able to do it.
Hi Andrew!

Sorry, english is not my native language so maybe I'm not very articulate, I cannot make my thoughts felt accurate. I try to express myself another way, I describe only my first concern about this plan.

I use 6-7 extensions with the core pack as a starting point for every type of J! sites : editor, backup, and some other administration/dev tools. These extensions are from the JED, where in every category I choose these extensions from there are tons of other, similar extensions. These certain extensions I use for a universal starting pack is just one possibility among hundreds of other possible lists/configurations only for this level of development, for installing an "advanced core pack". At this moment for example there are 13 editors, 10 backup softwares, 24 login protection programs in those categories. I'm sure that people like and use these various extensions for the same purpose, to build starting packs, hundreds of different starting packs. I'm sure they would suggest us to use those packs, as I would suggest anybody my own. So this is one of my concerns about distributions: hundreds of starting packs as "suggested downloads" are not useful, neither for the newbies nor for the veterans. It's just too much. And we are talking about only the starting points. I imagine each of these packs extended with one single feature: an image slideshow. There are 346 slideshow extensions on the JED now. Hundreds of possible starting packs multiplied by hundreds of possible "recommended" image slideshow modules, it can grow to a six-digit number. And it's just one single extra feature above an "advanced core pack".

So this is my first concern: if anybody - at least all the developers of all the extensions! - can define and suggest their recommended configurations as downloadable packages from the official Joomla download site, I cannot imagine how people could use this novelty.
Hi Andrew,

In my opinion, distributions can turn into a horrible idea because of these reasons:

- The Joomla team will have to maintain many variations of the same product, and not just one.
- There will be some temptation to charge money for some high-end distributions, which means that the low end distributions will not get the attention that they should, which in turn means that Joomla will lose its status as a really stable platform.
- Too many distributions will confuse newcomers to Joomla, as well as casual adopters of the platform.

I think these ideas should be examined very carefully before going this way.
Hi Fadi.

Distributions are just a collection of extensions. You don't have to maintain the distribution because it is simply a "list" of extensions. If the Articles component appears in 100 distributions, you still only have to maintain one Articles component.

Commercial extensions won't really changes anything compared to now either. Commercial extensions will stay commercial and you will have a "pay" according to how the business requires. Soapbox is a good example of a commercial distribution and it has had no negative effect on the project or brand (probably the opposite).

There is the potential for many thousands of possible distributions - to be honest, that would be a nice problem to have. I would like to see the ability for people to favourite, like, "I use this" and vote on distributions so that the "best" bubble up to the top of the list. So, you are right, it could be a problem but that does not mean we should be afraid of trying. It's also a reason why I suggest that we need a small number of "core" distributions for people that just want to get started quickly.

But consider this. It takes a long time to trawl the JED and find the best set of extensions for the site your are looking to build. Wouldn't it be great for you to be able to save that list of extensions, and share it and save someone else the time of doing all your research? For me, that would be really cool and I would probably find extensions that I never even knew existed to give me features on my site that I had never even thought about. The possibilities of doing great things with this is enormous :)
Interesting developer-level discussion starting about how to organise our extensions in new ways [url=http://]here[/url].
Hi Andrew,

Reading your last point, I'm wondering, do you meant that an option would be to group those set of extensions as one add on to Joomla that can be downloaded and installed after Joomla is initially installed.

I don't think the concept of having thousands of distributions is appealing by the way, purely from a maintenance point of view. The Joomla community that actually works to make Joomla better is not that big and cannot handle this overhead.
I can't see why this is so controversial, nor why some seem to think it would be complicated. Linux has dozens if not hundreds of distributions, and does so with great success. Distributions tailored for multimedia, education, lightweight computing, media name it.

I think a tool similar to the Instalinux web site (which allows you to "roll your own distrowatch" would be a valuable tool in this regard.

And Peter, as I read this article I was wondering why it seemed familiar--heard it on the podcast!