Forms

Using JSON

  1. Create a repofolders.json and a reporoots.json file
  2. Follow the instructions found in the OggBundle Documentation
  3. Navigate to the "Validator" tab
  4. Add your created JSON files and define the max nesting level
  5. Click on Submit
Valid Json form fillings
Valid JSON form input

Using Excel

  1. Download the excel template form here In the second worksheet inside the excel file are predefined strings, which you can use for certain columns
  2. Create your OGGBundle in form of this excel file
  3. Navigate to the "Validator" tab
  4. Add your created excel file and define the max nesting level
  5. Click on Submit
Valid Json form fillings
Valid excel form input

Validated OggBundle

When the JSON's or the excel is validated you get to the json view where you can see your generated JSON together with a navigation tree. On the top of the site you will see a green message when the JSON is valid and red error messages when errors occurred.

The navigation tree on the left helps you navigating through the generated JSON tree on the right.

Nodes

Every item in the navigation tree is called a Node and is built up like this:

{navigation-id} - {name} [{review_state}]
{navigation-id}
The navigation id has is only for the navigation and has nothing to do with the actual JSON. It is here to help you navigation through the navigation itself. It is especially useful when the navigation consists of a lot of nodes.
{name}
The name is the name of the the corresponding element in the JSON. It takes by default the german title of the JSON element.
{review_state}
The review state is a s the name, taken from the JSON element.

Features

The navigation has a small but useful set of features:

Scroll to element
When you click on a node the page will automatically scroll to the element inside the JSON and marks it.
Always there
Even when you scroll down a big JSON, the navigation will always be there on the left side of the screen.
Auto open on error
The node of the JSON element with the error will automatically be opened. This means all parent nodes will be open so you can easily see the error.
Error tree
The node of the JSON element with the error will be marked with a bright red and all parent nodes will be marked with a less intense red. Like this you can see where an error occurred even when the node itself is not open. You can see this in the error image below.

JSON bundle tree

The JSON bundle tree on the right side of the screen is the generated JSON tree. It contains all elements. Every element contains all data given to it.

Features

The JSON tree has as the navigaiton some small but useful features:

Auto scroll to error
When an error occurs the page will automatically scroll to the error location.
Error description
When a error occurs, it is directly described in the JSON itself. Like this you exactly see where the error happened.
Error marked
Every error is marked in a bright red so you can find find it easier.
Tree error view
Even when the program could not generate a tree because of a tree error. The reporoots and repofolders will not be connected, but instead the program gives you two separate panes with the repofolders on the left side and the reporoots on thr right side of the screen. The error will be shown as well
Valid JSON
Valid generated JSON
JSON with schema error
JSON with a schema error example
JSON with tree error
JSON with a tree error example

Handled Errors

Form Input Errors

The programm detects when you upload a file which is supported by the program and shows you an error message. If you get the error Excel file has old format it means you use the old .xls format instead of the new .xlsx. The .xlsx was introduced in office 2007. For older office installations you can download a compatibility patch from here. Please read the details on the page before installing the patch.

Supported file-types
  • Excel: .xlsx with mime type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • JSON: any text based files which contain valid json. This means e.g. that .txt as well as normal .json files are supported.
JSON wrong data-type
JSON input wrong data-type
Excel wrong data-type
Excel input wrong data-type
Excel old data-type
Excel input old data-type

If you do not fill an input field, it will give you a related error message.

Missing data in form
Missing data in form

If you use the JSON validator and upload JSON with syntax errors, the program will will not only tell you that there is an error, but also will give you the location of this error and what caused it. If you upload an excel, syntax errors should not be possible, so you don't have to worry about them there.

JSON with syntax error
JSON with syntax error

Validation Errors

Schema errors occur when a you use a wrong data-type for a specific element, a required element is missing or something else which does not match the schema. The program will tell you what exactly the error is and directly scrolls to the first error if one is found. If you uploaded an excel file the program will additionally tell you on which row inside of the excel file the error happened. The schemas for the JSON can be here: reporoots.schema.json repofolders.schema.json

Schema error
JSON with a schema error

A max nesting error occurs when you exceed the maximal given nesting depth. This means if you have three elements which like this, the depth will be 3.

Element 1
    ↳ Element 2
        ↳ Element 3

If you now say that the max nesting level is 2 instead of 3 it will give you a max nesting level error.

Max nesting level exceeded error
If you now say that the max nesting level is 2 instead of 3 it will give you a max nesting level error.

A tree error occurs when the reporoots and repofolders could not be concatenated. This happens when an element has a parent guid defined which does not exist. Parent guid 0 connects to guid 0:

Element 1 - guid=0
Element 2 - guid=0.0, parent-guid=0

Parent guid 1 has no element to connect to. There is no element with the guid 1. Here occurs a tree error.

Element 1 - guid=0
Element 2 - guid=0.0, parent-guid=1
Error in tree
JSON with a tree error