As a caveat, we don't use windows much at work, and I think Linux is more
forgiving, in that once a maya plugin is loaded, you can delete the
underlying binary (.so, in Linux-land) without much issue (or maybe it's
our NFS-based filesystem which allows this)?

Anyway, while we haven't had this exact issue, the solution we use for this
general class of problems is a combination of versioned release dirs, and
package-based environment-variable management to control them.  The idea is
that every time you release a new version of the plugin, it goes into an
upticked version release dir:

.../maya_plugins/windows-7/maya-2015/TheAwesominator/1.3.4.1038

Using your package management system, you then set the global default
version for "TheAwesominator" to be 1.3.4.1038.*  It is the responsibility
of the package management system to ensure that the correct directories is
added onto the appropriate environment variables - for instance, if you're
using "rez" as your package manager, if you do:

rez-env


..then you might configure your "TheAwesominator" plugin to execute these
commands (apologies if my memory of windows shell syntax is wrong):


set
MAYA_PLUGIN_PATH=%MAYA_PLUGIN_PATH%;%MAYA_PLUGINS_ROOT%/windows-%WIN_VER%/maya-%MAYA_VER%/TheAwesominator/%AWESOMINATOR_VER%/bin

set
MAYA_SCRIPT_PATH=%MAYA_SCRIPT_PATH%;%MAYA_PLUGINS_ROOT%/windows-%WIN_VER%/maya-%MAYA_VER%/TheAwesominator/%AWESOMINATOR_VER%/scripts


Then you just make sure that every time someone launches maya, they're
actually running a wrapper which uses your package management tool to setup
the environment, then launch maya.  You can do this by controlling both the
gui shortcuts that are distributed to artists, and the startup scripts for
artists' shells.

The upshot is that, at any given time, different artists across the studio
might be using different versions of the same plugin - ie, at one time, all
these versions might be in use across the studio:

TheAwesominator/1.2.1.0016
TheAwesominator/1.3.4.1038
TheAwesominator/1.3.4.1041
TheAwesominator/2.0.1.0486

It does mean that you'll need to keep around a bunch of old versions of
your plugins... but since the amount of disk space most plugins take up is
small in comparison to, say, your average exr render, this hopefully won't
be much an issue.

The main problem I can see for you is that I don't know of a good package
management solution available for windows.  At Luma, we use a proprietary
system that has rudimentary windows support.  I would normally recommend
rez (https://github.com/nerdvegas/rez); but while I know it's 2.0 branch
has an architecture which supports different shells, including windows
terminals, the actual implementation for windows isn't finished yet.  I'm
not sure how far along it is - you can contact Allan Johns and find out, or
give it a shot yourself.  If anyone else has a package management solution
they'd recommend for windows, I'd be curious to hear it...

Best of luck,

- Paul

On Mon, Dec 29, 2014 at 7:24 AM, Marcus Ottosson <[email protected]>
wrote:

> You can swap the directory in there for production and wait a few days
> (weeks…) till everybody closed his current Maya session…….Pretty
> unacceptable!
>
> I was in an environment once in which they restarted all computers every
> day. As an artist, I couldn’t understand it and felt it was a huge pain,
> but after a few weeks it was quite soothing, starting with a fresh slate
> each day. And now I realise the benefit from a developer/maintainers point
> of view too.
> ​
>
> On 29 December 2014 at 15:15, Timm Wagener <[email protected]> wrote:
>
>> *Hey guys*,
>>
>> this is my first topic started on the mailing list and i use it to ask
>> around about your habits concerning binary plugins (.mll) in your pipeline?
>>
>> I recently felt like they are a huge pain to replace / version up since
>> you cannot just delete and replace them as you could do with a python
>> package as long as anybody in production has his Maya open and therefor the
>> program has a handle to it.
>>
>> *A few solutions that quickly come to my mind:*
>>
>> *1. Control an env. var. that points to the binary plugin dir*. You can
>> swap the directory in there for production and wait a few days (weeks...)
>> till everybody closed his current Maya session.......Pretty unacceptable!
>>
>> *2. Force the handle to be removed with another program. (Unlocker etc.)*.
>> That doesnt seem like a clean solution too me. What implications will that
>> have to currently open Maya sessions?
>>
>> *3. Announce "Update Times" for the production* where people know they
>> should close their Maya session for updates to be deployed and if they dont
>> their session might crash because handles are removed forcibly.......Hmm,
>> not too elegant either..
>>
>>
>> Maybe i am missing something very evident here? How do you handle the
>> replacement/update of your binary plugin suite? (Not just for Maya but also
>> Houdini, Nuke etc.)
>>
>> Cheers,
>> Timm
>> --
>> *Timm Wagener*
>> *Technical Artist / 3D Generalist*
>>
>> *www.timmwagener.com <http://www.timmwagener.com>*
>>
>> Email:
>> *[email protected] <[email protected]>*
>>
>> Phone:
>> *0178-2810920 <0178-2810920>*
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Python Programming for Autodesk Maya" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/python_inside_maya/CA%2Bj65ips9_s_w4-q%2BHPZ57RfBkajbgcYuq0FC5%3DGFv6e_Qzyxg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/python_inside_maya/CA%2Bj65ips9_s_w4-q%2BHPZ57RfBkajbgcYuq0FC5%3DGFv6e_Qzyxg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> *Marcus Ottosson*
> [email protected]
>
> --
> You received this message because you are subscribed to the Google Groups
> "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOBXb8BK5C2iBBAeXW9hnM95nuw6Xe5tEwNk1b%2BFnZWJAg%40mail.gmail.com
> <https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOBXb8BK5C2iBBAeXW9hnM95nuw6Xe5tEwNk1b%2BFnZWJAg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/CAAssL7b73aNaabEQ_Wdu4uc7b2%3DeZWLF1zYnViWK2Pzaa9NMwg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to