Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating Recipes #28

Open
Egmund opened this issue Jul 25, 2024 · 10 comments
Open

Updating Recipes #28

Egmund opened this issue Jul 25, 2024 · 10 comments

Comments

@Egmund
Copy link

Egmund commented Jul 25, 2024

Today, July 25, there was an update to the 'module' Digital Agency.
I am nervous about running the update on my heavily 'hacked' version, but ran it on a test-install.
Nothing seems to have changed on the test-site - even after clearing cache. Is this how it works? For actual updates the site in question need to be reinstalled fro scratch? Not very practical.
1, If updates are listed as available, they 'should do something'.
2. Updates without content should be available, since actual users would alter most of the text/content.

Otherwise I am very happy with this project. It made me dive deeper into BackdropCMS - as intended. I have learned a lot, feel more comfortable with it.

@stpaultim
Copy link
Member

@Egmund

Thanks for raising this issue. Currently, the way that we are building recipes makes it impossible to update to update them. This is a question that I get all the time and I always point out in presentations that you will NOT be able to update a recipe once it is installed.

I was recently asked what happens if you try to update a recipe and I didn't have a good answer. Thanks for sharing your experience reporting that it did not seem to have any effect.

ALSO - you raise an excellent point about the fact that if a recipe can not be updated, we should do something in core to make that clear. Either, not show updates to recipes OR include some kind of warning/notice that updating a recipe will not have any effect.

There may be some value in letting users know that an update is available, even if they can't use it directly. I would appreciate additional feedback on this.

@stpaultim
Copy link
Member

@Egmund I've opened an issue in the core issue queue:
backdrop/backdrop-issues#6685

@stpaultim stpaultim changed the title Updating Updating Recipes Aug 17, 2024
@Egmund
Copy link
Author

Egmund commented Aug 17, 2024

There is a reason an update is created. Therefore it is good for 'customers' to know about it.
With 'regular' modules or themes I sometimes patch instead of updating if I have 'hacked' the module (and then update the version in the info file). Maybe patching is the way here?

@stpaultim
Copy link
Member

stpaultim commented Aug 17, 2024

@Egmund - The problem with "updating" a recipe is that recipes are about 99% configuration. For us to update anything, would require us to alter configuration and we have no way of knowing if the site owner really wants the change we are making or whether our changes actually conflict with choices the site owner has made.

In traditional modules, updates do things like fix bugs, or add new features in code. Recipes don't really provide this kind of functionality. Mostly recipes do things like add content types and custom fields. Once those content types or fields are being used, there isn't much that we can change without risk of breaking sites.

One possibility for the Digital Agency Recipe Package would be css updates. It's possible that some people would want these. But even then, there is a risk that the site owner has already implemented their own custom fix for any css problems that we've tried to update and our update, might break or conflict with things that the site owner has done to mitigate the problem.

The general consensus is that given how recipes currently work, it would be dangerous to update them.

I welcome additional thoughts and ideas about when and how recipes might be updated. But for now, the assumption is that once you install a recipe, your locked into that version of the recipe unless you manually make changes in the future.

I think that once a recipes is relatively stable, it might make sense to release detailed notes in new releases about what has been updated or changes, in case site owners want to make those changes themselves.

@stpaultim
Copy link
Member

@Egmund A few more notes, as I think about this.

Most of the changes (or updates) that I am making to recipes are things like adding a new field or changing the default configuration for a field or view, because I have reason to believe that the changes are a better starting point for folks trying the recipe for the first time.

But, once a person has implemented a recipe adding a field or changing the configuration for them could be dangerous and conflict with changes they have made on their own.

Does this make sense?

@Egmund
Copy link
Author

Egmund commented Aug 17, 2024

I agree with your thoughts on this. I will look at the changes since I installed and maybe do some patching.
But this issue makes me say once more, that recipes should not be modules, but something else - it is confusing.

@stpaultim
Copy link
Member

@Egmund - Good points.

Please, take a moment and post a comment here about your experiences with recipes and how leaving them as modules can be very confusing.
backdrop/backdrop-issues#3763

Adding a new project type to Backdrop is not trivial and will probably only happen if people ask for it.

@Egmund
Copy link
Author

Egmund commented Aug 17, 2024

Actually: Updating does something. All 'hacks' to css in the 'module' are 'erased' since the css is replaced.
In this case I experimented with flexboxes in the footer - some formatting for nicemenu was overwritten w. update.

@stpaultim
Copy link
Member

stpaultim commented Aug 18, 2024

All 'hacks' to css in the 'module' are 'erased' since the css is replaced.
In this case I experimented with flexboxes in the footer - some formatting for nicemenu was overwritten w. update.

This is true of all modules and themes. It's the reason that themes allow for sub-theming, so that you can update the parent theme without destroying any custom css you have put in your subtheme.

Any time you hack a module, you need to track the changes you made and reimplement them every time you upgrade the module or risk loosing your changes.

@Egmund
Copy link
Author

Egmund commented Aug 18, 2024

Yes, that is true. Bad habit of mine.
Another solution I like is having a custom css and then add a line regarding it in the info file after updating - easier than sub-theming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants