Heya, Michael
I'm currently working in this area as well now - so no worries if your schedule doesn't permit.
The card is here: https://trello.com/c/c2AzV3Xf
Any feedback is appreciated.
On Mon, Sep 16, 2013 at 11:42 AM, Michael E. Cotterell < mepcotterell@gmail.com> wrote:
Over next couple days, I'll take a look at what's in lib/galaxy/web/base/pluginframework.py and see if there is a way to refactor it with my stuff in order to get a general plugin framework (galaxy.pluginframework) as proposed by James. Sorry for the delay. Teaching a math class this semester is really eating up my time.
Sincerely, Michael E. Cotterell
Ph.D. Student in Computer Science, University of Georgia Instructor of Record, Graduate RA & TA, University of Georgia Department Liaison, CS Graduate Student Association, University of Georgia mepcotterell@gmail.com (mailto:mepcotterell@gmail.com) mepcott@uga.edu (mailto:mepcott@uga.edu) mec@cs.uga.edu (mailto:mec@cs.uga.edu) http://michaelcotterell.com/
On Tuesday, September 3, 2013 at 12:45 PM, Carl Eberhard wrote:
It is web-specific and only handles the mako/static serving cases. I
think the only areas we were generalizing at this point were the directory structures and main configuration.
Agreed on more generalization and the hook system. Michael's stuff is a
good direction to move in.
I know John was looking to use it for dynamic job destinations and
dynamic toolbox filters. I'd like to see some lab/community discussion on (even broad stroke) functional requirements and use cases.
On Tue, Sep 3, 2013 at 12:27 PM, James Taylor <james@jamestaylor.org(mailto:
james@jamestaylor.org)> wrote:
Carl, is what you have now totally web specific? It would be great to have a general plugin framework (galaxy.pluginframework) which the web stuff could perhaps extend?
On Tue, Sep 3, 2013 at 10:56 AM, Carl Eberhard <
carlfeberhard@gmail.com (mailto:carlfeberhard@gmail.com)> wrote:
Heya, Michael
Right now our only plugin code is located in lib/galaxy/web/base/pluginframework.py. It's only purpose so far is
to:
- allow locally modified/created code to serve mako templates and
static
pages/resources from paste.
- serve as a super class for the visualization framework.
I think your git repo has some great ideas.
Carl
On Fri, Aug 30, 2013 at 2:25 PM, Michael Cotterell <
mepcotterell@gmail.com (mailto:mepcotterell@gmail.com)>
wrote:
Is this plugin code hosted anywhere (like in central)?
On Monday, August 26, 2013, James Taylor wrote:
Michael,
Carl has been working on a plugin framework for Galaxy, and John Chilton has made some improvements. It would be great if you
could
look over what each other has done and come up with some
suggestions.
I personally am in favor of a very generic hook system where a
hook
can be defined anywhere in the code and then the user can
provide any
callable.
I'm fond of the way sup implemented hooks, see the use of
HookManager
here:
https://github.com/sup-heliotrope/sup/blob/develop/lib/sup/time.rb
Your approach is quite similar and I like it.
This makes it easy to have a script that can list all available
hooks
with their documentation.
-- James Taylor, Assistant Professor, Biology/CS, Emory University
On Fri, Aug 23, 2013 at 10:29 AM, Michael E. Cotterell <mepcotterell@gmail.com (mailto:mepcotterell@gmail.com)> wrote: > James, > > Has there been any more talk about this? I'd be willing to
work in my
> reference implementation into central as a pull request, but I
don't want to
> do that unless there is an agreed upon roadmap or something. > > Thanks! > > Sincerely, > Michael E. Cotterell > > Ph.D. Student in Computer Science, University of Georgia > Instructor of Record, Graduate RA & TA, University of Georgia > Department Liaison, CS Graduate Student Association,
University of
> Georgia > mepcotterell@gmail.com (mailto:mepcotterell@gmail.com)
(mailto:mepcotterell@gmail.com)
> mepcott@uga.edu (mailto:mepcott@uga.edu) (mailto:
mepcott@uga.edu)
> mec@cs.uga.edu (mailto:mec@cs.uga.edu) (mailto:mec@cs.uga.edu) > http://michaelcotterell.com/ > > > On Tuesday, July 16, 2013 at 2:08 PM, Michael E. Cotterell
wrote:
> > > James, > > > > That's exactly what I was thinking. In my opinion, hooks are
the way
> > to go (as seen in my example), but if there's a better way
then I'm game for
> > that to. I just want to be able to extend Galaxy without
modifying Galaxy
> > itself. > > > > Thanks! > > > > Sincerely, > > Michael E. Cotterell > > > > Ph.D. Student in Computer Science, University of Georgia > > Instructor of Record, Graduate RA & TA, University of Georgia > > Faculty Liaison, CS Graduate Student Association, University
of
> > Georgia > > mepcotterell@gmail.com (mailto:mepcotterell@gmail.com)
(mailto:mepcotterell@gmail.com)
> > mepcott@uga.edu (mailto:mepcott@uga.edu) (mailto:
mepcott@uga.edu)
> > mec@cs.uga.edu (mailto:mec@cs.uga.edu) (mailto:
mec@cs.uga.edu)
> > http://michaelcotterell.com/ > > > > > > On Tuesday, July 16, 2013 at 2:05 PM, James Taylor wrote: > > > > > Michael, > > > > > > Galaxy is all about plugins! Tools, datatypes, batch
systems,
> > > visualizations, et cetera. > > > > > > Additional ways to extend Galaxy through plugins are very
welcome.
> > > We > > > just need to make sure that whatever solution is chosen is
extremely
> > > general. > > > > > > -- > > > James Taylor, Assistant Professor, Biology/CS, Emory
University
> > > > > > > > > On Tue, Jul 16, 2013 at 1:57 PM, Michael E. Cotterell > > > <mepcotterell@gmail.com (mailto:mepcotterell@gmail.com)
(mailto:mepcotterell@gmail.com)> wrote:
> > > > Are there any plans in the works to support plugins
within Galaxy?
> > > > One of the tools I'm working on is actually more of an
extension of the
> > > > workflow canvas/editor's user interface. Right now, I've
minimized the
> > > > modifications required to the editor.mako file to simply
adding a mako
> > > > include near the bottom of the file. However, like I
just said, this
> > > > requires editing a Galaxy file. It would be a lot better
if Galaxy supported
> > > > plugins with hooks, thus allowing me to extend the user
interface (or any
> > > > other part of the application) by registering hooks in a
plugin.
> > > > > > > > To demonstrate how easy it would be to integrate plugins
into a
> > > > python application, I've written up a simple plugin
manager script (~100
> > > > loc) an placed it in a gist: https://gist.git > > > > > >
-- Sincerely, Michael E. Cotterell
Ph.D. Student in Computer Science, University of Georgia Graduate RA & TA, University of Georgia mepcotterell@gmail.com (mailto:mepcotterell@gmail.com) mepcott@uga.edu (mailto:mepcott@uga.edu) mec@cs.uga.edu (mailto:mec@cs.uga.edu) http://michaelcotterell.com/