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