|
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 |