[Bf-committers] Script Xtras (proposal)

Campbell Barton ideasman42 at gmail.com
Sun Feb 14 19:45:14 CET 2010


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.

reply inline...

- You mention

On Sun, Feb 14, 2010 at 6:27 PM, Charles Wardlaw
<cwardlaw at marchentertainment.com> wrote:
>> First Im going to look into adding a user-pref tab, list-view,
>> catagories, and the ability to register and unregister modules.
>> The directory locations are easy to change and Im not worried so much
>> about this, but in general your suggestions seem good too, so we can
>> probably go with this but it also depends a bit on how the directories
>> are merged and at what point (before release, having an external svn,
>> etc)
>
> As long as that directory is easily user-accessible, such as in the user documents folder or home folder.  I'm still very much against having the user go into .blender on Mac or Linux.
>
> What would be really nice is to have an actual directory picker in the user pref tab for where Blender should look for user-installed extensions.  It'd be even better to have a button next to that which opens the OS-level explorer / finder / konqueror window at that spot.

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.

>> Another decision we have to make is at what point are extensions
>> enabled disabled.
>> If we do this at a module level people who do very comprehensive
>> scripts like renderman integration say - can bundle them in a python
>> package which can managing its own initialization and removal.
>
> It would be extra cool to allow a larger package to be distributed as a zip file and then dropped into the extensions folder as one piece.  A renderman extension is a good example -- I can see that being huge.  But even the rigging module I'm currently writing has expanded into a dozen or so files, and distributing it as a single zip would be great.

A script installer could easily extract a zip package into the extras dir too.

> I think Maya's "loaded / autoload" functionality is nice.  This could be saved in the Blend file -- files that require certain operators or special classes could load those packages when the blend file is loaded, but the extensions don't have to clutter newly-created files if they're not needed if "loaded" is checked.  Whereas, extensions the user knows they'll always want can be "autoloaded."

Autoload sounds interesting, will consider then when extensions are in.

> I think that down the road, you'll also need functionality for handling missing packages that are required -- special object subclasses and so on -- but that's not a discussion for today.

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.


> BTW, MD2 is still very much in use.  It's one of the only formats supported by Flash / AS3 3D engines, and a lot of people are using Blender for that very reason. :)

I knew someone would pick on my list, aparently Nintendo DS use PCX images too!

> ~ C
>
>
>
>
>> On Sun, Feb 14, 2010 at 12:54 PM, mindrones <mindrones at yahoo.it> wrote:
>>> Hi Campbell,
>>>
>>> --- On Sat, 2/13/10, Campbell Barton wrote:
>>>
>>>> So I propose we have a directory where scripts are not
>>>> loaded
>>>> automatically, rather users can enable them in the
>>>> userprefs under a
>>>> `Plugins` section.
>>>> Each item can include the scripts description and have a
>>>> checkbox to enable.
>>>>
>>>> This means we don't need to exclude scripts because only
>>>> SOME people
>>>> find it useful, and we can keep the default UI from
>>>> becoming too
>>>> cluttered.
>>>
>>> [snip]
>>>
>>>> name isn't that important but we could have these scripts
>>>> be in
>>>> "release/scripts/xtras" or similar.
>>>
>>>
>>> It would be nice if we can follow the convention we agreed with Jesterking for
>>> the wiki, that is to call Plugins and Scripts as "Extensions".
>>> In wiki, manual pages, scripts/plugins developing pages, and catalog pages will
>>> be linked by the term "extensions", like this
>>>
>>> http://wiki.blender.org/index.php/Doc:Manual/Extensions/Python
>>> http://wiki.blender.org/index.php/Extensions:Py/Scripts
>>> http://wiki.blender.org/index.php/Dev:Py/Scripts
>>>
>>> http://wiki.blender.org/index.php/Doc:Manual/Extensions/Plugins
>>> http://wiki.blender.org/index.php/Extensions:Plugins
>>> http://wiki.blender.org/index.php/Dev:Plugins
>>>
>>> So I suggest to put in the prefs a tab called "Extensions" :)
>>>
>>> ----
>>>
>>> Also, this summer Nathan has started a "bf-extensions" svn to keep track of all
>>> the 2.4 scripts that were in the big Catalog that meta-androcto has compiled.
>>>
>>> So now we have
>>> https://svn.blender.org/svnroot/bf-extensions/
>>>
>>> That svn is linked to a project/tracker here
>>> http://projects.blender.org/projects/bf-extensions
>>>
>>> In there we made a distinction among:
>>>
>>> - "external" scripts (upload tracker)
>>>        scripts that people can contribute, not yet in the svn
>>> - "contrib" scripts
>>>        scripts not ready for release but worth to distribute in bf-extensions svn for
>>>        widespread testing: if they are well maintained they will go in the next release
>>> - "trunk" script
>>>        "trunk" is a svn naming convention, these should be called "release scripts"
>>>
>>> The suggested workflow for sharing extensions is explained here:
>>> http://wiki.blender.org/index.php/Dev:Extensions/Sharing
>>>
>>> So it would be nice to have some integration and similarities with the svn,
>>> like using:
>>>
>>> .blender/
>>>        2.5/
>>>                plugins/
>>>                        external/
>>>                        contrib/
>>>                        release/
>>>                scripts/
>>>                        external/
>>>                        contrib/
>>>                        release/
>>>
>>> or like
>>>
>>> .blender/
>>>        2.5/
>>>                my/
>>>                        plugins/
>>>                        scripts/
>>>                release/
>>>                        plugins/
>>>                        scripts/
>>>
>>> The folders that could be overwritten automatically would be the "release" ones of course.
>>>
>>> Regards, Luca
>>>
>>>
>>> _____________
>>>
>>> http://www.mindrones.com
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>
>>
>>
>>
>> --
>> - Campbell
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
- Campbell


More information about the Bf-committers mailing list