a1e98ebceef59166777f9ab0a4b2321d846b3dd6
[matthijs/projects/wipi.git] / conf / farmconfig.py
1 # -*- coding: iso-8859-1 -*-
2 # IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a
3 # western country and you don't know that you use utf-8, you probably want to
4 # use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode
5 # encoding) you MUST use: coding: utf-8
6 # That setting must match the encoding your editor uses when you modify the
7 # settings below. If it does not, special non-ASCII chars will be wrong.
8
9 """
10     MoinMoin - Configuration for a wiki farm
11
12     If you run a single wiki only, you can keep the "wikis" list "as is"
13     (it has a single rule mapping all requests to mywiki.py).
14
15     Note that there are more config options than you'll find in
16     the version of this file that is installed by default; see
17     the module MoinMoin.config.multiconfig for a full list of names and their
18     default values.
19
20     Also, the URL http://moinmo.in/HelpOnConfiguration has
21     a list of config options.
22 """
23
24
25 # Wikis in your farm --------------------------------------------------
26
27 # If you run multiple wikis, you need this list of pairs (wikiname, url
28 # regular expression). moin processes that list and tries to match the
29 # regular expression against the URL of this request - until it matches.
30 # Then it loads the <wikiname>.py config for handling that request.
31
32 # Important:
33 #  * the left part is the wikiname enclosed in double quotes
34 #  * the left part must be a valid python module name, so better use only
35 #    lower letters "a-z" and "_". Do not use blanks or "-" there!!!
36 #  * the right part is the url re, use r"..." for it
37 #  * the right part does NOT include "http://" nor "https://" at the beginning
38 #  * in the right part ".*" means "everything". Just "*" does not work like
39 #    for filenames on the shell / commandline, you must use ".*" as it is a RE.
40 #  * in the right part, "^" means "beginning" and "$" means "end"
41
42 wikis = [
43     # Standalone server needs the port e.g. localhost:8000
44     # Twisted server can now use the port, too.
45
46     # wikiname,     url regular expression (no protocol)
47     # ---------------------------------------------------------------
48     ("exodus", r"exodus.evolution-events.nl/wipi"),
49     ("extinction", r"extinction.evolution-events.nl/wipi"),
50 ]
51
52
53 # Common configuration for all wikis ----------------------------------
54
55 # Everything that should be configured the same way should go here,
56 # anything else that should be different should go to the single wiki's
57 # config.
58 # In that single wiki's config, we will use the class FarmConfig we define
59 # below as the base config settings and only override what's different.
60 #
61 # In exactly the same way, we first include MoinMoin's Config Defaults here -
62 # this is to get everything to sane defaults, so we need to change only what
63 # we like to have different:
64
65 from MoinMoin.config.multiconfig import DefaultConfig
66
67 # Now we subclass this DefaultConfig. This means that we inherit every setting
68 # from the DefaultConfig, except those we explicitely define different.
69
70 # Local setting, defined by matthijs for easy moving of data. It didn't work
71 # to define this in the FarmConfig class, so just put it here..
72 import os
73 data_dir_root = os.path.join(os.environ['SITE_DIR'], 'data', 'wipi')
74
75 class FarmConfig(DefaultConfig):
76
77     # Critical setup  ---------------------------------------------------
78
79     # Misconfiguration here will render your wiki unusable. Check that
80     # all directories are accessible by the web server or moin server.
81
82     # If you encounter problems, try to set data_dir and data_underlay_dir
83     # to absolute paths.
84
85     # Where your mutable wiki pages are. You want to make regular
86     # backups of this directory.
87     #data_dir = './data/'
88     # Will be set by individual configs
89
90     # Where read-only system and help page are. You might want to share
91     # this directory between several wikis. When you update MoinMoin,
92     # you can safely replace the underlay directory with a new one. This
93     # directory is part of MoinMoin distribution, you don't have to
94     # backup it.
95     data_underlay_dir = data_dir_root + '/underlay/'
96
97     # The URL prefix we use to access the static stuff (img, css, js).
98     # NOT touching this is maybe the best way to handle this setting as moin
99     # uses a good internal default (something like '/moin_static163' for moin
100     # version 1.6.3).
101     # For Twisted and standalone server, the default will automatically work.
102     # For others, you should make a matching server config (e.g. an Apache
103     # Alias definition pointing to the directory with the static stuff).
104     url_prefix_static = '/wipi/static'
105
106
107     # Security ----------------------------------------------------------
108
109     # This is checked by some rather critical and potentially harmful actions,
110     # like despam or PackageInstaller action:
111     #superuser = [u"YourName", ]
112
113     # IMPORTANT: grant yourself admin rights! replace YourName with
114     # your user name. See HelpOnAccessControlLists for more help.
115     # All acl_rights_xxx options must use unicode [Unicode]
116     #acl_rights_before = u"YourName:read,write,delete,revert,admin"
117
118     # Link spam protection for public wikis (uncomment to enable).
119     # Needs a reliable internet connection.
120     #from MoinMoin.security.antispam import SecurityPolicy
121
122         
123     acl_hierarchic = True
124
125     # Give users all rights, but don't give any rights to anonymous users
126     acl_rights_default = u""
127     acl_rights_before = u"Known:read,write,delete,revert,admin"
128
129     # Mail --------------------------------------------------------------
130
131     # Configure to enable subscribing to pages (disabled by default) or
132     # sending forgotten passwords.
133
134     # SMTP server, e.g. "mail.provider.com" (empty or None to disable mail)
135     #mail_smarthost = ""
136
137     # The return address, e.g u"Jürgen Wiki <noreply@mywiki.org>" [Unicode]
138     #mail_from = u""
139
140     # "user pwd" if you need to use SMTP AUTH
141     #mail_login = ""
142
143
144     # User interface ----------------------------------------------------
145
146     # Add your wikis important pages at the end. It is not recommended to
147     # remove the default links.  Leave room for user links - don't use
148     # more than 6 short items.
149     # You MUST use Unicode strings here, but you need not use localized
150     # page names for system and help pages, those will be used automatically
151     # according to the user selected language. [Unicode]
152     navi_bar = [
153         # If you want to show your page_front_page here:
154         #u'%(page_front_page)s',
155         u'RecentChanges',
156         u'FindPage',
157         u'HelpContents',
158     ]
159
160     # The default theme anonymous or new users get
161     theme_default = 'modern'
162
163
164     # Language options --------------------------------------------------
165
166     # See http://moinmo.in/ConfigMarket for configuration in
167     # YOUR language that other people contributed.
168
169     # The main wiki language, set the direction of the wiki pages
170     language_default = 'en'
171
172     # You must use Unicode strings here [Unicode]
173     page_category_regex = u'^Category[A-Z]'
174     page_dict_regex = u'[a-z]Dict$'
175     page_group_regex = u'[a-z]Group$'
176     page_template_regex = u'[a-z]Template$'
177
178     # Content options ---------------------------------------------------
179
180     # Show users hostnames in RecentChanges
181     show_hosts = 1
182
183     # Show the interwiki name (and link it to page_front_page) in the Theme,
184     # nice for farm setups or when your logo does not show the wiki's name.
185     show_interwiki = 1
186     logo_string = u''
187
188     # Enable graphical charts, requires gdchart.
189     #chart_options = {'width': 600, 'height': 300}
190
191     # The GUI WYSISYG editor is not installed with Debian.
192     # See /usr/share/doc/$(cdbs_curpkg)/README.Debian for more info
193     editor_force = True
194     editor_default = 'text'  # internal default, just for completeness
195
196     # Authentication
197     from auth.mysql_login import mysql_login # This comes from plugin
198     from dbsettings import phpbb_dbhost, phpbb_dbuser, phpbb_dbpass, phpbb_dbname
199     phpbb = mysql_login(
200         name    = 'phpbb',
201         verbose = True,
202         dbhost  = phpbb_dbhost,
203         dbuser  = phpbb_dbuser,
204         dbpass  = phpbb_dbpass,
205         dbname  = phpbb_dbname,
206     )
207     auth = [phpbb]
208
209     user_autocreate = True