Child pages
  • Workflow Module
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »


Workflow module is an addition to the CIShell framework functionality. It allows the users to save multiple algorithms as a single workflow bundle.Once a user selects "start record" all the algorithms invoked by the user will be saved as a workflow in the system until user clicks "stop records". "stop record" pops up a save file dialog box in which the user specify where to save the xml file containing the workflow information. "play workflow" button requires the user to upload the xml document with workflow information. Once the workflow xml is loaded pla button will invoke all the algorithms saved in the workflow xml.

Pros & Cons
This algorithm facilitates the recording and playing a workflow inside CIShell framework but currently there is no implementation for handling user inputs except for input files.

This algorithm can be used to record a workflows of the CIShell framework and play them using the saved workflow information file.

Implementation Details
Workflow implementation mainly consists with 2 modules. workflow bundle and algorithm bundle.

  • Work flow bundle - This bundle consists with 3 classes
    • Activator -
      workflow bundle inherits the OSGI bundle, hence it includes an activator class that implements the start method of OSGI budle.
      The start method instanciates the workflowlistener class as well as workflo class.
    • workflow
      Workflow class includes a flag that sets to true once a user selects 'start record' button and dets to flase once a user selects 'stop record' button.
      This functrionality is activated through the workflow listener class.
    • workflowListener inherits the existing scheduler listener class,
      Workflow listener
  • The Activator start method will invoke a workflow listener instance where it listens the events of the scheduler listener.
  • Once the user click 'start record' - this will invoke the algorithm start event and the isRecord flag inside the workflow class sets to true.

The detail of the algorithm is shown as following,

  • CitationBibtexAlgorithm class defines the functions to accept user input parameters, initialize logger functionality and displaying the results.
    It invoked DownloadAuthorCitation class to download the BibTeX File.
  • DownloadAuthorCitation uses GoogleScholarReaderHelper class to get the number of authors for the given 'Author Name' and also to get the ID from the Google Scholars site.
  • DownloadAuthorCitation contains the functionality to download the citations BibTeX file from the Google Scholars site using the ID returned.
  • MergeTable contains the functionality to create and populate the merge table.
  • Each function includes the coding to log the success,failure information on each step of the file download process.

Usage Hints

Future Work


Source Code :

  • No labels