The IDE so far.

full_IDEI thought I’d give a brief overview of the state of the IDE so far before the final two week run. As it stands the HIPIE IDE has :

  • Syntax Highlighting.
  • Syntax Checking.
  • Variable Autocomplete.
  • Keyword Autocomplete.
  • A functioning Outline.
  • Databomb generation.
  • DUD file compilation using the HIPIE.jar compiler (Currently only for databombs).
  • Project preferences support.
  • Run configurations.
  • HTML, DDL and Persist file generation.
  • A design mode (Still needs to add setPersist functionality).
  • A new HIPIE project wizard.
  • A HIPIE perspective.
  • The ability to compile a DUD file, DDL file, HTML file, Databomb file and a Persist file followed by opening the HTML in either design mode or an external browser using the run shortcuts.

The run configurations page is not yet complete however. As it stands a user selects where the DUD files are stored and this generates a list of possible DUD files. Once a DUD file is selected and the user runs the config, the DUD file undergoes the normal building process.

run_configs  I will add the option to select the browser the resulting HTML file opens in.

extern

Under The Hood Changes.

The last has primarily been concerned with changing how a user creates the final html product. Previously the user associated the data files with a particular dud file and then the databomb was created on compilation of that dud file. Now the databombs are created by the user for each data file in the project with these data files being combined and used to generate the html when a particular dud is compiled. The corresponding databomb files for a particular dud file are found by matching the names of DATASETS in the outputs section with the databomb file names when the keyword databomb is used in the dud file.

Firstly a user selects a txt, csv, tsv .. etc file and saves it. They are prompted if they want to turn it into a databomb file.

prompt

If the user selects ok then they are directed to a properties page.

properties

After applying the cmd arguments and checking the box, a databomb file is created.

newFileSystem

These databomb files are combined when the dud file is compiled. Run configurations have also been added to the HIPIE perspective and these can be used to open the generated html file in an external browser.

design

Icons And Autocomplete

After generalizing the IDE so that one can actually create their own project I decided to tidy up a lot of the cosmetic bugs that plagued the dud text editor and also add some icons for common datatypes.

Firstly I overwrote the default cross reference proposal generator so that it now gives icons, styled strings and correct qualified names for datasets and nested variables within these datasets.

pretty_auto_select pretty_content

The same was done for the outline. Changes were also made to the outline style so that it’s more uniform.

pretty_outline

Also the autocomplete for keywords was improved in order to make it clearer what was being autocompleted.

auto_keyword

Now there is a distinction between keywords, essential syntax such as colons etc and variables.

Many bugs involving incorrect or obsolete autocomplete suggestions and incorrect scoped variable names were also fixed.

Design Mode And Generalisations

The design mode on the dermatology page has finally been implemented (well it’s still extremely buggy). The html file thats generated automatically opens in this mode post-build. It can also be opened from a context menu on the html file itself. This mode allows the user to manipulate the visualizations in a very intuitive manner. This manipulation is saved as a persist string which is saved in the same directory as the html file for future use.

design_mode

Over the past couple of days I’ve also been working on making the plugin compatible with any type of data file. This is a achieved by passing data file specific command line arguments to the HIPIE compiler using the data source view. These arguments are saved for each file as a preference for the current project. These files are each compiled into a databomb separately and are combined in the end to form a databomb of uniform format.  Also the data source file searches all folders recursively in order to determine if they contain valid files. The viewer does not show them if it does not.

datasourcecmd

It is now possible to create a HIPIE project and this in turn opens a corresponding HIPIE perspective.

project

Opens a HIPIE perspective.

perspec

Error handling has also been added for the Design mode.

error

The HIPIE IDE plugin workflow.

Previous blog http://tiernemi.blog.com/

The HIPIE IDE plugin has reached a point where it can actually be used to develop a simple databomb based plugin.

Step 1 : Write a valid .dud file.

A valid DUD file.
A valid DUD file.

Step 2 : Select the data sources corresponding to the datasets in the outputs section.

Data source selection.
Data source selection.

Step 3 : Save the file. This auto-builds the project.

Generated Files.
Generated Files.

Step 4. Look at your generated HTML file in a browser.

The final HTML page.
The final HTML page.

The outline has also been enhanced. All the unamed sections are removed and styled text was added to give it a clearer feel.

The outline of a HIPIE plugin.
The outline of a HIPIE plugin.

Variable auto-complete is now dependent on the arguments inside the braces. These variables are the only ones allowed to be called in the visualization and the cross references reflect that.

Variables filtered by {}
Variables filtered by {}

To summarize one can now write a DUD file, choose data sources, compile the DUD to generate a HTML dashboard and then view that dashboard.