Isabl Settings
Each component of Isabl can be configured in multiple ways. Generally, settings are strings, numbers, objects, and many other types.
Import Strings
point to an importable object, whether its a class, a function, etc. (e.g.isabl_cli.data.DataImporter
)
Database Managed Settings
Some Isabl API, Isabl Web, and Isabl CLI and be configured from the admin site! To do so, go to /admin/isabl_api/client/
and update the clients called default-backend-settings
for Isabl API, and default-frontend-settings
for Isabl Web. You may want to create your own client for Isabl CLI (see Writing Applications).
Isabl API Settings
Here is a detailed list of available configurations for Isabl API. To configure Isabl API, add a dictionary called ISABL_SETTINGS
to your Django configuration.
Learn more about production deployment:
Loading results from a AWS S3 bucket
If your Isabl CLI BASE_STORAGE_DIRECTORY
is located in a S3 bucket, you can enable rendering results through the website using the S3_BASE_STORAGE_DIRECTORIES
setting:
For example if an analysis output path is /mnt/data/analyses/01/01/1/head_job.log
and and the s3 path to it is s3://my-bucket/data/analyses/01/01/1/head_job.log
you should use this setting:
if prefer_original
is set to True
(False
by default), it will try to retrieve the original path first if exists (i.e. /mnt/data/analyses/01/01/1/head_job.log
) , if not it will try to resolve for the file in S3 (i.e. s3://my-bucket/data/analyses/01/01/1/head_job.log
)
Integrating with Jira
Isabl provides a simple integration to Jira, as it's a widely used management tool used for development and analyses. The module creates a Jira Epic for each Isabl project, and allows to create a simple list of tasks (Jira issues) from the web.
To enable, you need to add the following settings in the web and in the api.
In the Web Settings:
In the Api Settings:
In Jira for Epic and Issues we can create custom fields. You need to create 2 custom fields where the Project ID and the Project Link will be stored, and use their ids in the settings.
Pro Tip: Jira Epics are created under Jira Projects. You can create different Jira Projects for each Isabl Project Group, by adding extra dictionaries that map to isabl group acronyms.
i.e. If a group in Isabl is called (name: Pathology, acronym: PATH), you can set up your settings like the example below. And all Isabl Projects that belong to the PATHOLOGY group, will have their own separate Jira Project under https://my-jira-instance/projects/PATH/issues/
Isabl CLI Settings
Before anything, you must set the following environment variables:
Once this is set, you can configure your client object settings with the following configurations (see isabl_cli.settings
to check default settings):
Isabl Web Settings
Customization of the User Interface can be achieved by defining a global $isabl
settings dictionary in the main index.html
.
You can configure the window.$isabl
with the following parameters:
Example of a custom UI configuration
Important: In case you're running your frontend instance in a different host that the backend, you should add this ENV
variable to your django project where the isabl-api
is running:
If you want to consume isabl-web
and serve your own html, outside of isabl-api
. You can consume the frontend just as:
Last updated