[Moin-user] Integrating external docs into moin

Thomas Waldmann tw-public at gmx.de
Thu Jan 29 11:04:35 EST 2009

Moin Andrew! :)

> I would like to know if the following is possible with plugins:
> I've got a bunch of ReST text files in a Subversion repository, that are
> documenting some of our code libraries.  I'd like to be able to have these
> files displayed through the wiki, so that we have a single point for viewing,
>  searching, linking to both our wiki content and these docs.

Well, moin has a rst parser, so you just need to feed your data into it.
The most natural way would be of course if the data was stored on
#format rst  pages.

Side note: that rst parser still needs a maintainer. :)

> Is this feasible to do with MoinMoin plugins? Ideally every 'page' under, say,
> /Documentation would appear in the wiki as read-only, and would have its content
> fetched dynamically from Subversion and parsed with text_rst.

That's possible, but needs a rather dirty hack of Page/PageEditor
classes until the storage backend api is fully functional and merged
(moin 2.0).

>  It appears that this might be possible by writing a 'show' action plugin that
>  would handle the /Documentation pages itself, but delegate back to the builtin
>  show action for all other pages; but this solution smells a little.

Could work maybe. Maybe even less smelly than hacking Page/PageEditor.

> Is there a better approach?

Not right now. If you can wait, you can work with the moin-storage repo
and write a backend that does what you want.

> Would there be any gotchas doing it this way?

Good question, that show action approach wasn't tried before.

>   Would this also require me to override most other builtin actions in a similar way to avoid them trying to work on the non-exist /Documentation/whatever wiki page?

Well, if you want to avoid someone clicking edit or other actions and
getting strange effects, you would have to do more stuff, yeah.

BTW: will you be at EuroPython 2009?



More information about the Moin-user mailing list