This is version . It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

Description#

Here's a thought, let's treat the Wiki as a database where the links between pages are relations. What could you do with a wiki then? Hmm, WikiAsDatabase, WikiAsRequriementsManager, WikiAsIssueTracker, whatever...

The QueryPlugin would perform a search over the ReferenceManager's collection of all pages/links, the search terms are page names, and the query is based on the links betwen pages. In some sense the ReferingPagesPlugin is a degenerate form of this plugin.

Prefix Infix
TO OR
BY AND
NOT

Parenthis will be REQUIRED for clarity and correctness so no-one writing a query can say they didn't get the results they expected.

Parameters#

todo pages= - Requried. The page query string to be evaluated.

Generated HTML#

    <ul>
      <li>~QueryResultOne</li>
      ...
    </ul>

Example Usage:#

Normal WikiPlugin syntax applies...
  • [{QueryPlugin pages='TO( [Bug] AND [Open]) AND NOT( FROM( PlanningGame) )'}]

Design#

Main classes:
  • QueryPlugin - the plugin itsself, interacts with the page context, generates the HTML output, manages a map of page= strings to Querys.
  • QueryReaper - periodically culls old Queries from the map held by the QueryPlugin.
  • Query - Represents an instance of a unique page= string. Monitors the ReferenceManager for changes and evaluates Expressions.
  • Expression - Contains nested Expressions or page-names and Operators. Can be asked if it .accepts() a given page-name.
  • Operator - modifies the behaviour of an Expression to implement AND, OR, TO, BY and NOT.


Discussions...#

Anybody have any thoughts or suggestions? Let me know here. --JohnVolkar


CategoryThirdPartyPlugins

Add new attachment

Only authorized users are allowed to upload new attachments.
« This particular version was published on 15-Dec-2003 20:12 by JohnVolkar.