Problem/Motivation
Distributions are one of the Drupal project's biggest strengths. While other platforms might beat Drupal on things like out-of-the-box feature set, or usability, there is very little else out there that has the capabilities to spin off highly customized software packages tailored to a particular use case. Drupal.org currently does a very poor job of featuring these tools, however, and evaluators of Drupal are often frustrated because Drupal doesn't really "do" anything out of the box, and the default installation without modules gives a poor impression of what the platform is really capable of.
Proposed resolution
- Rename "Installation profiles" to "Distributions" on D.o. That gets rid of the confusing "two separate meanings for install profiles" problem, as well as the "Distributions are a bundle of stuff too! Why are they different than install profiles?!" problem. Install profiles then become "a bundle of code in the /profiles/ directory", and Distributions become "a package of one or more install profiles + their required modules/themes/libraries".
- Make "Distributions" more of a front-and-center concept on Drupal.org: add buttons on the home and download pages, add stats for it on the home page, add it to the Solr filters, etc.
Allow distribution authors to choose whether their distribution is a "full-featured product" or whether it's a "quickstart profile," and have the list only default to showing ones in the former category (similar to the distinction between sandbox vs. full projects).Addressed by fixing distro tools so most-used distros are coming back to Drupal.org
Mockups at http://drupal.org/files/ddotoconsiderations.pdf were provided by Karen Borchert.
Remaining tasks
Results of work can be seen at http://distro-listing-drupal.redesign.devdrupal.org/ (user/pass: drupal/drupal) — the actual "listing page" part is pretty close to done.
Out of Scope
There are numerous other suggestions in this issue, but they do not yet have broad consensus, and thus will need to be discussed separately as possible follow-up actions. These include:
- Renaming "Distributions" to "Products" or similar name #1357806: Decide a name for user-focused distributions/products
- Adding categorization/classification to distributions #1372386: Classification by target users in project forms for distribution maintainers, #1360660: Should we use the Sector vocab for classifying distributions? What additions do we need?
- #1393528: Automate a visual indicator on fully-packaged distribution project pages
- #1526852: Allow filtering Solr by distributions
User interface changes
"Distribution" more prominently featured on key landing pages:
Home page:

Getting started page:

Download page:

API changes
None that I can think of.
| Comment | File | Size | Author |
|---|---|---|---|
| #109 | distro-listing.patch | 14.29 KB | webchick |
| #100 | drupalorg-distros.patch | 15.98 KB | webchick |
| #68 | distros.patch | 15.56 KB | webchick |
| #52 | do-product-box.png | 24.95 KB | sun |
| #19 | distros.patch | 8.99 KB | webchick |
Comments
Comment #1
webchickHere is a proposal prepared by Karen Borchert of Phase 2 Technology a few months back. It outlines a few simple suggestions (and a few less simple ones :)) that could go a long way toward resolving this issue.
Comment #2
webchickTagging.
Comment #3
webchickHere's what I've figured out so far:
* The http://drupal.org/download page content is found in the drupalorg-download.tpl.php file in the drupalorg module: http://drupalcode.org/project/drupalorg.git/blob/refs/heads/6.x-3.x:/dru... Here's where we could change "Installation Profiles" to "Distributions", and add the extra download button for distros here. (needs design)
Those project names are coming from a system variable called 'drupalorg_featured_install_profiles', which is currently hard-coded to:
We could easily replace these with some more modern distros, but I prefer the way Karen's mocks makes them more dynamic, akin to themes (most active, most installed, etc.)
* The http://drupal.org/project/installation+profiles page is served up from the project_solr module of Project module. See project_solr_browse_page(). If we solved #1205640: Implementation and criteria to differentiate user-focused distributions or products from other distributions, it would be dead easy to do this without changing any code (just add a new term and change some links).
* This function also where the query is built on how to sort the list of projects. The query that's currently being generated for installation profiles is:
In other words, there's no ORDER BY whatsoever. No wonder the order is always so, erm, "unique" :P~ But /project/modules is doing the same thing, so something else must be going on there. Solr is one area of Drupal I know nothing about, really...
* The search radios in the drop-down on the home page come from drupalorg_crossite module: drupalorg_crosssite_meta_types()
Comment #4
webchickHere's a start of a patch which makes the following cosmetic changes to get things started. I have this up for review at http://webchick-drupal.redesign.devdrupal.org (user/pass drupal/drupal)
Download page
Current version: http://drupal.org/download

New version: http://webchick-drupal.redesign.devdrupal.org/download

Get Started
Current version: http://drupal.org/start

New version: http://webchick-drupal.redesign.devdrupal.org/start

Search box
Current version: http://drupal.org/

New version: http://webchick-drupal.redesign.devdrupal.org/

