Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Requirement #1856 (new)

Opened 14 years ago

Last modified 13 years ago

ScriptingImprovements — at Initial Version

Reported by: jamoore Owned by: jamoore
Priority: n.a. Milestone: Unscheduled
Component: n.a. Keywords: n.a.
Cc: wmoore, jburel, dzmacdonald Business Value: 300
Total Story Points: n.a. Roif: n.a.
Mandatory Story Points: n.a.

Description

The planned improvements are geared toward making the writing and testing of scripts easier. Our goal is to provide tools and examples so that external users can easily start producing their own scripts.

Client view

OMERO.insight currently is be able to run scripts on the server. These scripts have been UI's created by the developers in OMERO.insight and perform known functions e.g. MakeMovie or SplitFigure. It should be possible for insight to be able to run user created scripts in which the scripts should be either created by in insight or from the parameter list from the script itself. When creating scripts the user should be able to the script in a 'sandbox' locally from insight before uploading them into the server.

The script has three parts the input of parameters, the script progress and displaying of results: Each of these parts should have display options that will inform insight of what to display at what time.

Usage

It should be possible for a developer to write a script using minimal conventions and have:

  • input/output checking
  • quick testing cycle
  • clear error reporting
  • utilities for generating GUI/CLI applications

Possible utilities might might include:

$ vi myscript.py
# edit #
$ bin/omero scripts verify myscript.py
$ bin/omero scripts run myscript.py
$ bin/omero scripts launch myscript.py

Breakdown

OMERO.server:

Breakdown:

  1. #1341 Scripting improvements : api, cli, parse
    1. #965 Permit piping stdout|stderr to stdin of scripts (2 days)
    2. #1671 Keep open RawFileStore for stdout and stderr of scripts (1 day)
    3. #1673 Properties file support for scripts rather than hard-coding (1 day)
    4. #1321 cache JobParams (1 day)
    5. get submission inputs (1 day)
    6. encourage writer style (2 day)
  1. #981 Improve the script testing story
    1. #983 / #1672 Implement processor registration (3 days)
    2. #979 Add methods for listening to stdout/stderr on Process (1 days)
  2. #1770 Passing group to scripts (1 day)
  • #941 Add "trusted" capability to OMERO.fs
    • Discussion on possible ways to handle script deployment (0.5 day)
    • #912 Possibly use annotation as script marker
  • #1340 Add processor.py management methods (1 day)
    • get proc id
    • get host name
    • get output directory
  • #1343 Scripting improvements II : notification, conventions
    • notification to clients on process completion (1 day)
      • #1497 Detecting whether or not background processing has happened
    • how to attach outputs to inputs with the related scripts (5 day)
  • Misc. / cleanup
    • Scripts.ice documentation
    • #977 Need absolute PYTHONPATH for scripts (1 day)
    • #1322 Improve processor slots and timeouts
    • #1526 processor.py may too aggressively lock causing poll to return after wait
    • #1533 processor.py should handle open sessions more intelligently.

OMERO.insight:

Breakdown:

  1. Allow insight to run scripts on the server DONE
  2. insight#1134 Allow user to upload scripts from the client (Est. 1 day/Act 1 day).
    1. Question: script acknowledgement see insight#1148 Require server changes (1 day)
  3. insight#1135 Create a UI on the fly from the script Parameters
    1. First phase insight r7020(Est. 1.5 day/Act 2 days).
    2. Second phase required
  4. #979 Have an interface where the script can apply some display logic (10 days).
  • #979 Allow the scripts to send a part progress monitor to the client (3 days).
  • #1760 Allow the script to run locally in a sandbox (5 days).
  • insight#1135 Display results on the fly (10 days).

This page was moved from WorkPlan/ScriptingImprovements

Change History (0)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.59638 sec.)

We're Hiring!