Simple Groupware Administration: Configuration

The system configuration is a small form which lets you change some system parameters. These parameters include the database credentials, authentication modes, settings for debugging, parameters that influence caching, settings for the virus scanner, etc. In order to make changes to these parameters, log in as super administrator, navigate to "/Workspace/System" and choose "Change setup settings".

Note: The System configuration can only be accessed by the super administrator.


Authentication / Authentication mode


Authentication mode defines how to verify user credentials (username, password):

  • The default is "SQL", which uses the database table "simple_sys_users" to validate usernames and password.
  • "Apache based" uses Apache's built-in authentication. This can be a database, an .htaccess file, etc.
  • For NTLM, see NTLM / Single sign-on
  • For LDAP, see LDAP / Active Directory
  • Using IMAP or SMTP as authentication mode, tries to validate user credentials against a mail server. You need to provide a hostname or an IP address, port and SSL/TLS are optional. Example: mailserver:993:ssl


Other settings

  • Admin Username / Password: The username / password of the super administrator. The super administrator has access to all folders, can directly manipulate the database
  • Enable automatic user creation: Using an authentication mode different from SQL, every user still needs an account within Simple Groupware. You can create these accounts manually or check the option "Enable automatic user creation" to let Simple Groupware create the user's account automatically, when he logs in for the first time.
  • Require admin access to set mountpoints: If enabled, users will need the "admin" right assigned to the folder in order to create, edit or remove a mountpoint. A mountpoint is a definition for an external data source that can be bound to a special folder (e.g. IMAP, POP3, CSV, CIFS, etc.). See the data handlers for more information about mountpoints.

    Note: If a user changes the password of an account used in a mountpoint, the password also needs to be changed in the mountpoint definition.
  • Disable basic authentication: In some configurations, basic authentication from the web server is handled over to PHP (normally configured in a .htaccess file). Simple Groupware also uses basic authentication in case there is no session available (e.g. WebDAV or direct file downloads). By activating this setting, Simple Groupware only uses credentials provided in the login form.
  • Enable anonymous access: Enables or disables anonymous access to Simple Groupware. That means users will be able to get access without entering a username or a password. Access will be given to all folders that have read/write permissions set for user "anonymous".
  • Enable anonymous CMS: Enables or disables anonymous access to the CMS. That means users will be able to access contents of the CMS module without entering a username or a password. Access will be given to all folders and assets that have read/write permissions set for user "anonymous".
  • User self registration: To enable self registration, you need to create a new folder and assign the module "System: Self registration" to it. Then allow anonymous users to read and write the folder. Also "anonymous access" needs to be enabled in setup settings. All new entries in the new folder will be placed under "/Workspace/Organisation/Users".


E-mail reminders


Simple Groupware can automatically send e-mail reminders for upcoming events like birthdays, anniversaries, appointments, password or account expiries, open tasks and open contact activities. All reminders are sent via e-mail. The mail recipients for each dataset are defined in its notification field. All jobs are scheduled Monday to Friday at 5pm.


The default configuration sends these reminders

  • Users: Password or account expires in the next 5 days
  • Users: Birthday or anniversary is in the next 2 days
  • Contacts: Birthday is in the next 2 days
  • Contact activities: Begin is in the next 2 days or activity is open
  • Tasks: Begin is in the next 2 days or task is open
  • Calendar: Appointment starts in the next day or starts in x minutes, where x is defined in the reminder field of the appointment


Activate the reminders

Please configure your system to run the script at "http(s)://your_server/sgs-dir/bin/cron.php" every 5 minutes (e.g. by using cron and wget). Also a mail identity for the user "cron" is required for sending out the mails. Crontab example:

*/5 * * * * wget -q -O /tmp/sgs_cron.log http(s)://your_server/sgs-dir/bin/cron.php

Note: If you can't run the script every 5 minutes, please make sure to adapt the "cron frequence" which is the time in seconds between the runs, see below.

Note: The cron script can be debugged by running it manually with "cron.php?debug".

Note: Setting up scheduled tasks with Windows Server 2003 is described here. A Win32 version of wget can be found here, information about using cron with Linux/Unix can be found here.


