wiki:CoreConfiguration

Officeshots server configuration

Officeshots has many different configuration settings in core.php. This page attempts to document all Officeshots-specific settings and all CakePHP settings that need to be set to a certain value. For the other general CakePHP settings, please refer to CakePHP Core Configuration Variables

Core configuration

debug
This should be set to 0 for production use.
Routing.admin
This must be set to "admin". Officeshots uses CakePHP admin routing.
Config.language
The default language used by Officeshots. These are three letter language codes.
Email.admin
The administrator's e-mail address. Also used as the From: address in system e-mails like registration confimations.
Auth.allowAnonymous
Set to true to allow anonymous users to submit requests to Officeshots
Auth.allowRegister
Set to true to allow new member registrations
Auth.limitRegister
Set to false to allow anyone to register for an account. You can also set it to the full path of a text file that contains a whitelist of e-mail addresses (one per line).
Request.limitAnonymous
The maximum number of requests per day for an anonymous user (based on IP address)
Request.limitRegistered
The maximum number of requests per day for registered users (based on user ID)
Request.expire
The number of seconds before a request expires
Request.meta_refresh
The number of seconds between automatic refreshes of a request page
Job.locktime
The number of seconds that a job is locked after it has been sent to a FactoryClient?. If a factory does not respond with a result within this time, the job may be given to a different factory.
Job.maxfailures
The maximum amount of times that a job can be given to a factory without getting a result back. If a job passes this threshold, it will be permanently disabled.
Factory.polltime
How often factories should poll the central server, in seconds. If a factory does not show any activity for this time period, it will be marked inactive and it's applications will not be shown on the front page.
Factory.stabletime
How long (in seconds) it takes for an active factory to become stable. Test suite documents are only given to stable factories. This to prevent accidentally overloading an in-development or volatile factory with thousands of documents.
Clamd
Set to false to disable scanning uploaded files with ClamAV. Or set it to an array to activate it.
Clamd.host
The host where ClamAV is running as a service
Clamd.port
The TCP port that ClamAV is listening on
Clamd.timeout
A timeout in seconds. If ClamAV does not respond within this time, Officeshots will assume that scanning has failed. The document will not be processed.
Validator
An array of ODF validators that should be used to test ODF documents. To disable ODF validators, simply remove them.
Validator.Cyclone
Configuration for the Cyclone3 ODF validator. The value should be a full path to the locally installed validate.pl
Validator.Officeotron
Complete URL to the remote Office-o-tron ODF validator webservice
Validator.ODFToolkit
Complete URL to the remote ODF toolkit validator webservice
Anonymiser.path
Full path to the locally installed iodf-greek.py script from iTools.
Testsuite.user_id
User ID of the user where all testsuite jobs and galleries should be assigned to
Testsuite.group_id
ID of the user group that all testsuite galleries should be assigned to. All users of this group can edit the testsuite gallery descriptions.
Gallery.abbreviate
If there are more than this many files in a gallery, it will be shown in abbreviated form (i.e. no individual results, just a tree of requests). This greatly reduces load on the server.
Cron
An array of cron jobs. These cron jobs are executed by the Officeshots background daemon, not by the system cron. Officeshots does not need a system cron. These jobs are executed at the specified interval (in seconds) and whenever the background daemon (re)starts.
Cron.testsuite_refresh
The gallery pages for test suites are cached for performance reasons. Test suites can get very large, very quickly. This cron job is responsible for refreshing the caches.
Cron.expire_requests
This cron job marks requests as "expired" when they have been running for too long (see also Request.expire above)
Cron.testsuite_jobs
This cron job makes a list of all stable, active factories and makes sure that there are jobs for these in the test suites. Any missing jobs will be created. Existing jobs will never be removed.

Beanstalkd configuration

The main Officeshots website communicates with the background daemon using the Beanstalkd workqueue manager. Beanstalkd should already be running on your server. The client configuration goes in the {{{BeanStalkManager::config}} array. The default settings are adequate fro Officeshots. You should only need to change the "servers" setting. Only change the other settings if you know what you are doing!

servers
An array of Beanstalkd servers in the form of <ip-address:port>. One server is normally enough. Officeshots is capable of running distributed (one central server with many background daemons on different machines) so it is possible to use multiple beanstalkd servers.
select
How to select between different Beanstalkd servers. "random wait" is good for just one Beanstalkd server. Other options are "sequential wait", "random peek" and "sequential peek". Note that using one of the "peek" variants may consume a lot of CPU power because Officeshots will be hopping from one Benastalkd server to the next, until it finds some work. See also "peek_usleep" below.
connection_timeout
In seconds. peek_usleep: How long to sleep (in microseconds) between subsequent peeks on different Beanstalkd servers.
connection_retries
How often to reconnect to Beanstalkd default_tube: Which tube (or channel) to post the Officeshots messages on. If you run multiple instances of Officeshots on the same server (i.e. a production version and a development version) then they should all speak on different tubes.
auto_unyaml
Should be set to false.
Last modified 9 years ago Last modified on 06/25/10 14:33:18