# Unique code of this Data Store Server. Not more than 40 characters. data-store-server-code = DSS1 root = targets/yeastx # The root directory of the data store storeroot-dir = ${root}/store # The directory where the command queue file is located; defaults to storeroot-dir commandqueue-dir = ${root} # Port port = 8444 # Session timeout in minutes session-timeout = 30 # Path to the keystore keystore.path = dist/etc/openBIS.keystore use-ssl = false # Password of the keystore keystore.password = changeit # Key password of the keystore keystore.key-password = changeit # The check interval (in seconds) check-interval = 2 # The time-out for clean up work in the shutdown sequence (in seconds). # Note that that the maximal time for the shutdown sequence to complete can be as large # as twice this time. shutdown-timeout = 2 #�If free disk space goes below value defined here, a notification email will be sent. # Value must be specified in kilobytes (1048576 = 1024 * 1024 = 1GB). If no high water mark is # specified or if value is negative, the system will not be watching. highwater-mark = 1048576 # The URL of the openBIS server server-url = http://localhost:8888/openbis # The username to use when contacting the openBIS server username = etlserver_yeastx # The password to use when contacting the openBIS server password = doesnotmatter # The base URL for Web client access. download-url = http://localhost:8444 # SMTP properties (must start with 'mail' to be considered). mail.smtp.host = file://${root} mail.from = datastore_server@localhost mail.smtp.user = mail.smtp.password = data-sources = metabol-db metabol-db.version-holder-class = ch.systemsx.cisd.yeastx.db.MetabolDatabaseVersionHolder metabol-db.databaseEngineCode = postgresql metabol-db.basicDatabaseName = metabol metabol-db.databaseKind = dev metabol-db.readOnlyGroup = metabol_readonly metabol-db.readWriteGroup = metabol_readwrite metabol-db.scriptFolder = source/sql metabol-db.maxActive = 15 metabol-db.maxIdle = 15 # --------------------------------------------------------------------------- # list of additional web servlets which will be exposed plugin-services = chromatogram-image-download-servlet # class of the web servlet chromatogram-image-download-servlet.class = ch.systemsx.cisd.openbis.dss.yeastx.server.EICMLChromatogramGeneratorServlet # URL which will be mapped to this servlet chromatogram-image-download-servlet.path = /datastore_server/chromatogram chromatogram-image-download-servlet.data-source = metabol-db # ------------------------ # Comma separated names of reporting plugins. Each plugin should have configuration properties prefixed with its name. reporting-plugins = eicml-chromatograms-reporter, eicml-runs-reporter, eicml-chromatogram-images-reporter # Label of the plugin which will be shown for the users. eicml-chromatograms-reporter.label = Show eicML chromatograms # Comma separated list of dataset type codes which can be handled by this plugin. eicml-chromatograms-reporter.dataset-types = EICML # Plugin class specification (together with the list of packages this class belongs to). eicml-chromatograms-reporter.class = ch.systemsx.cisd.yeastx.eicml.EICMLChromatogramsReporter # The property file. Its content will be passed as a parameter to the plugin. eicml-chromatograms-reporter.properties-file = eicml-chromatograms-reporter.data-source = metabol-db # Label of the plugin which will be shown for the users. eicml-runs-reporter.label = Show eicML runs # Comma separated list of dataset type codes which can be handled by this plugin. eicml-runs-reporter.dataset-types = EICML # Plugin class specification (together with the list of packages this class belongs to). eicml-runs-reporter.class = ch.systemsx.cisd.yeastx.eicml.EICMLRunsReporter # The property file. Its content will be passed as a parameter to the plugin. eicml-runs-reporter.properties-file = eicml-runs-reporter.data-source = metabol-db # Label of the plugin which will be shown for the users. eicml-chromatogram-images-reporter.label = Show eicML chromatogram images # Comma separated list of dataset type codes which can be handled by this plugin. eicml-chromatogram-images-reporter.dataset-types = EICML # Plugin class specification (together with the list of packages this class belongs to). eicml-chromatogram-images-reporter.class = ch.systemsx.cisd.yeastx.eicml.EICMLChromatogramImagesReporter # The property file. Its content will be passed as a parameter to the plugin. eicml-chromatogram-images-reporter.properties-file = eicml-chromatogram-images-reporter.data-source = metabol-db # ------------------------ # The period of no write access that needs to pass before an incoming data item is considered # complete and ready to be processed (in seconds) [default: 300]. # Valid only when auto-detection method is used to determine if an incoming data are ready to be processed. quiet-period = 3 # ------------------------ inputs=main-thread, eicml-uploader, fiaml-uploader, quantml-uploader # Globally used separator character which separates entities in a data set file name data-set-file-name-entity-separator = . # --------------------------------------------------------------------------- # 'main-thread' thread configuration # --------------------------------------------------------------------------- # The directory to watch for incoming data. main-thread.incoming-dir = ${root}/incoming # Determines when the incoming data should be considered complete and ready to be processed. # Allowed values: # - auto-detection - when no write access will be detected for a specified 'quite-period' # - marker-file - when an appropriate marker file for the data exists. # The default value is 'marker-file'. main-thread.incoming-data-completeness-condition = auto-detection main-thread.incoming-dir.format = main-thread.reprocess-faulty-datasets = true sample-name-property-code = samplename experiment-name-property-code = name file-name-property-code = file_name gain-write-access-script = ../datastore_server_yeastx/takeCifsOwnershipRecursive.sh main-thread.dataset-handler = ch.systemsx.cisd.yeastx.etl.BatchDataSetHandler main-thread.dataset-handler.preprocessing-script = ${gain-write-access-script} main-thread.dataset-handler.preprocessing-script-max-retries = 4 main-thread.dataset-handler.preprocessing-script-failure-interval = 3 main-thread.dataset-handler.unique-sample-name-property-code = ${sample-name-property-code} main-thread.dataset-handler.unique-experiment-name-property-code = ${experiment-name-property-code} # The extractor class to use for code extraction main-thread.data-set-info-extractor = ch.systemsx.cisd.yeastx.etl.BatchDataSetInfoExtractor main-thread.data-set-info-extractor.file-name-property-code = ${file-name-property-code} main-thread.data-set-info-extractor.unique-sample-name-property-code = ${sample-name-property-code} main-thread.data-set-info-extractor.unique-experiment-name-property-code = ${experiment-name-property-code} # The extractor class to use for type extraction main-thread.type-extractor = ch.systemsx.cisd.yeastx.etl.TypeExtractorYeastX # comma separated list of mappings from type to extensions, e.g.: # file-type1: file-extension1 file-extension2, file-type2: file-extension3" # It is assumed that for each file extension a dataset type with the same name is defined in openBIS. # The corresponding file types have to be defined in openBIS as well. # Files with unspecified extensions will have the file type and dataset type UNKNOWN in openBIS. main-thread.type-extractor.file-types = PDF: pdf, MATLAB: mat, ARCHIVE: zip, XML: eicml fiaml mzxml # The storage processor (IStorageProcessor implementation) main-thread.storage-processor = ch.systemsx.cisd.yeastx.etl.StorageProcessorWithDropboxes main-thread.storage-processor.eicml-dropbox-dir = ${root}/dropbox-eicml main-thread.storage-processor.fiaml-dropbox-dir = ${root}/dropbox-fiaml main-thread.storage-processor.entity-separator = . main-thread.storage-processor.processor = ch.systemsx.cisd.yeastx.etl.StorageProcessorWithMLUploader main-thread.storage-processor.processor.unique-sample-name-property-code = ${sample-name-property-code} main-thread.storage-processor.processor.unique-experiment-name-property-code = ${experiment-name-property-code} main-thread.storage-processor.processor.data-source = metabol-db main-thread.storage-processor.processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor # --------------------------------------------------------------------------- # plugin properties for the thread which uploads eicML files # --------------------------------------------------------------------------- # The directory to watch for incoming data. eicml-uploader.incoming-dir = ${root}/incoming-eicml eicml-uploader.incoming-data-completeness-condition = auto-detection eicml-uploader.incoming-dir.format = eicml-uploader.reprocess-faulty-datasets = false # The extractor class to use for code extraction eicml-uploader.data-set-info-extractor = ch.systemsx.cisd.etlserver.DataSetInfoExtractorWithFileNameProperty eicml-uploader.data-set-info-extractor.extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor eicml-uploader.data-set-info-extractor.extractor.file-name-property-code = ${file-name-property-code} eicml-uploader.data-set-info-extractor.extractor.index-of-experiment-identifier = 0 eicml-uploader.data-set-info-extractor.extractor.index-of-parent-data-set-codes = 1 eicml-uploader.data-set-info-extractor.extractor.entity-separator = ${data-set-file-name-entity-separator} # The extractor class to use for type extraction eicml-uploader.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor eicml-uploader.type-extractor.file-format-type = XML eicml-uploader.type-extractor.locator-type = RELATIVE_LOCATION eicml-uploader.type-extractor.data-set-type = EICML eicml-uploader.type-extractor.is-measured = false # The storage processor which uploads the content of the files to the additional database eicml-uploader.storage-processor = ch.systemsx.cisd.yeastx.etl.StorageProcessorWithMLUploader eicml-uploader.storage-processor.unique-sample-name-property-code = ${sample-name-property-code} eicml-uploader.storage-processor.unique-experiment-name-property-code = ${experiment-name-property-code} eicml-uploader.storage-processor.data-source = metabol-db eicml-uploader.storage-processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor # ---------------- plugin properties for the thread which uploads fiaML files # The directory to watch for incoming data. fiaml-uploader.incoming-dir = ${root}/incoming-fiaml fiaml-uploader.incoming-data-completeness-condition = auto-detection fiaml-uploader.incoming-dir.format = fiaml-uploader.reprocess-faulty-datasets = false # The extractor class to use for code extraction fiaml-uploader.data-set-info-extractor = ch.systemsx.cisd.etlserver.DataSetInfoExtractorWithFileNameProperty fiaml-uploader.data-set-info-extractor.extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor fiaml-uploader.data-set-info-extractor.extractor.file-name-property-code = ${file-name-property-code} fiaml-uploader.data-set-info-extractor.extractor.index-of-experiment-identifier = 0 fiaml-uploader.data-set-info-extractor.extractor.index-of-parent-data-set-codes = 1 fiaml-uploader.data-set-info-extractor.extractor.entity-separator = ${data-set-file-name-entity-separator} # The extractor class to use for type extraction fiaml-uploader.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor fiaml-uploader.type-extractor.file-format-type = XML fiaml-uploader.type-extractor.locator-type = RELATIVE_LOCATION fiaml-uploader.type-extractor.data-set-type = FIAML fiaml-uploader.type-extractor.is-measured = false # The storage processor which uploads the content of the files to the additional database fiaml-uploader.storage-processor = ch.systemsx.cisd.yeastx.etl.StorageProcessorWithMLUploader fiaml-uploader.storage-processor.unique-sample-name-property-code = ${sample-name-property-code} fiaml-uploader.storage-processor.unique-experiment-name-property-code = ${experiment-name-property-code} fiaml-uploader.storage-processor.data-source = metabol-db fiaml-uploader.storage-processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor # ---------------- plugin properties for the thread which uploads quantML files # The directory to watch for incoming data. quantml-uploader.incoming-dir = ${root}/incoming-quantml quantml-uploader.incoming-data-completeness-condition = auto-detection quantml-uploader.incoming-dir.format = quantml-uploader.reprocess-faulty-datasets = false # The extractor class to use for code extraction quantml-uploader.data-set-info-extractor = ch.systemsx.cisd.yeastx.etl.QuantMLDataSetInfoExtractor quantml-uploader.data-set-info-extractor.index-of-experiment-identifier = 0 quantml-uploader.data-set-info-extractor.sub-entity-separator = & # unused but required to be different than sub-entity-separator quantml-uploader.data-set-info-extractor.entity-separator = . # The extractor class to use for type extraction quantml-uploader.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor quantml-uploader.type-extractor.file-format-type = XML quantml-uploader.type-extractor.locator-type = RELATIVE_LOCATION quantml-uploader.type-extractor.data-set-type = UNKNOWN quantml-uploader.type-extractor.is-measured = false # The storage processor which uploads the content of the files to the additional database quantml-uploader.storage-processor = ch.systemsx.cisd.yeastx.etl.QuantMLStorageProcessor quantml-uploader.storage-processor.preprocessing-script = ${gain-write-access-script} quantml-uploader.storage-processor.unique-sample-name-property-code = ${sample-name-property-code} quantml-uploader.storage-processor.unique-experiment-name-property-code = ${experiment-name-property-code} quantml-uploader.storage-processor.data-source = metabol-db quantml-uploader.storage-processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor # --------------------------------------------------------------------------- # maintenance plugins configuration # --------------------------------------------------------------------------- dataset-unarchiving-highwater-mark = 2000 # Comma separated names of maintenance plugins. # Each plugin should have configuration properties prefixed with its name. # Mandatory properties for each include: # .class - Fully qualified plugin class name # .interval - The time between plugin executions (in seconds) # Optional properties for each include: # .start - Time of the first execution (HH:mm) maintenance-plugins=ds-remover, auto-archiver ds-remover.class = ch.systemsx.cisd.yeastx.etl.MetabolDatabaseUpdater ds-remover.interval = 1000 ds-remover.data-source = metabol-db # Performs automatic archivization of 'ACTIVE' data sets based on their properties auto-archiver.class = ch.systemsx.cisd.etlserver.plugins.AutoArchiverTask # The time between subsequent archivizations (in seconds) auto-archiver.interval = 300 # size of the disc free space in KB which must be available to unarchive one dataset auto-archiver.dataset-unarchiving-highwater-mark = ${dataset-unarchiving-highwater-mark} # Time of the first execution (HH:mm) #auto-archiver.start = 10:49 # following properties are optional # only data sets of specified type will be archived auto-archiver.data-set-type = EICML # only data sets that are older than specified number of days will be archived (default = 0) auto-archiver.older-than = 777 # fully qualified class name of a policy that additionally filters data sets to be filtered #auto-archiver.policy.class = ch.systemsx.cisd.etlserver.plugins.DummyAutoArchiverPolicy # --- ARCHIVER ------------------------------------------------------------------------ archiver.class = ch.systemsx.cisd.yeastx.etl.MLArchiverTask archiver.unique-sample-name-property-code = ${sample-name-property-code} archiver.unique-experiment-name-property-code = ${experiment-name-property-code} archiver.data-source = metabol-db # size of the disc free space in KB which must be available to unarchive one dataset archiver.dataset-unarchiving-highwater-mark = ${dataset-unarchiving-highwater-mark}