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