TODO:

Introduction

Like other "fiddle" type environments such as JSfiddle, ScalaFiddle and Python Fiddle, BDFiddle provides an easy way for non-programmers to generate and play around with metadata and code "snippets" needed to generate metadata or convert/extract data from files they submit to Brown Dog.

Navigation

Navigate to the Brown Dog website at https://browndog.ncsa.illinois.edu/ and sign up.

Click on the BDFiddle button on the left.

or you can navigate directly using the URL https://browndog.ncsa.illinois.edu/bdfiddle/.

Login with your Brown Dog username and password.

You will be taken to the BDFiddle page itself.
This is what you will see. The whole page is setup to assist the user in:

  1. Selecting a file
  2. Selecting a transformation
  3. Receiving the output
  4. Getting access to the code snippets

1) Select a file

You can choose from a file on your computer via the "Browse" button or select URL to choose a remote file.
Click on the "Get Transformations" button.

2) Select Transformation

Based on the type of the input file, a list of available conversions and extractions for that file are displayed.

Select the type of transformation needed from either of the scroll lists.

Press "Submit" button to initiate the transformation.

If the output needs to be emailed, then select the "Email Output" checkbox and provide the desired email address.

 

3) Output

If a conversion was selected - the Output box will provide a location where the saved file of the desired format is located.

If an extraction was selected - the Output box will provide the desired extracted information. 

The below example displays metadata in the Output box generated from a .jpg.

 

 

3) Code snippets

BDFiddle also generates code snippets which can be used to recreate the same Transformation in a local environment if the user needs to repeat the process from within code.
For each language, there are four templates: convert a file from a URL, convert a local file upload, extract from a file from a URL, and extract from a local file upload.
The values for the server, security token, input file, and output format are populated in appropriate template. 

Current snippets generated include:

 

 

Jupyter

In response to the popularity of Jupyter notebooks and the ease of combining run-able code and documentation in one interface that Jupyter provides, Jupyter functionalities have been added to BDFiddle.  In addition to copying the code snippet, a user can download a Jupyter notebook that contains the run-able code that is ready to implement locally (jupyter must be installed) or the user can simply open the notebook as an anonymous user on an NCSA multi-user service that utilizes Tmpnb.

Jupyter templates are JSON files that contain both the raw code (runnable) and mark down (documentation). 

Where Jupyter is available two additional buttons appear below the code snippet.

.

The buttons enable a user to

The server uses Tmpnb (Temporary Notebook) and employs docker containers.   There are two control docker containers and as many notebook containers as needed. 

When the files are posted to the server, a notebook container is allotted to the new user in which they can edit and run the Jupyter notebook.

See Jupyter documentation for specific usage of Jupyter notebooks.

https://jupyter.readthedocs.io/en/latest/

 

Report Problem

Log in and click "Report Problem" in the Navigation bar then you will see the form below:

Then fill in the form with your name and detail of the problem. Screenshot or any file can be uploaded in the attachment. 

If the report is sent successfully, you will see the message as follows: