[dokuwiki] new include plugin - call for testers

  • From: Michael Klier <chi@xxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Mon, 23 Mar 2009 23:14:17 +0100

Hi everyone,

over the past 3 weeks I made an attempt of completely rewriting the include
plugin [1] from scratch. The reasons are as follows:

In the past the plugin did a lot of guesswork to determine/convert the
sections/headers of included pages. This was error prone to no end. The TOC
didn't work 100% and the ODT export wasn't really working as advertised etc.
pp. 

The new include plugin now works completely on instruction level.  This has a
lot of advantages:

        1. The instructions of included pages get directly added to the
        instructions of the top the level page which "triggerd" a inclusion. 
This
        works for nested includes as well.  The end result is a instructions
        array which contains all converted instructions of all included pages.

        2. Due to 1. The include plugin now doesn't need a separate ODT renderer
        plugin. The ODT plugin works out of the box now :D.

        3. The section/header conversion got smarter. The old include plugin
        online converted the headers/section "down". Now if you include a page
        of which the first headline is a level3 headline below a level1 
headline,
        all headlines/sections of the included page are convertet "up" too. This
        has the advantage that you can include a page in different indented
        sections on different pages and it will always look "fine".

Now here's the deal: I'm not able to test the plugin in all possible ways.
But, because this plugin is widely used I would like to make sure it works
100% before doing a final release. So, if you're using the include plugin for
more than just inserting a page into another, but with heavily nested includes
etc. it would be great if you could setup a little test Wiki and give it a
shot with your example data and report back if sth. doesn't work as you
expect. I'm especially interested in the performance when a lot of big pages
are included with nested inclusion.

IMPORTANT: Some things don't work yet (but I plan to fix them in the upcoming
days):

        1. the &noheader option doesn't work yet 
        2. I haven't really tested the Macro feature (but it should work ;))
        3. since the plugin is working on instruction level it needs to strip 
out
        plugin instructions which are unwanted when a page is included (i.e. 
tags,
        discussion, linkbacks etc.). Let me know if there are other plugins for
        which this would be desireable.
        4. WARNING: The blog plugin is not (yet) compatible with this version of
        the include plugin and will be 100% broken. First things first, if the
        include plugin works I'll fix the blog plugin accordingly.

Attached is a devel snapshot of the plugin. You can also checkout a darcs
version from our darcs repository [2].

Thanks in advacne to everyone who's planning to help in advance! In the end we
all benefit from your efforts ;).

Regards,
        Michael

[1] http://dokuwiki.org/plugin:include
[2] http://dev.chimeric.de/darcs/dokuwiki/plugins/include

-- 
Michael Klier

www:    http://www.chimeric.de
jabber: chi@xxxxxxxxxxxxxxxxxx
key:    http://downloads.chimeric.de/chi.asc
key-id: 0x8308F551

Other related posts: