[Bf-committers] Handling of user data.

Julian Eisel julian at blender.org
Tue May 17 13:38:28 CEST 2022


> Neither are great for forgetful users, but it sounds like some indications
> could go a long way here, compared to rewriting the garbage collection system.

There is no garbage collector that would have to be rewritten really. There’s
nothing that actively searches for garbage. Blender just keeps track of how
often each data-block is used (important functionality to keep, regardless of
this discussion), and skips saving unused ones (that don’t have a fake user).
It’s more of a garbage dumper than a garbage collector :) So we don’t have to
rewrite things really, but develop a new data-block management UI and tools.

———————————————————————————————————————————
Julian Eisel - julian at blender.org - www.blender.org
Software Developer
Buikslotermeerplein 161, 1025 ET Amsterdam, the Netherlands
————————————————————————————————————————————

> On 17. May 2022, at 04:20, Dan McGrath via Bf-committers <bf-committers at blender.org> wrote:
> 
> Hi,
> 
> Perhaps you could add a count of things to be tossed out during quit in the
> save dialog, such as "If you quit, you will lose XXX number of fake user
> objects!".
> 
> Or maybe, similar to how you warn about unsafe python scripts during start,
> you could give users a one time "WARNING! Fake users will be lost on quit
> or crash!" when they create the first fake user object.
> 
> Neither are great for forgetful users, but it sounds like some indications
> could go a long way here, compared to rewriting the garbage collection
> system.
> 
> On Mon, May 16, 2022 at 4:59 PM Zack Brown via Bf-committers <
> bf-committers at blender.org> wrote:
> 
>> Hi again,
>> 
>> I feel like I have a better understanding of the debate now. On the one
>> hand, we want to protect user data; and on the other hand, we have a
>> garbage collector that eliminates data that the user in theory doesn't care
>> about. And in the grey zone, we have data that the user *does* care about,
>> but that gets garbage collected anyway. And the problem is, how to prevent
>> the user from losing data they want to keep, while avoiding keeping data
>> the user doesn't want to keep.
>> 
>> It seems like one primary suggestion is to simply throw out the garbage
>> collector -- no more garbage collector, no more problem. If the user
>> doesn't want a piece of data in their file, they would delete it by hand.
>> The counter-argument being that the garbage collector is actually really
>> great and helps us keep our blend files clean and useful.
>> 
>> Another primary suggestion seems to be issuing a warning if the user tries
>> to quit blender with data that will be garbage collected. The counter
>> argument being that it would be complicated and bizarre to present the user
>> with a potentially dizzying array of data and options for that data before
>> they could quit the software.
>> 
>> It's a fascinating problem, in a piece of software that seems to specialize
>> in presenting the most unbelievably brilliant solutions for apparently
>> unsolvable problems, like how to render 3D images in glorious detail in
>> real time. Obviously impossible. Yet there it is!
>> 
>> Here's a suggestion from a  non-expert who knows nuttin about nuttin: Don't
>> kill the garbage collector, and don't warn on exit. Instead, why not give
>> all orphaned data their own prominent collection in the outliner? Maybe
>> something called "Garbage Data". With a nice set of tooltips that appear
>> when the user hovers over the various relevant bits. Things that say
>> something like "Data in this collection has no user and will be deleted
>> when you exit blender. To prevent deletion, follow the instructions at
>> http://usefuldocs.blender.org/garbage_data.php to give the data a 'fake
>> user'."
>> 
>> But I'm sure you guys will figure out something 100x better than that idea.
>> Can't wait to see it!
>> 
>> Be well,
>> Zack
>> 
>> 
>> 
>> 
>> 
>> On Mon, May 16, 2022 at 6:40 PM Jacob Merrill via Bf-committers <
>> bf-committers at blender.org> wrote:
>> 
>>> What about popping up the outliner / orphan data window in quit, and
>>> showing exclamation icon somewhere if there is a orphan
>>> 
>>> On Mon, May 16, 2022, 9:15 AM Harley Acheson via Bf-committers <
>>> bf-committers at blender.org> wrote:
>>> 
>>>> I’d love to have someone flesh out this “warning on quit” idea,
>> because I
>>>> can’t imagine it actually
>>>> working in practice.  Mostly because of confusion on what “saving”
>> really
>>>> means. Users should
>>>> rightfully only consider that “saving their data” does exactly that,
>> not
>>>> that some of their data might
>>>> differ and have to be “saved” in different ways.
>>>> 
>>>> As its simplest, imagine that you have no unsaved changes in your file
>>> (you
>>>> just did a File/Save)
>>>> yet there is orphaned data at the time you select “Quit”.  What exactly
>>>> does the warning say?
>>>> “You have unlinked data that will be lost”?  How do you communicate to
>>> the
>>>> user what they should
>>>> do now?  Is there a way to offer to do it for them somehow, or is this
>>>> warning going to just have an
>>>> “Ignore” and “Cancel” button? Text that says “please mark anything you
>>> want
>>>> to keep by marking
>>>> the data with ‘fake user’”? That will not help a typical person being
>>>> caught out by this
>>>> 
>>>> Now imagine there are both unsaved changes and orphan data at the point
>>> of
>>>> “quit”.  We now
>>>> have to warn about unsaved changes that can be “saved” and there are
>>> other
>>>> things that should
>>>> be “saved” in a different way before you “save” so that they are
>> actually
>>>> “saved”. So we have a
>>>> button to cancel, one to save the unsaved changes while ignoring orphan
>>>> data, and what else
>>>> is on the dialog?
>>>> 
>>>> I'm not sure there is sufficient lipstick that can be put on this pig.
>>>> 
>>>> Harley
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> List details, subscription details or unsubscribe:
>>>> https://lists.blender.org/mailman/listinfo/bf-committers
>>>> 
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> List details, subscription details or unsubscribe:
>>> https://lists.blender.org/mailman/listinfo/bf-committers
>>> 
>> 
>> 
>> --
>> Zack Brown
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> List details, subscription details or unsubscribe:
>> https://lists.blender.org/mailman/listinfo/bf-committers
>> 
> 
> 
> -- 
> Cheers,
> Danny
> 
> ----------------------------------------------------------
> Danny McGrath - danmcgrath.ca at gmail.com
> GPG key: EDF6 AFF5 2086 F93A 1F59 36A5 44B6 26F3 6968 71CA
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> List details, subscription details or unsubscribe:
> https://lists.blender.org/mailman/listinfo/bf-committers



More information about the Bf-committers mailing list