Hi,

My last iteration of the GraphReferenceManager resulted in a manager far
too tightly wound into the existing JSPWiki code, where I had long ago
realised that the LinkManager (the actual manager that handles the
building and maintenance of the graph) really only needs to receive
WikiPageEvents.

The actual GraphReferenceManager would then no longer maintain the maps
of the existing DefaultReferenceManager, and effectively hand off its
functionality largely to the LinkManager in order to still comply with
the methods of the ReferenceManager API, and would effectively become
mostly an empty shell class, not doing much of anything. So my next
version will be quite a bit lighter in terms of hooks.

But I note that apart from modifying the contents of classmappings.xml
or classmappings-extra.xml, one thing I'd like to request is that the
functionality we currently have for several managers to configure the
choice of implementing class in jspwiki.properties be extended to the
ReferenceManager implementation. There'd seemingly be no downside to
this as the default would for most deployments be the existing class,
with this proposed configuration akin to:

  jspwiki.referenceProvider = DefaultReferenceManager

This would be the sufficient hook I'd need to consider replacement of
the existing ReferenceManager (noting that my implementation is JDK 11
so I can't integrate it directly into jspwiki-main).

----

There would be a new enum for the various link types in the graph:

    // not recognised as a link
    INVALID("Invalid"),

    // recognised as a link
    INTERWIKI("Interwiki"),
    IMAGE("Image"),
    INTERNAL("Internal"),
    EXTERNAL("External"),
    ATTACHMENT("Attachment"),
    UNCREATED("Uncreated"),

    // parsed but not recognised as a link
    ACCESS_RULE("AccessRule"),
    PLUGIN("Plugin"),
    METADATA("Metadata"),
    VARIABLE("Variable");

[you may now understand my interest in the LinkParsingOperations class]

I've played with a variety of different JGraphT visualisations in the
jungrapht-visualization library for the default set of JSPWiki pages:

   http://altheim.com/murray/yk/visualised.png
   http://altheim.com/murray/yk/visualised-zoom.png

As part of this plan, there would be no "uncreated pages" any longer, as
all links-to-nowhere end up as fully-fledged graph nodes. So when a user
attempts to traverse to an uncreated page, the engine wouldn't simply
provide an edit link, it could also show the existing link sources.

The ability to traverse the graph from any node (at any depth, and
filtering on any link type) would provide a lot of additional
functionality.

Cheers,

Murray

...........................................................................
Murray Altheim <murray18 at altheim dot com>                       = =  ===
http://www.altheim.com/murray/                                     ===  ===
                                                                   = =  ===
    In the evening
    The rice leaves in the garden
    Rustle in the autumn wind
    That blows through my reed hut.
           -- Minamoto no Tsunenobu

Reply via email to