Appendix: Metacat Properties ============================ The most dynamic Metacat Properties are managed using Metacat's Configuration Interface (see :doc:`configuration`). These properties, as well as other, rarely modified ones can be found in the metacat.properties file. For more information about the properties, click one of the following: * Server Properties * Application Properties * Database Properties * Authorization and Authentication Properties * XML/EML Properties Server Properties ----------------- All of Metacat's server properties are managed with the form-based configuration utility, though they can also be accessed More information on each is included below. Metacat Server Properties +--------------------+------------------------------------------------------------------------------------------+------------------------+ | Property | Description | Example | +====================+==========================================================================================+========================+ | server.name | The network host name used to access Metacat. Note that this is not necessarily | knb.ecoinformatics.org | | | the physical name of the server running Metacat. The host name should not | | | | include the protocol prefix (http://). | | | | | | | | Default Value: localhost | | +--------------------+------------------------------------------------------------------------------------------+------------------------+ | server.httpPort | The network port used to access Metacat for non-secure (standard) connections. | 80 | | | This is usually 80 if Apache Web server is running, and 8080 if Tomcat is running alone. | | | | | | | | Default Value: 80 | | +--------------------+------------------------------------------------------------------------------------------+------------------------+ | server.httpSSLPort | The network port used to access Metacat for secure connections. This is usually | 443 | | | 443 if Apache Web server is running, and 8443 if Tomcat is running alone. | | | | | | | | Default Value: 443 | | +--------------------+------------------------------------------------------------------------------------------+------------------------+ Application Properties ---------------------- Metacat's application properties are described below. Properties that can only be edited manually in the ``metacat.properties`` file are highlighted. All others are managed with the properties configuration utility. +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | Property | Description | Example | +================================+=============================================================================+===============================+ | application.metacatVersion | The Metacat version number. It is set by the build engineer | 1.9.0 | | | at build time. Usually, the value should never be changed. | | | | | | | | Default Value: X.X.X (where X.X.X is the current version of Metacat) | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.metacatReleaseInfo | Release information for display purposes. Typically the property | Release Candidate 1 | | | is set during the release candidate cycle to let users know which | | | | candidate they are downloading. | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.deployDir | The directory where Web applications are deployed. Usually, the value | /usr/local/tomcat/webapps | | | is a directory named "webapps" in the Tomcat installation directory. | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.context | The name of the Metacat application directory in | knb | | | the deployment directory. This corresponds to the first part of the | | | | WAR file name (the part before .war). Most commonly, this | | | | is "knb", but it can be changed to other things. | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.default-style | A custom Metacat Web skin usually associated with | default | | | an organizational theme. If your organization has no | | | | custom skin, leave the value as "default". | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.knbSiteURL | The main KNB website. | http://knb.ecoinformatics.org | | | | | | | Default Value: http://knb.ecoinformatics.org | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.datafilepath | The directory in which to store data files. The directory should | /var/metacat/data | | | be outside the Metacat installation directories so data files will not | | | | be lost when Metacat is upgraded. The data file directory must be | | | | writable by the user that starts Tomcat (and thus Metacat). | | | | | | | | Default Value: /var/metacat/data | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.inlinedatafilepath | The directory where inline data files will be stored. Inline | /var/metacat/inline-data | | | data files are created from data that is embedded in EML | | | | metadata. The directory should be outside the Metacat installation | | | | directories so data files will not be lost when Metacat is upgraded. | | | | For clarity of data, this should probably not be the same as | | | | ``application.datafilepath``. The data file directory must be | | | | writable by the user that starts Tomcat (and thus Metacat). | | | | | | | | Default Value: /var/metacat/inline-data | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.documentfilepath | The directory where metadata files will be stored. | /var/metacat/documents | | | The directory should be outside the Metacat installation directories | | | | so document files will not be lost when Metacat is upgraded. For | | | | clarity of organization, this should probably not be the same as | | | | ``application.datafilepath`` or ``application.inlinedatafilepath``. | | | | The data file directory must be writable by the user that | | | | starts Tomcat (and thus Metacat). | | | | | | | | Default Value: /var/metacat/documents | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ | application.tempDir | The directory where the Metacat data registry stores temporary | /var/metacat/temporary | | | files. The directory should not be the same as ``application.datafilepath`` | | | | or ``application.inlinedatafilepath`` (or any other persistent file path) | | | | because all files in this may be purged programmatically. The temporary | | | | file directory must be writable by the user that starts Apache. | | | | | | | | Default Value: /var/metacat/temporary | | +--------------------------------+-----------------------------------------------------------------------------+-------------------------------+ Database Properties ------------------- Metacat's database properties are described next. Properties that can only be edited manually in the metacat.properties file are highlighted. All others are managed with the properties configuration utility. Metacat Database Properties +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | Property | Description | Example | +============================================+==========================================================================================================+=========================================================+ | database.connectionURI | The JDBC connection URI for the main database instance of Metacat. | ``jdbc:postgresql://yourserver.yourdomain.edu/metacat`` | | | The URI is formatted like: ``jdbc::thin@:1521:`` | | | | NOTE: You must create an empty database prior to initial Metacat configuration. | | | | | | | | Default Value: jdbc:postgresql://localhost/metacat | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.user | The user for the main database instance of Metacat. The user must | metacat-user | | | have already been created on the database. | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.password | The password of the user for the main database instance of Metacat. | securepassword4843 | | | The password must have already been created for the user. | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.type | The type of database you are running. Currently, there are two supported | postgres | | | types, Oracle and Postgres. | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.driver | The JDBC driver to be used to access the main database instance of Metacat. | org.postgresql.Driver | | | There is one driver associated with each type of database. | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.adapter | The adapter class that allows Metacat to access your database type. | edu.ucsb.nceas.dbadapter.PostgresqlAdapter | | | There is one adapter associated with each type of database. | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.scriptsuffix. | The script suffix tells the system which database scripts to run | postgres.sql | | | (postgres or oracle) when installing or updating database schema. | | | | | | | | Default Values: | | | | database.scriptsuffix.postgres=postgres.sql | | | | database.scriptsuffix.oracle=oracle.sql | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.upgradeVersion. | Which database scripts to run when updating database schema. There is a | upgrade-db-to-1.2 | | | database.upgradeVersion entry for every Metacat database schema version. | | | | Each schema version corresponds to an application version. | | | | | | | | Default Values: | | | | database.upgradeVersion.0.0.0=xmltables,loaddtdschema | | | | database.upgradeVersion.1.2.0=upgrade-db-to-1.2 | | | | database.upgradeVersion.1.3.0=upgrade-db-to-1.3 | | | | database.upgradeVersion.1.4.0=upgrade-db-to-1.4 | | | | database.upgradeVersion.1.5.0=upgrade-db-to-1.5 | | | | database.upgradeVersion.1.6.0=upgrade-db-to-1.6 | | | | database.upgradeVersion.1.7.0=upgrade-db-to-1.7 | | | | database.upgradeVersion.1.8.0=upgrade-db-to-1.8 | | | | database.upgradeVersion.1.9.0=upgrade-db-to-1.9 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.initialConnections | The number of initial connection that Metacat creates to the database. | 5 | | | | | | | Default Value: 5 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.incrementConnections | The number of connections Metacat creates when it requires | 5 | | | more connections. | | | | | | | | Default Value: 5 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.maximumConnections | The maximum number of database connections Metacat can make. | 25 | | | | | | | Default Value: 200 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.maximumConnectionAge | The maximum time in milliseconds that a database connection can live. | 120000 | | | | | | | Default Value: 120000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.maximumConnectionTime | The maximum time in milliseconds that a database connection can | 60000 | | | accumulate in actual connection time. | | | | | | | | Default Value: 60000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.maximumUsageNumber | The maximum number of times a single connection can be used. | 100 | | | | | | | Default Value: 100 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.numberOfIndexingThreads | The number of threads available for indexing. | 5 | | | | | | | Default Value: 5 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.indexingTimerTaskTime | The time in milliseconds between indexing. | 604800000 | | | | | | | Default Value: 604800000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.indexingInitialDelay | The delay in milliseconds before first indexing is executed. | 3600000 | | | | | | | Default Value: 3600000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.maximumIndexDelay | The time in milliseconds that an indexing thread will wait when it | 5000 | | | can't get a doc id before retrying the indexing. | | | | | | | | Default Value: 5000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.runDBConnectionRecycleThread | Determines whether the database connection pool should run a thread to | off | | | recycle connections. Possible values are "on" and "off" | | | | | | | | Default Value: off | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.cycleTimeOfDBConnection | The time in milliseconds between connection recycling runs. | 30000 | | | | | | | Default Value: 30000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.queryignoredparams | Parameters to ignore in a structured XML query. | enableediting | | | | | | | Default Value: enableediting,foo | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.usexmlindex | Determines whether to use XML indexes when finding | true | | | documents. Possible values are true and false. | | | | | | | | Default Value: true | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.appResultsetSize | Determines the number of results that can be returned to an application from a query. | 7000 | | | | | | | Default Value: 7000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.webResultsetSize | Determines the number of results that can be returned to a | 7000 | | | Web browser from a query. | | | | | | | | Default Value: 7000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.xmlReturnfieldCount | If the query results of a query are returned more times | 0 | | | than this value, then those results will be inserted into the xml_queryresult | | | | table in the database. For example, if you want results for | | | | a query to be stored in xml_queryresult only when it has been requested | | | | 50 times, set this value to 50. | | | | | | | | Default Value: 0 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.queryresultStringLength | The max size of the query result string in the queryresult table. This | 500000 | | | should be set to some number less than 4000 if an Oracle | | | | database is being used. | | | | | | | | Default Value: 500000 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.queryresultCacheSize | The number of query results that will be cached. | 500 | | | | | | | Default Value: 500 | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ | database.queryCacheOn | Determines whether query caching is turned on. Possible values are "on" and "off" | on | | | | | | | Default Value: on | | +--------------------------------------------+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------+ Authorization and Authentication Properties ------------------------------------------- Metacat's authorization and authentication properties are described in the table below. Properties that can only be edited manually in the ``metacat.properties`` file are highlighted. All others are managed with the properties configuration utility. Authorization and Authentication Properties +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | Property | Description | Example | +===================================+===============================================================================+===============================================+ | auth.class | The class used for user authentication. Currently, only the AuthLdap | edu.ucsb.nceas.metacat.AuthLdap | | | class is included in the Metacat distribution. | | | | Note: If you implement another authentication strategy by implementing a Java | | | | class that extends the AuthInterface interface and rebuilding Metacat, | | | | change this property to the fully qualified class name of your custom | | | | authentication mechanism. | | | | | | | | Default Value: edu.ucsb.nceas.metacat.AuthLdap | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.timeoutMinutes | The number of minutes that a user will stay logged in to Metacat | 180 | | | without any activity. | | | | | | | | Default Value: 180 | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.administrators | A colon separated list of LDAP users or groups that have administrative | uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org | | | Metacat privileges. At least one user or group must be entered when | cn=yourgroup,o=NCEAS,dc=ecoinformatics,dc=org | | | Metacat is first installed and configured. All accounts must exist | | | | in LDAP in order to continue with the configuration. | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.url | The URL of the server that Metacat should use for authentication. | ldap://ldap.ecoinformatics.org:389/ | | | | | | | Default Value: ldap://ldap.ecoinformatics.org:389/ | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.surl | The URL of the server that Metacat should use for secure authentication. | ldap://ldap.ecoinformatics.org:389/ | | | | | | | Default Value: ldap://ldap.ecoinformatics.org:389/ | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.base | The base part of the distinguished name that Metacat uses for authentication. | dc=ecoinformatics,dc=org | | | | | | | Default Value: dc=ecoinformatics,dc=org | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.allowedSubmitters | A colon delimited list of users who should be allowed to submit documents | uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org | | | to Metacat. If no value is specified, all users will be | | | | allowed to submit documents. | | | | | | | | Default Value: (none) | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | auth.deniedSubmitters | A colon delimited list of users who should NOT be allowed to | uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org | | | submit documents. If no value is specified, all users will be allowed to | | | | submit documents. | | | | | | | | Default Value: (none) | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | ldap.connectTimeLimit | The time in milliseconds allowed for LDAP server connections. | 5000 | | | | | | | Default Value: 5000 | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | ldap.searchTimeLimit | The time in milliseconds allowed for LDAP server searches. | 3000 | | | | | | | Default Value: 30000 | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | ldap.searchCountLimit | The number of return entries allowed for LDAP server searches. | 30000 | | | | | | | Default Value: 30000 | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | ldap.referral | The type of LDAP referrals to use. Possible values are "follow", | follow | | | "throw" or "none". Refer to LDAP documentation for further information. | | | | | | | | Default Value: follow | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | ldap.onlySecureConnection | Determines whether to use only a secure LDAP server. | false | | | Acceptable values are "true" and "false". | | | | | | | | Default Value: false | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ | ldap.onlySecureReferalsConnection | Determines whether to only use a secure referral server. | false | | | Acceptable values are "true" and "false". | | | | | | | | Default Value: false | | +-----------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------+ XML/EML Properties ------------------ Metacat's XML/EML properties are described ibelow. Properties that can only be edited manually in the metacat.properties file are highlighted. XML/EML Properties +-----------------------+------------------------------------------------------------------+---------------------------------------------------+ | Property | Description | Example | +=======================+==================================================================+===================================================+ | xml.saxparser | The SAX parser used to parse XML documents. Metacat | org.apache.xerces.parsers.SAXParser | | | requires a SAX2-compatible XML parser. | | | | | | | | Default Value: org.apache.xerces.parsers.SAXParser | | +-----------------------+------------------------------------------------------------------+---------------------------------------------------+ | xml.eml2_0_0namespace | The namespace of EML 2.0.0 documents. | eml://ecoinformatics.org/eml-2.0.0 | | | | | | | Default Value: eml://ecoinformatics.org/eml-2.0.0 | | +-----------------------+------------------------------------------------------------------+---------------------------------------------------+ | xml.eml2_0_1namespace | The namespace of EML 2.0.1 documents. | eml://ecoinformatics.org/eml-2.0.1 | | | | | | | Default Value: eml://ecoinformatics.org/eml-2.0.1 | | +-----------------------+------------------------------------------------------------------+---------------------------------------------------+ | xml.eml2_1_0namespace | The namespace of EML 2.1.0 documents. | eml://ecoinformatics.org/eml-2.1.0 | | | | | | | Default Value: eml://ecoinformatics.org/eml-2.1.0 | | | | | | | xml.packagedoctype | The doctype of a package file. The system will only | -//ecoinformatics.org//eml-dataset-2.0.0beta6//EN | | | recognize documents of this type as package files. | -//ecoinformatics.org//eml-dataset-2.0.0beta4//EN | | | See: package documentation. | | | | | | | | Default Value: -//ecoinformatics.org//eml-dataset-2.0.0beta6//EN | | +-----------------------+------------------------------------------------------------------+---------------------------------------------------+ | xml.accessdoctype | The doctype of an access control list (ACL) file. The system | -//ecoinformatics.org//eml-access-2.0.0beta6//EN | | | will only recognize documents of this type as | -//ecoinformatics.org//eml-access-2.0.0beta4//EN | | | access files. See: access control documentation. | | | | | | | | Default Value: -//ecoinformatics.org//eml-access-2.0.0beta6//EN | | +-----------------------+------------------------------------------------------------------+---------------------------------------------------+