However, this still needs a lot of work. For example, even though I've tagged 3-4 projects as "Distributions", none are showing up in the listing. Need to ask around in #drupal-infrastructure about how the Solr stuff works.
Comment #5
gregglesThese look like solid improvements to me. Do we have the data for most active and most installed? I think OA is installed on 10,000+ sites but when sorting distros by most installed it doesn't show up due to limitations of usage stats. commons_release is on 1,000+ sites but also doesn't show in the top of the main list. Basically I guess these stats won't be accurate until we solve the "package profiles from d.o" portion.
On the search issue, my guess is that solr just needs to be re-indexed. Did you tag them on d.o or w-d.r.d.o? I think search on scratch sites is based on a read only access to the live solr.
Also, great work here!
Comment #6
webchickWe only have data for most installed for D7 distros, unfortunately, since before then they did not have .info files and did not ping updates.drupal.org. You can see that the 7.x version of OpenPublic has 128 live installs: http://drupal.org/project/openpublic, which puts it at the top. I'm not sure what we can do about tracking D6 distros, unfortunately. :( I guess we can track downloads of packaged install profiles perhaps. I know BDragon has done some work around tracking downloads; need to dig up my notes on that again.
And oh! That makes sense about Solr. I created them just on w-d.r.d.o, because I failed to build consensus at #1205640: Implementation and criteria to differentiate user-focused distributions or products from other distributions (I figured that would be easier with a working demo so people could see it in action; hence this issue :)). I'll dig into it more and see if there's a way around that.
Comment #7
gregglesThere is a way to track usage for 6.x: http://drupal.org/project/usage/hyperlocalnews - if the distribution put its feature/support modules inside the profile then it reports usage in a way that works.
I don't think it's worth tracking downloads - too easy to fake.
Comment #8
webchickHm. Apparently not too many know of that hack, because:
This yields just a handful of records:
...and neither Open Atrium nor Commons are in that list.
Comment #9
batsonjayThree comments:
For the record, I think "Featured distributions" ought to be in the short list of links that's marked as "New" in Angie's mockups above.
Simultaneously, we also struggled with how to do update notifications, since there are version dependencies (e.g. the latest version of any given module might not be one that works with Commons).
To resolve both problems, we created the commons_update module. It's mostly a no-op module itself, but it accomplishes the normal module usage reporting back (assuming phoning home is enabled for the site), and we can also use it to trigger update notifications (by overriding what Commons looks for in updates, and ONLY looking for the commons_update module, burying all the rest).
So one way to get normal reporting is to require distros that want counted to contain an equivalent distro_update module.
Comment #10
webchickNote that we are also in parallel working on the technical blockers that prevent distributions from hosting their stuff on Drupal.org: http://drupal.org/node/779440 is the roadmap document which should be updated in the next few days with the current status. A bigger announcement about this should be going out in the next couple of weeks, but one of the major pieces of work—one which should be done by the end of the year—is the ability to add external libraries such as CKEditor to distributions, which hopefully should address the problem at the source.
Comment #11
juan_g commentedIn the documentation, there is Additional distribution documentation, with a list consisting for the most part in the most popular Drupal distributions (with categories: generic, academic, business, community, conservation, event, government, hosting, intranet, magazine, media, nonprofit, performance, social, video, etc.).
However, this list is currently done by hand. And most distributions are downloadable from external sites only, as mentioned by webchick on comment #10. Wonderful that all this is probably near solution.
Comment #12
webchickOh, that's a great list to start from. Thanks a lot!
Comment #13
bonobo commentedGreat to see progress continuing here, and this is definitely a needed improvement.
Some thoughts here (and the team at FunnyMonkey just spent a chunk of time reading over this issue and talking about internally).
From comment 10: "one of the major pieces of work—one which should be done by the end of the year—is the ability to add external libraries such as CKEditor to distributions"
This is AWESOME! This was one of the blockers that prevented us from hosting VoiceBox (and would be a barrier to our upcoming D7 distributions) on d.o.
In light of the original mockups, I'd say that 4 shifts are needed here:
1. Homepage adjustments - as laid out in the original mockups, distributions need to be introduced from the outset;
2. A "Distributions" landing page - as noted in comment 9 this page is an opportunity to describe the problems that distributions solve, and how they are fairly unique to Drupal. The audience for this page is non-technical/new-ish to Drupal, and the content should be light on text, with ample opportunities to dive deeper into more information as needed;
3. Distributions list page - a list of all distributions; filtering here should be similar to what we have for modules and themes to keep the user experience consistent
4. Individual distribution project pages, which provide an overview of the distribution, etc.
WRT Featured distributions, the criteria here needs to be managed in such a way that it keeps the playing field level. Selling access to the space seems to run counter to the notion of a space that celebrates the work done by shops/people in building the distribution. If we sell access to this, it dilutes the value of it for end users, as it becomes just another spot for another type of ad. Possibly, there could be a process to determine a set of criteria that merits an install profile to be featured, and all distributions that meet that criteria could cycle through the space.
RE counting installs, this seems like a case where we need to decide on a standard method, and then document how to implement that method. Backporting this for D6 does not seem like time well spent; if there is strong disagreement on this I'd be glad to go into more detail. But in any case, any mechanism for counting installs should be an opt-in, and should be separate from the update status functionality, as we need to respect the rights of site owners not to report information about their install.
Comment #14
lisarex commentedAwesome!! My 2cents.
* Agree with @bonobo, let's include distributions on the homepage. I'm thinking just add them to the Current activities list... although perhaps the Featured site could also feature some of the nicer distributions.
* On Download & Extend, move Distributions tab just after Core.
* On Get Started, I think the button text should be Find a distribution (or something more representative of what their next step is) ... however sounds like this page needs quite a bit of design... is it right or sane that the 'find a distribution' be the same as an introduction to distributions? I think we can make it work.
Comment #15
bonobo commentedThe attached screenshot shows one way of featuring distributions on the home page. It does this by reducing the amount of text in the left column, and by reclaiming some space that is currently unused.
This also assumes, of course, that we have a good landing page about distributions that we can link to :)
Comment #16
webchickGood point! :) #1349778: Create a page that explains what the heck distributions are
Comment #17
webchickAnd also #1349782: Create an initial list of distributions to populate listing page
Comment #18
webchickOk spent some more time hacking on this tonight. Once again, you can see this in action at http://webchick-drupal.redesign.devdrupal.org/ (user/pass: drupal/drupal)
Now includes new home page, per Bill's suggestion (looks like we still need some copy trim to make this work):
Also moved the "Distributions" tab next to the "Drupal core" tab on the download page, and tweaked the labels/links on the Getting Started page, per lisarex.
We really, desperately need something to link to for new users that explains what the heck distributions are at http://drupal.org/documentation/build/distributions. If you or your business has any copy that we might be able to use as a basis, please toss it in #1349778: Create a page that explains what the heck distributions are. I'll ask around at Acquia, too.
And I'd like to punt on the topic of "featured" distributions until after this basic listing page is done. Baby steps. :)
Comment #19
webchickNew patch.
Comment #20
juan_g commentedI've followed some of the successive distribution links, and it looks great (simple user-friendly organization, tabs, etc.). Good work.
Comment #21
reglogge commentedDon't know if this belongs here, but on webchick's demo site there would also have to be an additional facet (under 'or filter by…') for distributions on the search result pages.
Comment #22
webchickYeah. I *think* that happens when the Solr index is rebuilt, but I don't really know anything about Solr stuff. :\
Comment #23
juan_g commentedSee also #955928: Split apart "Forums & Issues" in search filters. According to Damien's #17 there on completely rebuilding the index, perhaps it would be better to do both Solr facet changes at the same time.
Comment #23.0
juan_g commentedUpdating issue summary.
Comment #24
Anonymous (not verified) commentedNot much to add here, only that this sounds like a great idea. I would have discovered Distributions a lot faster with these visual aids on the drupal.org site. "Don't DIY! Download a Distribution Solution!" :)
Comment #25
Bojhan commentedI wonder, how do users understand the difference between installation profiles and distributions? I am not sold, that we can solve this by adding a handbook page. Can we think of moving installation profiles under distributions, as a subtab orso?
I dont think we should rush adding this to the homepage. Yes, its important. But lets first get this page settled in the website, meassure its use and then consider adding it to the homepage.
Also adding it to the get started page is fine, but now we have two buttons with similair visual importance. That is wrong, it should be either a clearly visisble link with some spacing, or a different kind of styling.
Comment #26
juan_g commentedIn most cases:
Distributions -> "Drupal out-of-the-box", "Drupal made easy", "Drupal ready to use". Or, frequently, full-featured Drupal sites, almost ready to use by end users as complete solutions for specialized use cases, with little intervention from site buiders. They are really different from plain Drupal core, including almost always many contributed modules and configurations.
Installation profiles (in their packaged form, or kickstarters) -> Time-saving tools for developers and site builders. Their packages are moderate variations from Drupal core, and usually include few or no contributed modules.
Naturally, there are a few different cases such as generic distributions like Acquia Drupal, or a performance distribution like Pressflow. They are not so ready for end users and need more work from site builders, but are not installation profiles, and are considered special types of Drupal distributions just for site builders.
However, "Drupal out-of-the-box" applies to most distributions. Something like this can be for example in the landing page for distributions, to make it easier to understand by new users.
See also the handbook section Distributions vs Installation Profiles, and the issue #1349778: Create a page that explains what the heck distributions are.
Comment #27
Bojhan commented@juan_g I know that we, in this queue know the differentiation. But outside this queue I am very unsure.
Comment #28
juan_g commentedI mean, we can make it easier to understand by new users with short easy titles like "Drupal out-of-the box", etc., adding the rest of details in the explanatory text.
Comment #29
juan_g commentedOr maybe subtitles:
Or shorter:
(Just some possible ideas).
Comment #30
webchickHm a sub-tab. That's interesting. I'll have a trawl through drupalorg_crosssite module and see if I can work out something.
Comment #31
bonobo commentedRE:
I don't think users understand the difference here, at all. There is no *single* fix for this; it requires a multifaceted approach, and a handbook page (and possibly a subtab) are two ways to help make the distinction clearer.
The confusion is made worse because "install profile" can mean two different things, and getting some clarity on this is covered in #1353610: Improve documentation to clarify the different meanings of "Install profile"
Comment #32
sunForget about "distributions" and "installation profiles". The separation is invalid.
Whoever is trying to distinguish installation profiles from distributions is merely adding a layer of complexity that factually does not exist and will not exist.
Forget about "distributions" and "installation profiles". The wording can't get any nerdier.
Whoever is going to read whichever of both is going to run away screaming.
Forget about "distributions" and "installation profiles". They are missing the point.
Users are not interested in technical crap like that. Users are interested in useful products.
"Products" that solve actual "use-cases."
The design mockups here are unfortunately missing the entire point. It's not about providing additional suspicious things you could try as well. It's about replacing THE Drupal download with something useful.
It's not about making Drupal and drupal.org more complex and confusing. It's about the exact opposite: making it easier and more straightforward to get yourself a Drupal; a product that actually does something and solves your use-case.
Drupal core is the worst of all possible choices. It always was and definitely will remain to be.
We have to provide viable choices, so you, as a user, can choose your Drupal, exactly like that.
--
Sorry for this stupidly blunt comment, but we're walking in an entirely wrong direction here.
Comment #33
juan_g commented@sun: I think we are all essentially going in the same direction, only often gradually while for example you usually prefer quicker action.
So, are you proposing to call everything "products" and just feature the most popular/downloaded?
IMO, that seems indeed one of the different possibilities, at least for landing pages for end-users, who don't need technical details. People are working now to make possible that all distributions can be downloaded from drupal.org. Right now, most distributions are downloadable from external sites only, so there aren't any usage/download statistics.
Therefore, the current steps of issues like this are about giving more prominence to ready-to-use products especially useful for end-users, as complete solutions for specific use cases (called distributions), because they are now hidden among development tools for site builders, not very different from plain core (that is, packaged installation profiles). Hence, the need for a differentiation, at least until usage statistics are available, when the most useful products for end-users will go in a natural way to the top of the list.
Sometimes the differences are subtle for developers, since all these products technically work in the same way. So, explanations are difficult, but the differences are clear for users when they look at those products in action.
In any case, hopefully distributions on drupal.org, with usage statistics, will be available in a near future, and your proposal of a landing page for end-users with the most downloaded Drupal products will be then possible.
Comment #34
webchickSorry, sun, but you do not get to make unilateral decisions about the entire direction of the project and community like that. If Dries buys into that vision, then great, but let's give him a chance to chime in over at the other issue.
But indeed, as juan says, we're doing baby steps here. Let's deal with the situation we have now, which is that Drupal core is a framlication that most people who use Drupal install, and that there are some really great products built on Drupal, but no one (least of all non-technical people who are the direct target audience) can find these things on d.o currently, nor do most even know of the concept of distributions/products exists until they're well up the Drupal learning curve.
---
The idea of separate project types is not going over very well over at #1205640: Implementation and criteria to differentiate user-focused distributions or products from other distributions. In addition to complications with the upgrade path, under the hood, distros and install profiles use the same mechanism so the distinction is odd to developers. It's also creating more words to define for an already rather befuddling concept for non-technical people. There does seem to be some consensus building though that some kind of separation is important (and that certainly mirrors what every distro author I've ever talked to has said).
Based on the discussion both here and in the other issue, I'm probably going to try a slightly different approach the next time I have time to work on this, which is to:
a) Rename Installation profiles to Distributions on D.o. That gets rid of the confusing "two separate meanings for install profiles" problem, as well as the "Distributions are a bundle of stuff too! Why are they different than install profiles?!" problem. Install profiles then become "a bundle of code in the /profiles/ directory", and Distributions become "a package of one or more install profiles + their required modules/themes/libraries from Drupal.org".
b) Then, instead of promoting "Distributions" in the interface everywhere, instead promote "Drupal Products" or a similar term. (Please see #1357806: Decide a name for user-focused distributions/products for bike-shedding.) This solves the "No one but Linux geeks knows wtf a 'Distribution' is" problem, as well as more clearly indicates to distribution authors the expectation that there's a bit more elbow grease intended to be behind this than "Let me just barf out a .info file with all the cool modules I use on my sites and have it showing up next to Open Atrium or Portfolio as a viable alternative to Drupal core."
c) Then, instead of two separate project types, which creates two tabs in the interface, a very weird choice for distro authors on the project create page, more docs that have to be written, etc. add a Flag (or similar) to the project creation/edit form so when
Installation ProfileDistribution is selected, the maintainer has the option of flagging it as a _____ (name to be determined in c)).d) Then, I have to somehow figure out how to get Solr to work with that. :P~ Help!
e) Finally, extend the
Installation ProfileDistribution term with sub-terms for various use cases. This is going to require brainstorming a list of categories, which I was going to handle as part of #1349782: Create an initial list of distributions to populate listing page since juan's already got a good start.Whew! Thoughts?
Comment #35
jsibley commentedAs someone who maintains my own drupal sites, has experimented with Commons, and has never touched core or the internals of a module, I wonder if this distinction is at all helpful:
- Drupal packaged with modules for particular use-cases, but without any unusual interactions among the modules and with other modules a developer might load
- A more tightly bundled set of modules that involve significantly more complexity when integrating with other modules a developer might add, perhaps because of extreme customization in the distribution
When evaluating Commons, it seemed like adding an additional module could potentially have unexpected effects and, potentially, break everything. There were frequently discussions about whether a given module might work or not.
I don't know if this is particular to Commons or reflects a misunderstanding, but I would very much want to know whether a "package" (whatever it is called) is designed to be easily extended or if how locked into various interdependencies I might be.
Ultimately, whatever you end up with, it would be great to be able to update these "packages" with drush.
Hope this makes sense.
Comment #36
Anonymous (not verified) commentedI think distros need to be treated fundamentally different from how we treat other components of Drupal. There needs to be different ways to explain what they are, why they are useful, and who they appeal to.
Popularity is probably not the most useful way to discuss a distro. While popularity is a good guage for how well-supported a distribution is, it's not really relevant for people who are completely new to the idea. It doesn't make sense to be presented with a popular list of products that have little to do with what you are trying to accomplish, that's really more of a design defect.
Better classification around distributions would be very useful. Unlike modules, distros don't really fall into broad functional categories, they are built to solve a specific problem which is often tied to a specific type of organization. It would probably be more useful to classify them according to the type of market they appeal to or the kind of problem they solve.
It would probably mean more to people when they see a list like the following about what is available. I would use it on the homepage and as a taxonomy for viewing distros, to communicate what sorts of things you can do with the platform.
- Academics
- Civic / Government
- E-Commerce
- High Performance
- NGO
- Non-Profits
- Online Collaboration
- Usability
Something else that would be really useful is to have user-contributed case studies on distros. They need to be talked about in a different way.
The kind of feedback I get about distros is a lot different from when someone is discussing a module or theme, it's more about the merits of how well the distro solves a problem than a technical discussion. I don't see issue queues as the right way to for such as discussion to happen, ticketing systems of any sort are more about developers than end users or business decision makers.
In other words, people want to know the story behind a distro and what it can do for them. People will give more credibility to stories from other people that are using the system. I would love to see some sort of crowdsourced case study system in place that lets users share stories about the distro, vote on each others stories, and let the best ideas about them rise to the top.
This approach could solve other issues too. The way we talk about distros could answer the question about the difference between a distro and an install profile. People will know the difference based on how people discuss them moreso than any technical definition, it's the sort of thing people could immediately and intutitively grasp.
Comment #36.0
Anonymous (not verified) commentedUpdated issue summary.
Comment #37
dww+100 to everything techsoldaten wrote.
I agree that popularity isn't what potential users from various target audiences care about as the primary sort. We can have that be the default sort when you see a listing of distros from a specific category, but first is to find the right category. That said, if we have a full /download/distributions landing page, I wouldn't mind if *one* of the blocks on there was a list of top distros across all categories, something like we have already at /download for modules.
I love your initial list of target audience/use-case terms to classify distros. I copied that into the issue summary and added a few of my own suggestions:
- Development (drupalorg_testing needs a home, too)
- Promotion (e.g. band sites, portfolios, brochure sites, etc)
Case studies like you propose are in the works here:
#948062: Build Drupal Case Studies
I encourage you (and other interested parties) to continue that part of the discussion over there.
Cheers,
-Derek
Comment #38
Fidelix commentedSuggestion:
Drupal Distributions
Ready-to-use, tailored products for your news, e-commerce, intranet or community site. Learn more...
Comment #39
juan_g commentedwebchick wrote:
It could be a form with radio buttons to select one of two options. For example:
The first would be the default option.
Comment #40
dww+1 to #39. That looks great. I don't think we need flag here, since we don't necessarily want everyone flagging the projects. Let's just make it a field on project nodes. In D6, that means a project-type-specific taxonomy vocab. We can form alter the UI to be as juan_g describes. In D7, it could just be a field on the install profile/distribution project node type (bundle).
Comment #41
lisarex commented#39 looks great.
BTW we already have a Sector vocabulary on d.o, which has some of the terms proposed. It's being used by the organization listing in marketplace, and will be used by the case studies as they get built out. We might consider reusing it for the distribution listing. So I've created another issue for this #1360660: Should we use the Sector vocab for classifying distributions? What additions do we need?.
Comment #42
bonobo commentedWhether or not we use the Sector vocabulary to cover distributions as described in #1360660: Should we use the Sector vocab for classifying distributions? What additions do we need? is a separate issue from the toggle proposed in #39.
+1 to the suggestion in #39 - it's simple, and provides a good starting point for adding clarity for the end user.
Comment #43
juan_g commentedIn fact, especially in the Linux world, full-featured is often used to differentiate between user-focused and minimal distributions.
Well, then there seems to be some consensus, at least as a starting point, on the short descriptions in #39 for the maintainer side, and a modified version for the user side in RTBC #1357806: Decide a name for user-focused distributions/products
Comment #44
sunPlease tell me:
How many features are required to make up a "full-featured" product?
» Read on in #1205640-54: Implementation and criteria to differentiate user-focused distributions or products from other distributions
So the root cause of this false dichotomy and pointless discussion is that we have a handful of profiles that happen to target a developer audience?
I'd love to do baby steps, but you're not. If you would, then you'd:
Comment #45
juan_g commented@sun: This is what you also say in another post, from a related issue:
I think there is some misunderstanding. We agree with you about this in most of the details -apart from the tag or field (no flag) implementation-, and indeed this is what is essentialy being done.
About the categories by use case, a taxonomy vocabulary is being discussed for example at #1360660: Should we use the Sector vocab for classifying distributions? What additions do we need? Webchick (see her current proposal, comment #34) and also others have mentioned several times that a categorization is one of the main tasks, as you also say.
And about the classification by target users, the almost consensus for now is a naming that is also frequently used in the Linux world, where "full-featured Linux distributions" are user-focused, and clearly different from small or minimal distributions.
It was already suggested to classify by specific target like developers, builders, users... However, the proposal that has seemed enough for now is just the following to let users more easily find user-focused distributions:
Another posibility, closer to what you say, would be to just add two target user tags, for site builders and end users, to the user-focused distributions. That's indeed something to consider.
That's stopped already, since ten days ago. See, this is another misunderstanding on this difficult topic, and you are replying to the old proposal.
Sun, you are one of the most hard-working core developers, but please read webchick's current proposal (comment #34, December 1), which is different. All distributions will be in the same listing with the same project type. All the previously called "installation profiles" (the packages) will be called "distributions". Naturally, some of them, the user-focused distros, will be filtered/promoted to the landing pages for users as "full-featured", like it's being done for Linux distros. So, the existing listing is being used and improved as you say.
Yes, that's a difficulty we all have about this. And the fact is that the other possible option, a target-user taxonomy tag, would have exactly the same difficulty.
As you suggest, there are indeed a few doubtful, middle point distributions. However, in the current situation of Drupal distributions, we find that the great majority of them have been either fully or little developed, and are easily in one of the two groups. But yes, it's true that this is a non-strict target-user classification just for practical purposes (that is, for landing pages for users).
So, what's the difference?:
Full-featured distributions, full distros, or products, are complete solutions for specialized use cases, ready or almost ready to use as they are, maybe with a little help from site builders. They probably have features that can be enabled or disabled, however all features are built already. No Lego work needed. Examples are:
Aegir, Commons, Conference Organizing, Donor Rally, eRecruiter, Managing News, NodeStream, Open Atrium, Open Enterprise, Open Outreach, OpenPublic, OpenPublish, OpenScholar, VoiceBox, Watershed Now...
Other distributions are tools, sometimes intended for developers, or for testing, or more frequently to be used as a quick-start for the site building process. There are many types of distributions not intended as a product for users but -with exceptions such as Drupal.org Testing, etc.- in most cases they are not very different from plain core, and just a small part of the Lego and configuration work is done. Examples are:
Acquia Drupal, Build Kit, Cocomore Drupal, Commerce Kickstart, Drupal.org Testing, Feeds Test Site, Localized Drupal, Media Development Profile, Multilingual Drupal, Pressflow...
And why this differentiation? Because, for example, users can easily find the most essential contributed modules (Views, etc.) in lists sorted, by default, by most installed. And, on the other hand, it's very difficult for them to find the first group of examples, the full-featured distributions -that is, the products for users-, on drupal.org.
When installation or download stats will be available for distributions, things will be indeed very different, and probably that differentiation by target users won't be as needed as it is now.
That's why. And I really think we all agree on the essential, and the differences of opinion are about details of the implementation: names, categorizations, tags/fields, and so on.
So, let's discuss any alternative plan -apart from doing nothing to improve the service to users, naturally-. What are the alternatives?:
The rest seems to be already in the current proposal (#34):
Comment #45.0
juan_g commentedAdded list of taxonomy terms for classifying distros via techsoldaten in #36, plus two of my own (development and promotion).
Comment #46
sunBut you do realize that you had to search the net to understand what "full-featured distribution" actually tries to say?
Do you really believe that this terminology means anything to users?
For whom, again, do we want to improve the experience? Geeks?
We have issue summaries. :( Please use them. I've updated it now.
I do not see an agreement on that.
Again:
KISS, make that button on the front page link to http://drupal.org/project/installation%2Bprofiles?audience=beginner - case closed.
Comment #47
juan_g commentedSome people liked the name "products" (more clear), and other people "distributions" (more open-source). So, a middle point consensus for now has been "distributions" in the name, and "products" in possible descriptions/taglines, like this: Full-featured distributions -> All-inclusive products, complete solutions for specialized use cases (from #1357806: Decide a name for user-focused distributions/products).
So, basically, now we have two possible good implementations to choose from:
Any of them seem perfectly valid solutions. They could be sandbox-tested to see whether there is any advantage for users in any of the two possibilities...
(BTW, the authors data for the issue summary revisions are wrong -I didn't edit it-, and seem affected by the bug #1217286: Posting a comment changes too many issue node revision properties).
Well, let's hope usage stats are available for distros soon; that would solve automagically these distribution issues... ;)
Comment #48
juan_g commentedWe should try to choose the best available solution, so let's discuss a bit the "only target-user tags" possibility. Not sure if this idea, while also good, would really simplify this issue; maybe yes, maybe not.
Reviewing the long lists of current distributions (at least 168 + 8 with or without project page at drupal.org), the list of possible selections for them in the project form for maintainers is:
There are indeed a few distributions only for developers, etc. However, it's clear that most of the current distributions would need two tags:
So, if target-user tags are used, there should be an indication that two tags are often needed. For example, probably part of the distribution maintainers would not select "end users" for a full distro or product, given that site builder assistance can be advisable.
And also needed, some description of what a distribution for end users should be: all-inclusive, no Lego work, etc.
The same difficulty about "at what point a distro is full-featured?" appears here with "at what point a distro is for end-users?"
Just my thoughts. Naturaly, other possibility is that I'm wrong and just the following is enough:
Target users
The point is to have an agreement to start with something, this (target-user tags) or the previous consensus (field for full-featured products). It's possible that any of the two implementations, while not perfect, could work for now, and later be improved.
Comment #49
bonobo commentedOur target audience here, in order of priority, should start with least technical (ie, end users), and go to most technical, because the least technical users will most likely be:
* the most unfamiliar with Drupal;
* most in need of precise terms to help clarify exactly what they are looking at;
* most unsure of the substantive difference between the different options they will encounter (core, install profile, distribution, product, contrib modules, etc)
Site builders and developers will, in most cases, be more technical, with more familiarity with Drupal, more familiarity with how open source projects are structured, etc. The problems we're trying to address here are more tied to how we can get end users up to speed and familiar with solutions that will address their use cases more effectively.
Or: we are trying to make it so more people can have a great first experience using Drupal. Site builders and developers have generally had their first experience, and they have stuck around for more, which indicates that they have some deeper level of understanding of how the install profile thing works.
Which is all a long way of saying:
+1 to a simple taxonomy of:
* End users
* Site builders
* Developers
Then, we can use existing tags to categorize these things further.
Comment #50
juan_g commentedIn the case that we use short descriptions in the project form to facilitate an accurate distro tagging by maintainers, then two possibilities to choose from are the following.
The previous consensus (radio buttons, two options):
(The first would be the default option).
The purpose of this simple possibility is just to make full distros or products more easily available in landing pages for users.
And the other possibility, those short descriptions adapted to sun's proposal of target-user tags (checkboxes, three options):
(The default would be empty; this form would select taxonomy tags for developers and/or builders and/or users).
For example, in this second possible project form, most full distro or product maintainers should select both site builders and end users, because a single target-user option is not accurate for most of the current distributions.
In the user interface, the resulting tags for this example could appear like this:
Those distros including at least the "end users" tag could still be called -in the UI- full-featured distributions, full distros, and/or products. And the rest of tag combinations just other distributions for now (from the current consensus in #1357806: Decide a name for user-focused distributions/products).
Or perhaps, instead of just other distributions, two additional distro groups for developers and site builders. That is, calling development distributions, dev distros, or sandboxes to those containing only the "developers" tag. And site building distributions, building distros, or tools to the rest of tag combinations (all of these logically with the "site builders" tag). Of course if we don't just use, to simplify, full distros (or distros for users) and other distros.
So, which one of the two possibilities would be better to use? A simple field for two options (previous consensus), or more complete taxonomy tags for three options (sun's proposal)?
Comment #51
sheldon rampton commentedI just did a bit of editing on the documentation page at http://drupal.org/node/1089736/
juan_g has added a lot of improvements and useful information to that page, but there also seems to be a bit of definitional fuzziness. For example, he has added a table under the heading "Full-featured and Other Distributions" that categorizes "the different types of Drupal installations" as: "Drupal core," "Full-featured distributions," "Other distributions" and "SaaS platforms." It feels a little funny to think of Drupal core and SaaS platforms as "distributions." There are also some other types of "pre-configured versions of Drupal" that don't seem to fit in any of those categories:
Comment #52
sun@juan_g: Multiple taxonomy terms can be combined when filtering a list.
To achieve what we want, projects can be tagged with one or more terms of target audiences,
This means if your project applies to more than one target audience, which can very well be the case, then you simply select the appropriate ones. That said, "end-user" rather is a skill level, not a target audience.
We can tag projects with multiple terms on multiple axes. The axes may be
Given a classification of projects on these axes, we can freely decide what we want to show to newcomers by filtering the project list accordingly. (Therefore, the definition of concise terms is of high importance, but I guess that's for a separate issue.)
Thus, we can decide that people who're entering the install profile list from the drupal.org front page; i.e., those that click this button here:
...we can decide that those people will see the project list filtered by skill level "end-user" (or "beginner") by default; hence, only showing projects that have been built and prepared for this kind of user:
http://drupal.org/project/installation+profiles?skill=end-user
The user is able to adjust that decision and change the filter. Projects that are not tagged do not appear in the filtered list.
Furthermore, it's trivial to add a link to this list for a different skill level/audience in other places. E.g., people landing on the site building guide are likely more interested in
http://drupal.org/project/installation+profiles?audience=site-builders
Lastly, we also need to be careful about terminology. For example, the Drupal community commonly uses the term "end-users" to refer to "people who are visiting the site." I.e., in a sense, the "user" is the one who installs, builds, and manages a Drupal site; the "end-user" is the one who is the "user's user", or one more time in different words, "the user who uses the user's site."
But as mentioned above, concise and clear terms are very important, and it's going to be a challenge on its own to define a solid list. If there is an issue for this already, we should add it to the summary. Otherwise, let's create one.
Comment #53
juan_g commented@sun: Yes, we could do that, but maybe we are adding unneeded complexity. It's true that use case is a must, and as well target users. Although the simple original consensus with two combined target-user options seems to me enough for the current task (landing pages for users), your proposal with three/multiple target-user options can be also interesting for dev distros, etc.
However, I have my doubts about skill level, which is ok for docs and support, but maybe less practical to tag distributions. For example, the maintainers of Acquia Commons, OpenPublish, etc., will be probably happy to tag their distros as suitable for target users such as site builders and end-users, given that they can be installed and configured even by end-users with some assistance from site builders. And also will happily tag their corresponding use cases (social, magazine, etc.). But, on the other hand, perhaps they will be hesitant about tagging their extensive distributions with the skill level of "for beginners".
In any case, more than finding a theoretically perfect solution, I think the important point is to reach again any practical consensus like we had before, any middle point that can work for the task. At least, until we have usage stats for distros. ;)
It's just an opinion, and probably I'm writing too much, because remarkable members of the community like you, webchick, dww, and others, are those with the weight needed to reach a consensus about these distribution issues.
@Sheldon Rampton: I've just clarified that incomplete subsection title, thanks. Anyway the table had already the correct title and description. That is, a comparison of different types of Drupal installations, including types of distributions but not only them. Core and SaaS are the other well-known types of installations, not distributions, to compare differences and similarities, with examples, etc.
And thanks for the other suggestions (Federal IT Dashboard, etc.). I've added also CiviCRM to another handbook page on distributions. I didn't before because some people don't consider it a distribution -core not included-; however, after we add core is -for practical purposes- a distro.
Comment #54
juan_g commented@sun: About the terminology details you mention on end-users, etc., I think all of us are referring to "developers" as those who code the Drupal system, "site builders" as those who put together the parts of the system, and "end-users" as those who operate the system every day, administering content and site users, etc.
That is, we are referring of course to end-users of Drupal, not of the sites. I don't think there is confusion here; no one will think that managing distributions is a task for site visitors. But naturally the word "users" can be used instead, if people prefer it.
We shouldn't think about this like we are coding a comprehensive API system. In my opinion, more than the implementation details if they are clear enough, the really important point is to have some simple agreement or at least majority so that this distribution work can go ahead to better serve Drupal users.
On the other hand, as old Albert said, "everything should be made as simple as possible, but not simpler". Yes, because sometimes reality is not as simple as we think. You know, the thing is to find the good middle point.
Comment #55
sheldon rampton commented@juan_g: I mentioned the Federal IT Dashboard and CiviCRM in part because I think it is important to consider cases where there is some kind of Drupal "distro/installation/product" that doesn't include an installation profile. An installation profile is a technique for sharing a particular preconfigured Drupal solution, but it isn't the only technique available for doing so. Discussions of Drupal distros thus far have tended to assume that distros are a subset of installation profiles, but that's not always the case. This may have implications for how to best create a useful listing of distros. Should the goal be to "improve the installation profile listing" as the title of this ticket suggests, or should it be to "provide a useful list of available distros"? If the goal is the latter, and we want to include cases such as the Federal IT Dashboard, simply tagging projects of type "installation profile" may not suffice.
Comment #56
sunThe focus is on installation profile projects maintained and hosted on drupal.org.
These other distributions and forks that happen to contain Drupal are what people actually understand as distributions; a software that contains Drupal is developed, maintained, hosted, and distributed by a third-party vendor, not the Drupal project nor the Drupal community, and only god knows how many hacks and changes they contain. They lack behind in releases, especially security releases, and the Drupal community is not able to support them in any way, because system and design parameters are entirely unknown. It is good and beneficial to outline on a handbook page that these profiles/projects/products are not officially endorsed by the Drupal community (you have to consult the respective vendor to learn whether and how well they are supported). But aside from that, they do not matter in this effort of better promoting installation profiles on drupal.org.
Comment #57
juan_g commented@Sheldon Rampton, @sun: Currently, the community is actively working to remove the obstacles (with white listing of third party libraries, etc.) that don't yet allow complex distributions to be downloaded from drupal.org. Distro maintainers usually say they also want to be on drupal.org, not only on external sites. See:
Also, please see the current webchick's proposal (#34). From the comments in these issues, the community seems to be agreeing on this proposal. For example, all install profiles (the packages) will be named "distributions"; install profile will be just a technical name for the install code:
And, in addition to the complete distribution listing, the subset of distributions for users (also called full-featured distributions, full distros, or products) will be more directly promoted on landing pages for users.
These are some of the main goals of all these related issues.
Comment #58
sunAgain, there is no agreement on this yet. Major concerns were raised, not only by me but for example also by @Bojhan, who's one of Drupal's Usability team leads. The last screenshot (#52) purposively used a different terminology that's more oriented towards end-users. This requires more discussion over in #1357806: Decide a name for user-focused distributions/products
But as already noted and clarified many times, the exact naming is less important; it's just a string that may be changed later on. Until then, we can continue to work on the structural and organizational changes.
The issue summary already contains an action plan. The next logical step is to actively discuss and work on the project classification terms and vocabularies. Figuring those out will vastly help in the remaining decisions we have to make.
I already asked in #52 whether we have an issue for that already - is there one? If not, create one?
Comment #59
laura s commentedRegarding adding some simple taxonomy labels: Attempting to qualify various projects via taxonomy is perhaps a useful approach, but do the proposed tags help? What does "skill level" mean? Skill in what? Systems administration? PHP? Where to find the double-secret buried Drupal configuration settings? Skill level required for installation? Skill needed for site maintenance? Skill needed for additional customization?
For example, Open Atrium is pretty darned simple now to install and bumble through configuration, but you'd better want what OA gives you out of the box because customization requires not just Drupal expertise but real comfort with Features and perhaps some "hotsauce" knowledge. So what skill level rating should OA get?
I wish I had an easy answer, but this takes some serious thought and ideally some user testing.
Comment #60
juan_g commented@sun: On the general structure, there seems to be consensus now. Before, there were concerns (dww, Bojhan...) about the old proposal of separate project types for "distributions" and "install profiles".
Now, after the proposal was modified on Dec. 1, all (for example you, webchick, dww, etc.) seem to agree on the current structure with an unified project type for distros, apart from implementation details about possible names (install profiles, distributions, products...), about fields or tags to filter user-focused distros, etc.
About the taxonomy possibilities, dww already explained that there is support for project-type-specific taxonomy vocabularies. As said, an issue is open on taxonomy for use cases, but I don't know about other related issues yet.
For documentation pages, we have the following.
Level:
Select the skill level of the page.
Audience:
Intended reader type.
It's clear that this should be different for distributions. No need for skill level I think. For example, you proposed to consider more specific terminology about end-users or users. A possibility would be for example site administrators or admins.
Target users:
Or with short descriptions like in comment #50.
Comment #61
juan_g commentedThinking a bit more on the possible tag I've mentioned, site administrators, I'm wondering what new Drupal users would say:
- Did you try that Portfolio thing with Drupal for your personal site?
- Hell no, it was tagged for "site administrators". That must be some device for rocket scientists...
- But you have a site, you are a site administrator.
- Really? I just wanted to use Drupal.
Well, better we keep it simple and just say users or end-users of Drupal.
Comment #62
sheldon rampton commented@juan_g: If you say "users or end-users," won't that create confusion with "anyone who visits the website"?
How about the term "site builders" or "website builders"? That might sound less formidable than "site administrators."
Comment #63
juan_g commented@Sheldon Rampton: Please see comment #54 about those details.
Comment #64
laura s commentedI don't think this is "clear" at all. (It's not all that clear for documentation, either, but that's a different issue.) The very same people are going to be looking at building a site a la carte, with core plus various modules, vs. going with a distribution.
I thought the whole idea of clarifying the Profiles/Distributions "stuff" (i.e., all of it) is so that more people are aware of their options and what they may be able to accomplish with such. Well these people are asking themselves the same questions as people considering going a la carte, because they are the same people: folks who are looking to create a website/webapp for their own project.
The proposed breakdown of "users" doesn't help, imho. I don't understand how a distribution could be for Developers but not site builders, or site administrators but not developers. Where would Open Atrium fall? On the one had, you could say "Site administrators" might very well muddle through installing and setting up an OA site. On the other hand, you could say that it will take "Developers" -- and quite expert developers at that -- to customize OA beyond what it's already built to do.
We really need a taxonomy that is more meaningful, to address what these distributions are to the people seeking solutions for their own projects. A taxonomy focused on their questions, not on our assumptions of how to categorize them. For example, a taxonomy that describes ease/difficulty of installation, customization, maintenance, theming, etc.
Comment #65
juan_g commented@laura s: That could be useful. It would be good for an issue on classification terms and vocabularies that sun has suggested to open (#58).
In any case, apart from that, it's not necessary to spend years in the distribution issues designing a perfect system. We can start with anything simple that works for the users (especially, with a classification by use cases: publishing, social, nonprofit, etc.), and then gradually add improvements as needed by them.
Comment #66
juan_g commentedsun wrote:
For the project classification possibilities proposed by sun, there have been several suggestions from laura s and others, such as: customizability, extendability, upgradability, ease of installation, ease of maintenance, compatible themes, compatible modules, command line or UI, security...
They could be implemented as taxonomy vocabularies with terms like "high, medium, low", etc. Or for now like questions to reply in the distribution documentation, or in feedback by users (reviews/comments) proposed by techsoldaten (#36).
At this moment, issues for the distribution classifications more discussed, and therefore apparently with the most priority are:
An issue was already open, #1360660: Should we use the Sector vocab for classifying distributions? What additions do we need?
A new issue has just been opened with the different proposals, #1372386: Classification by target users in project forms for distribution maintainers
Comment #66.0
juan_g commentedUpdated summary.
Comment #67
juan_g commentedUpdated issue summary, according to webchick's current proposal (#34), and other suggestions from the community (sun, dww, techsoldaten, lisarex, laura s, etc.). That's my first edit on this issue; others are from webchick, dww, sun... The dates and authors listed for the revisions of the issue summary are unreliable and misattributed to comment posts (bug #1217286: Posting a comment changes too many issue node revision properties).
Comment #67.0
juan_g commentedUpdated issue summary, according to webchick's current proposal (#34), and other suggestions from the community.
Comment #67.1
juan_g commentedAlternative naming suggestion (installation profiles) from sun's #56.
Comment #67.2
juan_g commentedMinor edit for clarity.
Comment #68
webchickWell. :) This issue has certainly been busy.
However, I don't see any proposals here post-#39 that seem to have broad community buy-in. So I decided to go back there for implementation. I'm a huge proponent of getting something done and out there, since it's impossible to overstate how much what we have now is NOT helping new Drupal users to discover distributions. We can always tweak this listing later to add additional properties (target audiences, etc.) if enough folks think that's a good idea. Baby steps! :)
So, the sandbox at http://webchick-drupal.redesign.devdrupal.org/ (user/pass: drupal / drupal) now implements the following:
NOTE: There is at least one dependency on this name I was able to find, which is in modules/project/release/project-release-create-history.php:
I didn't update that in this patch, but something to note before deployment. I also think dww might be working on refactoring that code anyway as part of http://drupal.org/community-initiatives/drupalorg/distribution-packaging.
Still TODO:
- Need to add sub-terms for use cases as outlined in #36 and the issue summary.
- Need to get the radio field added to the project form to denote whether it is or is not a full-featured distribution.
- Still need to go through and tag some sample distros.
Here's the patch of the work so far.
Comment #69
sheldon rampton commented@webchick: I don't know if you've read my
comment #42 in Decide a name for user-focused distributions/products, but I think it has some relevance to your current proposal. I think this discussion about installation profiles/distributions/helping new Drupal users is going around in circles because people keeping treating those three concepts and the related terminology as interchangeably when in fact those are three different things, three different concepts. By using the same terminology interchangeably to refer to different things, we've created a kind of "who's on first" conversation that isn't quite as funny as the Abbot and Costello routine. I think renaming "installation profiles" to "distributions" as you've proposed merely perpetuates the "confusing double-meaning of the 'installation profiles' term" rather than eliminates it.
I don't much care whether my exact proposed terminology is adopted, but I think clear definitional distinctions are going to be necessary in order to truly improve or clarify anything. The three separate concepts we're dealing with are: (1) "the .profile files in the /profiles directory" (which I'm referring to here as "installation profiles"), (2) the "collection of code" that includes a version of Drupal core + possibly additional modules, themes, profiles and libraries (which I'm referring to here as "distributions"), and (3) the "polished," easy-to-get-started-with versions of Drupal that we want to "help new Drupal users to discover" (which I'm referring to here as "products").
Renaming "installation profiles" to "distributions" doesn't help anyone understand those distinctions, and it won't help new Drupal users. When they go to the
installation profilesdistributions page, they'll still be dealing with a listing of projects that range from OpenPublish to places where someone has "barfed out a .info file with all the cool modules I use on my sites and have it showing up next to Open Atrium or Portfolio as a viable alternative to Drupal core" (to use your words from the beginning of this issue). Only some of those project pages will include a link that lets people download the full "distribution" (as I'm using the term). Some will have a link to an external website where people have to go to download the full distribution (for example: OpenPublic). It will still be the wild wild west, where anyone can start a saloon and you have no idea which ones are safe to walk into.If we get in the habit of clearly distinguishing between "installation profiles" (the .profile files), "distributions" (the full "collection of code"), and "products," I think it becomes easier to identify some ways to improve things.
Comment #70
webchickRight. If you read the proposal in #34, the distinction is exactly as you lay out.
- Installation profiles == only the collection of code under /profiles/profile_name. The code "under the hood" that bootstraps an installation of Drupal.
- Distribution == a collection of Drupal core + modules + themes + one or more installation profiles. Similar to the Linux term that we're copying from, it's the "kernel" + "add-ons" + elbow grease to make it work together.
- "Full-featured" distributions (I would also prefer the word "Products" but I didn't see broad community buy-in around that term) == what the list at /project/distributions (linked to from various pages) defaults to showing. Same as the list at /projects/modules defaults to showing only Full projects, not sandboxes, to try and push the most useful stuff to the front. You can still get to the non-full-featured distros (and sandbox modules), but you have to dig a little more, and that's fine for people who know what they're looking for.
The description of this "full-featured or not" flag is "A full-featured product for site builders and end users", vs. "A quick-start tool for developers and site builders". I think that distinction is pretty clear, though there will probably be a couple of "borderline" ones that we can deal with on a case-by-case basis.
As far as I can tell, those few basic changes meets the needs of almost everyone, or at least is something we can deploy as a start and tweak more (adding fields for skill level, target audiences, etc.) from there on. Maybe once Drupal.org is on D7 and doing project-type-specific fields is much easier.
Comment #71
sheldon rampton commentedOK, I guess I was a bit confused. Your previous post referred to comment #39, not #34, so I didn't read #34 before posting my comments earlier today. (This has been a long and winding thread, and me gets lost sometimes.)
It sounds then like your proposal is reasonably close to what I'm thinking, but I do have a couple of caveats:
(1) Using a flag to distinguish between "distributions" and "products/full-featured distributions" seems still like too simple a system to properly distinguish and inform users. It still gives you no way to clearly distinguish between "installation profiles" and "distributions."
(2) The language suggested for the two flags seems to me to allow for more ambiguity and confusion than you're imagining. Suppose, for example, that someone has the aspiration to build "a full-featured product for site builders and end users," but they've only just begun writing the code for it, so it is in a very unusable, alpha state. They might nevertheless check the flag which includes it along with Open Atrium and Open Publish, etc.
I therefore still prefer the ideas I floated above:
Having said that, I think your proposal is better than not trying anything at all. If other people don't agree with my suggestions, I'd support going ahead with your proposal.
Comment #72
bonobo commented+1 to what webchick has in place. It's a great start, simple, and allows for growth/expansion/change over time.
RE:
This is a documentation issue. People seem to have one of two choices:
1. Tag it as "full featured" and create a dev branch, and mark on the project description that the distro is under active development.
2. Tag it as a developer-focused tool until it's fully baked - then, update the project to indicate the "full featured" status, and cut a point release.
Either of these are viable options, but the larger point here is that we're not going to come up with a technical solution that addresses all of the various ways people interpret what distributions are. What we can do, however, is create a structure that is a little more clear, and improves on what we have now. We will continue to make incremental improvements.
The use of distributions is just going to increase. They're useful, and they're not going away, and our understanding of them will likely shift as their usage becomes more mainstream. We need to improve what we have now, in a way that allows for additional adjustments over time.
webchick's proposal charts that course very well.
Comment #73
jsibley commentedPerhaps I'm mistaken, but it seems to me that whatever we call these bundles, a particular bundle of Drupal, modules, and possibly "elbow grease" could range along a continuum from:
- most other modules should play nicely with this bundle
to
- everything is tightly coupled by design and expect other modules and individual updates to break something. Waiting for official updates of the bundle is highly recommended
Is this an accurate assumption and is it, or should it be, captured in some way?
Comment #74
webchickThanks, bonobo. In addition to that, regarding adding links and such, Gerhard (the d.o infrastructure manager) is highly opposed to turning d.o project pages into places where businesses can benefit from Drupal.org's PR-9 or PR-10 (whatever it is; it's high) ranking in Google by forcing users to go to their own sites to downloaded code. He wants these project pages to be reserved for code hosted and packaged here, on Drupal.org. That isn't currently possible for all but the most trivial of distros thanks to the technical blockers at http://drupal.org/community-initiatives/drupalorg/distribution-packaging, but those are actively being resolved atm. I need to check with Derek on a proposed timeline, but early 2012 was the goal.
Regarding "tightly coupled" I'm actually only aware of one distro that's really tightly coupled, and that's OpenAtrium, which has its own class of modules and everything else. There might also be one or two others out there, but IMO we handle that like we handle any other standard disclaimers: a note on the project page.
Comment #75
sheldon rampton commented@jsibley, I think there is some kind of continuum on which distributions could be ranked with respect to being "tightly coupled" vs. "loosely coupled," but measuring that is somewhat subjective, and there are lots of other ways that distributions could and should be ranked. For example: quality of documentation; stability; quality of UX. There is therefore a lot of room to debate which of these attributes should be "captured in some way" and how to capture them. I think this is why webchick is simply trying to implement a flag at this point, which I understand.
Regarding Gerhard's position on adding links, I hadn't considered that point. I can see how that makes it impossible to add the link I suggested, although right now I'd say Gerhard's rule is rather porous in practice. There are plenty of module and theme project pages where they have put in links to the project maintainer's website. For example, the Corporate Clean theme inclues a link in the project description to the sponsor's website and Flickr page for seeing a live demo, screen shots, documentation, and for contacting the sponsor. When it comes to installation profiles specifically, the OpenPublic project includes a link to Phase II's website for obtaining "a full Drupal install." The download directly on the d.o. project page for OpenOutreach project just gives you the bare-bones installation profile without even its contrib module dependencies, and links to the OpenOutreach.org for obtaining the full distro. I could go on and on with examples like this. I don't think the current state of things is really stopping people from linking to their outside websites. All it does is ensure that the links are not in a consistent location on project pages, which makes it a little harder to find them.
Anyway, none of this is an argument against going forward with webchick's current proposal as stated in comment #34, which I agree is an improvement. My one remaining concern is that renaming "installation profiles" as "distributions" seems to contribute further to the confusion between those two concepts rather than eliminating confusion. If the "installation profiles" section on d.o. is renamed as "distributions," users who go to the ngpprofile project page will be expecting to find a distribution there, when in fact all they get is a makefile, shell script and .profile file. I would therefore personally prefer to see the other aspects of webchick's proposal adopted while retaining the current name for installation profiles. That's just my opinion, FWIW.
Comment #76
juan_g commented@Sheldon Rampton: Thanks for this detail. On that handbook page, I've just added a small clarification using "many of the downloads" instead of "downloads" in that phrase about install profiles packaged as distributons (with core, etc.), since part of them are not using this packaging option. For example, especially old install profiles, and also project pages of current distributions downloadable from external sites, of course until there is whitelisting of third party libraries on drupal.org.
Related info:
Yes, that can be a problem with that part of the install profiles. However, surely maintainers are not going to tag those as full-featured. It would be unreasonable to expect end users to run command-line drush make, etc. to build distributions from install profiles. Therefore, they won't go in the more promoted listing of full-featured distributions or products for users, but in the extended, complete distro list for developers and site builders.
Although those install profiles are easily distinguishable from packaged distributions (just some KB for profiles, vs one or several MB for distro downloads), maybe also in this case notes on the project pages could be useful.
Comment #77
sheldon rampton commented@ juan_g: wrote:
Correct. However, webchick's proposal in comment #34 will tag it as a "distribution," and the ngpprofile project is not a distribution.
Webchick is proposing that we rename "installation profiles" as "distributions," and then that we have a flag which distinguishes between "full-featured" and not-full-featured distributions. That would be fine if there were only two concepts in play, but not when there are three, as is the case here: "installation profile," "distributions," and "products/full-featured distributions."
Comment #78
webchickI tried to make the case that installation profiles were the name of the non-full-featured distribution, but unfortunately this doesn't have broad community support. So this is where we ended up.
Once again, happy to tweak things more once we get something basic deployed. For now, this is the best we can come up with.
Comment #79
sheldon rampton commented@webchick, I fully support going forward with your proposal in its current form and tweaking it later as needed. Please don't construe my caveats as an argument against going forward.
Comment #80
tahoeob-1 commentedThese suggestions are really positive for Drupal. We should have a landing page for Distributions that explains "what Drupal does" with Distro examples in various verticals. It is so impressive yet hidden from the general public. It is important to note those without a Linux background don't understand distros, it is not as widely understood in the mainstream business world..... those that will expand Drupal's reach. We have the Distro Summit on January 25th and this will all be great to discuss.
Comment #81
juan_g commentedwebchick wrote:
Possible filter options for drupal.org visitors, to workaround the naming problem mentioned by Sheldon Rampton (that is, the current mix of KB install profile and MB distribution downloads), could be something simple for now like:
Later, a more detailed list could be added. Probably there are some simple ways to detect which install profiles are using or not drupal.org's distro packaging system, at least by size (MB vs KB). In this case, the filter list could be for example:
Comment #82
dwwNote: the drupal.org database knows exactly what releases are "fully packaged distros" vs. "just the install profile". For the fully packaged distros, we provide a table on the release nodes showing what stuff got packaged up with the install profile to create that distro release. Since this info already lives in the d.o DB (look at the {project_package_*} tables in the DB if you want the gory details), it'd be relatively easy to stuff it into solr (via project_solr) and add filters to the download pages accordingly.
Cheers,
-Derek
Comment #83
webchickHm. That's a thought. Though it wouldn't stop distros like http://drupal.org/project/drupalorg_testing from showing up in the main listing. Unless we could also filter it by "not only has downloads available, but a stable release?" We're starting to get into magic now though. I'd really rather keep it straight-forward, and up to the profile author to decide.
Comment #84
sheldon rampton commentedI've tried sampling a number of projects currently listed under installation profiles and am seeing a variety of results when I download the tarball.
Personally I would define a "Drupal distribution" as #3 above. I would call #1 an "installation profile" and maybe call #2 a "profile package." I think it is even possible to envision scenarios in which the same installation profile might be part of more that one different distribution, as well as scenarios in which a Drupal distribution might contain more than one installation profile. (For example, suppose someone decides to create a distribution that consists of Drupal+CiviCRM + OpenPublish.)
Comment #85
juan_g commentedThe idea would be to have both the "full-featured" tag or field (decided by each distro maintainer) and the automatic "fully packaged" status (which dww has mentioned). That is, full-featured for end users, and fully packaged with Drupal core and dependencies:
Notes:
About the n/a, if a maintainer of an install profile not fully packaged with core, etc., selects the "full-featured" tag by mistake, this tag would not be applicable to that project, which would still be considered an install profile.
For example, an special case is CiviCRM, often considered a full-featured distribution for nonprofits (downloadable from a external site), even when it does not include Drupal core because it can work with either Drupal or Joomla. Given that drupal.org is going to be more distro-friendly soon, let's hope a Drupal version of CiviCRM can also be downloaded from here, and fully packaged with core so that it can be considered the full-featured distro it is in practice.
Comment #86
dwwRe: #83: Yeah, I wasn't claiming the "fully-packaged" bit is essential for helping end users find what they're looking for, or that it's particularly relevant to the question of "full-featured"/"polished", etc. I was just answering juan_g in #81: "Probably there are some simple ways to detect which install profiles are using or not drupal.org's distro packaging system...". I'm not advocating we must do this. I'm just explaining how to implement it if we decide it's a good idea. ;)
Re: #84: Yeah, those are the 3 kinds of packaging drupal.org does for install profiles. See these two pages juan_g linked above:
Comment #87
sheldon rampton commentedI don't want to hijack this ticket away from its intended purpose, which is improving listings of installation profiles, but this whole discussion has gotten me thinking a bit about some design aspects of installation profiles. For example, there may be a case for separating the "installation" from the "profile" part. An installation profile is designed to run once and only once upon site installation, but then some of the "profile" part (such as module dependencies) becomes an immutable constraint upon site configuration that cannot be changed after installation. Rather than start that discussion here, should I create a separate ticket? Is there someplace else where that kind of conversation could happen?
Comment #88
webchickYes, definitely a separate ticket. :) I guess the Drupal core queue? I imagine there's already a feature request for that, though.
Folks, I really don't want to go down the road of making "installation profiles" the name for anything other than the bundle of code at /profiles/xxxx. I tried and failed to make that case in #1205640: Implementation and criteria to differentiate user-focused distributions or products from other distributions. It ain't happening. Packaged up code is packaged up code. And I also *really* don't want to introduce more words to define, when "distribution" is already a confusing-enough word for non-technical folks.
If anyone wants to further bikeshed the names of "full-featured distributions" or other things, then #1357806: Decide a name for user-focused distributions/products is the place. Let's keep this issue focused on implementation of improvements to the distro listing on Drupal.org that already have consensus behind them.
Comment #89
sheldon rampton commented@webchick: I'm a bit confused. When you say you "don't want to go down the road of making 'installation profiles' the name for anything other than the bundle of code at /profiles/xxxx," you saying you're now not planning to rename "installation profiles" to "distributions" as stated in comment #34?
Also, by "the bundle of code at /profiles/xxx" are you referring just to the the bare-bones .profile file, .info file and makefile needed minimally to define an installation profile, or are you referring to that code plus all of the contributed/hacked modules, themes, libraries etc. that go inside /profiles/xxxx"? Just want to make sure I understand.
Comment #90
webchickYes, I'm renaming all instances of "Installation profiles" in various navigation, landing pages, etc. on Drupal.org to "Distributions." This is because these places all refer to the projects of bundled-up code themselves (which the community thinks should be called "Distributions" regardless of how full-featured they are), NOT the actual physical code laying in the profiles directory and in Drupal.org's Git repository. Those things are installation profiles, as they've always been.
This was the consensus reached in those above-referenced issues, and is the code that's deployed to the sandbox. Testing would be appreciated. :)
Comment #91
dww@webchick: However, I think some of Sheldon's confusion in #84 and beyond is that not every install profile project on d.o is providing a drush .make file and getting turned into a distribution (to use the currently agreed-upon terminology). So, what happens when you land on a tab called "Distributions" with a listing of projects, find one that looks promising, download a release, but all you get is the install profile? Do we care? I think that's the concern with this rename. Unless we also add a filter like I was talking about in #82... But then what do you call the filter? And/or do we leave somewhere where you can find the install profiles that aren't distibutions?
What a mess. Sometimes I really hate Drupal. ;)
Comment #92
webchickHaha. :) Me too. ;)
It's a good point, but I'm torn. Because on the one hand, sure, it totally makes sense to limit the list to only those distros that have downloadable code. OTOH, that (currently) excludes distros like http://drupal.org/project/commons and http://drupal.org/project/openatrium, which are two of the most widely-used distros out there, because they are blocked on http://drupal.org/community-initiatives/drupalorg/distribution-packaging. It also doesn't stop "seriously, do NOT download this unless you know what you're doing" projects like http://drupal.org/project/drupalorg_testing from showing up in the list. Hrm.
However, since we're hoping that situation will change in the next month or so, maybe it does make sense to play with the Solr filters and see what I can come up with. I'll do some experimenting today.
Comment #93
juan_g commented@dww, @webchick: Yes, that possibility of partially keeping the "installation profile" name in some cases -mentioned by Sheldon and me- is just a complementary idea for the rather collateral damage ;) or secondary question: What we do with those downloads that are not fully using drupal.org packaging possibilities and only contain a .profile file, maybe a .make file and little more, and not core and dependencies? Are they also distributions?
Naturally, we are not referring to the full-featured distributions on external sites now, that will be downloadable from drupal.org soon. We are talking about a part of the installation profile downloads on drupal.org not packaged with core as distributions. An additional example: Spaces 3 demo.
Anyhow, since they are not intended for end users and hopefully won't be tagged as "full-featured", it's not so much important whether they are called "installation profiles" or they go mixed for now in "other distributions" for developers and site builders, since they can build a distribution or site with those small downloads and drush make, etc.
As webchick has suggested, the important point in this current issue is to deploy something as a needed start for the full-featured distros for users. And they are not affected by those other downloads, that can be taken care of later.
Of course, unless there is any simple workaround that solves it for now without delaying the main work here.
Comment #94
webchickI'm not overly concerned about it TBH, as I think those are mainly going to be legacy projects once http://drupal.org/project/drupalorg_testing gets done.
For example, looking at http://drupalcode.org/project/spacesdemo.git/blob/refs/heads/6.x-1.x:/sp... I am guessing the main reason they require you to use drush make is because they include an external library (jQuery UI). However, once Derek's is done, jQuery UI will be on the whitelist of external libraries and can just be included as-is in a drupalorg.make file.
Comment #95
juan_g commented@webchick: In some cases, yes, they mention the current drupal.org restrictions. In other cases they do not mention them (for example OpenAcaDept, etc.) but I've just looked at some .make files that indeed include references to external libraries. Some others not, but they are old installation profiles (such as Drupal Hebrew Installation Profile, for Drupal 5, with just .profile and no .make file).
It has been a quick file review, and of course I'm not really sure about all the 172 install profiles, but possibly you are right and a greater number will be fully packaged soon, when restrictions are reduced. Maybe we can wait to see what happens, if you don't think it's a good idea to use a "installation profiles" classification for those cases.
Or possibly it would be nice to at least warn the users with a note in the Downloads sections of those project pages such as "This is not a fully packaged distribution, and requires you to build it", or something similar, because it is not clearly said in many cases. This could be done automatically with dww's filter.
So, we can do it now, or wait and see after the whitelisting for external dependencies.
Comment #96
bonobo commentedThis sounds like a good approach. Once we start tagging distributions, we can use this (along with the text-based project descriptions) to further refine the info that is given to (and targeted at) less technical end users.
Comment #97
dwwSplitting off part of #95 into a related but separate issue: #1393528: Automate a visual indicator on fully-packaged distribution project pages
Comment #98
juan_g commentedAbout comments #5 to #9 on this issue, I've just opened the new issue #1421972: Usage statistics for distributions.
Some assistance on technical details would be wonderful. For example, on how usage statistics are working now for Commons, a D6 distribution, without need for an .info file or an already removed distro-specific module (since two weeks ago).
Comment #99
juan_g commentedThe issue in the previous comment (#98), just fixed with the new handbook page Usage statistics for distributions.
That is, distributions have usage statistics available, and the docs now explain how, thanks to dww.
Comment #100
webchickOk, http://drupal.org/community-initiatives/drupalorg/distribution-packaging is now complete. WOOHOO!! Time to get these small cosmetic changes done.
Here's a re-roll of the patch from #68, deployed on http://webchick-drupal.redesign.devdrupal.org for your testing pleasure.
Comment #100.0
webchickStrikethrough for obsolete line on old proposal (separate project type).
Comment #100.1
webchickMassively updating the summary (webchick)
Comment #100.2
webchickGrrr. input format.
Comment #100.3
webchickSpecifically listing issues I'm not dealing with here. (webchick)
Comment #100.4
webchickx
Comment #101
webchickAlso massively updated the issue summary, including kicking a bunch of things specifically to "out of scope." I want to focus this issue only on things that have broad consensus, and everything else can iterate on these design changes after this initial patch goes in.
Comment #102
bonobo commentedJust did a quick review of the updated dev site.
+1
FWIW, the reworked dev site solves the issues flagged at #1469148: Clean up links for install profiles at /download
Comment #103
Kjartan commentedOverall I think the changes are fine, but I question the language used on the homepage and getting started.
/home
This feels like a text that I would do some form of A/B testing to see what entices users to try out distributions. I'd probably reword it to something like:
/start
Again its rather bland, but then again so is the current core text:
My suggestion would be to care less about the files and more about the opportunities Drupal gives users.
I also don't think the link on "distributions" should point to /documentation/build/distributions in its current form at least, I was expecting it to take me to a list of currently available distributions.
Code wise there are a few cases of double quotes being used where singles would do, and the indentation of the HTML code seems inconsistent (single space vs double space). Not sure how important coding standards are to the drupalorg module.
Comment #104
webchickok, drumm reviewed this on IRC. his comments were:
Check. The issue summary has several follow-up issues that could take place after this one.
I've manually tested the upgrade path myself, and it's using all the various API functions so should be ok. But could probably do with another go on staging.
Oops. I had this in one of the versions of the patches, but must've left it out of the latest. Will fix.
Oops. Stupid find/replace. Will fix.
Will open a follow-up.
I'll try and address both #103 and this in the next 24 hours or so, and can commit to working with drumm to get what's here deployed. Then, sorry, but i'm out of here. I need to go focus on making D8 awesome. :) But I encourage others to take it further once the basics are in place.
Comment #104.0
webchickx
Comment #105
laura s commentedRegarding the language, I'd also suggest a prominent link to a (yet to exist?) documentation page describing pros and cons of distributions. This is important especially for newbies who may not understand the complexities of going with a distribution, especially if Features are involved to any great degree. Otherwise I fear we get backlash from people in angst over delayed security updates, inflexibility of changes to defaults, incompatibility of otherwise popular modules, [fill in potential complaints here].
Years ago newbies had the CivicSpace option. At first it seemed just dandy and wonderful, but then they felt trapped when wanting to grow beyond that paradigm. You see a lot of issues people encounter dealing with Open Atrium, too. (Not to pick on OA, but it's a distribution I'm quite familiar with.)
In general, Distributions may seem easy, but imho they're a choice best opted for by experts, not novices. I feel it's worth voicing some caveats as we drive new users to the Distributions page.
Comment #106
webchickThe patch links to http://drupal.org/documentation/build/distributions. I highly encourage you or anyone else to edit that node so it contains the content you feel is necessary to explain to people what they're about to get themselves into.
Comment #107
laura s commentedI have that tab open, ready to add a child page that will at least be a stub, hopefully a draft. Always welcoming improvement.
Comment #108
juan_g commentedJust added the following update to the handbook page Usage statistics for distributions:
This is really useful for distributions, at least until more distros do the necessary steps to enable usage stats for them. As an example among many, from the NodeStream project page today:
Comment #109
webchickOk. Hopefully last time now.... #103 and #104 are now addressed. I killed my old sandbox and set up http://distro-listing-drupal.redesign.devdrupal.org/ instead so we can kill it once this issue is done and get back some space on stagingvm in preparation for the D7 porting sprint. :)
Specifically, the patch changes the following:
1) I did test the upgrade path again, and it's working (but my sandbox is a couple of days old so the number might need to be adjusted).
2) "Distributions" moved to just after "Drupal core" in the tabs.
3) Removed the bunk hunk changing a previous update function.
4) Removed the extra Solr facet label, and opened #1526852: Allow filtering Solr by distributions.
5) Textual improvements from #103.
There might be some stray whitespace issues still. I'll run dreditor on this patch.
Comment #110
webchickOk I didn't find anything, but that doesn't necessarily mean they don't exist. :)
Comment #110.0
webchickFixing h3.
Comment #111
robloachDidn't realize how much of Drupal.org was hard-coded in a custom module. Is this some stuff we could replace with a few menu blocks?
Comment #112
bonobo commented+1 on @webchick's revisions from 109.
Comment #113
drummCommitted, with manually applying the drupalorg_crosssite parts, and a couple small code style changes.
This is on http://staging.devdrupal.org/ for any last minute review. Looks okay for my spot checks.
For why this is hard-coded - sometimes code is better than configuration because we can review and deploy it like we are doing here. Like any Drupal site, we have to find the right balance for where to keep things. Changing it is a separate issue.
Comment #114
webchickOH THAT IS SO EXCITING.
Comment #115
bonobo commentedWOO HOO!
Comment #116
drummDeployed
Comment #117
juan_g commentedSo, it's now live on:
http://drupal.org/
http://drupal.org/download
http://drupal.org/project/distributions
...
Comment #118.0
(not verified) commentedUpdating issue summary with new sandbox URL, new Solr spin-off issue, and something else I forget. (webchick)