Problem/Motivation

The cumulative result of #1806334-191: Replace the node listing at /node with a view doesn't make much sense.

Proposed resolution

We could 1) Add Views, or 2) Remove Node, or 3) Both, or 4) Neither.

Remaining tasks

User interface changes

API changes

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

effulgentsia’s picture

Is there anything written anywhere for what the Minimal profile is intended for and what people actually use it for?

xjm’s picture

Updated the summary to indicate that we don't actually have to do anything.

The minimal profile's purpose as far as I understand is for experienced site builders who don't want to fuss around uninstall modules they don't need. From the .info:
description: 'Build a custom site without pre-configured functionality. Suitable for advanced users.'

IMHO this is a wontfix and yak-shaving. ;)

xjm’s picture

Issue summary: View changes

We don't have to do anything.

tstoeckler’s picture

I think we should remove node. We don't provide any default content types, so node.module is pretty much unusable by default anyway. So the difference is negligible. You'll find yourself visiting the modules page anyway with minimal, so adding one more check shouldn't hurt.

David_Rothstein’s picture

Title: Discuss the fate of Minimal profile » Decide whether the Minimal profie should enable the Node module without any other related modules

Giving this a less dramatic title :)

So the root cause of the problem is that the Node module isn't really useful on its own right now (and related weirdness, e.g. #987242: The "Promoted to front page" checkbox doesn't do anything if the /node front page listing isn't used), but does make sense if you enable certain other modules. (Views is one of them, but Menu would work equally well too.)

That seems like a larger issue, but for the purposes of this issue, I think removing it from the Minimal profile would make sense.

David_Rothstein’s picture

Title: Decide whether the Minimal profie should enable the Node module without any other related modules » Decide whether the Minimal profile should enable the Node module without any other related modules

:)

sun’s picture

Title: Decide whether the Minimal profile should enable the Node module without any other related modules » Clean up Minimal profile modules
Status: Active » Needs review
Issue tags: +Framework Initiative, +API clean-up
FileSize
423 bytes

First of all, I'd recommend to leave this discussion to those that are actually using Minimal profile. So if you don't use Minimal profile, it's probably best to unfollow this issue.

