Version 45

    Using the Wiki internal search for Aggregation

    A knowledge base living on the same wiki engine as the Metajizer can use the Metajizer's spaces to aggregate Content by Aspects (Tags) right on the wiki page. These aggregations are gathered at viewtime, so they don't have to be maintained manually, which avoids duplicate data. This is especially useful when the same pages are referenced from several places, localized by different aspects. Let's look at two examples.

     

    Aggregation by Aspects - What is it good for? Project page example

    To stick with our Mod_jk example, say we want to have a central page in the internal knowledge base where we have a nice sorted view of the project's

    • Articles

    • FAQs

    • Reference documentation

    • Sourcecode

     

    Actually, this page already exists at http://wiki.corp.jboss.com/bin/view/Services/ApacheMod_jk:

     

     

    We'll worry about how this page is set up in the next example below. For now let's look at what it does: It gathers all URLs whose tags match the one in the corresponding filter into a list of links, with a small header declaring what filters were applied. This is done at run (view-) time and does not need to be updated. For illustration, let's assume someone stumbles over the AJP protocol reference material at http://tomcat.apache.org/connectors-doc/common/ajpv13a.html and sees it's not metajized yet. She doesn't even have to know that there is a mod_jk project page that should be updated with this new link, she just tags it in the metajizer (see SimpleTagging for details):

     

     

    And now the next time we access the project page - voila:

     

     

    Aggregation by aspects - How is it done? Reference doc Example

    As another example, let's say that the Documentation Team want to have an overview of the existing Reference material on JEMS products:

    • Which projects have a reference doc at all?

    • Which reference documentation is certified?

    • Have I missed one that was recently added?

     

    Now since a page gathering that information does not exist yet, we will use it as an example on how to use metajizer Aggregation inside a wiki page. It's easy.

     

    Step one: build the filter stack

    So as the first aggregation, we want to see which projects have reference material that is Tagged as such. We start with listing all tagged reference documentation on Hibernate. We remember from FiltersAndSearches: Click on "Product" in the Sidebar, "Hibernate" in the main window, "add to filter" in the filter area. The same for "Format" / "Reference". Here is our filter stack:

     

     

    Now we can see the pages matching the filter (Reference documentation for Hibernate) by just clicking on "show filtered pages". But we want to include that aggregation in the wiki page!

     

    Step two: build the wiki page

    Now we click on the link "(as TWiki code)" in the CheckingOutTheSidebar. A textarea containing TWiki source opens:

     

     

    We either copy-and-paste or drag-and-drop this into the Twiki edit form for the new page. The filter stack stays as it is until it is cleared by clicking on the "X", so we can safely open up the edit form, then click on "as TWiki code", and than drag the code over into the form textarea for the wiki page. Without any further editing, it will look like this:

     

     

    For the other projects, we just delete the filter on "Product: JBoss_AS" and add one for e.g. "Product: Hibernate", then click on "(as TWiki code)" and do the drag and drop magic again. Displaying the certified reference doc is the same, we replace "Product  X" by "Publishlevel  certified". To have at least some thrill, for the last step ("ten most recently tagged URLs") we need to restrict the number of pages to 10. To accomplish this, build the filter stack (in this case, leaving only "Format: Reference" in the stack), copy over the TWiki code, and then add

     

    limit="10"

     

    You might have guessed, this means that a max of 10 results will be shown. While we're at it, we can look at the other formatting options.

    They are all explained in http://twiki.org/cgi-bin/view/TWiki/FormattedSearch. After some nicer structuring we finally end up with the page http://wiki.corp.jboss.com/bin/view/Services/ReferenceDocumentation

     

     

    Note two things:

    • The certified area is empty, we'll have to find out which of the existing or new ones we can tag as Publishlevel:certified

    • the newly introduced modjk reference page is aggregated too, even twice, under most recent and under Product: Mod_jk

     

     

    Happy tagging

    That's it for this guided tour. Thanks for the time. There are some areas we haven't covered now (like refactoring the Ontology), but we should have covered be most needed features. Make sure to enter any comments, suggestions, Jira bug reports and feature requests at

     

    http://labs.jboss.com/wiki/TestingFeedback

     

     

    Back to FiltersAndSearches - up to GuidedTour