q-doc/intro/features.rst
changeset 0 bc83cf45066d
equal deleted inserted replaced
-1:000000000000 0:bc83cf45066d
       
     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