Importing data
To add new ways to import data from different file types (say, dicom files), a new module should be made.
Labkey is quite verbose on module insertion. Here they elaborate what modules can do.
In the list is the pointer to a pipeline based on R scripts. While the concept is based on R scripts,
the same can be done also with bash commands and hence with anything that can run in a shell, including compiled code in
c++, matlab, etc. I made a dummy module that calls a script in /home/andrej/scripts/
directory with a .IMA
file as its argument.
The file is actually a zip of the directory structures as it appears in the labkey area. To deploy it, the .module
file has to be
copied to the /usr/share/labkey/externalModules
directory. The only relevant parts are in the pipeline/pipelines
and pipeline/tasks
directory. The files in the pipelines
directory specifies order and name of tasks to be called. They can be a combination of tasks
defined in the local tasks
directory and labkey defined tasks. Each new task must be defined with an xml
script in the tasks
directory.
The convention is well explained in the link. At this point I am figuring out how to interface the layout of the database to the general
shell script.
Setting privilgies
Some tasks (such as project creation) is reserved for site administrators. To add people, go to Admin->Site->Site Permissions, tab to Site Groups, and update Site Administrator list.
Backup
However, a pipeline override can be set to perform data-specific tasks with labkey based or user supplied tools..
Maybe this is more on the point:
Transformation scripts (which are always attached to assay designs) are different from trigger scripts, which are attached to a dataset (database table or query).