Modifying equip profile from recipe panel broken

Bug #1592190 reported by Sim
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Brewtarget
Invalid
Undecided
Unassigned

Bug Description

OSX 10.10.5
Brewtarget 2.3.0

If I modify equipment profile from recipe panel, save, then switch to use other profile then back, changes are gone.

Seems as though save button broken on equip ed when started from recipe panel.

Workaround: Only edit equipment by starting equipment editor from toolbar..

Revision history for this message
Mik Firestone (mikfire) wrote :

It isn't actually broken, just terribly confusing.

When you add an equipment profile to a recipe, we make a copy of the profile. When you edit the profile from the recipe panel, you are editing the copy and not the original.

When you switch to another profile and then back, we make another copy of the original profile. Yes, the changes you made to the previous copy are gone because they were made to a copy that no longer exists.

The same is true, by the way, for almost anything else you add to a recipe: hops, fermentables, etc. We copy the original and add the copy to the recipe. Editing anything associated with a recipe almost always -- I think it is always, but there may be an exception I am forgetting -- edits only the copy and not the original.

If you want to change the original, you need to either open the equipment editor via the tool bar or double click the profile in the tree. That will modify the original profile directly. Just to make it more confusing, that will only modify the original and not any copy of it. If you want those changes made to the copy, you will either have to modify the copies manually or select the profile again.

Changed in brewtarget:
status: New → Invalid
Revision history for this message
Sim (simeonlbailey) wrote : Re: [Bug 1592190] Re: Modifying equip profile from recipe panel broken

Hi Mik,
    Thank you so much for the detailed reply/explanation, that makes
everything a lot clear..

(IMHO) The copy approach seems to introduce a whole layer of complexity
that doesn't really need to be there. Allowing multiple equipment profiles
with the same name that actually contain different settings, for me that's
a design issue..

I'd suggest either:
1. You don't allow editing the equipment from recipe panel (that's how I'll
uses it anyway) OR
2. When you edit you are editing the original OR
3. When you edit and save you are given option to update orig profile or
create a new profile..

I really liked brewtarget but had abandoned it as did seemed dodgy, I'm
keen to fire it up again now..

Anyway thanks for your detailed response and all your hard work...

Kindest,
Sim.

On Wed, Aug 31, 2016 at 1:16 AM, Mik Firestone <email address hidden>
wrote:

> It isn't actually broken, just terribly confusing.
>
> When you add an equipment profile to a recipe, we make a copy of the
> profile. When you edit the profile from the recipe panel, you are
> editing the copy and not the original.
>
> When you switch to another profile and then back, we make another copy
> of the original profile. Yes, the changes you made to the previous copy
> are gone because they were made to a copy that no longer exists.
>
> The same is true, by the way, for almost anything else you add to a
> recipe: hops, fermentables, etc. We copy the original and add the copy
> to the recipe. Editing anything associated with a recipe almost always
> -- I think it is always, but there may be an exception I am forgetting
> -- edits only the copy and not the original.
>
> If you want to change the original, you need to either open the
> equipment editor via the tool bar or double click the profile in the
> tree. That will modify the original profile directly. Just to make it
> more confusing, that will only modify the original and not any copy of
> it. If you want those changes made to the copy, you will either have to
> modify the copies manually or select the profile again.
>
> ** Changed in: brewtarget
> Status: New => Invalid
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1592190
>
> Title:
> Modifying equip profile from recipe panel broken
>
> Status in Brewtarget:
> Invalid
>
> Bug description:
> OSX 10.10.5
> Brewtarget 2.3.0
>
> If I modify equipment profile from recipe panel, save, then switch to
> use other profile then back, changes are gone.
>
> Seems as though save button broken on equip ed when started from
> recipe panel.
>
> Workaround: Only edit equipment by starting equipment editor from
> toolbar..
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/brewtarget/+bug/1592190/+subscriptions
>

Revision history for this message
Mik Firestone (mikfire) wrote :

Well. I would never promise it isn't dodgy. I can promise that I can usually explain why it is dodgy :)

By the way. I am sorry it took so long to respond. We are mostly on github now, including its problem tracker. I simply hadn't looked here in a while to see your bug.

