MoinMoin Wiki

Thomas Waldmann, PyConDE 2018

moin 1.9.x

  • moin 1.9.10 released with:
    • bug and security fixes
    • updated bundled dependencies
    • minor new functions
    • anti-spam / changed default permissions
  • moin 1.9 development:
    • moved development to git / github
    • issue tracking on github
    • using travis-ci now
    • old codebase, python 2.7 only, no port to py3.
    • needs: maintenance, no big changes.

moin 2: developers wanted!

  • moin2 is still in development
  • some stuff works, but not recommended for prod
  • new and better codebase than moin 1.x
  • currently only ~2 active spare-time devs
  • needs more developers / architects / designers:
    • python (flask, whoosh)
    • xml / xpath (lxml, emeraldtree)
    • UI / UX  (html, css, js, jinja2, ...?)
  • if you want a moin wiki with a future,
    get involved now and help getting it released!

done: dev modernized

  • moved development to git / github
  • issue tracking now on github
  • using travis-ci, tox, pytest 3, flake8
  • py27 and pypy27
  • some code cleanups done
  • moved to src/ layout

todo: converters

  • emeraldtree (elementtree fork) is unmainted
  • we use it for:
    • conversion doc format -> dom tree -> doc format
    • supporting misc. popular markups,
      moinwiki, creole, mediawiki, ReST, markdown, docbook, csv, html, ...
  • TODO:
    • use lxml for converters? (tests already use lxml)
    • create a converter lib so other projects can use it?
    • more xpath-based / less string-based testing

todo: validation / forms

  • flatland library is unmaintained
  • we use it for:
    • user input validation
    • html form generation w/ feedback
    • storage level input validation
  • TODO:
    • use marshmallow library?
    • does not have html form generation
    • feedback to user / into html forms?

todo: storage / indexing

  • we have some self-made layers to:
    • index / search / lookup (whoosh)
    • permission check (ACLs)
    • namespaces / "mounting"
    • store metadata and data
    • misc. backends
  • TODO:
    • fix / maintain own code?
    • just rewrite using postgresql only?

todo: UI / UX

  • currently: jinja2 html templates + a bit of js / css
  • TODO:
    • improve usability / consistency / prettiness
    • item editor:
      • better UI
      • collab editor (also avoids conflicts)?
    • separate moin backend and frontend?
  • needs UI / UX developers who know their stuff

todo: python 3

  • considering the other TODOs first:
    • some are essential to do ASAP
    • some before first release
    • some required for python 3
  • python 3:
    • can still wait some time:
      • py27 is there at least until 2020
      • pypy27 maybe even much longer?
    • the user doesn't care whether it runs on 2 or 3
    • migrating now would further delay 1st release
    • if we migrate for 2nd release, we can:
      • drop py2 completely
      • use latest py3

Contact, Feedback, Helping

https://github.com/moinwiki

 

#moin-dev on chat.freenode.net (IRC)

 

moin-devel @ python.org (ML)

moin-user @ python.org (ML)

 

... or grab me at this conference.

moin2018

By Thomas Waldmann

moin2018

  • 1,573