wiki:Modules/Batches

Version 3 (modified by Erik Roos, 13 years ago) (diff)

--

Idea

Several applications have a need for the idea of working in Batches. That is to say, executing some sort of function on multiple Molgenis entities at one time. Examples are choosing multiple samples in a LIMS system to simultaneously perform protocols on, and selecting multiple animals to apply an event (wean, feed, draw blood sample, etc.) to. The idea is to create a generic plugin that can serve all Molgenis GCC applications.

Requirements

  • User must be able to add entities to a Batch in the UI in an intuitive way, e.g. by clicking on one or more entities in a lst/matrix or by dragging them into a designated part of the screen.
  • User must be able to always inspect the contents of their current Batch, e.g. by clicking a "shopping cart" icon in a corner of the UI.
  • User must be able to edit or clear the Batch.
  • Batch must be accessible from all parts (form screens, plugins) of the application.
  • It would be nice if there were two kinds of batches:
    • Static batch, a fixed list of entities
    • Dynamic batch, a list based on a query that is evaluated anew every time

Technical Implementation

The idea is to have a singleton class, say "Batches" that contains a map, which is composed of a Molgenis User's ID (from the auth package) as the key, and a list as the value. The list would contain Molgenis entities currently in the "batch". When the application requests the batch information, the map would be queried with the ID of the current Molgenis User, and the list would be returned.

Future ideas include a query being executed at runtime to create a dynamic list based on certain parameters (Erik can expand? esp. with how this would work technically with regards to the above implementation idea).

Attachments (2)

Download all attachments as: .zip