Setup settings

  • SMTP mail reminder: When sending out mails as reminder, this text will be used in the subject.
  • SMTP mail notification: When sending out mails for notification, this text will be used in the subject.
  • Use the mail() function for sending mails: When enabled, mails are sent with the system's sendmail command. For Windows, the SMTP connection configured in php.ini will be used. The mail function does not require any authentication, so if enabled, any user can send mails. Also there is no confirmation if the mail is stored in the queue.
  • Use the syslog() function for logging events: When enabled, system events are sent to the system's syslog. For Windows, the Windows Event Log will be used. When disabled, all events are stored under "/Workspace/System/Events" (default).
  • CRON_FREQUENCE: Time in seconds to tell the system how often the cron job (cron.php) is running. The default value is 300 which means that the cron job is started every 5 minutes.


Virus scanner


There are three options to set: The first one is the path and the program name of the virus scanner (e.g. /usr/scanner/scan or c:/scanner/scan.exe), the second one defines the parameters (e.g. /ANALYZE /PANALYZE) and the third one is an output filter used to reduce the output of the virus scanner.

The third parameter contains a string that is searched in the output. If it is found, the output will only show the line beginning with the end of the string specified.

The second parameter contains the parameters for the virus scanner. Often virus scanners only provide an exit code and write the details into a report file. You can use the wildcard "@file_error@" to let Simple Groupware specify a temporary file and parse the contents of this file with the display filter defined in the third parameter.


Example for BitDefender scanner (win32)

  • Virus scanner: C:/Program Files/common files/softwin/bitdefender scan server/bdc.exe
  • Parameters: /arc /mail >@file_error@
  • Display filter: infected:

All BitDefender products integrate the command-line option. You can even run the signature update from the command-line by using "bdc.exe /update".


Example for McAfee command-line scanner (win32)

  • Virus scanner: c:/sdat4795/scan.exe
  • Parameters: /ANALYZE /MANALYZE /PANALYZE /MAILBOX /MIME /NOBOOT /NOMEM /PROGRAM /UNZIP /REPORT @file_error@
  • Display filter: Found:


Example for ClamWin command-line scanner (win32, free)

  • Virus scanner: D:/Program Files/ClamWin/bin/clamscan.exe
  • Parameters: -d "D:/Documents and Settings/All Users/.clamwin/db" -i -u -k --no-summary --detect-broken >@file_error@
  • Display filter: FOUND


Example for BitDefender scanner (linux)

  • Virus scanner: /usr/bin/bdc
  • Parameters: --arc --mail --disinfect >@file_error@
  • Display filter: infected:


Example for F-Prot command-line scanner (linux)

  • Virus scanner: /usr/local/bin/f-prot
  • Parameters: -packed -server -disinf -archive=10 -ai -silent -report=@file_error@
  • Display filter: Infection:


Database settings


  • Database Hostname / IP: The hostname or IP address of the database server.
  • Database User / Password: The username / password used to connect to the database server.
  • Database Name: The name of the database on the database server.


Other settings


  • Application title: The application title is a text displayed in the page title of every page.
  • CMS homepage title: The page title displayed in the CMS under "<sgs-dir>/bin/cms.php".
  • Default page in the CMS: When viewing the CMS frontend, the starting page is identified by this page name.
  • Real URL format in the CMS: Normally all URLs look like "cms.php?page=<page>". Using "/cms/" as format changes all URLs to sth like "/cms/<page>". In order to get the redirects working, an .htaccess file is required.
  • SMTP mail footer: When sending out mails with the SMTP module, this text will be automatically put at the end of every mail. The default is "Sent with Simple Groupware" but you can change it to your needs (disclaimer, advertising, etc.).
  • Enable external mail client for "mailto:" links: If enabled, clicking a mail address or a mailto: link will open the default email program on the client (Thunderbird, Outlook, etc.). If disabled, a Simple Groupware form will come up to compose a new mail.

    Note: To use "mailto:" links with your favorite mail client, the "mailto" protocol needs to be registered on the client machine. You can test this under windows by using Start->run and "abc@def.com".
  • Use Debian binaries: Most hosting companies use Debian on their servers, but they don't install packages like catdoc, xpdf or unzip. Also sometimes the packages are installed, but the webpage is running in a chroot environment which forbids to execute these binaries. Using this option, you can directly use Debian binaries included in the Simple Groupware packages.

    Note: These packages may not be the latest versions, so you should only use them in combination with a virus scanner.
  • Force SSL (force_ssl): Forces secure communication between the client and the server. All connections using http://<sgs-server> are automatically forwarded to https://<sgs-server>.
  • Check DoS Attacks: When the Denial of Service detection is activated, client machines requesting more than 2 pages per second receive a delay for 1 second.
    Note: Clients may be delayed although the server CPUs are not on their limit.
    So if you're using another load balance / protection system or if you only have a small number of users you can trust, you can turn this off. Also when using the Simple Groupware Client, syncing datasets will be faster when this setting is off.
  • Compress output: Automatically compress the pages. This is very useful when clients are connected with Modem or ISDN lines.
  • Cache output: Caches all pages to the hard disk. This takes more disk space but speeds up output rendering. That's very useful if you have lots of anonymous access.
  • Default theme: That's the default theme that is set for the first login of a user. This setting will also be used for anonymous users.
  • Week start: This setting defines the starting day of the week (normally Sunday or Monday). That's the default setting for all users. After changing this value, you might also need to clear the session cache
  • Time zone: If the server's default time zone is different from your location, use this setting to change the default time zone for all users. Valid time zones are listed here
  • Session name in cookie: identifier for the session id parameter in the cookie. Should be different for different installations on the same server.
  • Sync4j database path: The location of the Sync4j filesystem database (e.g. D:/Program Files/Funambol/ds-server/db/ for Windows)
  • Sync4j remote delete items: Check this item to allow Sync4j to delete items remotely. Then, deleting items on a mobile device will also delete these items in Simple Groupware.
  • SIMPLE_CACHE: The temporary directory that is used for storing caches. The default is "../simple_cache" which points to "<sgs-dir>/simple_cache".
  • SIMPLE_IMPORT: Contains a comma separated list of directories which can be used for importing files. Directories can be relative (e.g. ../import/) or absolute (/usr/local/..., c:/import/). After changing the value, please logout and login again. The default is "../import/" which points to "<sgs-dir>/import/".


