HARP Configuration Reference
All three HARP components - admin webapp, portal webapp, and content engine - are
configured using a
harp.properties
file. Not all settings apply to all
components, but the same file contents are used for all three.- For web applications,
harp.properties
is located at/var/harp/harp.properties
but cna be overridden by modifying the harp.properties<Environment>
entry in the web applications' context XML files in/etc/tomcat7/Catalina/localhost
. - For the content engine, it is located at
/var/harpengine/config/harp.properties
but can be overridden via the HARP_CONFIG environment variable.
Important: The HARP configuration file contains usernames and passwords for various
other components. As such, its read permissions should be considered carefully, and
storage of
the file outside of secured instances should be done very thoughtfully.
Important: Unless otherwise noted, the configuration settings for all components in a
HARP environment must match across all components.
MongoDB Configuration Settings
harp.mongo.host | The hostname/IP address of the MongoDB server. |
harp.mongo.port | The port number for MongoDB. |
harp.app.datastore.db | Database name for the application database. |
harp.app.datastore.user | User name for the application database. |
harp.app.datastore.password | Password for the application database. |
harp.repo.datastore.db | Database name for the content repository. |
harp.repo.datastore.user | User name for the repository database. |
harp.repo.datastore.password | Password for the repository database. |
harp.security.datastore.db | Database name for the database containing usernames and passwords.. |
harp.security.datastore.user | User name for the security database. |
harp.security.datastore.password | Password for the security database. |
harp.log.datastore.db | Database name for the access log database. This is a separate database due to the fact that it will experience many writes and we don't want to impact the performance of other systems. |
harp.log.datastore.user | User name for the access log database. |
harp.log.datastore.password | Password for the access log database. |
RabbitMQ Configuration Settings
harp.rabbit.server | Host name or IP of the RabbitMQ instance. |
harp.rabbit.port | Port to use when connecting to RabbitMQ. |
harp.rabbit.user | RabbitMQ username. |
harp.rabbit.password | RabbitMQ password. |
harp.rabbit.notificationListenerThreads | The number of threads the system should use to listen for notifications from RabbitMQ. Notifications are small messages broadcast to all nodes in the system, generally to notify systems of changes to data to affect their removal from local caches. The default is 2, and should generally not be changed. This setting may vary across components. |
harp.rabbit.notificationExchange | The RabbitMQ exchange being used for notifications. The default is "harp.notifications" and should generally not be changed. |
harp.rabbit.eventHandlerThreads | The number of threads the system should use to listen for events. This setting only applies for content engine nodes, and may vary across nodes (e.g. one content engine might have 4 threads while another only has 2), though this is discouraged. An event is generally a request for the content engine to do some sort of potentially processing-intensive work. For this reason, this setting should generally not exceed the 1.5x the number of CPUs available on the instance, though reasonably good performance has been seen at up to 2x. |
harp.rabbit.eventsQueue | The RabbitMQ queue used to distribute events to work engine nodes. The default is "harp.events" and should generally not be changed. |
harp.rabbit.channelCacheSize | The size of the connection pool to use when connecting to RabbitMQ for purposes of sending and receiving messages. |
harp.rabbit.prefetch | The number of events to accept from RabbitMQ in a block. The fetched messages are delivered by solr in a single network transmission, improving performance, and the content engine thread will work through each one one-at-a-time. Each thread will pull this many messages at a time. |
harp.rabbit.txSize | The number of messages to acknowledge at once after they've been completed. These acknowledgements are stored up until this threshold is reached and then acknowledged using a single network message, improving performance. |
Solr Configuration Settings
HARP uses three Solr indexes for different kinds of data, each with its own URL. The
three URLs, using the default core names, are of the form
http://$solr-address:8080/solr/$core-name
.solr.mainCore.url | The main content full text index. The default core name for this index is harp-dev. |
solr.metadataCore.url | Core used to provide autocomplete in the metadata authoring UIs. The default core name for this index is harp-metadata |
solr.metadataValuesCore.url | Core used to provide autocomplete in the metadata authoring UIs. THe default core name for this index is harp-metadata-values. |
E-Mail Configuration Settings
All e-mail messages are sent from Content Engine nodes, so these settings only apply
for such instances.
email.host | SMTP server location |
email.port | Port number |
email.username | User name |
email.password | Password |
email.protocol | The server protocol, almost always "SMTP". |
email.from | The 'from' address for sent e-mails. |
email.fromName | The display name for the e-mail sender. |
email.javaMailProperties.mail.smtp.auth | true/false. Configures whether authentication is required by the SMTP server. |
email.javaMailProperties.mail.smtp.starttls.enable | true/false. Configures whether to connect using starttls. |
email.javaMailProperties.mail.smtp.ssl.enable | true/false. Whether to connect using SSL. |
ImageMagick Configuration Settings
HARP uses a program called ImageMagick to convert print-oriented graphics into
web-friendly formats. All such conversion is performed in the Content Engine, so these
settings
only apply to content engine nodes.
harp.imagemagick.convert | The full convert command. On non-Windows systems, this can almost
always be simply "convert". For Windows systems, you may need to specify the full
path to
ImageMagick's convert.exe file, since Windows may have a completely
different convert command on the system's
%PATH%. |
harp.imagemagick.convert.args | Command-line arguments to pass to the convert command. |
ReCaptcha Configuration Settings
HARP uses ReCaptcha captchas for its new user page. It's best practice to obtain
private ReCaptcha keys for different installations. These settings only apply for
the admin
webapp.
harp.recaptchaPublicKey | The public key. |
harp.recaptchaPrivateKey | The private key. |
Other Configuration Settings
newUser.requireVerification | true/false. Whether new users are required to authenticate their e-mail addresses. Disable this for cases where there is no web server configured, since users will never receive the 'welcome' email containing their verification link. |
harp.web.jsdebug | true/false. Whether the admin webapp should use the uncompressed compressed javascript and CSS source files (true) or the compressed and minified files (false). Should always be false in production environments. |
web.url | The base URL of the admin web application, used in generating URLs in e-mail addresses and a few other places. |
web.appUrlPrefix | The URL path to the admin webapp under web.url. |
web.contentServletPath | The content base path underneath the admin webapp. Should never be changed. |
web.pubsUrlPath | The publication base path underneath the admin webapp. Should never be changed. |
web.previewUrlPath | The path to the project explorer URL under the admin webapp. Should never be changed. |
harp.ehcache.config | All harp components manage caching using EhCache. This specifies the configuration file for EhCache, and should rarely if ever be changed. |