(I'm still surprised that senior Drupal developers are using the Standard profile for building new sites... but well, after all, we have install profiles exactly to allow people to choose what they think works best for them.)


As someone who's using Minimal profile exclusively, its description summarizes its scope and target audience best:

Build a custom site without pre-configured functionality. Suitable for advanced users.

(which we've improved in #1664894: Clarify Minimal profile's use-case and description for D8 only recently)

Since D7, the Framework Initiative thankfully managed to decouple and remove a lot of baked-in assumptions.

Note that Minimal is the only profile in core that tries to serve a concrete use-case.

Given where we're heading with D8, the situation of what constitutes a "minimal" configuration for building out a new site from scratch has definitely changed:

  1. Without Views, you can't do much.
  2. Without Block, you can't see much.
  3. Without Field UI and Entity displays, you can't build much. (cf. Minimal profile description)
  4. Node content, OTOH, is just one of many possible entity types, and I can come up with a dozen of use-cases that don't need any nodes.

    Especially because you do not see any nodes by default anymore, that clearly puts Node module into the nice-to-have bag.

Consequently, attached patch is what I'd recommend in order to establish a minimal set of modules for the concrete use-case that the Minimal install profile targets.


Lastly, note that I've thought a couple of times already about introducing a new Zeroconf profile for D8 core, which would literally have no modules enabled and no configuration at all. That is, as a clear difference to Minimal, which serves a concrete use-case and thus needs to make assumptions.

(Also, we'd be able to use that Zeroconf profile as a drop-in replacement for Testing profile and temporary transition layer for tasks like #1541298: Remove Node module dependency from Testing profile.)

sun’s picture

Status: Needs review » Needs work

The last submitted patch, drupal8.minimal-build-modules.7.patch, failed testing.

Bojhan’s picture

@sun Does this add another profile to core, that users can select?

sun’s picture

Status: Needs work » Needs review
FileSize
1.99 KB

@Bojhan: Nope, not this issue. I'm sorry if my considerations for a new Zeroconf profile caused confusion. Moved into #1951526: Add a zero configuration installation profile


With #1851086: Replace admin/people with a View, #6 becomes even more true.

Attached patch should hopefully come back green.

Status: Needs review » Needs work

The last submitted patch, drupal8.minimal-build-modules.10.patch, failed testing.

tstoeckler’s picture

Field UI not being enabled has always bugged me. I totally agree with the assessment here.

xjm’s picture

I still feel that there's nothing minimal about installing Views.

dsnopek’s picture

I know I'm just adding to the noise here, but I like the "minimal" profile (in Drupal 7) because I don't like overlay, shortcut, contextual, etc for most of the sites I build and it's annoying to always disable them. I'd rather enable them in the small number of situation where I think they'd be useful.

That said I always use node and views! So, for this humble minimal profile user, I'd personally be happy with both node and views being enabled.

In the future, there will probably be more and more cases where some other entities are used rather than nodes, but I have still to build a single site where I don't use nodes.

Anyway, if the minimal profile ends up not being useful for me anymore, I'll just build my own profile. ;-) So, it's not that big of a deal.

effulgentsia’s picture

First off, I think the word Minimal is a confusing word to describe a profile that has any non-required modules enabled, since that makes it not the least in amount, number, or size possible. Unless the argument is that while the specific module is non-required, it only makes sense to disable it if you replace it with something else. For example:
- You can disable block.module if you instead enable some other module that lets you see stuff.
- You can disable dblog.module if you instead enable some other module that lets you log stuff.
- You can disable views.module if you instead enable some other module that lets you see critical listings, like /admin/people.

Note that the above examples aren't strictly true. You can perfectly well disable block, dblog, and views, and still see the primary content of pages, and get along fine without logs and user listings. So the argument becomes more like, well, yeah, you can, but we can't think of a single real site where that would actually be acceptable.

Once we start adding Views UI and Field UI though, as #10 does, then we're going further. We're making the assumption that there are reasons someone chose to use Drupal to begin with, and that at least one reason involves using a UI to build the site's data model and listings. Which I think is perfectly consistent with the Build a custom site description of the profile.

Node content, OTOH, is just one of many possible entity types, and I can come up with a dozen of use-cases that don't need any nodes.

Per #14, I question this. If we're serving the need of "build a custom site", isn't it very likely that that site will have some content? And nodes are the de-facto entity type for content. Sure, you can disable node.module and enable some other module instead, if you want to model your content as something other than nodes, but I think that's far less likely than wanting to disable dblog.module and enable some alternate logging module. So if it's ok to start people off with a not-always-ideal dblog.module and a not-always-ideal block.module, why is it not ok to start them off with a not-always-ideal node.module?

dsnopek’s picture

Er, as the author of #14, I think you misinterpretted what I was saying. I was placing my vote FOR including both node and views in the minimal profile because those are module that I always use when building all sites -- as I stated in #14, I have never built a site without the node module. So, I'm saying, that in my humble and highly-subjective opinion the node module should be included. :-)

That said, my opinion probably doesn't matter at all! But since there was sort of all call in comment #6 to hear opinions from users of the Minimal profile, I decided to add my voice.

tim.plunkett’s picture

To me, the most important part of Minimal is that it doesn't have configuration. No content types or vocabs or custom theme.
Leaving out the non-site-building modules like Overlay, Toobar, and Tour is good as well.

I'd like to see Views UI, Field UI, and Node all in there, since they are site building modules that don't overly complicate your site just by being installed.

dsnopek’s picture

I agree with @tim.plunkett - not having to delete Page and Article is another plus of Minimal and I'd personally be very happy to see Views UI and Field UI in there as well.

Maybe it'd be better to rename this profile to "Advanced user" rather than "Minimal"? Any advanced user will want Views UI and Field UI when starting out with a blank site....

effulgentsia’s picture

I think you misinterpretted what I was saying

Nope. Perhaps I wasn't clear in #15, but what I was trying to say there is that if we want Minimal profile to be one targeted for "building [with a UI] custom sites [with content]", and that use case is our justification for enabling modules like dblog, block, views, field ui, and views ui, then I also believe node.module should be included too.

effulgentsia’s picture

Note that Minimal is the only profile in core that tries to serve a concrete use-case.

This is basically saying that Standard does not serve a use case. Whether or not that's true is out of scope for this issue, so pardon the off-topic comment here, but I'd like to express disagreement with this.

I think our Standard profile is pretty decent (though could be better) at serving the use case of "build a simple, small, low traffic, information sharing website quickly". Where "information sharing" can encompass brochure sites, simple blogs, etc., but not ecommerce, political organizing, event coordination, etc. Everything in Standard profile, from the Article node type to Overlay and Toolbar are in service of that goal (especially the "quickly" part, where "quickly" is targeted to someone not already proficient with Drupal).

dsnopek’s picture

@effulgentsia: Ok, so, in other words we're in agreement. :-) Sorry for the confusion, I got thrown off by:

Per #14, I question this. (Emphasis added)

... because I thought it meant you were disagreeing with me.

Take care!
David.

xjm’s picture

So maybe we rename "minimal" to something else, to indicate it's for the "basic sitebuilder toolbox with no preinstalled config" usecase?

dsnopek’s picture

@xjm: that's sounds good to me! Maybe something like "Advanced user" or "Advanced site builder" or something. I think people are used to the idea that there's a standard and an advanced for experienced users, for example: standard search and advanced search. Just my 2 cents.

Bojhan’s picture

I would not go to renaming a profile so quickly, we have done quite some discussion and testing to arrive at this name. Its not perfect, but I dont get the goal here for changing it.

sun’s picture

It looks like the majority of users is on board with the suggested changes in #10.

So let's get that patch green, please. :) Renaming Minimal to something else can be a separate issue — completely peripheral for the essential fix here.

effulgentsia’s picture

+++ b/core/profiles/minimal/minimal.info.yml
@@ -3,6 +3,9 @@ description: 'Build a custom site without pre-configured functionality. Suitable
-  - node

I don't think there's agreement on that.

sun’s picture

Oh. Sorry, I agree, minus that removal, of course. Any takers? :)

David_Rothstein’s picture

I still feel that there's nothing minimal about installing Views.

I agree; this confuses me too. If Views (UI) is being added because it's a useful tool for site builders, there are several other modules that would fall into the same category (Path, etc). Why not those too?

Meanwhile, there are plenty of legitimate reasons to build a site without using Views (see http://www.phase2technology.com/blog/building-energy-gov-without-views/, or http://drupal.org/project/totem, a Drupal distro that doesn't use Views for similar reasons). It's a completely valid use case.

The situations I've used the Minimal profile myself (as well as seen others use it) are ones where I have a list of modules + configuration I want to enable when starting a particular site. In that case, turning on everything in the list is simpler than also having to remember to turn other things off. Perhaps others have a different use case, but I think this is the one that is consistent with the name "Minimal".

Currently the Minimal profile installs three optional modules (node, dblog, and block) and three pieces of configuration (it puts the Administration, User Login and Tools menus in the left sidebar), so in that sense it doesn't live up to its name. The main reason it can't remove all of those is that you'd be left with a site that you can't log in to or administer without typing in URLs by hand. To me, however, that is just a sign that the core system is missing some sensible default functionality regarding these links; for example, see how drupal_render_page() forces the main page content to be present when no module adds it.

For the purposes of this issue, though, I'd still be happy to just see Node go away and that's it.

c4rl’s picture

Status: Needs work » Needs review
Issue tags: -Framework Initiative
FileSize
2.24 KB

I think we can all agree our purpose of minimal profile is to simply not have Drupal make any assumptions about what to pre-install or pre-configure so that we, as seasoned developers, don't have to uninstall or unconfigure anything. It saves us time.

The discussion starting in #1806334-185: Replace the node listing at /node with a view that inspired this issue basically asked "why would the default front page be /node (or /user)?"

That said, any site we build, no matter how simple or complex requires that we apply some effort, including, setting what the default front page will be. So, given this, part of me wonders "Who cares that the default front page is when I install the minimal profile? I am just going to change it anyway, just as I am going to download and configure contrib modules, write custom modules, and develop a theme, etc."

With regard to the other comments in this thread that discuss "what is a useful tool for site builders," I don't feel that is really in-line with what was discussed in #1664894: Clarify Minimal profile's use-case and description. Minimal is for experts who know what they are doing; If you know what you are doing, you probably don't care too much what the default homepage is out of the box, IMHO.

So, I advise we let experts be experts, and remove everything except block, which is necessary to use Drupal via a browser. The attached patch does just that.

c4rl’s picture

Issue tags: +Framework Initiative

Tag got removed? Re-tagging.

effulgentsia’s picture

Status: Needs review » Needs work
+++ b/core/profiles/minimal/lib/Drupal/minimal/Tests/MinimalTest.php
@@ -33,12 +33,11 @@ function testMinimal() {
-    $this->assertText(t('Tools'));

In that case, let's also remove core/profiles/minimal/config/block.block.stark.tools.yml.

block, which is necessary to use Drupal via a browser

Not exactly. Or rather, it depends on your definition of "via a browser". For people who know all of Drupal's admin URLs by memory, they could type them in the address bar, and therefore not need the Administration menu block. But, if you define "via a browser" to mean that you can click your way to your admin pages, then yes.

+++ b/core/profiles/minimal/minimal.info.yml
@@ -3,6 +3,4 @@ description: 'Build a custom site without pre-configured functionality. Suitable
-  - dblog

So what this does is say that if some error occurs on your site before you've enabled dblog, then you're on your own for debugging it. Are we then saying that the target audience of the Minimal profile is someone who can debug without log messages?

c4rl’s picture

But, if you define "via a browser" to mean that you can click your way to your admin pages, then yes.

Yeah, this is more what I meant. I was imagining someone who had never used Drupal before but wanted to dive into the minimal profile just for kicks -- they might want to click something. Also, URLs can change (admin/build vs admin/structure) so memorization isn't really a UI. :)

So what this does is say that if some error occurs on your site before you've enabled dblog, then you're on your own for debugging it. Are we then saying that the target audience of the Minimal profile is someone who can debug without log messages?

I see what you mean, I don't really have a horse in this race. There could be, however, errors that even prevent the db being written. What about replacing with syslog? Personally, I'm more prone to tweak my error_log and display_errors settings in php.ini if I'm debugging installation errors.

effulgentsia’s picture

Status: Needs work » Needs review
FileSize
4.56 KB

What about replacing with syslog?

Someone could be installing on a host that doesn't provide access to the syslog.

There could be, however, errors that even prevent the db being written.

That's true for Standard and all other profiles as well, so is out of scope for this issue.

URLs can change (admin/build vs admin/structure) so memorization isn't really a UI.

Well, once you can get to /admin, then you can navigate the rest from there. Which makes me wonder: why not make that the default front page?

So, this patch does that, removes block.module, but retains dblog.module.

Note that anonymous users get an access denied, but can still get to the login page via the primary links menu (which is not yet a block). That will change with #1869476: Convert global menus (primary links, secondary links) into blocks, but we can deal with that then; for example, we can make our 403 response include a Login link for anonymous users.

effulgentsia’s picture

Minimal is for experts who know what they are doing; If you know what you are doing, you probably don't care too much what the default homepage is out of the box, IMHO.

Well, dsnopek gives some useful feedback in #14. I just want to point out that by making Minimal truly minimal as in #29 or #33, we make it slightly less useful to him and people like him. Experts know what they're doing, but it doesn't mean they enjoy doing extra menial work, like enabling the modules that every custom Drupal site ends up using anyway. But, I also think there was good feedback from people that Node and Views are not really in that category, even if they are highly popular.

effulgentsia’s picture

Issue summary: View changes

.

andypost’s picture

blocks seems required now, but node could be removed from testing profile at least

jhedstrom’s picture

Issue summary: View changes
Status: Needs review » Needs work
Issue tags: +Needs reroll
ravi.khetri’s picture

Status: Needs work » Needs review
Issue tags: +#SprintWeekend2015
FileSize
1.44 KB

Re rolled.

Status: Needs review » Needs work

The last submitted patch, 37: 1946526_37.patch, failed testing.

David Hernández’s picture

Issue tags: -#SprintWeekend2015 +SprintWeekend2015

Hello!

Thank you for working on this issue!

We should all try and use the same sprint tag. According to https://groups.drupal.org/node/447258 it should be SprintWeekend2015 with no #.

jyotisankar’s picture

Status: Needs work » Needs review
FileSize
1.44 KB

Status: Needs review » Needs work

The last submitted patch, 40: clean-up-minimal-profile-1946526-40.patch, failed testing.

pwieck’s picture

Issue tags: -Needs reroll

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

andypost’s picture

Version: 8.6.x-dev » 9.1.x-dev

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.