Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start to build library of operations #65

Open
3 tasks
IanMayo opened this issue Sep 29, 2015 · 2 comments
Open
3 tasks

Start to build library of operations #65

IanMayo opened this issue Sep 29, 2015 · 2 comments
Assignees

Comments

@IanMayo
Copy link
Member

IanMayo commented Sep 29, 2015

We need to learn lessons about providing a popup menu of operations applicable to the current selection.

We need to prove these things:

  • configuring operations from the XML plugin (to include applies-to tests, and overview documentation)
  • responsive refinement - only adding sub-menus as the parent element is opened
  • let user choose the sequence of operands

Plugin

The operations are currently defined, configured, and loaded from code. I'd like to switch to a more declarative approach where we define an RCP extension for them. This would allow:

  • operations to be declared from external plugins
  • lazy loading of operations code: we perform "applies to" based on declared XML attributes, and only actually load the code if the user wishes to run that operation
  • the declarative approach will also allow us to write a block of descriptive text for each operation, explaining the necessary input data, and the provenance/detail of the algorithm that is performed.
  • operations to be called from the Ctrl+3 quick access menu (where they apply to the current selection)
  • enhanced capabilities, as required for the Operations Browser view (including the descriptive text). This view will let the user choose whether to view all operations, or only the suitable ones. If all operations are viewed, user will be able to see why the current selection is unsuitable for a specified operation
  • transform XML definitions into operations reference library (in HTML or PDF format, probably initially converting XML to DocBook )

XML Schema

Here's my rough guess of what the XML definition would look like:

<LimpetCommand name="Export to CSV" category="Admin">
  <description>
     This command exports the selected datasets to CSV file.  Dataset names are
     included in a header row.  If the datasets are all temporal, then the time data
    is included as the first column.
 </description>
  <AppliesTo>
      <or>
         <allQuantity fail="All datasets must be quantity type for export"/>
         <and fail="We can only export non temporal datasets if they are all the same length>
             <allEqualLength/>
             <allNonTemporal/>
         </and>
      </or>
  </AppliesTo>
</LimpetCommand>
@IanMayo IanMayo self-assigned this Sep 29, 2015
@IanMayo IanMayo added this to the Core Limpet - Phase 1 milestone Sep 29, 2015
@IanMayo
Copy link
Member Author

IanMayo commented Sep 30, 2015

Slip remaining items to milestone two

@IanMayo
Copy link
Member Author

IanMayo commented Dec 23, 2015

@dinkoivanov - I'm assigning this to you, for once you're on top of the property editors, or if you get held up on it. No rush.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants