Audit the starter recipe

Created on 12 November 2024, about 2 months ago

The starter recipe (drupal_cms_starter) is a big, confusing recipe that does a lot of things. That's because it's a full site starter kit - it has to tie everything together.

That's all well and good, but it would be preferable if we could make it do as little as possible. It's still going to need to do a lot of things, but if there are any config actions (or just plain config) we can move to other existing recipes, we should. Let's go through the starter with a fine-tooth comb and see what can be moved elsewhere.

πŸ“Œ Task
Status

Active

Component

Base Recipe

Created by

πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @phenaproxima
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Some thoughts right off the bat:

    • The starter recipe includes the toolbar module. Do we really need this? I feel like this is just a holdover from the prototype, which was partially based on what Standard does. Why not just remove Toolbar in favor of Navigation?
    • The Trash module should be enabled by drupal_cms_content_type_base.
    • We are importing the "who's new" and "who's online" views from the User module. Does anybody actually use these? In any case, I don't think Drupal CMS has any particular need for them.
    • We're importing several questionable views from the Node module: archive, content_recent, and glossary. What do these do? Do we need any of them?
    • The drupal_cms_image_media_type recipe can probably be the one to disable the files view.
    • Why does the authenticated user account need the "access user profiles" permission?

    These are all product questions, so assigning to @pameeela for some product answers.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    The starter recipe includes the toolbar module. Do we really need this? I feel like this is just a holdover from the prototype, which was partially based on what Standard does. Why not just remove Toolbar in favor of Navigation?

    I believe Gin requires it to work with Navigation, or it did at some point. I don't know where to check the status of that but will try to find out.

    The Trash module should be enabled by drupal_cms_content_type_base.
    We are importing the "who's new" and "who's online" views from the User module. Does anybody actually use these? In any case, I don't think Drupal CMS has any particular need for them.
    We're importing several questionable views from the Node module: archive, content_recent, and glossary. What do these do? Do we need any of them?

    Agreed with all of these.

    Why does the authenticated user account need the "access user profiles" permission?

    No issue with removing this.

    The drupal_cms_image_media_type recipe can probably be the one to disable the files view.

    I have been wondering about this. I kind of get it, but also I do use the files view at times. But I can see how it might not make sense to many users.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    More thoughts:

    • The starter is providing shortcuts for various things provided by other recipes. These shortcuts should be moved into the relevant recipes where possible.
    • We have a config action that configures nodes to use the admin theme for editing. Should we maybe move that opinion into content_type_base?
    • We should probably move Toolbar, and the relevant permissions, into drupal_cms_admin_theme. It is, after all, part of the administrative UI.
    • The content_editor role has permission to use Navigation, but authenticated does not. Should we change that, moving the permission grant into drupal_cms_admin_theme so that all authenticated users have permission to use Navigation? (Should we also do this for the "access toolbar" permission?)
    • I think we could remove most of what's in the "This is from Standard" list from the install section of the starter's recipe.yml. Like...why do we need History? Or Config? Or Datetime (which I think is probably brought in by the Event content type, and doesn't need to be specifically enabled by the starter)?
    • Should we move Contextual, Inline Form Errors, Field UI, and Views UI to drupal_cms_admin_theme?
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Another thought: I think it makes sense for the content_type_base recipe to bring in the content_editor role and assign some basic permissions to it. Then the content type recipes themselves should add the relevant content type-specific permissions to that role.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    Need some time to go through some of this but disagree re: authenticated users. I don't think they should get admin theme and navigation. Mostly I think of this a someone providing user-generated content e.g. comments or something and should not need any admin tools.

  • Pipeline finished with Canceled
    about 2 months ago
    Total: 64s
    #337640
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Another question: do we need the audio and local video media types? I feel like local video especially is dubious - do enough people self-host videos to make it worthwhile to include this core recipe in the starter?

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    do we need the audio and local video media types?

    This should be decided by the media track/recipes, which are still to come. I believe they recommended not including them though.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Another question: the Starter recipe is applying core's user_picture recipe, which allows user accounts to have avatars. Is that desirable, you think? Or should we remove it, at least for now?

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    Funny, I initially thought we should remove it too, but then I realised a lot of our competitors have a profile pic: Wordpress, Wix, Weblfow and Squarespace all have this. So I guess we should keep it?

  • πŸ‡ΈπŸ‡°Slovakia poker10

    If we do not allow "access user profiles" for authenticated/anonymous users, then will the user pictures have any benefits? Probably the most common thing to display these avatars is in comments or in articles. But I am not sure if we plan to use them there.

  • Pipeline finished with Failed
    about 2 months ago
    Total: 618s
    #342684
  • Pipeline finished with Failed
    about 2 months ago
    Total: 838s
    #342762
  • Pipeline finished with Failed
    about 2 months ago
    Total: 831s
    #342779
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    OK - Pam and I paired on this today and now it's just a question of getting the tests to pass. Self-assigning to figure that out.

  • πŸ‡ΈπŸ‡°Slovakia poker10
    diff --git a/recipes/drupal_cms_starter/recipe.yml b/recipes/drupal_cms_starter/recipe.yml
    --- a/recipes/drupal_cms_starter/recipe.yml
    +++ b/recipes/drupal_cms_starter/recipe.yml
    @@ -104,50 +86,34 @@ config:
    -        register: admin_only
    

    Do we want to allow registrations in Drupal CMS installations for everyone by default? I think the default is register: visitors, if the code above will be removed. This change is not mentioned in previous comments, if I have not missed anything.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    πŸ€” Pam told me that was changed to admin_only by default in core recently, so that's why removed that line.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    Yep, πŸ“Œ Make "Who can register accounts?" "Administrators only" by default Fixed

    Was planning to check that it definitely applies to us, but I'm not sure as I don't see where we are explicitly installing User module? Looks like maybe just with core/recipes/user_picture in which case I guess we still need that one :) But I am still not sure where are getting user.settings from.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    User is a required core module and is always installed on every Drupal site.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    In that case though we are not covered by these changes because user.settigs.yml in the user module is still set to visitors. The change was only made in minimal/standard.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Oh, dang. Well, glad you caught that!

  • Pipeline finished with Canceled
    about 1 month ago
    Total: 574s
    #343558
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    OK - I think this looks good. Not sure if @pameeela needs to review this, since we paired on it, but assigning to her anyway to give the final thumbs-up.

  • Pipeline finished with Success
    about 1 month ago
    Total: 646s
    #343566
  • Pipeline finished with Canceled
    about 1 month ago
    Total: 124s
    #344092
  • Pipeline finished with Canceled
    about 1 month ago
    Total: 124s
    #344093
  • πŸ‡¦πŸ‡ΊAustralia pameeela

    Reviewed with small changes:

    1. Removed the user picture recipe, changed my mind about this because I think we should only add it if we are using the picture for something (and we're not now)
    2. Added back config and views_ui, we discussed having a dev tools recipe but that won't happen yet and I do think there is value in an ambitious site builder discovering these tools

    Also found it a bit tricky to review since some things are removed but some are relocated. If we need to tweak later, so be it!

  • Pipeline finished with Failed
    about 1 month ago
    Total: 508s
    #344096
  • Pipeline finished with Failed
    about 1 month ago
    Total: 575s
    #344097
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts
  • Pipeline finished with Success
    about 1 month ago
    Total: 427s
    #344800
  • Pipeline finished with Success
    about 1 month ago
    Total: 448s
    #344833
  • Pipeline finished with Skipped
    about 1 month ago
    #344849
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Merged into 0.x. Thanks all!

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024