Allow recipes to be re-"installed" (re-applied) inside PB

Created on 25 November 2024, 4 months ago

Problem/Motivation

Recipes are meant to be idempotent and can be re-applied at any time. However, Project Browser currently doesn't allow a second installation of something that's Installed.

Steps to reproduce

Install a recipe from the recipes tab (drupal 10.3+). Note that you cannot re-apply.

Proposed resolution

Allow re-apply.

Feature request
Status

Active

Version

2.0

Component

Code

Created by

🇺🇸United States chrisfromredfin Portland, Maine

Live updates comments and jobs are added and updated live.
  • Starshot blocker

    A potential blocker for Drupal Starshot. More information: http://www.drupal.org/project/starshot

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @chrisfromredfin
  • 🇦🇺Australia pameeela

    Swapping over to the Drupal CMS tag, I only just realised we are using both.

    I'm not 100% sure this is a *blocker*, more of a goal, but happy to leave the tag for encouragement :)

  • 🇺🇸United States phenaproxima Massachusetts

    I don't really think this is a stable release blocker. It's pretty easy to implement, so we should get it done, but it need not be a stable blocker. Or even a beta blocker for Project Browser.

  • 🇺🇸United States phenaproxima Massachusetts
  • 🇦🇺Australia pameeela

    Adding target tag so we can track these nice to haves.

  • First commit to issue fork.
  • 🇮🇳India utkarsh_33

    So currently if we apply a recipe the status card shows installed but as soon as we refresh the page the select button appears again.I am not sure if that's the desired behaviour or we want something like once the recipe is installed a re-install button should appear appear on the card(which i think is a better approach and a more user friendly approach).
    Marking it NR to get others opinions on this.

  • Pipeline finished with Failed
    4 months ago
    Total: 402s
    #366445
  • 🇦🇺Australia pameeela

    as soon as we refresh the page the select button appears again

    I've never seen this behaviour, for me, it shows as 'Installed' always after it is applied.

  • 🇺🇸United States phenaproxima Massachusetts

    Looks like this needs to be re-synced with HEAD.

  • 🇺🇸United States phenaproxima Massachusetts

    Oh, we can also completely remove the event subscriber stuff from RecipeActivator since we're no longer tracking it.

  • 🇺🇸United States phenaproxima Massachusetts

    Although...hmmm. Do we want to remove the tracking? It's true we're not using it anywhere, but it might be nice to show folks that they already applied a recipe. That would take some UX work, though, and the current way PB works dictates that if it's installed, it's not re-installable.

    So maybe the right approach here is to leave it as-is and work out the proper UX (in a follow-up) to show some kind of "already applied" badge to recipes that have been applied.

  • Pipeline finished with Failed
    3 months ago
    Total: 454s
    #388239
  • 🇮🇳India utkarsh_33

    RE #9:- I still see what i mentioned in #8.I'll try to record a video and upload.In the mean time if anyone else can also verify the current state.

  • 🇮🇳India utkarsh_33

    RE #9 Please see the recording.

  • 🇺🇸United States chrisfromredfin Portland, Maine

    On the latest 2.0.x as of right now (46ab2a2) - I can go to recipes tab, apply a recipe, it shows "installed ✔️" - then I reload the page, and it still says installed.

    In an IDEAL world, it would be nice to actually record a LOG of when recipes were applied and be able to show the user that it has already been applied at such and such time/date. However, I'm not yet sure what the UI for that would be.

    I THINK my personal belief is that given the option of what we have now (disallowing reinstall) or allowing users to re-apply (and they simply must track themselves if they've applied a recipe before or not), I THINK I would choose the latter. But I'm happy to be outvoted by other UX folks' opinions.

  • Pipeline finished with Failed
    about 2 months ago
    Total: 1148s
    #421429
  • Pipeline finished with Canceled
    about 2 months ago
    Total: 171s
    #421438
  • Pipeline finished with Success
    about 2 months ago
    Total: 1219s
    #421444
  • Pipeline finished with Skipped
    about 2 months ago
    #422091
  • Status changed to Needs work 26 days ago
  • 🇺🇸United States phenaproxima Massachusetts

    Test cases that need to happen here:

    1. A recipe with no input should trigger a batch job and redirect back to the page we were on.
    2. A recipe with input should show a form, and once that form is submitted, it should trigger a batch job and redirect back to the page we were on. If there are validation errors, the form should always refresh until those are resolved.
  • Pipeline finished with Failed
    26 days ago
    Total: 288s
    #442875
  • Pipeline finished with Canceled
    26 days ago
    Total: 189s
    #442886
  • Pipeline finished with Failed
    26 days ago
    Total: 308s
    #442889
  • Pipeline finished with Failed
    26 days ago
    Total: 379s
    #442892
  • Pipeline finished with Failed
    26 days ago
    Total: 376s
    #442905
  • 🇺🇸United States phenaproxima Massachusetts
  • Pipeline finished with Failed
    26 days ago
    Total: 380s
    #442914
  • Pipeline finished with Failed
    26 days ago
    Total: 490s
    #443024
  • Pipeline finished with Failed
    26 days ago
    Total: 500s
    #443043
  • Pipeline finished with Failed
    26 days ago
    Total: 467s
    #443075
  • 🇺🇸United States phenaproxima Massachusetts

    phenaproxima changed the visibility of the branch 3489729-allow-recipes-to to hidden.

  • 🇺🇸United States phenaproxima Massachusetts

    Wow, this one is turning out to be really effing hard to pull off.

    I'm going to back off and try to think of an approach that will actually work.

  • Merge request !779Issue #3489729: Make recipes re-applyable → (Merged) created by phenaproxima
  • 🇺🇸United States phenaproxima Massachusetts

    Needs tests, but I found an approach that makes this work without major UI behavior changes and extensive refactoring.

    Long story short: allow follow-up tasks to take advantage of the use-ajax class.

  • Pipeline finished with Failed
    26 days ago
    Total: 483s
    #443099
  • Pipeline finished with Failed
    26 days ago
    Total: 849s
    #443149
  • Pipeline finished with Failed
    25 days ago
    Total: 1029s
    #443504
  • Pipeline finished with Failed
    25 days ago
    Total: 559s
    #443509
  • Pipeline finished with Failed
    25 days ago
    Total: 847s
    #443515
  • First commit to issue fork.
  • Pipeline finished with Failed
    24 days ago
    Total: 663s
    #444514
  • Pipeline finished with Failed
    24 days ago
    Total: 500s
    #444531
  • Pipeline finished with Failed
    24 days ago
    Total: 477s
    #444539
  • Pipeline finished with Failed
    23 days ago
    Total: 1964s
    #444681
  • Pipeline finished with Failed
    23 days ago
    Total: 461s
    #444734
  • Pipeline finished with Success
    23 days ago
    Total: 405s
    #444744
  • Pipeline finished with Failed
    21 days ago
    Total: 1564s
    #447138
  • Pipeline finished with Failed
    20 days ago
    Total: 488s
    #447500
  • Pipeline finished with Failed
    20 days ago
    Total: 1245s
    #447570
  • 🇺🇸United States phenaproxima Massachusetts

    Test written - I think we're good here.

  • Pipeline finished with Failed
    20 days ago
    Total: 581s
    #447617
  • Pipeline finished with Failed
    20 days ago
    Total: 347s
    #447633
  • Pipeline finished with Success
    20 days ago
    Total: 1316s
    #447642
  • Pipeline finished with Success
    20 days ago
    Total: 393s
    #447680
  • Pipeline finished with Canceled
    20 days ago
    Total: 120s
    #447711
  • Pipeline finished with Failed
    20 days ago
    Total: 360s
    #447714
  • Pipeline finished with Failed
    20 days ago
    Total: 521s
    #447720
  • Pipeline finished with Failed
    20 days ago
    Total: 381s
    #447728
  • Pipeline finished with Canceled
    20 days ago
    Total: 223s
    #447745
  • Pipeline finished with Skipped
    20 days ago
    #447757
  • Pipeline finished with Failed
    20 days ago
    Total: 367s
    #447751
  • Pipeline finished with Failed
    20 days ago
    Total: 375s
    #447760
  • 🇺🇸United States chrisfromredfin Portland, Maine

    Initial manual testing here seems to imply this is working well. Small pieces of feedback:

    (1) the dropbutton with only one action in it looks janky. Not sure if we leave the carat, or shrink the space, or what. But something.

    (2) having an issue with 'Drupal2.$dialog is not defined' or something similar. I have seen this in other MRs so I don't think it's related to this issue. But I've seen it enough that it should have a FU.

  • Pipeline finished with Failed
    20 days ago
    Total: 376s
    #447765
  • 🇺🇸United States phenaproxima Massachusetts
  • 🇺🇸United States tim.plunkett Philadelphia
  • Pipeline finished with Failed
    20 days ago
    Total: 730s
    #447788
  • 🇺🇸United States phenaproxima Massachusetts
  • 🇺🇸United States phenaproxima Massachusetts
  • Pipeline finished with Success
    20 days ago
    Total: 1278s
    #447800
  • 🇺🇸United States tim.plunkett Philadelphia

    Saving credit

  • Pipeline finished with Skipped
    20 days ago
    #447827
  • 🇺🇸United States tim.plunkett Philadelphia

    Merged !779 🎉

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

Production build 0.71.5 2024