Uploading content into Create

From ioChem-BD wiki
Jump to: navigation, search

There are two ways to upload content to the Create module.

  • Via web interface, used anywhere with an Internet connection and a web browser
  • Via shell client, used on command-line-only environments, like calculation clusters

Every upload model has its pros and cons, on every section we will analyze them.

Web interface


  • Faster content navigation via point and click and its contextual menus that can expand/collapse project child elements recursively,
  • Rich data visualization via JSmol application, and HTML5 reports
  • Displayed information adapts to any type of electronic device


  • Its upload mechanism is slower when compared to a shell client, users must manually attach every file associated with a calculation.

Inside the Create module, data is stored using two structures: projects and calculations, which are generated by users.

Project creation

Projects are the base to start uploading calculations and content in a hierarchical manner. Over time, as uploaded content gets larger, nested projects and a more complex ordering structure will become necessary to manage research data. Its up to users to build a structure that suit their needs
We will start describing what paths are and how they work inside the Create module. After that, we will describe how to generate projects on the root of our workspace or as a nested project inside another project, finally we will describe the calculation upload mechanism.


All elements inside the Create module have an associated path to define its position among all others elements. It can be revised by looking on top of the Item details form:

Element current path

Paths work the same way than OS folder/file paths, we can navigate them up/down and inside/out.
All paths start with a fixed string that contains the username : /db/username. This is defined as the root of our path, from here we can create all the projects we need.

Note : No calculations are allowed to be uploaded on root path. They must be held inside a project.

Create project

So projects created on root path will be now called root projects. To create them, you must first clear the current path by clicking the Refresh button, placed on top on the Navigation frame.

Refresh and reset path button

With the current path cleared and set to root path, we can start filling in project details on the Item details frame.
Project name and description fields are mandatory. No symbol characters can be used in the project name (as they are not allowed either in directory names inside current OS).

Create project form, note root path on top

Once edited we must click on Create project button. Navigation frame will refresh our workspace and our project will appear inside the project hierarchy.
To create subprojects inside an existing project, we need to click on that project and replace its name and description in the Item details frame, after that we can click on Create project and it will be generated inside the selected parent project.

Calculation upload

To upload a calculation into a project we have to first click on that project. Then on the upper right panel the Create web interface will display a form where we will fill in the calculation name, its description etc.
Note: Name field must not contain blank spaces or special characters like *@[]..., otherwise they will be normalized to an underscore symbol.

Calculation upload form

Then we have to click on the specific uploaded format to display its possible file upload combinations, which vary depending on the selected calculation type

Calculation type selection

Note:Files marked with an asterisk (*) must be attached (are mandatory) so as to upload this calculation successfully.

Some files can be attached more than once, this is the case of the Additional file button. Such special option will display a form where we can upload multiple files, we can now add images, reports, PDFs, and so on. Here is an example of this kind of form.

Multiple file upload form

Note:If we upload multiple files with the same name, the Create module will rename them using a numeric index, for example if we attach two geometry.txt files, second one will be named as geometry_2.txt.

Now we can click on the Load Calculation button to start uploading our calculation. A progress bar will appear on the lowest right panel. It will display upload progress, bear in mind that it can take some time to convert and digest our file depending on the size of the source files.

Upload queue status

This progress bar will also display errors that occurred during file upload. We can click on the warning image to display a longer explanation of upload failure.
When all of our calculations are uploaded we can click on the Refresh button on the Simple Navigation tab to refresh its content an display new uploaded calculations.

Shell client

Pros: All shell client commands are easily scriptable so you can achieve actions like: automated project generation, navigation, calculation upload and management, while easing the process of populating the Create module with new content. Cons: Navigation among content is not as easy as on the web interface. This client should be deployed inside HPC clusters, where calculations are generated and reside, or at least on a *nix machine where calculations are visible.
First we need to download the shell client to this machine. To do so, we will first login on the Create module. Then we will click on Options in upper right menu bar. We need to click on Download shell client so that it displays a form that will request our ioChem-BD password, the same that we used to login.

Options menu bar

The Create module will generate a .zip bundle with all necessary files inside it. We will place this file inside our desired folder, we will decompress using a command like:

$ unzip shell.zip

After deflating this file we have to add execution rights to the start-rep-shell command and secure properties file:

$ cd shell
$ chmod +x start-rep-shell
$ chmod 700 ./resources/resources.properties

The next step is to connect to the Create module via our shell client. We will a run start-rep-shell script but using the source command to affect current shell and to add a group of specific shell commands.

$ source start-rep-shell

Note: Not using source or dot before the start command will make it impossible to operate via the shell client. It is mandatory to append this command to start the connection properly.

To continue from this point please check the entry where we detail all possible commands used from shell client: Shell commands.