Closed manics closed 1 year ago
There are several ways of doing this I can think of:
pip
itself: see https://pypi.python.org/pypi/bandersnatch and http://www.python.org/dev/peps/pep-0381/Whatever the solution, it would be nice if these lib/scripts
cloned repositories would work similarly.
Registered clones should also have a "default branch" and a dirty flag check associated with them. On a new install, it might be necessary to copy the files wholesale (if dirty) rather than re-cloning.
/cc @knabar @sbesson
+1 installing with pip, although you'd still need some omero cleverness to enable it.
An alternative to registration file is apache/nginx like approach. I.e. directory for plugin-enabling scripts/links/whatever and another directory with symlinks to the former directory for enabled ones that actually get picked up.
Also, I think it wouldn't be a bad thing if using a virtualenv even in production was the default, much less chance of a screw up. It's a shame you have to use --system-site-packages for Ice, but that's life. Just adding the .pth file to get omero in a virtualenv works really nicely.
That would play nicely into the hands of using pip for plugin management.
@dpwrussell : @knabar made some minor modifications to OMERO.web recently which will hopefully make this work. Once that's in place, I'd say :+1: as well.
I opened a PR for the change @joshmoore mentioned: https://github.com/openmicroscopy/openmicroscopy/pull/1770
We should have a way of managing OMERO.web plugins (or perhaps OMERO add-ons in general). This could get quite complicated if an app installs files to multiple locations, effectively we'd need a mini package-manager.