The most dynamic Metacat Properties are managed using Metacat’s Configuration Interface (see Configuring Metacat). 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:
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 the physical name of the server running Metacat. The host name should not include the protocol prefix (http://). Default Value: localhost |
knb.ecoinformatics.org |
server.httpPort |
The network port used to access Metacat for non-secure (standard) connections. This is usually 80 if Apache Web server is running, and 8080 if Tomcat is running alone. Default Value: 80 |
80 |
server.httpSSLPort |
The network port used to access Metacat for secure connections. This is usually 443 if Apache Web server is running, and 8443 if Tomcat is running alone. Default Value: 443 |
443 |
server.internalName |
The internal network host name used to access Metacat. It is used to improve performance since it bypasses the external network interface to directly access files, e.g. schema and style sheet files located within Metacat itself. The host name should not include the protocol prefix (http://). Default Value: localhost |
localhost |
server.internalPort |
The network port used to access Metacat for the internal server name. This is usually 80 if Apache Web server is running, and 8080 if Tomcat is running alone. Default Value: 80 |
80 |
Metacat’s application properties are described below. Properties that can only
be edited manually in the metacat.properties
file are marked. 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 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) |
1.9.0 |
application.metacatReleaseInfo* | Release information for display purposes. Typically the property is set during the release candidate cycle to let users know which candidate they are downloading. | Release Candidate 1 |
application.deployDir |
The directory where Web applications are deployed. Usually, the value is a directory named “webapps” in the Tomcat installation directory. | /usr/local/tomcat/webapps |
application.context |
The name of the Metacat application directory in 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. | knb |
index.context |
The name of the Metacat index webapp in the deployment directory. Most commonly, this is “metacat-index”, but it can be changed if needed. | metacat-index |
ui.context |
The name of the Metacat UI directory in the deployment directory. Often the UI is deployed as the ROOT webapp, in which case the property should be blank (“”). | metacatui |
application.default-style |
A custom Metacat Web skin usually associated with an organizational theme. If your organization has no custom skin, leave the value as “default”. | default |
application.knbSiteURL |
The main KNB website. Default Value: http://knb.ecoinformatics.org |
http://knb.ecoinformatics.org |
application.datafilepath |
The directory in which to store data files. The directory should 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 |
/var/metacat/data |
application.inlinedatafilepath |
The directory where inline data files will be stored. Inline
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
Default Value: /var/metacat/inline-data |
/var/metacat/inline-data |
application.documentfilepath |
The directory where metadata files will be stored.
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
Default Value: /var/metacat/documents |
/var/metacat/documents |
application.tempDir |
The directory where the Metacat data registry stores temporary
files. The directory should not be the same as Default Value: /var/metacat/temporary |
/var/metacat/temporary |
solr.homeDir |
The directory where the Metacat index component stores the SOLR index. The directory must be writable by the user that starts Tomcat. Default Value: /var/metacat/solr-home |
/var/metacat/solr-home |
Metacat’s database properties are described next. Properties that can only be edited manually in the metacat.properties file are marked. 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.
The URI is formatted like: Default Value: jdbc:postgresql://localhost/metacat |
jdbc:postgresql://yourserver.yourdomain.edu/metacat |
database.user |
The user for the main database instance of Metacat. The user must have already been created on the database. | metacat-user |
database.password |
The password of the user for the main database instance of Metacat. The password must have already been created for the user. | securepassword4843 |
database.type |
The type of database you are running. Currently, there are two supported types, Oracle and Postgres. | postgres |
database.driver |
The JDBC driver to be used to access the main database instance of Metacat. There is one driver associated with each type of database. | org.postgresql.Driver |
database.adapter |
The adapter class that allows Metacat to access your database type. There is one adapter associated with each type of database. | edu.ucsb.nceas.dbadapter.PostgresqlAdapter |
database.scriptsuffix.<database_type> |
The script suffix tells the system which database scripts to run (postgres or oracle) when installing or updating database schema. Default Values: database.scriptsuffix.postgres=postgres.sql database.scriptsuffix.oracle=oracle.sql |
postgres.sql |
database.upgradeVersion.<database_version> |
Which database scripts to run when updating database schema. There is a 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.upgradeVersion.2.0.0=upgrade-db-to-2.0 |
upgrade-db-to-1.2 |
database.initialConnections* | The number of initial connection that Metacat creates to the database. Default Value: 5 |
5 |
database.incrementConnections* | The number of connections Metacat creates when it requires more connections. Default Value: 5 |
5 |
database.maximumConnections* | The maximum number of database connections Metacat can make. Default Value: 200 |
25 |
database.maximumConnectionAge* | The maximum time in milliseconds that a database connection can live. Default Value: 120000 |
120000 |
database.maximumConnectionTime* | The maximum time in milliseconds that a database connection can accumulate in actual connection time. Default Value: 60000 |
60000 |
database.maximumUsageNumber* | The maximum number of times a single connection can be used. Default Value: 100 |
100 |
database.numberOfIndexingThreads* | The number of threads available for indexing. Default Value: 5 |
5 |
database.indexingTimerTaskTime* | The time in milliseconds between indexing. Default Value: 604800000 |
604800000 |
database.indexingInitialDelay* | The delay in milliseconds before first indexing is executed. Default Value: 3600000 |
3600000 |
database.maximumIndexDelay* | The time in milliseconds that an indexing thread will wait when it can’t get a doc id before retrying the indexing. Default Value: 5000 |
5000 |
database.runDBConnectionRecycleThread* | Determines whether the database connection pool should run a thread to recycle connections. Possible values are “on” and “off” Default Value: off |
off |
database.cycleTimeOfDBConnection* | The time in milliseconds between connection recycling runs. Default Value: 30000 |
30000 |
database.queryignoredparams* | Parameters to ignore in a structured XML query. Default Value: enableediting,foo |
enableediting |
database.usexmlindex* | Determines whether to use XML indexes when finding documents. Possible values are true and false. Default Value: true |
true |
database.appResultsetSize* | Determines the number of results that can be returned to an application from a query. Default Value: 7000 |
7000 |
database.webResultsetSize* | Determines the number of results that can be returned to a Web browser from a query. Default Value: 7000 |
7000 |
database.xmlReturnfieldCount* | If the query results of a query are returned more times 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 |
0 |
database.queryresultStringLength* | The max size of the query result string in the queryresult table. This should be set to some number less than 4000 if an Oracle database is being used. Default Value: 500000 |
500000 |
database.queryresultCacheSize* | The number of query results that will be cached. Default Value: 500 |
500 |
database.queryCacheOn* | Determines whether query caching is turned on. Possible values are “on” and “off” Default Value: on |
on |
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 marked. 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, both the AuthFile and AuthLdap classes are 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.authentication.AuthFile |
edu.ucsb.nceas.metacat.AuthLdap |
auth.timeoutMinutes* | The number of minutes that a user will stay logged in to Metacat without any activity. Default Value: 180 |
180 |
auth.administrators |
A colon separated list of LDAP users or groups that have administrative Metacat privileges. At least one user or group must be entered when Metacat is first installed and configured. All accounts must exist in LDAP in order to continue with the configuration. | uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org cn=yourgroup,o=NCEAS,dc=ecoinformatics,dc=org |
auth.userManagementUrl |
A web page provides the user management such as creating a new user and changing password. | https://identity.nceas.ucsb.edu |
auth.file.path |
The absolute path of the password file which stores the username/password and users’ information. This file is used for the file-based authentication mechanism. Please see the Authentication details page for more information. Default Value: /var/metacat/certs/password |
/var/metacat/certs/password |
auth.url |
The URL of the server that Metacat should use for authentication. Default Value: ldap://ldap.ecoinformatics.org:389/ |
ldap://ldap.ecoinformatics.org:389/ |
auth.surl |
The URL of the server that Metacat should use for secure authentication. Default Value: ldap://ldap.ecoinformatics.org:389/ |
ldap://ldap.ecoinformatics.org:389/ |
auth.base |
The base part of the distinguished name that Metacat uses for authentication. Default Value: dc=ecoinformatics,dc=org |
dc=ecoinformatics,dc=org |
auth.allowedSubmitters |
A colon delimited list of users who should be allowed to submit documents to Metacat. If no value is specified, all users will be allowed to submit documents. Default Value: (none) |
uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org |
auth.deniedSubmitters |
A colon delimited list of users who should NOT be allowed to submit documents. If no value is specified, all users will be allowed to submit documents. Default Value: (none) |
uid=youruser,o=NCEAS,dc=ecoinformatics,dc=org |
ldap.connectTimeLimit* | The time in milliseconds allowed for LDAP server connections. Default Value: 5000 |
5000 |
ldap.searchTimeLimit* | The time in milliseconds allowed for LDAP server searches. Default Value: 30000 |
3000 |
ldap.searchCountLimit* | The number of return entries allowed for LDAP server searches. Default Value: 30000 |
30000 |
ldap.referral* | The type of LDAP referrals to use. Possible values are “follow”, “throw” or “none”. Refer to LDAP documentation for further information. Default Value: follow |
follow |
ldap.onlySecureConnection* | Determines whether to use only a secure LDAP server. Acceptable values are “true” and “false”. Default Value: false |
false |
ldap.onlySecureReferalsConnection* | Determines whether to only use a secure referral server. Acceptable values are “true” and “false”. Default Value: false |
false |
Metacat’s XML/EML properties are described below. These properties can only be edited manually in the metacat.properties file.
XML/EML Properties
Property | Description | Example |
---|---|---|
xml.saxparser | The SAX parser used to parse XML documents. Metacat requires a SAX2-compatible XML parser. Default Value: org.apache.xerces.parsers.SAXParser |
org.apache.xerces.parsers.SAXParser |
xml.eml2_0_0namespace | The namespace of EML 2.0.0 documents. Default Value: eml://ecoinformatics.org/eml-2.0.0 |
eml://ecoinformatics.org/eml-2.0.0 |
xml.eml2_0_1namespace | The namespace of EML 2.0.1 documents. Default Value: eml://ecoinformatics.org/eml-2.0.1 |
eml://ecoinformatics.org/eml-2.0.1 |
xml.eml2_1_0namespace | The namespace of EML 2.1.0 documents. Default Value: eml://ecoinformatics.org/eml-2.1.0 |
eml://ecoinformatics.org/eml-2.1.0 |
xml.packagedoctype | The doctype of a package file. The system will only recognize documents of this type as package files. See: package documentation. Default Value: -//ecoinformatics.org//eml-dataset-2.0.0beta6//EN |
-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN -//ecoinformatics.org//eml-dataset-2.0.0beta4//EN |
xml.accessdoctype | The doctype of an access control list (ACL) file. The system will only recognize documents of this type as access files. See: access control documentation. Default Value: -//ecoinformatics.org//eml-access-2.0.0beta6//EN |
-//ecoinformatics.org//eml-access-2.0.0beta6//EN -//ecoinformatics.org//eml-access-2.0.0beta4//EN |
The EML Data Manager is also included for extended data-query operations. Note that this feature is still experimental.
Property | Description | Example |
---|---|---|
datamanager.server |
The server for the Datamanager library to use for temporary db storage | localhost |
datamanager.database |
The database name for the Datamanager | datamananger |
datamanager.user |
The username for the Datamanager DB | datamananger |
datamanager.password |
The password for the Datamanager user | datamananger |
The EZID service assigning Digital Object Identifiers (DOIs) is included in the Metacat service.
Property | Description | Example |
---|---|---|
guid.ezid.enabled |
The enabled status of the EZID service | true |
guid.ezid.username |
A registered user name in the EZID service | apitest |
guid.ezid.password |
The password for the user name | |
guid.ezid.baseurl |
The base ulr of the specified EZID service | https://ezid.cdlib.org/ |
guid.ezid.doishoulder.1 |
The DOI shoulder associated with the EZId account | doi:10.5072/FK2 |
Additional configuration properties are described below, though there are many more that can be manually edited in the properties file directly.
Property | Description | Example |
---|---|---|
plugin.handlers |
Implementations of the plugin interface: edu.ucsb.nceas.metacat.plugin.MetacatHandlerPlugin can be listed Default Value: blank |
org.example.CustomActionHandler |