On Sun, Feb 14, 2010 at 9:03 PM, Charles Wardlaw <cward...@marchentertainment.com> wrote: > Hi Campbell, > >> Hi Charles, your mail mostly covers installation issues which are >> important but not directly related to extensions. >> Since we want users to be able to add scripts weather we have some >> concept of an extension or not. > > Implementation-wise they might not be, but from a user-centric view > installation is THE spot where you end up getting the most headache and > support requests. I sell a commercial plugin through FUNHouse Interactive (a > company with a friend) and in beta testing the original version, the thing > that threw people off more than anything else was just getting the script > copied into the right place. > > Anyway I don't want to pull the conversation too far off-topic, but > management of locations is *crucial* to helping non-technical users work with > extensions / scripts. > >> Script dirs being accessible is more an platform issue, I think we >> should have some script installer in 2.5x since Mac especially makes >> this very tricky. > > An installer is a bit much, no?
> Not to mention, the installers would be a quagmire on each platform. On Mac, > I'd never want a user installing extensions into the App bundle (nor should > they have permissions to do so), and Vista locks down a lot of directories > (and often won't let you write to folders you own... grumble). A single > spot, perhaps one user-selectable, where people could drop in zip bundles or > single scripts (or even copy in whole folders) would circumvent all of those > issues. Plus, it'd save on coding an installer for each platform. :) By installer I mean a script thats probably 50-150 lines of code, all it needs to do is copy files from some place on the users hard disk to a user script folder, It can do some nice things like "Your scripts dir doesnt exist, would you like it to be created?", as well as extracting files from a zip. Martin wrote something like this for 2.4x. >> A script installer could easily extract a zip package into the extras dir >> too. > > Can't Python add a zip file to its system path like it would a regular > folder? Most users aren't going to want to modify Extensions -- they'll just > want to plug and play. Looking at the code would be a power user feature, > and power users can unzip the bundles themselves. :) py can comport zips http://docs.python.org/library/zipimport.html >> Rather not deal with extensions like dependencies of a linux package >> manager or something like this, if you like to add Gears often you can >> enable the gears script for eg. Will keep in mind that these problems >> may occur but also would like to keep this more as a way to add/remove >> functions from the interface rather then manage configurations of >> tools that might/might not be installed. > > At some point they may require that level of corralling, though. If I send a > series of Blends off to an external renderfarm and someone forgot to send > along one of the Extensions, Blender should complain and error out with the > name of the node and the script that is missing. > > I'm assuming that you'll be making Extensions keep a list of what they've > registered -- functions, menus, panels, object types, and so on -- so that > when they're unloaded all those things go with them. (Perhaps in the > __init__.py -- there could be tags like the ones in scripts in 2.49? Or even > a __bpyall__ = [...]) That info could be saved for dependent nodes with the > Blend file, so that files sent out could give proper error reports. This > information could be registered through the system by subclassing an > Extension class in the init and overloading Init() and Deinit() functions. the extensions well be saved as a list of module names. > I don't think you'd want dependencies between Extension packages, though, > like how linux works. It'd be one level -- files require Extensions x, y, > and z. > > However, this kind of management *is* more about adding / removing functions > than configuring tools. Extensions that export would show up in the export > menu; new constraints would show up in the Armature UIs, etc. It'll seem > like overkill for the smaller scripts but will allow much larger and more > complex things to be written later. Weather we call them extensions or not people will write scripts that integrate into blender and copy them into their scripts dir, I just proposed extensions as a way to enable and disable this, its really not that big of a deal but it means other problems still need solving. > Maybe this is also more complex than you were envisioning? If there are no > Extensions then it'd be a simple directory walk in the scripts folder, I > guess. Then again, a directory walk could examine files for tags like 2.49 > did, and if it finds a #BPYEXTENSION or something in the first line it could > treat the file differently. > > This is all just my opinion, you know. Since I won't be coding the feature, > that and testing are all I can offer. :) > >> I knew someone would pick on my list, aparently Nintendo DS use PCX images >> too! > > PCX? Now that's just weird. ;) > ~ C > > _______________________________________________ > Bf-committers mailing list > Bf-committers@blender.org > http://lists.blender.org/mailman/listinfo/bf-committers > -- - Campbell _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers