*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 [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
