[Bf-committers] Script Xtras (proposal)

mindrones mindrones at yahoo.it
Fri Feb 26 02:20:58 CET 2010


Hi Campbell,

yesterday we discussed about the naming of non-default scripts, that as of now
you called "extensions".

Referring to my previous mail,
http://lists.blender.org/pipermail/bf-committers/2010-February/026144.html ,
and after a discussion today with Brandon (meta-androcto), we prepared the sketchy
proposal that you find here below.

PREAMBLE
----------

1) NAMING

Please let's call non-default scripts as "extras" instead of "extensions", the reason
being that as of now the term "Extension" has been used for scripts and plugins,
whatever "extends Blender's functionality", both on wiki and on "bf-extensions"
svn (see my previous mail)

2) CURRENT SITUATION IN BF-BLENDER

In order to avoid confusion (and if I got it correctly) in bf-blender we have:

- bf-blender/trunk/blender/release/scripts/
    these scripts are enabled by default, apart from...

- bf-blender/trunk/blender/release/scripts/extensions
    these arent default and have to be or will have to be enabled by the users
    for security. *This is the one I'd like to call "extras" instead of "extensions"*.

3) CURRENT SITUATION IN BF-EXTENSIONS

Currently in https://svn.blender.org/svnroot/bf-extensions/ we have:

- contrib/
- trunk/
- (tags/ not important in this discussion)

The intended workflow for this was:
- one does
  svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
  (or "svn up") in a local folder
- svn hooks take care of taking scripts and plugins from
  https://svn.blender.org/svnroot/bf-extensions/trunk/2_5x/
  and put them into
  - blender/release/scripts
  - blender/release/plugins

This process should be transparent to the user but would permit to have 3 levels
of developers:
- normal-developer:
    has access to bf-blender
- script-developer
    has access to bf-extensions and the permission to commit in bf-extensions/trunk,
    which would mean bf-blender/trunk/blender/release/
- script-contributor:
    can work on scripts in bf-extensions but he can't move them in trunk/ until he
    has explicit permission from people with access to bf-blender

The restricted access to a part of bf-blender svn was the most important reason
to setup bf-extensions because:
- scripts writers would have a svn tree where they can develop, which helps
- it's easier to do release notes or changelogs
- users can download bundles of scripts from contrib/ (at their own risk)
  doing a lot more testing than now and helping authors improving scripts


THE PROPOSAL
---------------------

Now, there is this new argument about scripts/plugins being default or not,
which introduce some complexity in bf-extensions

While discussing yesterday it seemed a good idea that bf-extensions becomes just a
repository for extras, but as you said, extras scripts are a small minority of scripts/plugins.

So what about the "default" scripts development and sharing process?

Default scripts would loose the chance to be hosted in a svn tree and currently I believe
that not all the authors of scripts that are in bf-blender/trunk have access to bf-blender
svn itself, so it would be a step back IMO, because this would require a few developer committing
changes when respective script authors communicate them, right?


In outher words, authors of "default scripts" will be cut out of bf-extensions...

According to the discussion with Brandon the solution could be to have 2 separate
folders in bf-extensions/trunk/ called "default/" and "extras", like this:

- bf-extensions/trunk/default/plugins -> bf-blender/release/plugins
- bf-extensions/trunk/extras/plugins  -> bf-blender/release/plugins/extras

- bf-extensions/trunk/default/scripts -> bf-blender/release/scripts
- bf-extensions/trunk/extras/scripts  -> bf-blender/release/scripts/extras

bf-extensions/contrib/ doesn't need the default/extras separation, when things
move from contrib to trunk it has to be decided they go in default/ or extras/.

For more precision, inside https://svn.blender.org/svnroot/bf-extensions/ we would have:

trunk/
  default/
    plugins/
      sequence/
      texture/
    py/
      scripts/
      constraints/
      drivers/
      nodes/
  extras/
    plugins/
      sequence/
      texture/
    py/
      scripts/
      constraints/
      drivers/
      nodes/
contrib/
    plugins/
      sequence/
      texture/
    py/
      scripts/
      constraints/
      drivers/
      nodes/

Each of these folders would be the last level in the hierarchy (no subfolders). 


Regards,
Luca


_____________

http://www.mindrones.com



      


More information about the Bf-committers mailing list