summaryrefslogtreecommitdiff
path: root/HelpMiscellaneous.mdwn
blob: 588a0fcb03609951b061001d662d9742265030a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127


## Other MoinMoin help topics

**Subtopics** 

* [[/FrequentlyAskedQuestions|HelpMiscellaneous/FrequentlyAskedQuestions]] 
* [[/ExperimentalFeatures|HelpMiscellaneous/ExperimentalFeatures]] 
**Contents** [[!toc ]] 


### Adding an icon to your wiki setup

You maybe want to add some icon to your wiki site, commonly known as `favicon.ico`. To get those little icons besides bookmarks and with tabbed browsing, add this to your `moin_config.py`: 
[[!format txt """
html_head = '''
<link rel="icon" href="/images/icon.png" type="image/png">
<!-- ... more header stuff ... -->
'''
"""]]
The image size _must_ be 16x16 and simply putting it as `/favicon.ico` (into your Document``Root) does _not_ work with all browsers (e.g. does not work with Mozilla versions 1.0 - 1.3). 


### Enabling a publically editable intermap

If you want your users to easily add new [[InterWiki|InterWiki]] monikers, change your `moin_config.py` to contain an entry like this: 
[[!format txt """
shared_intermap = ['/usr/local/moin/mywiki/data/text/intermap_2etxt']
"""]]
Then create a page named `intermap.txt` (see [[!LinuxWiki intermap desc="intermap"]].txt for an example) with the following content: 
[[!format txt """
#format text/plain
## Keep the first line and add text only after two hash marks (##)
##
## This is a publically editable extension of standard InterWiki
## definitions. Any addition here is immediately reflected in 
## the wiki.
##
## To enable this in your own wiki, either add the page file of
## this page to config.shared_intermap (can be a list of files
## since version 1.1), or add an appropriate symbolic link.
##
## The format of an entry is interwiki moniker followed by the URL
## $PAGE can be used to embed the URI following the moniker in
## the resultant URL

MyNewMoniker http://example.com/somewiki/$PAGE.html
"""]]
Then check whether your new monikers appear on the [[InterWiki|InterWiki]] list. 


### Apache tricks


#### Securing access to a wiki via Apache means

See [[!MoinMoin PasswordProtectedEditing desc="PasswordProtectedEditing"]] 


#### Serving the wiki from a domain root

`httpd.conf` modification for [[MoinMoin|MoinMoin]] installation at "/": 
[[!format txt """
# global section:
LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
# virtualhost section:
RewriteEngine on
RewriteRule ^/wiki/       -                      [last]
RewriteRule ^/robots.txt  -                      [last]
RewriteRule ^/favicon.ico -                      [last]
RewriteRule ^/?(.*) /pathto/cgi-bin/moin.cgi/$1  [last,type=application/x-httpd-cgi]
"""]]
This way you can use short and clean URLs like [[http://LinuxWiki.de/FrontPage|http://LinuxWiki.de/FrontPage]]. 


### Special features for wiki farms and intranets

The following shows how certain features can help you to optimize your configuration when you run several wikis on one host, or when you use [[MoinMoin|MoinMoin]] in intranet environments. 


#### Centralized settings

* farm_config.py 
* shared intermap.txt 
* shared code base and icons 

#### Remapping URLs

The configuration variable "`url_mappings`" can be used to remap absolute URLs to relative ones, or change certain URL prefixes to totally different ones. This is especially useful in intranets, when whole trees of documents hosted outside of the wiki move around. 

"`url_mappings`" is a lookup table in the form of a dict, the key is the prefix to be replaced, the value is the replacement. A typical example is `url_mappings = {'http://my.server.net/': '/'}`, which removes the scheme from local URLs, and thus makes links to your own server work for both `http` _and_ `https`. 


### TODO

[!] TODO: explain the following things in detail, and add more detail to the above sections 

Needing more explanation: 

* event logging 
* Page trails (user option) 
* [[UserPreferences|UserPreferences]]: checkboxes for double-click edit, page trail, fancy links, emoticons, jump to last page visited, and some other yes/no options 
* "Remove trailing whitespace from each line" option in the editor 
* Page templates (create a new page using a template page)  
* Only "normal" URLs (outside of brackets) are converted to inline images ==> document exact rules 
* Highlighting of search results, and of bad words when spellchecking 
* Support for "[[file:"|file:"]] URLS 
* email notification features 
* "RSS" icon displayed by [[RecentChanges|RecentChanges]] macro 
* commentary field of editor, recent changes and page info 
* Page caching, for now limited to XSLT processing (where it's absolutely needed); new code & API to add the "Refresh``Cache" link 
* inline search fields (at the bottom of each page) 
* the interwiki name "Self" now always points to the own wiki 
* page info action 
Admin stuff: 

* describe "moin.cgi?test" tool in more detail 
* Wiki``Farm support: 
      * <datadir>/plugin/macro and <datadir>/plugin/action can be used to store macros and actions local to a specific wiki instance 
      * config.shared_intermap can contain a pathname to a shared "intermap.txt" file (i.e. one stored outside the datadir) 
* $PAGE placeholder in interwiki map 
Command-line tools: 

* "moin-dump" command line tool to create a static copy of the wiki content 
Compatibility: 

* RSS features require a recent PyXML (CVS or 0.7) due to bugs in the namespace handling of xml.sax.saxutils in earlier versions. This is (hopefully) automatically detected on every installation.