[Bf-committers] Keeping data blocks by assigning a fake user to them is counter intuitive and leads to data loss - animation Actions

Daniel Salazar - patazstudio.com zanqdo at gmail.com
Thu Feb 12 22:13:06 CET 2015

I'm confused by this post. When you create a new action that action
will surely not be deleted since it's being used by an object. It will
get deleted only If you stop using it. In this case adding an * won't
help much since you would need to open the list of actions to see that
* (it already displays a 0 in front for 0 users).

So why are you saying that creating a new action is not saved?
Daniel Salazar

On Thu, Feb 12, 2015 at 2:44 PM, Todor Imreorov <blurymind at gmail.com> wrote:
> *Disclaimer:*
> Hi everyone, I posted abut this in a bug report at the tracker here:
> https://developer.blender.org/T43430
> There is also a thread at blender artist where it is discussed:
> http://blenderartists.org/forum/showthread.php?360573-Some-ideas-on-making-blender-better-for-Animators-Add-yours/page5
> If you have already seen it, sorry for the spam. I was told by someone at
> Blenderartist to write about it here, since it might get more developer
> attention.
> I am going to try and put in perspective my observations. Since I am an
> animator, this has affected me when saving my Actions with the action
> editor.
> *What is the issue?*
> Whenever you create a new Action (or any other type of a datablock) in
> blender, by default that Action is set to be purged when you close the
> application. Blender does not keep any newly created *datablocks.* That is
> the default behavior !
> To makes matters even worse- it does NOT warn the user in any shape or form
> that their hours worth of work will not be saved when they press ctrl+s.
> And every Action is by default set to be purged the moment it is created.
> The user is literally working on an Action that the software will purge by
> default if they forget to assign a fake user to it.
> In order to keep a datablock, the user has to click on the obscure little
> "F" button every time they create a new Action. This is really easy to
> forget/overlook even by more experienced users.
> 1.Blender is not visually communicating to the user that the datablock (be
> it a material or an Action) will not be kept when they close the software!
> It unfortunately opens the opportunity for human error, since no other
> software has a similar system for keeping data. Comments from the bug
> tracker and blenderartist suggest that I am not the only one who lost data
> that way.
> *Suggested solution:* Add an asterisk (*) symbol at the end of the
> datablock's name whenever it has no users and is about to be purged when
> closing the software.
> If the Action is called " myAnimation " blender should display it in the
> actions list as " myAnimation* " when it has no users and is about to get
> purged when closing the application.
> https://developer.blender.org/file/data/v2j35csm3k7p2qfochj7/PHID-FILE-bh637fow3p5d2lfhghp6/asteriskHint2.png
> That is how blender (and other software) already warns users of a texture
> that is not yet saved.
> 2. Why is blender not automatically assigning the object that you created
> the Action for to be the user of that Action by default? Why does one have
> to add an extra fake user to every datablock that they want the software to
> keep? Isn't that kind of strange and counter-intuitive?
> To the user it looks like that datablock then has 2 users and to their work
> adding the "Fake" one makes no sense. Blender is also not communicating the
> correct number of users of a datablock that way. There will always be that
> extra "Fake" one left somewhere in there.
> *Suggested solution:* When a user creates a new datablock - make blender
> check what the active object is and assign that object to be the user of
> that datablock automatically. Since the datablock has at least one user-
> then blender should by default keep the datablock and not require the user
> to add a second -fake user every time in order to keep it.
> 3. Blender Automatically purges all datablocks that have no user assigned
> to them when you close it - without communicating that to the user. This is
> counter intuitive in a harmful way, since it is initially not clear why the
> data has been lost. It makes it look like a bug in the software, rather
> than a human error. So naturally people will blame the software and then
> the software design for losing their work.
> *Suggested solution:* Let the user execute the PURGE command during
> workflow- with a confirmation. That is how it works everywhere else in
> blender and all other software. Deleting any data - whether it is needed or
> not-  is always in the hands of the artist,  the software warns about it
> clearly when requested.
> It can be done with an Operator- with a single click and even show in the
> terminal which datablocks were purged.
> Using the literal closing and reopening of the entire software to clean up
> unused datablocks is counter-intuitive and problematic. Here is an example
> of a developer who had trouble with it:
> http://youtu.be/9YDREkK-A_w?t=7m9s
> ====================
> Please, check the links at the start of this post and read user comments
> and feedback for more information.
> *More links:*
> Post by on the fake user system back from 2012:
> http://aligorith.blogspot.co.nz/2012/03/response-to-action-fake-user-issue.html
> GUI design document compiled by blender users:
> https://docs.google.com/document/d/1ScPMbHv8WRCU2znB7IU2l-W9hH-NLs5weQKLkjqmgpA/edit#
> Quote:
> Data Handling
> The "fake user", and not used data vanishing when closing Blender, is not
> very intuitive. More intuitive would be if the data, along with unlink (the
> X at the moment), would have a delete data option (with a "Are you sure?"
> confirmation).
> The necessity to set a fake user for a material, or other data, for it not
> to vanish, and data vanishing without a confirmation, is against all UI
> design principles - where an action is required to not do an operation.
> That would allow, for instance, remove a material that is no longer needed,
> from all objects that are using it in some material slot. At the moment,
> you have to manually remove the material from each slot.
> Shift-click on X won’t remove the materials in the current session.
> It is also bad design to use th e closing and opening of the program as an
> interface element. Currently, when you delete for instance, a high-poly
> object, and save the file, the file’s size won’t change. You have to save
> the file, close and reopen the program, and save the file again, to get the
> reduced file size.
> ----------------------------------------------
>  I hope we find a good solution for the fake user issue. User data should
> be treated sacred. It is never fun losing hours of work.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list