Debug settings


  • DEBUG:
    All requests are written to "<sgs-dir>/simple_cache/debug/capture.txt"
    Output caching using HTTP headers is disabled
    Denial of Service protection is disabled
    Memory usage gets displayed in the page title
    Schema_data cache invalidation is displayed at the top of a page
    "Enable automatic user creation" is also active for SQL as authentication mode.
  • DEBUG_SQL: When activated, all database queries are written to "<sgs-dir>/simple_cache/debug/sql.log".
  • DEBUG_SQL_FULL: When activated together with DEBUG_SQL, all database queries and their back-traces will be written to "<sgs-dir>/simple_cache/debug/sql.log".
  • DEBUG_IMAP: When activated, the IMAP communication is presented directly on the web page output (applied to all users).
  • DEBUG_POP3: When activated, the POP3 communication is presented directly on the web page output (applied to all users).
  • DEBUG_SMTP: When activated, the SMTP communication is presented directly on the web page output (applied to all users).


Timeouts / Limits


  • Maximum number of assets per page: Defines the maximum number of datasets to display on one page. Higher values than 100 might need bigger settings for "memory_limit" and "max_execution_time" in your "php.ini".
  • Login / session timeout: The maximum time in seconds a session stays active without any action from the user. The default value is 30 minutes (=1800 seconds). Every action from the user makes the session again active for another 30 minutes.
  • LOCKING: When two users open a dataset in the edit view, a notification is displayed for the second user. This notification is displayed for 15 minutes (=900 seconds) after the first user enters the edit mode.
  • CSV_CACHE, BOOKMARKS_CACHE, ICALENDAR_CACHE, RSS_CACHE, VCARD_CACHE, XML_CACHE, IMAP_CACHE, LDAP_CACHE: Time in seconds that is used for caching external data sources.
  • IMAP_LIST_CACHE, IMAP_MAIL_CACHE, POP3_LIST_CACHE, POP3_MAIL_CACHE: Time in seconds that is used for caching mail listings and mail bodies.
  • OUTPUT_CACHE: Time in seconds that defines how long output pages are kept in the cache before recaching them.
  • INDEX_LIMIT: The maximum amount of bytes that are stored in the database for searching datasets. The default value is 16kb (=16384 bytes).
  • FILE_TEXT_CACHE: Time in seconds that is used for caching contents of file previews (e.g. for .pdf, .doc, .ppt, etc.). The default is 180 days.
  • FILE_TEXT_LIMIT: The maximum amount of characters that are shown in the file previews (e.g. for .pdf, .doc, .ppt, etc.). The default value is 3000 characters.
  • max_execution_time (from php.ini): Maximum time in seconds that a PHP script can take to run and build the page (default is 30 seconds).
  • memory_limit (from php.ini): Maximum amount of memory a PHP script can take to run and build the page (default is 8M which stands for 8 megabytes). This setting needs to be enabled when compiling PHP. Note that this is disabled by default for the Windows binaries.