openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

config-all-example.yml (36999B)


      1 #  /* vim: set filetype: yml : */
      2 # 
      3 # 
      4 
      5 #  OpenRat configuration file example
      6 
      7 #  Per host configuration:
      8 #  A file 'config-<hostname>.yml' is preferred before file 'config.yml'.
      9 
     10 #  Rules for reading this file:
     11 #  1. if environment-variable 'OR_CONFIG_FILE' is set, then this value is used for the configuration filename.
     12 #  2. if environment-variable 'OR_CONFIG_DIR' is set, then a file 'config-<hostname>.yml' is read. If it does not exist,  'config.yml' is read instead.
     13 #  3. file 'config/config-<hostname>.yml' is read. If it does not exist,  'config/config.yml' is read instead.
     14 # 
     15 
     16 
     17 #  Configuration
     18 
     19 
     20 
     21 #  Start other applications out of OpenRat.
     22 #  Other applications are able to authenticate the user with a ticket id (Single Signon)
     23 #  see documentation for more details.
     24 
     25 #  The Name of the application
     26 # applications.phpmyadmin.name: PHPYourAdmin
     27 
     28 #  URL
     29 # applications.phpmyadmin.url: "https://example.com/anotherapplication/index.cgi"
     30 
     31 #  Name of the HTTP-Parameter for the Ticket-Id.
     32 #  OpenRat puts the session-id into this parameter.
     33 # applications.phpmyadmin.param: "ticketidforopenrat"
     34 
     35 #  Groups
     36 #  Only User, who are in this group, may see the application
     37 #  (optional)
     38 # applications.phpmyadmin.group: 
     39 
     40 #  A brief description of this application.
     41 # applications.phpmyadmin.description: "Your database administration"
     42 # 
     43 
     44 
     45 
     46 cache:
     47   #  Conditional-GET enables the "304 not modified" HTTP-Header
     48   #  This is much faster, but sometimes caching is unwanted
     49   #  if you have caching problems, set this to 'false'.
     50   #  Default: 'true'
     51   conditional_get: true
     52 
     53 
     54 
     55   #  Pages and files are cached in a temporary directory.
     56   #  'false' means generate each page again and again
     57   #  'true'  will cache a page's content. This will improve
     58   #          the performance, but has some side effects,
     59   #          f.e. no dynamic content will be updated.
     60   #  Default: 'false'
     61   enable_cache: false
     62 
     63 
     64 
     65   #  Directory for temporary files.
     66   #  Default: blank (means: OpenRat is using the system temporary dir)
     67   tmp_dir: ''
     68 
     69 
     70 
     71 config:
     72   #  Auto-Reload session.
     73   #  If the configuration file is changed, its content is reloaded automatically
     74   #  Default: true
     75   auto_reload: true
     76 
     77   #
     78   #  If the configuration file is changed, a new session will be created.
     79   #  Default: true
     80   session_destroy_on_config_reload:  true
     81 
     82 
     83 
     84 content:
     85   file:
     86     #  Maximum file size for uploads in KB
     87     #  Special values: 0,-1 :  not restricted
     88     #  Default: 0
     89     max_file_size: 1500
     90 
     91 
     92 
     93 
     94   #  Delete-strategy of old content.
     95 
     96   #  Values are deleted, if
     97   #  a) max-age and min-revisions are reached OR
     98   #  b) max-revisions and min-age are reached
     99   revision-limit.enabled :  false
    100 
    101   #  max age of values (days)
    102   revision-limit.max-age :  120
    103   #  min age of values (days)
    104   revision-limit.min-age :  1
    105 
    106   #  number of revisions
    107   revision-limit.max-revisions :  100
    108   revision-limit.min-revisions :  3
    109 
    110 
    111 
    112   #  If a textvalue is empty, try using the default language
    113   #  Default: true
    114   language.use_default_language :  true
    115 
    116 
    117 
    118 
    119 database:
    120   #  Database configuration.
    121   #  You have to have at least one database connection which has 'enabled: true'.
    122 
    123   #  Supported connection-types:
    124   #  - 'pdo'        A common PHP database abstraction layer for a lot of DBs.
    125   
    126   # Supported PDO drivers:
    127   #  - 'mysql'        Mysql/MariaDB
    128   #  - 'postgresql'   Postgresql
    129   #  - 'sqlite'       SQlite databases
    130 
    131 
    132 
    133   #  Default Database
    134   #  This database will be selected by default.
    135   #  There has to exist a section with this name.
    136   default: sample_db_mysql
    137 
    138 
    139 
    140   #  This is a sample database connection.
    141   #  If you want to use it, just fill out the login data and set 'enabled' to 'true'
    142   sample_db_mysql:
    143     enabled    :  false                 # set this to 'true' for using this connection
    144     comment    :  "DB MySQL"            # comment of this database
    145 
    146     type:  pdo
    147     driver: mysql
    148     user  :  dbuser                # database user
    149     password   :  dbpass                # database password
    150     host       :  localhost             # database hostname
    151     port  : 0                            # database TCP/IP-Port (optional)
    152     database   :  cms                   # database name
    153 
    154     base64     :  false                 # store binary as BASE64
    155     prefix     :  or_                   # table praefix
    156     persistent :  yes                   # use persistent connections (try this, it's faster)
    157     charset :  UTF-8
    158 
    159     #  SQL-Statement which is executed after opening the connection
    160     #  connection_sql :  "SET NAMES 'UTF8';"  ; using UTF-8 as database charset
    161     connection_sql :  ""
    162 
    163     #  System command for executing before connecting to the database.
    164     #  Maybe for installing an SSH-Tunnel.
    165     #  For background programs, you have to redirect stdin and stdout! (maybe to /dev/null)
    166     #  Example: "sudo -u u123 /usr/local/bin/sshtunnel-example.sh"
    167     #  Default: blank.
    168     cmd :  ""
    169 
    170     #  Using prepared statements.
    171     #  The 'old' mysql-interface in PHP does not support prepared statements
    172     prepare :  false
    173 
    174     #  Using transactions. Set to 'true' when you are using 'InnoDB'-tables.
    175     #  If so, maybe you need to set 'SET AUTOCOMMIT: 0' as connection_sql above.
    176     #  Default: false
    177     transaction :  false
    178 
    179     #  Readonly tables. Set to 'true' during maintainance activitys.
    180     #  If 'true', OpenRat will disable all writing operations.
    181     readonly :  false
    182 
    183 
    184 
    185     #  This is a sample database connection.
    186     #  If you want to use it, just fill out the login data and set 'enabled' to 'true'
    187   sample_db_postgresql:
    188 
    189     enabled    :  false                 # set this to 'true' for using this connection
    190     comment    :  "DB-PostgreSQL"       # comment of this database
    191 
    192     type       :  postgresql            #
    193     user       :  dbuser                # database user
    194     password   :  dbpass                # database password
    195     host       :  localhost             # database hostname
    196     port       : 0                      # database TCP/IP-Port (optional, 0=Standard port)
    197     database   :  cms                   # database name
    198 
    199     base64     :  false                 # store binary as BASE64 (in postgresql 7.x set this to 'true')
    200     prefix     :  or_                   # table praefix
    201     persistent :  yes                   # use persistent connections (try this, it's faster)
    202     charset :  UTF-8
    203 
    204     #  SQL-Statement which is executed after opening the connection
    205     connection_sql :  ""
    206 
    207     #  System command for executing before connecting to the database.
    208     #  Maybe for installing an SSH-Tunnel.
    209     #  For background programs, you have to redirect stdin and stdout! (maybe to /dev/null)
    210     #  Example: "sudo -u u123 /usr/local/bin/sshtunnel-example.sh"
    211     #  Default: blank.
    212     cmd :  ""
    213 
    214     #  Using prepared statements.
    215     #  This is EXPERIMENTAL, do not use in production environments
    216     prepare :  false
    217 
    218     #  Using transactions. Set this to true, if the MySQL table engine supports transactions
    219     transaction :  false
    220 
    221 
    222 
    223 #  SQ-Lite is an embedded, 'mostly-ANSI-SQL-supporting' database system.
    224 #  for using SQLite, please check for the PHP module
    225 #  f.e. on ubuntu 'sudo apt-get install php5-sqlite'
    226   sample_db_sqlite:
    227 
    228     enabled    :  false                    # set this to 'true' for using this connection
    229     comment    :  "DB-SQLite"              # comment of this database
    230 
    231     type       :  sqlite                   #
    232 
    233     #  Filename of your SQlite database
    234     filename   :  "/local/path/to/your/sqlite/openrat.db"
    235 
    236     base64     :  false                 # store binary as BASE64 (in postgresql: true)
    237     prefix     :  or_                   # table praefix
    238     persistent :  yes                   # use persistent connections (try this, it's faster)
    239     charset :  UTF-8
    240 
    241     #  per default SQlite uses table-prefixed column names when using JOINs which MUST BE off.
    242     connection_sql :  "pragma short_column_names: true;"
    243 
    244     #  System command for executing before connecting to the database.
    245     cmd :  ""
    246 
    247     prepare :  false
    248 
    249     #  Set this to true, if you want to use transactions.
    250     transaction :  false
    251 
    252 
    253 
    254   sample_pdo_sqlite:
    255 #  PDO (means PHP Data Objects) is an abstract database interface
    256 
    257     enabled    :  false                    # set this to 'true' for using this connection
    258     comment    :  "DB-PDO"                 # comment of this database
    259 
    260     type       :  pdo                      #
    261 
    262     #  The DSN-Url for your database
    263     #dsn :  ""
    264     #  Examples:
    265     #  MySql
    266     dsn :  "mysql:dbname: testdb;host: 127.0.0.1"
    267     #  PostgreSQL
    268     #dsn :  "pgsql:host: localhost port: 5432 dbname: mydb user: dbuser password: dbpass"
    269     #  SQLite
    270     #dsn :  "sqlite:/path/to/mydb.db"
    271     #  JDBC-Url when using OpenRat in Quercus
    272     #dsn :  "java:comp/env/jdbc/mydb"
    273 
    274     #  If not part of the DSN this is the right place for username/password
    275     user     :  "dbuser"
    276     password :  "dbpass"
    277 
    278     base64     :  false                 # store binary as BASE64 (in postgresql: true)
    279     prefix     :  or_                   # table praefix
    280     persistent :  yes                   # use persistent connections (try this, it's faster)
    281     charset :  UTF-8
    282 
    283     #  SQL-Statement which is executed after opening the connection
    284     connection_sql :  ""
    285     #  Examples:
    286     #  per default SQlite uses table-prefixed column names when using JOINs which MUST BE off.
    287     #connection_sql :  "pragma short_column_names: true;"
    288     #  set default schema for Oracle
    289     #connection_sql :  "alter session set current_schema: myschema;"
    290 
    291     #  System command for executing before connecting to the database.
    292     cmd :  ""
    293 
    294     prepare :  false
    295 
    296     #  Set this to true, if you want to use transactions.
    297     transaction :  false
    298 
    299     readonly :  false
    300 
    301 
    302     #  The database results MUST contain lowercase column names.
    303     #  if using Oracle, set this to 'true', default is 'false'.
    304     convert_to_lowercase :  false
    305 
    306     #  PDO driver-specific options
    307     #  key 'option_a' means option 'a'.
    308     option_myoption_a:
    309     option_myoption_b:
    310 
    311 
    312 # 
    313 #  Date formats
    314 #  see http://www.php.net/manual/en/function.date.php for details
    315 date:
    316   format:
    317 
    318     SHORT :  ""
    319     ISO8601SHORT :  "Ymd"
    320     ISO8601 :  "Y-m-d"
    321     ISO8601BAS :  "YmdTHis"
    322     ISO8601EXT :  "Y-m-dTH:i:s"
    323     ISO8601FULL :  "Y-m-dTH:i:sO"
    324     ISO8601WEEK :  "YWW"
    325     GER1 :  "d.m.Y"
    326     GER2 :  "d.m.Y, H:i"
    327     GER3 :  "d.m.Y, H:i:s"
    328     GER4 :  "d. F Y, H:i:s"
    329     ENGLONG :  "l dS of F Y h:i:s A"
    330     GMDATE :  "D, d M Y H:i:s GMT"
    331     RFC822 :  "r"
    332     UNIX :  "U"
    333     LONG :  "F j, Y, g:i a"
    334 
    335 
    336   timezone:
    337     "-6": "New York"
    338     "0": "UTC (GMT)"
    339     "60": "MET (Middle European Time)"
    340     "120": "MEST (Middle European Summertime)"
    341 
    342 
    343 
    344 #  Editor configuration
    345 editor:
    346   text-markup:
    347     #  Strong/important text (mostly "bold")
    348     strong-begin :  "*"
    349     strong-end   :  "*"
    350 
    351     #  Emphatic text (mostly "italic")
    352     emphatic-begin :  "_"
    353     emphatic-end   :  "_"
    354 
    355     #  Image
    356     image-begin :  "{"
    357     image-end   :  "}"
    358 
    359     #  Speech
    360     speech-begin :  QUOTE
    361     speech-end   :  QUOTE
    362 
    363     #  text with same width
    364     code-begin :  ": "
    365     code-end   :  ": "
    366 
    367     #  footnotes
    368     footnote-begin :  "["
    369     footnote-end   :  "]"
    370 
    371     #  pre-formatted Text
    372     pre-begin :  ": "
    373     pre-end   :  ": "
    374 
    375     #  Inserted Text
    376     insert-begin :  "++"
    377     insert-end   :  "++"
    378 
    379     #  Removed text
    380     remove-begin :  "--"
    381     remove-end   :  "--"
    382 
    383     #  Separator for a definition item
    384     definition-sep :  "::"
    385 
    386     #  Indenting headline
    387     headline       :  "+"
    388 
    389     #  Underlining of headline level 1
    390     headline_level1_underline :  ": "
    391 
    392     #  Underlining of headline level 2
    393     headline_level2_underline :  "-"
    394 
    395     #  Underlining of headline level 3
    396     headline_level3_underline :  "."
    397 
    398     #  Unnumbered Listentry
    399     list-unnumbered :  "-"
    400 
    401     #  Numbered Listentry
    402     list-numbered   :  "#"
    403 
    404     #  Table of content
    405     table-of-content:  "##TOC##"
    406 
    407     #  Link to
    408     linkto          :  "->"
    409 
    410     #  Table cell separator
    411     table-cell-sep  :  "|"
    412 
    413     style-begin :  "'"
    414     style-end   :  "'"
    415 
    416     #  Quote Text
    417     quote            :  ">"
    418     quote-line-begin :  ">"
    419     quote-line-end   :  ">"
    420 
    421     #  Makro
    422     macro-begin :  "<<"
    423     macro-end   :  ">>"
    424     macro-attribute-quote :  "'"
    425     macro-attribute-value-seperator :  ": "
    426 
    427 
    428   html:
    429     #  Which HTML-Tag to use for cites
    430     tag_strong :  "strong"
    431 
    432     #  Which HTML-Tag to use for emphatic text
    433     tag_emphatic :  "em"
    434 
    435     #  Which HTML-Tag to use for teletyped text
    436     tag_teletype :  "tt"
    437 
    438     #  Which HTML-Tag to use for cites
    439     tag_speech :  "cite"
    440 
    441     #  OpenRat tries to use a good speech tag. You may override this.
    442     override_speech :  false
    443     override_speech_open  :  "&laquo;"
    444     override_speech_close :  "&raquo;"
    445 
    446     #  HTML-Rendermode
    447     #  explains how to handle emtpy elements.
    448     #  'xml'  : > <br />, <image src: "..." />
    449     #  'sgml' : > <br>, <image src: "...">
    450     rendermode: sgml
    451     #rendermode: xml
    452 
    453     replace :  "EUR:&euro; (c):&copy; (r):&reg; ^1:&sup1; ^2:&sup2; ^3:&sup3; 1/4:&frac14; 1/2:&frac12; 3/4:&frac34;"
    454 
    455 
    456   wiki:
    457     convert_html: true
    458     convert_bbcode: true
    459 
    460 
    461 
    462 filename:
    463   #  Should filenames be editable?
    464   #  'true' : Author may edit the filenames of pages, files and folders.
    465   #  'false': filenames are generated by the CMS
    466   #  Default: true
    467   edit    :  true
    468 
    469   #  filename of folder start file
    470   #  Default: 'index'.
    471   default :  index
    472 
    473 
    474   #  'ss'     : nerdy and poor imitation of story server urls. Looks important, but is cheap ;)
    475   #  'id'     : simply use the object id for the url
    476   #  'longid ': use a more longer id in the url
    477   #  'short'  : use a url which is as short as possible (uses all possible characters)
    478   #  Default: 'short'
    479   style   :  short          # use a url which is as short as possible
    480 
    481   #  hint: If edit: true, then the stored filename will be used.
    482   #        If no filename stored, or if edit: false, then the defined style is used.
    483 
    484   #  how the links to other pages are generated.
    485   #  'relative': Links are generated like '../../path/page.html'
    486   #  'absolute': Links are generated like '/path/page.html'
    487   #  Default: relative
    488   url: relative
    489 
    490 
    491 
    492 
    493 
    494 help:
    495   #  Enable online help
    496   #  Default: true
    497   enabled: true
    498 
    499   #  URL praefix to the help documents
    500   # help.url: help/html/
    501   url: http://help.openrat.de/
    502 
    503   #  file extension of the help documents
    504   suffix: .html
    505 
    506 
    507 i18n:
    508   #  Search for language in HTTP header
    509   #  This is a useful setting. The Browser says, which language will be taken.
    510   use_http: true
    511 
    512 
    513   #  Default language
    514   #  If no language is found, which should be used?
    515   default: de
    516 
    517 
    518   #  Available Languages.
    519   #  A comma seperated list with language codes.
    520   #  for each language there must be a file named 'language/<code>.ini'.
    521   available: de,en,es,fr,it,ru,cn
    522 
    523 
    524 
    525   #  Mappings from the language to installed locales
    526   locale.de: "de_DE.utf8"
    527   locale.en: "en_US.utf8"
    528 
    529 
    530 
    531 image:
    532   #  Say 'true' if GD2 is available, otherwise 'false'
    533   truecolor: true
    534 
    535 
    536 
    537 interface:
    538   #  Use of human date format
    539   #  looks like "3 years ago", or "7 months ago"
    540   #  Default: false
    541   human_date_format :  false
    542 
    543 
    544 
    545 #  The default style which is used, when no user is logged in.
    546 #  'default' is the classic Openrat style.
    547   style:
    548     "default": "default"
    549 
    550     #  'system' uses system colors from the client (nice choice)
    551     #"default": "system"
    552 
    553 
    554 
    555   config:
    556     #  show system settings (operating system, system time, ...)
    557     show_system: true
    558 
    559     #  show PHP settings
    560     show_interpreter: true
    561 
    562     #  show a list of PHP extensions (without any details)
    563     show_extensions: true
    564 
    565 
    566 
    567 #  Frameset settings
    568 
    569 #  Manipulating the URL of Openrat.
    570   url:
    571 
    572 
    573     #  If the entry filename is the index file of the directory, set this to true.
    574     #  This enables urls like "path/to/openrat/?a: 1&b: 2" and hides PHP.
    575     #  only useful, if fake_url: false
    576     #  if unsure, set to 'false' (default)
    577     index :  false
    578 
    579   #  Use gravatar for user images
    580   gravatar:
    581     #  see http://www.gravator.com for details
    582     enable: true
    583     size: 80
    584     default: 404
    585     rating: g
    586 
    587 
    588 
    589 #  Session-related settings
    590 
    591 #  auto-extend the session while the browser is still open.
    592 #  if 'true', the title frame will be refreshed automatically
    593 #  1 minute before the session times out.
    594   session:
    595     auto_extend: false
    596 
    597 #  Openrat is able to check passwords against a LDAP-based directory.
    598 ldap:
    599 
    600   #  Hostname of your LDAP server.
    601   host: "localhost"
    602 
    603   #  TCP-Port of your LDAP server.
    604   port: "389"
    605 
    606   #  Protocol-Version
    607   #  Set this to '2' or '3'.
    608   protocol: "2"
    609 
    610 #  The format of the DN
    611 #  If blank, the DN is automatically searched in the LDAP tree (see section "search").
    612 #  for using LDAP authentication, /security/auth/type has to be set to "ldap"!
    613   dn :  "uid: {user},ou: users,dc: example,dc: com"
    614   #dn :  "";
    615 
    616 
    617   #  Settings for authentication against a LDAP directory
    618   #  This is only activated, if the setting 'security.auth.type' is 'ldap'.
    619   
    620   #  use of anonymous bind ('true' or 'false')
    621   #  if 'true', the following user and password settings are ignored.
    622   search.anonymous :  true
    623 
    624   #  if 'anonymous' is 'false': DN of technical user for searching the real user DN
    625   search.user      :  "uid: openrat,ou: users,dc: example,dc: com"
    626 
    627   #  if 'anonymous' is 'false': password of technical user
    628   search.password  :  "verysecret"
    629 
    630   #  Base-DN of the subtree where the search begins
    631   search.basedn    :  "dc: example,dc: com"
    632 
    633   #  Filter setting for searching the user objects.
    634   #  The string {user} will be replaced by the user name.
    635   search.filter    :  "(uid: {user})"
    636 
    637   #  Aliases are dereferenced ('true' or 'false')
    638   search.aliases   :  true
    639 
    640   #  Timeout in seconds
    641   search.timeout   :  30
    642 
    643   #  If the user is found in the LDAP tree, but is not yet stored in the internal database.
    644   #  'true'  the user will be logged in and automatically inserted in the internal database.
    645   #  'false' login will be rejected, all users must exist in the internal database.
    646   search.add       :  true
    647 
    648 
    649 
    650   #  The user-group-relation can be read out of the LDAP tree.
    651   #  For using this, 'security.authorize.type' must be set to 'ldap'.
    652   
    653   #  Search filter for reading the groups a user belongs to.
    654   authorize.group_filter: "(memberUid: {dn})"
    655 
    656   #  LDAP attribute name of the name of the group
    657   authorize.group_name: "cn"
    658 
    659   #  Add groups found in LDAP (but not known in the internal database) automatically into database?
    660   #  If 'false', the LDAP groups cannot be used!
    661   authorize.auto_add :  true
    662   
    663 login:  
    664   motd: ""                                  # Message of the day, shown in login mask
    665   nologin: false                            # Disable Login (for maintanance jobs)
    666   register: false
    667   send_password: false
    668 
    669   gpl.url: "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
    670 
    671   logo.file: "./themes/default/images/logo.jpg"  # logo (url to image) in login mask
    672   logo.url: "http://www.openrat.de"              # linked url in login mask
    673 
    674 
    675   #  After Login, start with the last changed object.
    676   #  If 'true', the project menu is not displayed.
    677   start:
    678     start_lastchanged_object: true
    679 
    680 
    681 log:
    682   #  filename of logfile. Every log entry will be appended to this file.
    683   #  This file must be writable by the webserver.
    684   #  If blank (default), no logging will be done.
    685   file :  ""
    686 
    687   #  loglevel are one of 'trace','debug','info','warn','error'
    688   level :  "warn"
    689 
    690   #  date format (for variable %time, see 'format'. This format is used by PHPs date()-function.
    691   #  See http://www.php.net/date
    692   date_format :  "M j H:i:s"
    693 
    694   #  lookup hostname of client-IP
    695   #  this may increase performance, if 'true'. Be careful!
    696   dns_lookup :  false
    697 
    698   #  output format
    699   #  the following variables are replaced:
    700   #  %time by the current time of the log entry.
    701   #  %level the logging level
    702   #  %host client ip ore hostname (see 'dns_lookup' entry above)
    703   #  %user username, who is logged in, ore '-' if not logged in.
    704   #  %action what is happening now
    705   #  %text reason of the log entry
    706   format :  "%time %level %host %user %action %text"
    707 
    708 
    709 mail:
    710   #  E-Mail Settings
    711 
    712   #  Does your server send e-mails?
    713   #  'true' or 'false'
    714   enabled: true
    715 
    716   #  The "from"-Adress. Creates a "From: "-Header.
    717   #  This is not neccecary. Hint: Most MTAs require a valid email adress.
    718   from: "OpenRat <user@example.com>"
    719 
    720   #  This signature is appended at the end of a mail. Use ';' for line-breaks.
    721   #  A useful information is maybe the URL of your OpenRat installation.
    722   signature: "http://www.openrat.de"
    723 
    724   #  Copy Recipient
    725   cc: 
    726 
    727   #  Blind Copy recipient
    728   bcc: 
    729 
    730   #  Priority of the mail (creates an "X-Priority"-Header)
    731   #  1: Highest, 2: High, 3: Normal, 4: Low, 5: Lowest
    732   #  Hint: Most MUAs ignore this header.
    733   priority: 3
    734 
    735 
    736   #  Non-7-bit-chars are not allowed in Mailheaders (see RFC 822, 2045, 2047)
    737   #  and must be encoded. Openrat supports 3 types of encoding:
    738   #  'Quoted-printable' (default),
    739   #  'Base64'
    740   #  '' (blank) no encoding.
    741   header_encoding: "Quoted-printable"
    742 
    743 
    744   #  Which SMTP client you want to use.
    745   #  'php' : Internal PHP function mail().
    746   #  'smtp': OpenRat internal SMTP-client
    747   #  If unsure, use the builtin PHP function.
    748   client: smtp
    749   #client: php
    750 
    751 
    752   #  Whitelist
    753   #  A comma-seperated list of domains names
    754   whitelist :  ""
    755 
    756   #  Blacklist
    757   #  A comma-seperated list of domain names
    758   blacklist :  ""
    759 
    760 
    761 
    762   #  Settings for the internal SMTP client.
    763   #  If client: 'php', you have no need to change anything in this section.
    764 
    765   #  Relay host
    766   #  It is useful, to have your own relay host, as servers doing greylisting
    767   #  *will* deny our smtp try.
    768   #  If this is blank, the mail is delivered directly to the destination MX host.
    769   #  I repeat, it is better to always use a relay host!
    770   #smtp.host: "mail.yourdomain.example"
    771   smtp:
    772     host: "locahost"
    773 
    774     #  SMTP-Port is '25' in most environments
    775     port: "25"
    776 
    777     #  SMTP Authentication
    778     #  (only needed if using a relay host)
    779     #  (FYI: The client makes use of the SMTP "AUTH LOGIN" method.
    780     auth_username: "your.user@something.example"
    781     auth_password: "notsecret"
    782 
    783     #  Timeout in seconds
    784     timeout: "45"
    785 
    786     #  Your fully-qualified hostname (FQDN)
    787     #  if empty, Openrat will use your simple hostname
    788     #localhost:
    789     localhost: "your.fully.qualified.hostname.example"
    790 
    791     #  Use TLS
    792     #  The client will send a "STARTTLS" command after HELO.
    793     #  TLS is not tested, use at your own risk!
    794     tls: false
    795 
    796     #  Use SSL
    797     #  The client will connection using the SSL-protocol.
    798     #  This is not tested, use at your own risk!
    799     ssl: false
    800 
    801 
    802 publish:
    803   #  Allow editing of file names.
    804   #  'true' : Author is allowed to edit the file names of his files and pages.
    805   #  'false': File names are generated by OpenRat only.
    806   edit: true
    807 
    808 
    809   #  filename for the first object in a folder.
    810   #  Default is 'index'.
    811   default: index
    812 
    813 
    814   #  File naming conventions
    815   #  See http://httpd.apache.org/docs/2.0/content-negotiation.html#naming
    816   #  '{filename}{language_sep}{language}{type_sep}{type}' means 'foo.en.html'
    817   format       :  "{filename}{language_sep}{language}{type_sep}{type}"
    818 
    819 
    820   #  Seperators, mostly you will use '.'
    821   language_sep :  "."
    822   type_sep     :  "."
    823 
    824 
    825   #  'always': language name is always appended to the filename
    826   #  'auto'  : language is appended if there are at least 2 languages
    827   filename_language :  auto
    828 
    829 
    830   #  'always': type is always appended to the filename
    831   #  'auto'  : type is appended if there are at least 2 project models
    832   filename_type :  always
    833 
    834 
    835   #  Filename Mode. Only used, if edit: false or no filename is set for an object.
    836   #  'ss'    : nice hack for lamers which like storyserver urls like '0,1513,453556,00.html'
    837   #  'id'    : simply use the object id.
    838   #  'longid': use a unique and long number.
    839   #  'short' : use a unique name which is as short as possible.
    840   style: "id"
    841 
    842 
    843   #  Mode of generated URLs.
    844   #  'relative': (Default) Generates URLs like '../../path/to/example.html'.
    845   #  'absolute': Generates URLs like '/path/to/example.html'.
    846   url: relative
    847   #url: absolute
    848 
    849   #  Should PHP code in page source be interpreted
    850   #  'false': page source is never interpreted as PHP
    851   #  'auto' : interpreted, if page extension :  '.php'
    852   #  'true' : always interpret PHP in page source
    853   enable_php_in_page_content: false
    854 
    855   #  Should PHP code in file content be interpreted
    856   #  'false': file content is never interpreted as PHP
    857   #  'auto' : interpreted, if file extension :  '.php'
    858   #  'true' : always interpret PHP in file content
    859   enable_php_in_file_content: false
    860 
    861   #  Escape all non-ascii characters to HTML entities.
    862   #  Normally this is not necessary, if there is a correct charset in the meta-section of your HTML-head.
    863   #  'true' : Escape all non-ascii-characters
    864   #  'false': Do nothing (default)
    865   escape_8bit_characters: false
    866 
    867 
    868 
    869   #  Content-Negotiation as defined in RFC 2295.
    870   #  These settings are only considered, if the project setting "use content negotiation" is switched on.
    871 
    872   #  if 'true', then the mime-type is omitted in the URL for page links.
    873   negotiation.page_negotiate_type :  true
    874 
    875   #  if 'true', then the language is omitted in the URL for page links.
    876   negotiation.page_negotiate_language :  true
    877 
    878   #  if 'true', then the mime type is omitted in the URL for file links
    879   negotiation.file_negotiate_type :  true
    880 
    881 
    882   project:
    883     #  Default publish directory. The edited target directory is appended.
    884     publish_dir: "/var/www/"
    885 
    886     #  Allow paths in target directory
    887     #  'false': only the base name is taken
    888     #  'true' : user input is taken with full path
    889     override_publish_dir: true
    890 
    891     #  Default system command.
    892     #  Vars: {name}    :  project name,
    893     #        {dir}     :  Target directory,
    894     #        {dirbase} :  Target directory basename
    895     system_command: "sudo -u xyz /usr/local/bin/mirror.sh {dirbase}"
    896     #system_command: 
    897 
    898     #  Input overrides the default system command.
    899     #  'true' or 'false'
    900     override_system_command: true
    901 
    902 
    903 
    904 #  FTP configuration
    905 ftp:
    906 
    907   #  for which file extensions the ASCII-Mode should be used
    908   ascii: html,htm,php
    909 
    910   #  'true' : (Default) FTP is enabled
    911   #  'false': FTP is disabled, f.e. if FTP is not compiled with PHP.
    912   enable: true
    913 
    914   #  Default FTP-Port
    915   #  Default: '21'
    916   port: 21
    917 
    918   #  Default hostname
    919   host: "ftp.example.com"
    920 
    921   #  Default path
    922   path: "/path/to/site"
    923 
    924   #  Login data
    925   #  If not specified (default), anonymous login will be used.
    926   user: agent_smith
    927   pass: smith
    928 
    929 
    930 replace:
    931   euro   :  "EUR,&euro;"
    932   copy   :  "(c),&copy;"
    933 
    934 
    935 
    936 search:
    937   #  Settings for the quicksearch field
    938 
    939   quicksearch:
    940     #  Show submit button for quicksearch. Not needed for modern browsers
    941     show_button: false
    942 
    943     #  Search in the name of objects
    944     search_name: true
    945 
    946     #  search in the filename of objects
    947     search_filename: true
    948 
    949     #  search in the description of objects
    950     search_description: true
    951 
    952     #  Search in all text content (slow on big databases!)
    953     search_content: false
    954 
    955 #  Security settings for Openrat - be careful :)
    956 security:
    957 
    958 
    959   #  All is readonly (for maintanance jobs)
    960   #  true|false, default:false
    961   readonly: false
    962 
    963   #  Disable publishing
    964   nopublish: false
    965 
    966   #  Unix-UMask for all created files
    967   #  Default: none (uses system default)
    968   #  Example: '0022' (means '-rw-r--r--')
    969   #  Example: '0002' (means '-rw-rw-r--')
    970   umask: 
    971 
    972   #  CHMOD for created files
    973   #  Default: none
    974   #  Example: '0644' (means '-rw-r--r--')
    975   #  Example: '0755' (means '-rwxr-xr-x')
    976   chmod: 
    977 
    978   #  CHMOD for created directories
    979   #  Default: none
    980   #  Example: '0755' (means 'drwxr-xr-x')
    981   #  Example: '0770' (means 'drwxrwx---')
    982   chmod_dir: 
    983 
    984   #  You may disable dynamic code.
    985   #  dynamic code ("CODE"-Elements in templates) are dangerous, because they may
    986   #  interact with the file system (and much more!).
    987 
    988   #  Hint: only admin users are allowed to save dynamic code.
    989   #  Enable, if admin users are trustful.
    990   #  Disable, if admin users are anonym (f.e. demo-installations).
    991   #  Default: true (for secure default installation).
    992   disable_dynamic_code :  true
    993 
    994 
    995   #  Enable or disable the displaying of system information
    996   show_system_info :  true
    997 
    998 
    999   #  Useful against CSRF-attacks, this adds a token to all POST request.
   1000   use_post_token: true
   1001 
   1002   #  Creates a new Session on login.
   1003   #  Useful against session fixation attacks.
   1004   renew_session_login: false
   1005 
   1006   #  Creates a new Session on logout.
   1007   #  Useful against session fixation attacks.
   1008   renew_session_logout: false
   1009 
   1010 
   1011 
   1012   #  Default Login
   1013   #  These values are used for the login form.
   1014 
   1015   #  default: ''
   1016   default:
   1017     username: 
   1018 
   1019     #  default: ''
   1020     password: 
   1021 
   1022 
   1023 
   1024   #  Guest Login
   1025   #  if enabled, a named guest user is automatically logged in.
   1026 
   1027   #  enable auto-login for a guest user.
   1028   guest:
   1029     guest.enable: false
   1030 
   1031     #  Name of the guest user, who is automatically logged in.
   1032     #  This username must exist in your user database.
   1033     guest.user: guest
   1034 
   1035 
   1036 
   1037   #  Type of authorization.
   1038   #  'http' uses the HTTP Basic Authrization.
   1039   #         Only available if PHP is used in the module version.
   1040   #         Not available, if PHP is used via the CGI way.
   1041   #         Only the default database is available (because there is no way to select another one)
   1042   #  'form' shows a login form via a HTML page.
   1043   #  Default: 'form'
   1044   login:
   1045     login.type: form
   1046     #login.type: http
   1047 
   1048 
   1049 
   1050   #  this is the backend where the passwords are checked against.
   1051   #  'database' uses the internal database table as password store.
   1052   #  'authdb'   uses an external database table as password store, see section 'security.auth'.
   1053   #  'ldap'     uses an external LDAP directory for password checking, see section 'ldap'.
   1054   #  'http'     uses an HTTP-Auth Server for password checking
   1055   #  Default: 'database'
   1056   auth:
   1057     type: database
   1058 
   1059     #  per-user setting of the LDAP DN.
   1060     #  'true'  users which have there LDAP-DN explicitly stored are authenticated against LDAP.
   1061     #  'false' no LDAP-DN storage per user.
   1062     userdn: false
   1063 
   1064 
   1065 
   1066   #  A user belongs to certain groups. This information can be stored in 2 ways.
   1067   #  'database' uses the internal database for the user-group-relation. (default)
   1068   #  'ldap' reads the user-group-relations in a LDAP-Directory
   1069   #         (in this case, /security/auth/type has to be set to "ldap", too!)
   1070   #         (see /ldap/authorize!)
   1071   authorize:
   1072     type: database
   1073     #type: ldap
   1074 
   1075 
   1076 
   1077     #  password settings
   1078 
   1079     #  length of automatic generated password
   1080     random_length: 8
   1081 
   1082     #  minimum passwort length
   1083     min_length: 5
   1084 
   1085     #  Password "salt"
   1086     #  ''        : no salt (default)
   1087     #  'id'      : salt the password with userid
   1088     #  'username': salt the password with username
   1089     #  'custom'  : use the 'salt_text'-setting
   1090     #  Default: ''
   1091     salt :  ""
   1092 
   1093     salt_text :  "somerandomtext"
   1094 
   1095 
   1096 
   1097   #  this section is needed if the setting "auth/type" is 'http'.
   1098   #  passwords are checked against another HTTP-Server with Basic Authorization.
   1099 
   1100   #  The URL where an HTTP basic authorization ist required.
   1101   http:
   1102     url :  "http://example.net/restricted-area"
   1103 
   1104 
   1105 
   1106   #  this section is needed if the setting "auth/type" is 'authdb'.
   1107   #  passwords are stored against an external database table.
   1108   #  This is quite useful, if you have another software running (f.e. a forum system)
   1109   #  and so the user must only remember 1 password.
   1110 
   1111   #  'mysql', 'postgresql' or 'sqlite'
   1112   authdb:
   1113     type :  postgresql
   1114 
   1115     user :  dbuser
   1116     password :  dbpassword
   1117     host :  127.0.0.1
   1118     database :  dbname
   1119     persistent :  false
   1120 
   1121     #  the sql which is executed while checking the password.
   1122     #  the variables {username} and {password} are replaced.
   1123     sql :  "select 1 from table where user: {username} and password: md5({password})"
   1124 
   1125     #  if the user exists in the external database, should it
   1126     #  automatically be inserted into the openrat internal table?
   1127     add :  true
   1128 
   1129 
   1130 
   1131   #  SSL Client certificate Authentication
   1132 
   1133   #  The environment variable name which has the username out of the certificate.
   1134   #  See modssl-configuration for more infos:
   1135   #  http://httpd.apache.org/docs/2.0/mod/mod_ssl.html.en#envvars
   1136   #  if blank, ssl client auth is unused (default)
   1137   ssl:
   1138     #user_var: 
   1139     user_var: "REMOTE_USER"
   1140     #user_var: "SSL_CLIENT_S_DN"
   1141     #user_var: "SSL_CLIENT_S_DN_CN"
   1142 
   1143     #  if 'true', you trust the client certificate fully, this is a passwordless login!
   1144     #  take care tto have an useful webserver configuration where you only trust CA-signed certificates.
   1145     #  if 'true', the 'user_var' is needed.
   1146     trust: false
   1147 
   1148 
   1149 
   1150   openid:
   1151     #  Open-ID
   1152     #  see http://openid.net/ for specifications and more informations.
   1153 
   1154     #  Enable Open-ID
   1155     #  default: false
   1156     enable: false
   1157 
   1158     #  Should authenticated users, which are not in your user database, automatically be added?
   1159     #  default: false
   1160     add: false
   1161 
   1162     #  Open-Id Logo
   1163     #  The specification recommends the original Open-Id logo.
   1164     #logo_url:
   1165     logo_url: "http://openid.net/login-bg.gif"
   1166 
   1167     #  Trust-Root
   1168     #  URL-Prefix in which your OpenRat installations are running.
   1169     #  default: <empty> (OpenRat tries to use its own server name)
   1170     trust_root: http://your.server.example/openrat/
   1171     #trust_root: 
   1172 
   1173     #  Trustful servers
   1174     #  Default: '' (all)
   1175     trusted_server: openid1.example.com,openid2.example.com
   1176     #trusted_server: 
   1177 
   1178     #  Should Users fullname and e-mail updated from the OpenId-Server?
   1179     update_user: true
   1180 
   1181     #  Using User-Identitys?
   1182     user_identity: true
   1183 
   1184     #  List of OpenId-Provider to use
   1185     provider:
   1186       #  Special name "identity" for user defined identitys
   1187       name: google
   1188 
   1189       #  location of the providers Yadis-document (XRDS-file)
   1190       example.xrds_uri: http://google.com/accounts
   1191       #  which attribute is used for mappin to the internal database
   1192       example.map_attribute: email
   1193       #  which attribut of internal user database is used
   1194       #  valid values are 'mail', 'username'
   1195       example.map_internal: mail
   1196 
   1197       #  Google supports Open-Id 2.0
   1198       google.xrds_uri: http://google.com/accounts/o8/id
   1199       google.map_attribute: email
   1200       google.name: Google
   1201       google.map_internal: mail
   1202 
   1203       #  Yahoo
   1204       yahoo.xrds_uri: http://??????
   1205       yahoo.map_attribute: usename
   1206       yahoo.map_internal: mail
   1207 
   1208 
   1209 
   1210   #  Single Sign-on
   1211   #  These settings are an example for checking login against "PhpMyAdmin".
   1212   #  PhpMyAdmin must include a link to Openrat with the authid which includes the serialized cookies.
   1213   #  Example: Include this in the file .../phpmyadmin/main.php:
   1214   #  <a href: "https://example.com/openrat/?authid: <?php echo urlencode(serialize($_COOKIE)) ?>">OpenRat</a>
   1215 
   1216   #  use single sign-on? Set to 'true' or 'false'.
   1217   sso:
   1218     enable: false
   1219 
   1220     #  the url against the auth-id will be checked.
   1221     url: "http://localhost/check.php?phpsessid: {id}&check: true"
   1222     #url: "https://www.example.com/phpmyadmin/main.php?server: 1"
   1223 
   1224     #  the name of the parameter, where OpenRat will receive the Id, which will then be checked.
   1225     auth_param_name: authid
   1226 
   1227     #  is the auth-id serialized?
   1228     auth_param_serialized: true
   1229 
   1230     #  the auth-id will be used as a cookie
   1231     cookie: true
   1232 
   1233     #  if the auth-id is no array, use this cookie-name.
   1234     cookie_name: 
   1235 
   1236     force: true
   1237 
   1238     #  leave this blank.
   1239     expect: 
   1240 
   1241     #  this is a regular expression which checks, if the login at the third-party-system is ok.
   1242     expect_regexp: "/running on/"
   1243 
   1244     #  regular expression for find out the username
   1245     #  this example is used for "PhpMyAdmin"
   1246     username_regexp: "/running on localhost as ([a-z]+)@localhost/"
   1247 
   1248 
   1249 
   1250     #  Settings for a new user
   1251 
   1252     #  These groups are automatically added while a new user is inserted.
   1253     #  Default: ''
   1254   newuser:
   1255     groups: YourGroup,AnotherGroup
   1256 
   1257 
   1258 
   1259   #  Logout settings
   1260 
   1261   #  Redirect to this URL after logout
   1262   #  <blank>:  Show Login.
   1263   #  Default: ''
   1264   logout:
   1265     redirect_url: "http://your.intranet.example/"
   1266     #redirect_url:
   1267 
   1268 
   1269 
   1270   #  Show E-Mail-Adress in Administration-Interface.
   1271   #  Default: true. If admin users should not know the mail adresses, set this to false.
   1272   #  Useful for Demo-Installations where a lot of users may have administration rights.
   1273   user:
   1274     show_admin_mail: true
   1275 
   1276     #  Show users e-mail-address to other users.
   1277     #  Default: true.
   1278     show_mail: true
   1279 
   1280     #  Users are able to send mesages to another users via e-mail
   1281     #  (not yet implemented)
   1282     send_message: true
   1283 
   1284 
   1285 
   1286 #  *** The following settings are deprecated and will be removed in one of the next versions.
   1287 wiki:
   1288 
   1289   #  convert simple HTML-tags to wiki-markup (if HTML is disabled)
   1290   convert_html         :  true
   1291 
   1292   #  convert a few BB-code tags to wiki-markup
   1293   convert_bbcode       :  true
   1294 
   1295   #  how strong text is marked
   1296   tag_strong           :  "*"
   1297 
   1298   #  how emphatic text is marked
   1299   tag_emphatic         :  "_"