Version 4 (modified by sander, 11 years ago) (diff)


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

This should be set to 0 for production use.
This must be set to "admin". Officeshots uses CakePHP admin routing.
The default language used by Officeshots. These are three letter language codes.
The administrator's e-mail address. Also used as the From: address in system e-mails like registration confimations.
Set to true to allow anonymous users to submit requests to Officeshots
Set to true to allow new member registrations
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).
The maximum number of requests per day for an anonymous user (based on IP address)
The maximum number of requests per day for registered users (based on user ID)
The number of seconds before a request expires
The number of seconds between automatic refreshes of a request page
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.
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.
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.
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.
Set to false to disable scanning uploaded files with ClamAV. Or set it to an array to activate it.
The host where ClamAV is running as a service
The TCP port that ClamAV is listening on
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.
An array of ODF validators that should be used to test ODF documents. To disable ODF validators, simply remove them.
Configuration for the Cyclone3 ODF validator. The value should be a full path to the locally installed
Complete URL to the remote Office-o-tron ODF validator webservice
Complete URL to the remote ODF toolkit validator webservice
Full path to the locally installed script from iTools.
User ID of the user where all testsuite jobs and galleries should be assigned to
ID of the user group that all testsuite galleries should be assigned to. All users of this group can edit the testsuite gallery descriptions.
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.
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.
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.
This cron job marks requests as "expired" when they have been running for too long (see also Request.expire above)
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!

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.
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.
In seconds. peek_usleep: How long to sleep (in microseconds) between subsequent peeks on different Beanstalkd servers.
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.
Should be set to false.