b4011c71a86e0fb99d78355a4b6677183b902ba1
[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     ("extinction", r"extinction.evolution-events.nl/wipi"),
49     ("exodus", r"exodus.evolution-events.nl/wipi"),
50     # Pretend we're also available at /. In reality, only the /Site pages are
51     # available there due to lighttpd rewriting. Due to proper setting of
52     # script-name by lighttpd and the url_mappings setting below all links
53     # still work too!
54     ("exodus", r"exodus.evolution-events.nl"),
55 ]
56
57
58 # Common configuration for all wikis ----------------------------------
59
60 # Everything that should be configured the same way should go here,
61 # anything else that should be different should go to the single wiki's
62 # config.
63 # In that single wiki's config, we will use the class FarmConfig we define
64 # below as the base config settings and only override what's different.
65 #
66 # In exactly the same way, we first include MoinMoin's Config Defaults here -
67 # this is to get everything to sane defaults, so we need to change only what
68 # we like to have different:
69
70 from MoinMoin.config.multiconfig import DefaultConfig
71
72 # Now we subclass this DefaultConfig. This means that we inherit every setting
73 # from the DefaultConfig, except those we explicitely define different.
74
75 # Local setting, defined by matthijs for easy moving of data. It didn't work
76 # to define this in the FarmConfig class, so just put it here..
77 import os
78 data_dir_root = os.path.join(os.environ['SITE_DIR'], 'data', 'wipi')
79
80 class FarmConfig(DefaultConfig):
81
82     # Critical setup  ---------------------------------------------------
83
84     # Misconfiguration here will render your wiki unusable. Check that
85     # all directories are accessible by the web server or moin server.
86
87     # If you encounter problems, try to set data_dir and data_underlay_dir
88     # to absolute paths.
89
90     # Where your mutable wiki pages are. You want to make regular
91     # backups of this directory.
92     #data_dir = './data/'
93     # Will be set by individual configs
94
95     # Where read-only system and help page are. You might want to share
96     # this directory between several wikis. When you update MoinMoin,
97     # you can safely replace the underlay directory with a new one. This
98     # directory is part of MoinMoin distribution, you don't have to
99     # backup it.
100     data_underlay_dir = data_dir_root + '/underlay/'
101
102     # Override the default data_dir/plugin path for plugins, which doesn't
103     # make sense. We don't want to have per-wiki plugins anyway and stuffing
104     # code in the datadir is weird.
105     plugin_dir = os.path.join(os.path.dirname(__file__), os.path.pardir, 'plugin')
106
107     # The URL prefix we use to access the static stuff (img, css, js).
108     # NOT touching this is maybe the best way to handle this setting as moin
109     # uses a good internal default (something like '/moin_static163' for moin
110     # version 1.6.3).
111     # For Twisted and standalone server, the default will automatically work.
112     # For others, you should make a matching server config (e.g. an Apache
113     # Alias definition pointing to the directory with the static stuff).
114     url_prefix_static = '/wipi/static'
115
116
117     # Security ----------------------------------------------------------
118
119     # This is checked by some rather critical and potentially harmful actions,
120     # like despam or PackageInstaller action:
121     #superuser = [u"YourName", ]
122
123     # IMPORTANT: grant yourself admin rights! replace YourName with
124     # your user name. See HelpOnAccessControlLists for more help.
125     # All acl_rights_xxx options must use unicode [Unicode]
126     #acl_rights_before = u"YourName:read,write,delete,revert,admin"
127
128     # Link spam protection for public wikis (uncomment to enable).
129     # Needs a reliable internet connection.
130     #from MoinMoin.security.antispam import SecurityPolicy
131
132         
133     acl_hierarchic = True
134
135     # Give users all rights, but don't give any rights to anonymous users
136     acl_rights_default = u""
137     acl_rights_before = u"Known:read,write,delete,revert,admin"
138
139     # Mail --------------------------------------------------------------
140
141     # Configure to enable subscribing to pages (disabled by default) or
142     # sending forgotten passwords.
143
144     # SMTP server, e.g. "mail.provider.com" (empty or None to disable mail)
145     #mail_smarthost = ""
146
147     # The return address, e.g u"Jürgen Wiki <noreply@mywiki.org>" [Unicode]
148     #mail_from = u""
149
150     # "user pwd" if you need to use SMTP AUTH
151     #mail_login = ""
152
153
154     # User interface ----------------------------------------------------
155
156     # Add your wikis important pages at the end. It is not recommended to
157     # remove the default links.  Leave room for user links - don't use
158     # more than 6 short items.
159     # You MUST use Unicode strings here, but you need not use localized
160     # page names for system and help pages, those will be used automatically
161     # according to the user selected language. [Unicode]
162     navi_bar = [
163         # If you want to show your page_front_page here:
164         #u'%(page_front_page)s',
165         u'RecentChanges',
166         u'FindPage',
167         u'HelpContents',
168     ]
169
170     # The default theme anonymous or new users get
171     theme_default = 'modern'
172
173
174     # Language options --------------------------------------------------
175
176     # See http://moinmo.in/ConfigMarket for configuration in
177     # YOUR language that other people contributed.
178
179     # The main wiki language, set the direction of the wiki pages
180     language_default = 'en'
181
182     # You must use Unicode strings here [Unicode]
183     page_category_regex = u'^Category[A-Z]'
184     page_dict_regex = u'[a-z]Dict$'
185     page_group_regex = u'[a-z]Group$'
186     page_template_regex = u'[a-z]Template$'
187
188     # Content options ---------------------------------------------------
189
190     # Show users hostnames in RecentChanges
191     show_hosts = 1
192
193     # Show the interwiki name (and link it to page_front_page) in the Theme,
194     # nice for farm setups or when your logo does not show the wiki's name.
195     show_interwiki = 1
196     logo_string = u''
197
198     # Enable graphical charts, requires gdchart.
199     #chart_options = {'width': 600, 'height': 300}
200
201     # The GUI WYSISYG editor is not installed with Debian.
202     # See /usr/share/doc/$(cdbs_curpkg)/README.Debian for more info
203     editor_force = True
204     editor_default = 'text'  # internal default, just for completeness
205
206     # Authentication
207     from auth.mysql_login import mysql_login # This comes from plugin
208     from dbsettings import phpbb_dbhost, phpbb_dbuser, phpbb_dbpass, phpbb_dbname
209     phpbb = mysql_login(
210         name    = 'phpbb',
211         verbose = True,
212         dbhost  = phpbb_dbhost,
213         dbuser  = phpbb_dbuser,
214         dbpass  = phpbb_dbpass,
215         dbname  = phpbb_dbname,
216         hint    = "Hier kunnen bestuursleden van Evolution Events inloggen om wijzigingen te maken."
217     )
218     auth = [phpbb]
219
220     user_autocreate = True
221
222     # All urls that would be generated below /wipi/Site can be pointed to
223     # /Site instead, since lighttpd maps /Site to the wipis as well.
224     url_mappings = {'/wipi/Site' : '/Site'}
225
226     
227 # vim: set ts=8 sts=4 sw=4 expandtab: