Custom Import


Custom Import is a feature designed to give web users a chance to import a file via Jython Dropboxes.


To upload a file via Custom Import, the user should choose Import -> Custom Import in openBIS top menu. The Custom Import tab will be opened, and the user will get the combo box filled with the list of configured imports. After selecting the desired Custom Import, the user will be asked to select a file. After selecting a file and clicking the Save button, the import will start. The user should be aware, that the import is done in a synchronous way, sometimes it might take a while to import data (it depends on the dropbox code).

If a template file has been configured a download link will appear. The downloaded template file can be used to create the file to be imported.


To have the possibility to use a Custom Import functionality, this needs an AS core plugin of type custom-imports. The of each plugin has several parameters:

parameter name



The value of this parameter will be used as a name of Custom Import in web UI.


This parameter needs to specify the code of the datastore server running the dropbox which should be used by the Custom Import.


The value is the name of the dropbox that is used by the Custom Import.


Specifies a description of the Custom Import. The description is shown as a tooltip in the web UI.


Custom import templates are represented in OpenBIS as entity attachments. To make a given file available as a custom import template create an attachment with this file and refer to this attachment with template-entity-kind, template-entity-permid, template-attachment-name parameters, where: template-entity-kind is the kind of the entity the attachment has been added to (allowed values: PROJECT, EXPERIMENT, SAMPLE), template-entity-permid is the perm id of that entity and template-attachment-name is the file name of the attachment.



Example configuration

name = Example custom import
dss-code = DSS1
dropbox-name = jython-dropbox-1
description = This is an example custom import
template-entity-kind = PROJECT
template-entity-permid = 20120814111307034-82319
template-attachment-name = project_custom_import_template.txt

The dropbox needs to be defined on the DSS side as a RPC dropbox:

dss-rpc.put.<DATA_SET_TYPE> = jython-dropbox-1