I will not argue with you that it makes it complex. It confuses everybody, and I answer bugs like this at least two or three times a year. I think fixing it will cause at least as many problems.

Historically speaking, brewtarget used the beerXML specification for its data structures. If you were to read that specification, it is explicitly stated that every recipe has its own equipment profile. Given the limitations of that format, we almost couldn't link all of those profiles to some central profile.

This is how brewtarget has worked since brewtarget has been. Changing it now would stand a good risk of violating the principle of least astonishment and confusing the existing user base. Which isn't a great argument, but it is something we need to consider.

The equipment profile is central to almost every calculation we do. Assume you have created a profile with a 4L boil off over 1 hour. Assume further that you have created 5 recipes and brewed each of them. You realize that the 4L/hr was good in the winter time, but the summer rate is closer to 3L/hr. You update your equipment profile. Should we retroactively recalculate all your recipes? What about the brewnotes? Because the 4L/hr rate was correct when you made and brewed those recipes.

I don't think we can disable the editing from the recipe panel. Again, consider the previous example. What if I create a recipe in the summer and set the 3L/hr boil off. Somewhere around January, I brew it again. I don't want to have to create a summer/winter profile. Instead, I can just edit the profile associated with that recipe, and have no further side effects.

I will think about the option to propagate the changes back to the "master" profile. I think that is a good idea. I just need to make sure (a) I can do it and (b) I can make it make sense. Although that raises other problems. If I do it for equipment, should I do it for hops too? Fermentables?

I make no promises, but let me see if I can figure some consistent way to do this.

Revision history for this message
Sim (simeonlbailey) wrote :
Download full text (5.3 KiB)

Hi Mik,
    Thanks for you ongoing responses, the big thing for me when I first
this software was simple/intuitive interface, I thought it was well ahead
of other programs in usability terms.. Simpler is always better in my mind..

Please don't make any changes specifically on my behalf as it will already
work great as it is, now that I understand what is going on with copy
semantic.

I've made some comments below mostly which question the value of the copy
semantic, I suspect I prob need to use brewtarget a bit more before I can
understand its benefits..

On Wed, Aug 31, 2016 at 11:00 AM, Mik Firestone <email address hidden>
wrote:

> Well. I would never promise it isn't dodgy. I can promise that I can
> usually explain why it is dodgy :)
>

Fair enough ;-)

> By the way. I am sorry it took so long to respond. We are mostly on
> github now, including its problem tracker. I simply hadn't looked here
> in a while to see your bug.
>
> I will not argue with you that it makes it complex. It confuses
> everybody, and I answer bugs like this at least two or three times a
> year. I think fixing it will cause at least as many problems.
>
> Historically speaking, brewtarget used the beerXML specification for its
> data structures. If you were to read that specification, it is
> explicitly stated that every recipe has its own equipment profile. Given
> the limitations of that format, we almost couldn't link all of those
> profiles to some central profile.
>

I think of beerXML purely as a data exchange/export format, I'm not sure
that it should be the driving factor for how an interface/application works
or how a program stores it's data internally, but those comments do explain
why it currently works the way it does..

For me equipment logically does not form part of a recipe, In fact the only
purpose of equipment profiles is to help me achieve the same result using
different brew rigs..

This is how brewtarget has worked since brewtarget has been. Changing it
> now would stand a good risk of violating the principle of least
> astonishment and confusing the existing user base. Which isn't a great
> argument, but it is something we need to consider.
>

Agreed, although the detail of how it currently works is pretty
abstract/complex for the average user, it would be interesting to get a
feel of how many users actually do understand/use copy semantic vs those
who just stumble around it not realising..

>
> The equipment profile is central to almost every calculation we do.
> Assume you have created a profile with a 4L boil off over 1 hour. Assume
> further that you have created 5 recipes and brewed each of them. You
> realize that the 4L/hr was good in the winter time, but the summer rate
> is closer to 3L/hr. You update your equipment profile. Should we
> retroactively recalculate all your recipes? What about the brewnotes?
> Because the 4L/hr rate was correct when you made and brewed those
> recipes.
>

The converse scenario is if I tweek the master copy of equipment profile to
improve it, then I will have to manually propagate it to all of my recipes,
which will be too painful, Which means I will only do the one I'm brewing,
but then I won'...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.