Sunday, May 16, 2010

Wiki structure: New tools

or basic inventory of what we have.

Temporary openSUSE Wiki is created few moths ago to allow test of new tools and content reorganization  without disrupting daily operation of openSUSE Wiki. It is running on MediaWiki version 1.15.1. The basic software is already much better then the old version 1.5, but the goal is not only to have one time cleanup, but also to organize wiki that will provide benefits for all involved parties: visitors, writers and maintainers. To achieve this we added few extensions to the basic MediaWiki listed here .

Semantic MediaWiki  is complex extension that has its own extensions.It can become one of our flagships, but at the time of this post I don't know much about it.

We already have working implementations of the following extensions:

CategoryTree is navigational tool, intended to provide compact list of other pages that user might want to visit. It is based on MediaWiki categories , which means that creation and maintenance of categories and its structure, is one of the primary tasks for all involved.

FlaggedRevs will allow better content quality control. It is set to show casual visitors only article revisions that passed quality control process. Editing is not prevented, so anyone can change page content, but that is hidden from visitors until some of reviewers check the article.

MultiBoilerplate is meant for simplified creation of articles, providing ready to go templates for different types of articles that wiki user can choose from drop down list.  The openSUSE version is patched to allow different sets of templates for different namespaces.

InputBox provides 3 functions:
  • Different modes search boxes, 
  • Creation of pages using predefined templates, which overlaps in functionality with MultiBoilerplate to some extent, but allows article writer tight control over used template.
  • Adding comments to existing pages which can be used, for instance, to simplify collection of user comments, user contributed tips, simplify contribution to hardware compatibility list.
DynamicPageList is navigational tool that lists selected content of one or more categories. It overlaps with CategoryTree when it shows content of a single category.

ParserFunctions  allow some kind of macro language to be used in templates.

SimpleFeed  is used to import feeds from other pages to the wiki. It was used in old wiki for the right column news.It can be used to import news to any of the portal pages.

VideoFlash is simple extension that allows author to embed YouTube and other Flash videos in the wiki pages.

SyntaxHighlight will make easier reading of the code snippets on the wiki page.

Tools for users and administrators:

SpecialInterwiki   is a tool for wiki administrators.

Hermes Notify is our notification agent.


  1. I know a ton about Semantic Mediawiki (check out Special:Version :-) ). It's a way to represent facts in wiki pages that you can then browse and query. Then things like "show all users who [[participate in::openSuse:Ambassadors]]"; "show all event pages with a [[Start Date::>CURRENT_DATE]]"; "list apps with their [[status for 11.3]] ordered by status and category", etc. just update themselves as people update pages, you don't waste time making lists of redundant data. E.g. OLPC deployment info I made.

    The problem I think you'll have is much of this information lives outside your wiki in and such, so there's not much motivation to duplicate the info on wiki pages. There are ways to import info, but it's not easy.

    The quickest way to start delivering value is to modify your wiki's existing templates so they make semantic annotations at the same time they present info. Then without changing pages you can make lists like "All SUSE mailing lists and the pages describing them" and do things like browse Property:SUSE_bug and see pages referencing a bug.

    One significant extension to SMW is Semantic Forms, which lets users fill in HTML forms to give values to properties in a template. It makes data entry to a wiki easier than wiki markup. See e.g. a test case, click the [Edit with form] tab.

    Cheers, if you have questions get in touch.

  2. Hi skierpage,

    Nice to have you attention, and to such details, like checking information availability within domain.

    I'll need more help in next months, but I need time to understand enough to be able to ask :)

  3. I like the new wiki.

    But I'm not convinced about given paths like:
    If this is a so to say "confirmed" category - why not use a tag?


  4. @ ulenrich

    The "SDB:" prefixed articles belong to custom namespace SDB (which is acronym for "Support Database") and it is used to store articles that provide solutions for problems.

    The reason to have custom namespace for this type of articles it to have ability to perform targeted search, as well as to apply selectively other extensions that can be configured per namespace.

    User that wants application description will use search in Main namespace, the one with problem will search only SDB.
    Search is not only functionality (extension) that can be limited to one or more namespaces, which is another reason to have multiple namespaces.

    Categorization is separate process (functionality) that is used for browsing and we intend to use it extensively, unlike in old wiki.