[dokuwiki] Re: Autogenerated indexmenu with some extra configuration options

  • From: Gunther <dokuwiki@xxxxxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Tue, 16 Jan 2007 15:14:04 +0100

Hi Martin,

yes that sounds very much like what I'm looking for :-) .
So if I possibly could help you to overcome some of the remaining problems, just send me a mail. I'm no preofessional programmer and my PHP knowledge (espacially OOP) isn't the best, but till now, I always reached my goals ;-) .

One thing you should think about is adding an option (small button or link) to show the identifier numbers in the menu (with JS) so that one who wants to create a new page can easily see what number to use for getting the page on the right place in the menu.

Or if you need a beta tester:
I have two test installations. One online on a linux server with apache 2 and another local one with Windows XP and also an apache.

And there is another special thing I want to use in my DW. Each namespace, when created, should get an automatically generated index page (the name should be configurable in an extra conf-file) so that there are no empty namespaces. That means, that every menuentry for a namespace must link to namespace:index_file. But this should not be too tough to integrate in your plugin. Maybe you can show me where to alter it?

Would be nice to hear (read) from you!

Gunther


Martin Tschofen schrieb:
Gunther,

I'm working on an index plugin with meta data that seems to be similar in what you're looking for. On the index page, I use meta data set for each page if it exists, otherwise the "first heading" to display the links.

The plugin looks for two meta data entries: 'alternative' = the alternative to the current wiki title and 'identifier' for a number. The index plugin then sorts the pages (natural sort, so 1,2,3 are before 10,11...) based on the combination of 'indentifier alternative'. It also works together with the 'start' page config. If it finds a page named after that config, it will assign the meta data to the namespace (and remove the page link so it's not duplicate).

In addition it adds collapsable namespaces via an icon in front of any namespace link.

If got some issues yet, mostly around sorting of the namespaces themselves but I think I've got an idea how to solve that as well...martin


On 1/16/07, *Gunther* <dokuwiki@xxxxxxxxxxxxxx <mailto:dokuwiki@xxxxxxxxxxxxxx>> wrote:

    Hello list!

    I wanted to write another indexmenu plugin, because the two
    existing ones didn't fit to my needs.
    One of the reasons is, that my project is in German and therefor
    you have to deal with "Umlaute" (you know these letters like 'ä',
    'ö').
    So it's not a good ideas to simply use the pagenames. And also
    using the "First Heading" Option is not ideal, because headings
    are often too long for an entry in a navigation menu.

    For the old DW Version (2006-03-09) I wrote a plugin with which
    you could set an entry on every page like <navmenutitle>your title
    here</navmenutitle>. In the meanwhile I'm thinking about using the
    metadata title field for this. With Esther Brunners plugin you can
    set metadata on every page, so you will be able to use it for the
    menu. As a sideeffect the normal index function of DW will use it
    also when the first heading option is chosen.

    Are there any sideeffects or drawbacks with this method?

    Another question is how to gether the required informations? I use
    a permanent 2-col layout where the menu is located at the side
    column. So in general there's no need for generating the menu on
    every page request. It could be cached and needed only beeing
    rebuild if some of the following actions took place:

        * Metadata title has changed
        * New page was created
        * A page was deleted
        * A page has moved (via plugin)
        * /forgot one???/

    /
    /The second thing is the sortorder of the menu entries. Very often
    (only) an alphabetical sortorder is not ideal. For this reason
    there should be an easy way to achieve a manual override for this.
    I thought about sortorder numbers (as extra metadata?). For
    namespaces for example in steps of 10 and for pages in steps of 100.

    So there always has to be an automatic behaviour when information
    is missing - but there should be an easy way to override it!

    Is there a better (saver, better performance, less drawbacks, and
    so on) way to achieve this goals?
    How would you try to solve the problem?

    Help would be very much appreciated!

    Greetings
    Gunther

    PS: German is my native language ;-)  - so please excuse my bad
    English!



Other related posts: