Skip to content

Takes RelaxNG schema as input and generates corresponding code for a Blockly block to represent the same

License

Notifications You must be signed in to change notification settings

ens-lg4/XML-To-Blockly

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This project is funded by the 2016 edition of the Google Summer of Code program. Anuj Khandelwal has been selected to work on a Graphical workflow editor for eHive using Blockly in the Ensembl Genomes Browser organization under Matthieu Muffato's mentorship.

eHive is a system used to run computation pipelines in distributed environments. eHive workflows are currently being migrated to a Relax NG specification. Currently the eHive workflows are manually coded and this requires expertise in computer science. It also takes up a lot of time. Due to such shortcomings handling workflows becomes very cumbersome.

This project aims to remove these drawbacks of the existing system by creating a graphical editor for eHive workflows using Google's Blockly library which would enable us to visualize the XML code in terms of Blockly blocks and provide output for them in XML format using Blockly's existing "Export to XML" option. The backbone of this graphical editor would be some rules written to handle the Relax NG XML schema specification and to create Blockly blocks automatically in accordance with the same.

For example, the XML to Blockly converter would apply pre-defined rules to the Relax NG specification entered by the user, and generate code to represent the specification using Blockly blocks.

The proposed editor would have capabilities of handling not just workflows for eHive, but any specifications written using the Relax NG schema.

How to use

  1. Open https://ens-lg4.github.io/XML-To-Blockly/ in your web browser.
  2. Click on the 'Choose file' and open a Relax NG file. This will create a list of blocks in the toolbox.
  3. Play with the blocks to create a diagram that follows the specification.

Current state

We are still working on the conversion of Relax NG rules to Blockly blocks and constraints. Once this is done, we'll add the ability to import / export XML files (that follow the specification).

Navigate to https://ens-lg4.github.io/XML-To-Blockly/ to use the graphical XML editor.

About

Takes RelaxNG schema as input and generates corresponding code for a Blockly block to represent the same

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.9%
  • HTML 2.1%