Problem/Motivation
Once a user installs a module, or applies a recipe in the Project Browser they have no indication that configuration might be needed before they can actually use it. In a recipe's application you may not need to configure it, but get direction on how to use your new features.
Users may not know they need to go to admin/config or admin/modules to find the new module and see if it has a configuration page.
Proposed resolution
If a module has a configure link in its info file, you should see a "Configure" link in a drop-down menu below the "Installed" badge in Project Browser.
That's being implemented in #3502666: Replace install/select button with a Drupal-standard drop button generically, but we need the backend to expose the links to show. This issue takes care of that part -- it changes the module activator so that, if the module in question is installed, the activator returns a link to its configuration page, if it defines one.
This makes no changes to the frontend; that'll happen in the blocked issue. This just does the backend piece.
| Comment | File | Size | Author |
|---|---|---|---|
| #9 | Screenshot from 2025-01-16 22-15-53.png | 145.2 KB | matthieuscarset |
Issue fork project_browser-3322601
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3322601-on-2.0.x
changes, plain diff MR !727
- 3322601-pp-1-add-instructions
changes, plain diff MR !724
Comments
Comment #2
tim.plunkettComment #4
chrisfromredfinComment #5
chrisfromredfinAdded credit for Adam since this was an idea from him at NEDCamp 2022. And I think it's a great one, but would require additional module maintainer contributions, such as adding "now what" steps in the info.yml or to a known help file or something. core-post-mvp is perfect.
Comment #6
thejimbirch commentedComment #7
yesct commentedI fixed some typos in the issue summary.
I added keywords like settings and link.
I also expanded the scope, by suggesting we link to the module config page.
Do folks think linking should be a separate issue?? Maybe it's not dependent on module maintaining writing text. And so linking might get implemented faster?
Comment #8
yesct commentedComment #9
matthieuscarset commented+1 for a solution to give instruction to the user once a recipe is applied.
I had this issue after installing the "Search" recipe on a fresh Drupal CMS install.
The installation works because the recipe's button now says "Installed" but - as a site builder - I have no idea what to do next.
Recipes should provide a way to display message and/or redirect the users to another page.
Comment #10
phenaproximaI think I see a path forward here: let recipes optionally define a set of follow-up tasks, which are then exposed in the Project Browser UI as items in a drop button.
Recipes would be able to have something like this in their recipe.yml -- a set of follow-up links:
Astute readers will recognize that repeatable struct as a dehydrated
\Drupal\Core\Linkobject. So the recipe could define as many follow-up links as it wanted, in that format. Project Browser would then display those links in a drop-button, probably in the project detail modal, once the recipe was in the\Drupal\project_browser\ActivationStatus::Activestate.There are two blockers to this.
\Drupal\Core\Recipe\Recipe::parse()so that recipes could expose additional data to specialist modules like Project Browser. This would be a one-line change in core (apart from test coverage); no other validation constraints would change. Think of it as the recipe equivalent of theextrafield ofcomposer.json. This will be added in #3503190: Allow recipes to contain an "extra" property with arbitrary information for specific modules to use.Thoughts?
Comment #11
phenaproximaPostponed on #3505159: Allow recipes to expose additional follow-up tasks to Project Browser, which is the overarching plan for implementing #10.
Comment #12
phenaproximaThis is actually blocked by #3505592: Activation information should be delivered to the frontend by a dedicated service.
Comment #14
phenaproximaBlocker is in!
Comment #15
phenaproximaThis is ready for an initial review. Probably needs test coverage, but that could be a kernel test covering ModuleActivator.
Comment #16
phenaproximaTest written, pretty straightforward.
Comment #17
phenaproximaTagging for an IS update.
Comment #18
phenaproximaComment #19
phenaproximaComment #25
chrisfromredfinThanks, all! For contributions great and small :)