Use the plugin_dir configuration directive.
[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     # Override the default data_dir/plugin path for plugins, which doesn't
98     # make sense. We don't want to have per-wiki plugins anyway and stuffing
99     # code in the datadir is weird.
100     plugin_dir = os.path.join(os.path.dirname(__file__), os.path.pardir, 'plugin')
101
102     # The URL prefix we use to access the static stuff (img, css, js).
103     # NOT touching this is maybe the best way to handle this setting as moin
104     # uses a good internal default (something like '/moin_static163' for moin
105     # version 1.6.3).
106     # For Twisted and standalone server, the default will automatically work.
107     # For others, you should make a matching server config (e.g. an Apache
108     # Alias definition pointing to the directory with the static stuff).
109     url_prefix_static = '/wipi/static'
110
111
112     # Security ----------------------------------------------------------
113
114     # This is checked by some rather critical and potentially harmful actions,
115     # like despam or PackageInstaller action:
116     #superuser = [u"YourName", ]
117
118     # IMPORTANT: grant yourself admin rights! replace YourName with
119     # your user name. See HelpOnAccessControlLists for more help.
120     # All acl_rights_xxx options must use unicode [Unicode]
121     #acl_rights_before = u"YourName:read,write,delete,revert,admin"
122
123     # Link spam protection for public wikis (uncomment to enable).
124     # Needs a reliable internet connection.
125     #from MoinMoin.security.antispam import SecurityPolicy
126
127         
128     acl_hierarchic = True
129
130     # Give users all rights, but don't give any rights to anonymous users
131     acl_rights_default = u""
132     acl_rights_before = u"Known:read,write,delete,revert,admin"
133
134     # Mail --------------------------------------------------------------
135
136     # Configure to enable subscribing to pages (disabled by default) or
137     # sending forgotten passwords.
138
139     # SMTP server, e.g. "mail.provider.com" (empty or None to disable mail)
140     #mail_smarthost = ""
141
142     # The return address, e.g u"Jürgen Wiki <noreply@mywiki.org>" [Unicode]
143     #mail_from = u""
144
145     # "user pwd" if you need to use SMTP AUTH
146     #mail_login = ""
147
148
149     # User interface ----------------------------------------------------
150
151     # Add your wikis important pages at the end. It is not recommended to
152     # remove the default links.  Leave room for user links - don't use
153     # more than 6 short items.
154     # You MUST use Unicode strings here, but you need not use localized
155     # page names for system and help pages, those will be used automatically
156     # according to the user selected language. [Unicode]
157     navi_bar = [
158         # If you want to show your page_front_page here:
159         #u'%(page_front_page)s',
160         u'RecentChanges',
161         u'FindPage',
162         u'HelpContents',
163     ]
164
165     # The default theme anonymous or new users get
166     theme_default = 'modern'
167
168
169     # Language options --------------------------------------------------
170
171     # See http://moinmo.in/ConfigMarket for configuration in
172     # YOUR language that other people contributed.
173
174     # The main wiki language, set the direction of the wiki pages
175     language_default = 'en'
176
177     # You must use Unicode strings here [Unicode]
178     page_category_regex = u'^Category[A-Z]'
179     page_dict_regex = u'[a-z]Dict$'
180     page_group_regex = u'[a-z]Group$'
181     page_template_regex = u'[a-z]Template$'
182
183     # Content options ---------------------------------------------------
184
185     # Show users hostnames in RecentChanges
186     show_hosts = 1
187
188     # Show the interwiki name (and link it to page_front_page) in the Theme,
189     # nice for farm setups or when your logo does not show the wiki's name.
190     show_interwiki = 1
191     logo_string = u''
192
193     # Enable graphical charts, requires gdchart.
194     #chart_options = {'width': 600, 'height': 300}
195
196     # The GUI WYSISYG editor is not installed with Debian.
197     # See /usr/share/doc/$(cdbs_curpkg)/README.Debian for more info
198     editor_force = True
199     editor_default = 'text'  # internal default, just for completeness
200
201     # Authentication
202     from auth.mysql_login import mysql_login # This comes from plugin
203     from dbsettings import phpbb_dbhost, phpbb_dbuser, phpbb_dbpass, phpbb_dbname
204     phpbb = mysql_login(
205         name    = 'phpbb',
206         verbose = True,
207         dbhost  = phpbb_dbhost,
208         dbuser  = phpbb_dbuser,
209         dbpass  = phpbb_dbpass,
210         dbname  = phpbb_dbname,
211     )
212     auth = [phpbb]
213
214     user_autocreate = True