Changes between Initial Version and Version 1 of 2014-09-4


Ignore:
Timestamp:
Sep 4, 2014, 3:07:14 PM (11 years ago)
Author:
Scooter Morris
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014-09-4

    v1 v1  
     1= 4 September 2014 meeting =
     2
     3== Agenda ==
     4
     5Discussion about how Chimera2 will discover tools.
     6
     7From Conrad:
     8Currently, Chimera 1 scans through all subdirectories of the "share" folder for ChimeraExtension.py files to locate all the tools.  This is somewhat wasteful (most of the time the results are the same) but makes adding new tools simply (always discovered on next restart).  For Chimera 2, we add tools using the "Tool Shed" interface mostly, in which case we can maintain a database that is updated only when tools are added instead of rescanning each startup.  (Obviously, we will need some sort of interface to add locally developed tools and to force rescanning in case the database is out-of-date or corrupted, but that's pretty straightforward.)
     9
     10The database should contain a list of the tools and some metadata about the tools.  The metadata may be used to invoke a standardized API for things like:
     11
     12- listing the tool (eg in the Tools menu in the GUI)
     13- registering supported I/O formats
     14- registering command line commands
     15- specifying a custom startup function (for really advanced tools)
     16
     17If this sounds reasonable, then we should start defining the "Tool Startup" API.  The metadata can be stored as either part of the wheel metadata or as a separate file.  (The latter is to help simplify installing locally developed tools without having to create a wheel each time.)  The syntax of the metadata may be settled later, but we should get a list of the data that need to be supported.
     18
     19== Action items ==
     20
     21== Future issues ==
     22
     23* Documenting our API with Sphinx
     24* Handling "private" modules -> future exports
     25* how chimera discovers tools on startup
     26* debugging from source tree
     27* build tools
     28* How do we handle multiple installations
     29 * Need some mechanism to get "current" tool set
     30* How to add web services as tools
     31* Does tool database incorporate wheel metadata?
     32* Is the local tool database a full copy of tool shed database?
     33 * How to handle local information (Version, Installed, Enabled, etc.)?
     34
     35
     36== Decisions ==
     37