Yes, that is indeed the biggest challenge.
At the moment I am keeping the "installation" as simple as possible - and as transparent as possible. There will be a folder in ~/Nukepedia where the downloaded files are stored "as-is". Then the installer will try to make sense of them. In the simplest case it's a gizmo file that just needs to be copied into the folder structure which will add itself to the plugin path.
E.g.:
if you download a gizmo file it will end up in ~/Nukepedia/downloads/MyTool.gizmo The installer will then look at it and decide that it can "install" this file by simply copying it to ~/Nukepedia/gizmos/MyTool.gizmo Which means you end up with copies of the tool, but only one is actually in the plugin path, while the other represents the original file from Nukepedia. So with a zip file containing a single gizmo, you would end up with those two files:
~/Nukepedia/downloads/MyTool.zip
~/Nukepedia/gizmos/MyTool.gizmo

Any file that cannot be installed because it's not clear how to (all python code for example), will just be downloaded and the user will be given a button to take them to the download location for manual installation. I will assess existing zip/tar files in the database and see if it's worth trying to unpack things. E.g. if there is nothing but a gizmo file inside a zip file, I might as well do that automatically as well as mentioned above.

For the first release I probably wont go further than that, but for the future I am planning to design some sort of packaging system, kinda like RV's. Once we have a package design figure out, we can create a new upload process on the website to facilitate the upload of tools that conform to the packaging and therefore can be installed automatically. Maybe we will have a sort of upload wizard that guides an author through the required steps and packages the files on the server. We might even create a PySide app to enable people to test and upload tools without the browser. Not sure yet.

As for the package design, rest assured that I will consult all you guys for input :) In fact, we might as well start the brain storm here and now if anybody would like to contribute?

The obvious starting point would be to have a zip file that contains the actual tool file(s) and some sort of text file (json, xml...) to provide required info for installation (about python code, icons, etc).

Any thoughts?

Cheers,
frank



On 01/28/2016 04:45 PM, Ben Dickson wrote:
Hmm, how does the installation procedure work? There is quite a variety in how things are uploaded (e.g directly uploading *.gizmo file with "add the the following to your menu.py, or uploading tarball with *.gizmo and menu.py, tarballs with different folder structures, etc)

For example, does it just extract the uploaded file into it's own directory, and automatically add this directory to the Nuke plugin path? Or something more elaborate?

On 27/01/16 06:53, Frank Rueter|OHUfx wrote:
With over 1000 tools in the database it's time for something like this:
http://www.nukepedia.com



--
ohufxLogo 50x50 <http://www.ohufx.com>     *vfx compositing
<http://ohufx.com/index.php/vfx-compositing> | *workflow customisation
and consulting <http://ohufx.com/index.php/vfx-customising>* *



_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python



_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to