[Bf-committers] Environment Variables for scripts and plugins

Jason van Gumster jason at handturkeystudios.com
Fri Sep 25 14:45:00 CEST 2009


Stefan Andersson <stefan.andersson at bohmation.org> wrote:

> > - $HOME/blender/<...>
> > this has been discussed a bit already, my idea is that blender should NOT
> > create or use a visible directory into the user's home (like Maya does).
> > Every OS has its way of dealing with app data and config, and we should
> > follow that.
> please don't. I think the maya/softimage way is a lot better than what
> the "normal" OS behaviours are. By default various OS behaviour is to
> hide this from the user. And what you really want is to expose this to
> the user. Especially on unix this is a pain that it's always saved
> under dot folder (which by default is hidden). What most users want is
> to have it non hidden and also something you can work with.

Respectfully, I must disagree. The bulk of users would rather do configuration
once and then let it keep out of the way. This is the advantage of the hidden
directory system. There are conventions in place and they work well. It would be
best to stick with them on there pertinent platforms. I'm speaking mostly to
linux/unix here, but it goes just as well for Mac and Windows. Now, I agree that
prioritized layering should be implemented with an inclusion for specific
project-based scripts (for Linux, something
like /usr/share/blender:~/.blender:/$PROJECT/scripts). But I think ~/blender is
a bad call.

The good news is that AFAICT, the tools for this kind of stuff are generally in
place and mostly just need to be overloaded to allow layering. Correct me if
I'm wrong, but the File Paths interface in the User Preferences would be a good
starting place, right?

> > I think this is not needed and would be confusing to use (and I _HATE_ when
> > Maya creates project dirs all over the place) ;)
> I don't know where you get this. I have no problems at all with maya
> creating folders all over the place.

The problem isn't that Maya creates folders all over the place. It's that Maya
(I'm talking vanilla install here) *creates folders* and attempts to dictate a
directory structure that isn't necessarily suitable to your specific needs.
This is a default behavior that is not desirable. The project structure should
be dictated and controlled by project policy, not by Blender. Blender should be
able to simply fall in line with any stipulated structure. For this, relative
paths (or, if absolutely necessary, paths relative to a specified $PROJECT_DIR)

> > Having to deal in the same shot with Blender projects dir, Maya project dir,
> > <compositing tool> project dir, <paint tool> project dir, <audio tool>
> > project dir... and all without versioning... is pipeline hell! :)
> Yes, and for this you have a version script to save your scenes. I
> think you also confuse how the pipeline should be structured

I think this perfectly highlights the problem with your proposal (re:
$BLENDER_PROJECT). No application should dictate to me how my pipeline should be
structured. I (and by extension, the team members on the project) know the
project best and I know what organizational structure is going to work best for
the project. Any application that attempts to dictate project policy is
overstepping its bounds, IMO. Outside of the structure of .blend files, Blender
should facilitate, rather than dictate, asset management.

> And asset managment is more of a record of what you have, the
> application should still be aware of where it has it's files. Or your
> will have a application that traverses around the network trying to
> find files.

Maybe I'm misunderstanding. How does a .blend file which links to external
resources *not* know where its files are?

I'm interested in how Blender can help facilitate asset management on larger
projects, but I'm not convinced that this is the right method.


More information about the Bf-committers mailing list