0
|
1 |
========
|
|
2 |
Features
|
|
3 |
========
|
|
4 |
|
|
5 |
Operating System Support
|
|
6 |
========================
|
|
7 |
Moin is implemented in Python, a platform-independent language.
|
|
8 |
It works on Linux, Mac OS X, Windows, FreeBSD and other OSes that support
|
|
9 |
Python.
|
|
10 |
|
|
11 |
That said, Linux is the preferred and most tested deployment platform and
|
|
12 |
will likely have fewer issues than, for example, Windows.
|
|
13 |
|
|
14 |
Servers
|
|
15 |
=======
|
|
16 |
* Builtin Python server from werkzeug, which is easy to use.
|
|
17 |
* Any server that talks WSGI to moin:
|
|
18 |
|
|
19 |
- Apache2 with mod_wsgi
|
|
20 |
- nginx with uwsgi
|
|
21 |
- IIS with isapi-wsgi (not recommended - if you must use Windows, but have
|
|
22 |
a choice concerning the web server, please use Apache2).
|
|
23 |
- Other WSGI servers, see http://wsgi.org/
|
|
24 |
|
|
25 |
* With the help of flup middleware about any other server speaking:
|
|
26 |
|
|
27 |
- fastcgi
|
|
28 |
- scgi
|
|
29 |
- ajp
|
|
30 |
- cgi (slow, not recommended)
|
|
31 |
|
|
32 |
Authentication
|
|
33 |
==============
|
|
34 |
* Builtin - username / password login form of moin, MoinAuth
|
|
35 |
* Builtin HTTP Basic Auth - browser login form, HTTPAuthMoin
|
|
36 |
* OpenID - relying party, OpenIDAuth
|
|
37 |
* Auth against LDAP / Active Directory (LDAPAuth)
|
|
38 |
* Any authentication your web server supports via GivenAuth
|
|
39 |
|
|
40 |
Authorization
|
|
41 |
=============
|
|
42 |
* Content Access Control Lists (ACLs)
|
|
43 |
|
|
44 |
- global, using a mapping, so you can apply ACLs on parts of the namespace
|
|
45 |
- local, per wiki item
|
|
46 |
- give rights, such as:
|
|
47 |
|
|
48 |
+ create, destroy
|
|
49 |
+ read, write, rename
|
|
50 |
+ admin
|
|
51 |
|
|
52 |
- to:
|
|
53 |
|
|
54 |
+ specific users
|
|
55 |
+ specific groups of users
|
|
56 |
+ all logged-in users
|
|
57 |
+ all users
|
|
58 |
|
|
59 |
* Function ACLs
|
|
60 |
|
|
61 |
Anti-Spam
|
|
62 |
=========
|
|
63 |
* TextChas (text captchas)
|
|
64 |
* Form Ticketing
|
|
65 |
|
|
66 |
Storage
|
|
67 |
=======
|
|
68 |
Item Types
|
|
69 |
----------
|
|
70 |
* we store data of any type, such as text, images, audio, binary
|
|
71 |
* we separately store any metadata
|
|
72 |
* everything is revisioned
|
|
73 |
|
|
74 |
Storage Backend Types
|
|
75 |
---------------------
|
|
76 |
* file system
|
|
77 |
* sql database, such as sqlite3 or everything supported by SQLalchemy
|
|
78 |
* Kyoto Tycoon / Kyoto Cabinet
|
|
79 |
* mongodb
|
|
80 |
* you can easily add your own backend with little code
|
|
81 |
|
|
82 |
Serialization
|
|
83 |
-------------
|
|
84 |
* dump backend contents to a single file
|
|
85 |
* load backend contents from such a file
|
|
86 |
|
|
87 |
Search / Indexing
|
|
88 |
=================
|
|
89 |
* important metadata is indexed
|
|
90 |
* content data is converted (if possible) and indexed
|
|
91 |
* fast indexed search, fast internal operations
|
|
92 |
* flexible and powerful search queries
|
|
93 |
* search current and historical contents
|
|
94 |
* using a shared index, find content in any farm wiki
|
|
95 |
|
|
96 |
User Interface
|
|
97 |
==============
|
|
98 |
OO user interface
|
|
99 |
-----------------
|
|
100 |
* Most functionality is done in the same way no matter what type your wiki
|
|
101 |
item has.
|
|
102 |
|
|
103 |
Templating
|
|
104 |
----------
|
|
105 |
* Theme support / User interface implemented with templates
|
|
106 |
|
|
107 |
Wiki features
|
|
108 |
-------------
|
|
109 |
* Global History for all items (full list)
|
|
110 |
* Latest Changes ("Recent Changes"), only lists the latest changes of an item
|
|
111 |
* Local History for one item ("History")
|
|
112 |
* Diffs between any revision
|
|
113 |
|
|
114 |
+ text item diffs, rendered nicely with html
|
|
115 |
+ image diffs
|
|
116 |
+ binary "diff" (same or not same)
|
|
117 |
* Tags / Tag Cloud
|
|
118 |
* Missing Items
|
|
119 |
* Orphaned Items
|
|
120 |
* "What refers here?" functionality
|
|
121 |
* "What did I contribute to?" functionality
|
|
122 |
* Sitemap
|
|
123 |
* Macro support
|
|
124 |
* Multiple names and Namespaces support
|
|
125 |
|
|
126 |
Markup support
|
|
127 |
--------------
|
|
128 |
* Moin Wiki
|
|
129 |
* Creole
|
|
130 |
* MediaWiki
|
|
131 |
* reST
|
|
132 |
* DocBook XML
|
|
133 |
* Markdown
|
|
134 |
* HTML
|
|
135 |
* plus code / text file highlighting for many formats
|
|
136 |
|
|
137 |
Feeds
|
|
138 |
-----
|
|
139 |
* Atom
|
|
140 |
* Google Sitemap
|
|
141 |
|
|
142 |
Notification
|
|
143 |
------------
|
|
144 |
* by email: smtp or sendmail
|
|
145 |
|
|
146 |
Translation / Localization
|
|
147 |
--------------------------
|
|
148 |
* currently English and German translations only; no others will be added until
|
|
149 |
the code and texts for moin2 are more stable
|
|
150 |
* any localization, provided by babel / pytz
|
|
151 |
|
|
152 |
Logging
|
|
153 |
=======
|
|
154 |
* Flexible logging provided by `logging` module of python stdlib
|
|
155 |
|
|
156 |
Technologies
|
|
157 |
============
|
|
158 |
* html5, css, javascript with jquery, svg
|
|
159 |
* python
|
|
160 |
* flask, flask-caching, flask-babel, flask-themes, flask-script
|
|
161 |
* whoosh, werkzeug, pygments, flatland, blinker, babel, emeraldtree
|
|
162 |
* sqlalchemy (supports all popular SQL DBMS), sqlite, kyoto tycoon/cabinet
|