- Issue created by @catch
- πΊπΈUnited States phenaproxima Massachusetts
Sites will eventually have the stable XB module enabled and then the plugin could continue to affect those, go out of date with the composer plugin API
To clarify one part of this: the script specifically does nothing if you are updating XB from any version newer than 1.0.0-beta1 (the point at which a stable update path begins): https://git.drupalcode.org/project/drupal_cms/-/blob/1.x/project_templat...
Also, it is merely a script, not a Composer plugin. So it's only using Composer's actual API. That said, Composer does play a little faster and looser with its API than core does, so the point about it being non-upgradable stands.
- π¬π§United Kingdom catchTo clarify one part of this: the script specifically does nothing if you are updating XB from any version newer than 1.0.0-beta1 (the point at which a stable update path begins):
The script still runs when you have a stable release, it just short circuits. So if any of the composer or Symfony APIs it relies on change (e.g. a class being renamed and deprecated, then removed in a major release), it could very easily start throwing fatal errors.
Also the first version of the script that I reviewed did not have that check. I pointed this out on the original issue, only a couple of days or so before the CMS 1.0 release - so there was a non-zero chance of it being released with 1.0 without that check being in place, then it would not have been possible to upgrade it to add the check.
- First commit to issue fork.
- πΊπΈUnited States thejimbirch Cape Cod, Massachusetts
MR added which removes the script and the symlink, but leaves the recipe.
- π¬π§United Kingdom catch
I strongly think the recipe should be removed as well - the whole problem is trying to provide a demo of something that has no stable data model and therefore cannot be updated, within production sites that by definition need to be updated, and the composer script is just a symptom of trying to workaround that, but I can open another issue if necessary.
- π¬π§United Kingdom catch
MR is 100% removals but looks right to me.
If someone figures out a safe way to provide a pre-beta xb demo that does not result in either un-updatable code or un-updateable sites then it could be added back, but I think it should only be included when all the various considerations have actually been fully thought through, solved, and tested, which will be easier to demonstrate from a clean slate.
- πΊπΈUnited States phenaproxima Massachusetts
Let's postpone this on β¨ Add a Composer script handler which automatically uninstalls Experience Builder whenever it is updated Active .