Moinmoin Documentation Release 0.1.Dev196+G250faa1
Total Page:16
File Type:pdf, Size:1020Kb
MoinMoin Documentation Release 0.1.dev196+g250faa1 The MoinMoin developers Aug 22, 2021 Contents 1 General 3 1.1 About MoinMoin.............................................3 1.2 What makes MoinMoin special?.....................................4 1.3 Who is using MoinMoin?........................................4 2 Features 7 2.1 Operating System Support........................................7 2.2 Servers..................................................7 2.3 Authentication..............................................8 2.4 Authorization...............................................8 2.5 Anti-Spam................................................8 2.6 Storage..................................................8 2.7 Search / Indexing.............................................9 2.8 User Interface..............................................9 2.9 Logging.................................................. 10 2.10 Technologies............................................... 11 3 License 13 4 Using MoinMoin 21 4.1 User Accounts.............................................. 21 4.2 Markups Supported by MoinMoin.................................... 24 4.3 Templates and Meta Data........................................ 77 4.4 Searching and Finding.......................................... 78 4.5 File Upload................................................ 81 4.6 Namespaces............................................... 82 4.7 User Subscriptions............................................ 82 5 Administrating MoinMoin 85 5.1 Requirements............................................... 85 5.2 Installation................................................ 86 5.3 Installation (for developers)....................................... 87 5.4 Server Options.............................................. 90 5.5 Introduction into MoinMoin Configuration............................... 92 5.6 Wiki Engine Configuration........................................ 94 5.7 Framework Configuration........................................ 118 5.8 Logging Configuration.......................................... 118 i 5.9 Changes in MoinMoin.......................................... 119 5.10 MoinMoin Version History........................................ 119 5.11 Upgrading................................................ 119 5.12 Backup and Restore........................................... 121 5.13 Indexes.................................................. 122 5.14 Password Resetting/Invalidation..................................... 125 5.15 Moin Command Line Interface..................................... 127 6 Getting Support for and Contributing to MoinMoin 131 6.1 MoinMoin Supports You......................................... 131 6.2 You Support MoinMoin......................................... 132 6.3 Translating MoinMoin.......................................... 133 7 Developing of MoinMoin 137 7.1 Development............................................... 137 8 Autogenerated API docs 147 9 Indices and Tables 149 ii MoinMoin Documentation, Release 0.1.dev196+g250faa1 Warning: This documentation only applies to MoinMoin version 2 (aka moin2, moin 2.0, mm2, MoinMoin2, etc.), except where explicitly noted otherwise. Moin2 is very different from moin 1.x, so docs from one version will not apply to the other. Contents 1 MoinMoin Documentation, Release 0.1.dev196+g250faa1 2 Contents CHAPTER 1 General 1.1 About MoinMoin MoinMoin is a wiki engine written in Python. It is Free and Open Source Software under GNU GPL v2+. For details please read the License. Project homepage: https://moinmo.in/ Using MoinMoin, wiki users can easily create and maintain web content from their browser. You can use it: • as an easily-maintained web site • as a knowledge base • for taking notes • for creating documentation You can use it for: • your company / organisation, your work group • your school, college, or university • your projects and interests • just yourself You can run it on: • a public web server • an intranet server • your desktop or laptop • Linux, Mac OS X, Windows, and other OSes 3 MoinMoin Documentation, Release 0.1.dev196+g250faa1 1.2 What makes MoinMoin special? Moin tries to be a great wiki engine, which encompasses: powerful, extendable and easy-to-use. We don’t try to be everything, but we don’t try to be minimalistic either. There are lots of wiki engines out there, making it hard to pick one. However, choosing wisely is important because you may have to live with your choice for a long time because switching wiki engines is not easy. We won’t list all of moin’s features, because comparing feature lists is just not enough. Some features are best left unimplemented, even if they sound great at first. In moin, you will find most important features like in most major wiki engines. But still, you and your wiki users might feel quite a different overall experience just because of a bunch of small, superficial differences. Of course the quality of some features’ implementations can vary greatly. Thus, you have to try it and play with it, not just look at feature comparisons. MoinMoin has been around since about 2000. It has rapidly grown and evolved through moin 1.9.x. Its developers have increased their experience with Python and wiki technology over the years. With moin 2.0, there has been a rather revolutionary cleanup / rewrite of how moin works based on that experience. This promises to make it easier, cleaner, more consistent, more powerful, more flexible and more modular. Moin is written in Python, an easy to read, high-level, object-oriented, dynamic, well-designed and platform- independent programming language. Moin is Free Software (that implies that it is Open Source) and, because we use Python, you may even like to read and modify moin’s code. 1.3 Who is using MoinMoin? This shows some of the better-known users of MoinMoin: 1.3.1 Web Sites • KernelNewbies, Xen, LinuxWireless, GCC • Debian, Ubuntu, CentOS • Apache, Gnome, Wine, OpenOffice, Squid, Exim, Dovecot • Python, ScyPy, TurboGears • Mercurial, Darcs • FSFE, FFII, c-base, MusicBrainz • linuxwiki.de, jurawiki.de, ooowiki.de and . moinmo.in :D For links and more sites, please see: https://moinmo.in/MoinMoinWikis You may also add missing moin-based sites there. 1.3.2 Intranet installations We know that there are a lot of private intranet installations of MoinMoin in: • enterprises, companies • government and administration • scientific research facilities, universities, schools 4 Chapter 1. General MoinMoin Documentation, Release 0.1.dev196+g250faa1 • communities Unfortunately, we do not have permission to name them here. 1.3. Who is using MoinMoin? 5 MoinMoin Documentation, Release 0.1.dev196+g250faa1 6 Chapter 1. General CHAPTER 2 Features 2.1 Operating System Support Moin is implemented in Python, a platform-independent language. It works on Linux, Mac OS X, Windows, FreeBSD and other OSes that support Python. That said, Linux is the preferred and most tested deployment platform and will likely have fewer issues than, for example, Windows. 2.2 Servers • Builtin Python server from werkzeug, which is easy to use. • Any server that talks WSGI to moin: – Apache2 with mod_wsgi – nginx with uwsgi – IIS with isapi-wsgi (not recommended - if you must use Windows, but have a choice concerning the web server, please use Apache2). – Other WSGI servers, see http://wsgi.org/ • With the help of flup middleware about any other server speaking: – fastcgi – scgi – ajp – cgi (slow, not recommended) 7 MoinMoin Documentation, Release 0.1.dev196+g250faa1 2.3 Authentication • Builtin - username / password login form of moin, MoinAuth • Builtin HTTP Basic Auth - browser login form, HTTPAuthMoin • Auth against LDAP / Active Directory (LDAPAuth) • Any authentication your web server supports via GivenAuth 2.4 Authorization • Content Access Control Lists (ACLs) – global, using a mapping, so you can apply ACLs on parts of the namespace – local, per wiki item – give rights, such as: * create, destroy * read, write, rename * admin – to: * specific users * specific groups of users * all logged-in users * all users • Function ACLs 2.5 Anti-Spam • Form Ticketing 2.6 Storage 2.6.1 Item Types • we store data of any type, such as text, images, audio, binary • we separately store any metadata • everything is revisioned 8 Chapter 2. Features MoinMoin Documentation, Release 0.1.dev196+g250faa1 2.6.2 Storage Backend Types • file system • sqlite3 • everything supported by SQLalchemy • you can easily add your own backend with little code 2.6.3 Serialization • dump backend contents to a single file • load backend contents from such a file 2.7 Search / Indexing • important metadata is indexed • content data is converted (if possible) and indexed • fast indexed search, fast internal operations • flexible and powerful search queries • search current and historical contents • using a shared index, find content in any farm wiki 2.8 User Interface 2.8.1 OO user interface • Most functionality is done in the same way no matter what type your wiki item has. 2.8.2 Templating • Theme support / User interface implemented with templates 2.8.3 Wiki features • Global History for all items (full list) • Latest Changes (“Recent Changes”), only lists the latest changes of an item • Local History for one item (“History”) • Diffs between any revision – text item diffs, rendered nicely with html – image diffs – binary “diff” (same or not same) 2.7. Search / Indexing 9 MoinMoin Documentation, Release 0.1.dev196+g250faa1 • Tags / Tag Cloud • Missing Items • Orphaned Items • “What refers here?”