Opened 6 years ago

Last modified 6 years ago

#10526 new enhancement

Sync with upstreams mwlib

Reported by: martin.langhoff Owned by: cjb
Priority: normal Milestone: Future Release
Component: wikibrowse-activity Version: 1.5/1.0 Software Build os852 aka 10.1.2
Keywords: Cc:
Blocked By: Blocking:
Deployments affected: Action Needed: never set
Verified: no


We do have quite a few formatting / parsing glitches at the moment. Newer mwlib may fix those.

Wade dixit:

mwlib was under active development when I grabbed it for the activity like 2 years ago, so there may have been nice fixes since then.  One of the major issues it had was not outputting completely valid XHTML, which is why we had to run the output through a beautifier before passing it to Firefox.  (It had to be XHTML for Firefox to display the MathML)  That may be costing some time.

Change History (3)

comment:1 Changed 6 years ago by martin.langhoff

  • Component changed from not assigned to wikibrowse-activity
  • Milestone changed from Not Triaged to Future Release
  • Owner set to cjb
  • Type changed from defect to enhancement
  • Version changed from not specified to 1.5/1.0 Software Build os852 aka 10.1.2

comment:2 Changed 6 years ago by martin.langhoff

Reviewed current mwlib, and spent a morning trying to get to work with it.

Work needed:

  • mwlib is now hosted in git so we can track it as a git submodule
  • needs to be replaced by mw-serve, or reworked to mimic mw-serve
  • - same as
  • our work in woip can be ported to a mwlib "reader" (reading from bzip2)
  • optionally, our work in woip can be ported to a mwlib "writer" backend (to bzip2 + indexes) -- this would mean we can take adv of the mwlib infra to compile wikislices
  • optionally migrate to ctypes for better portability - see #10510

What can we expect:

  • Faster serving -- as it outputs valid XHTML natively
  • Slower serving -- as upstream has dropped re2c scanner
  • Better correctness (?)
  • Port of writer backend: a maintained wikislice creation & maintenace toolchain
  • Port to ctypes: better portability across Python versions
Note: See TracTickets for help on using tickets.