[D-community-discuss] knowledge base structure

Chris Lale chrislale at untrammelled.co.uk
Wed Feb 28 11:30:57 CET 2007


Hello Nico.

I hope the exams are going OK!

Nicolas Dietrich wrote:
>> Chris wote: Mediawiki gives you both article title or page text matches. Try
>> searching for "modem" at http://newbiedoc.berlios.de/wiki/Help:Sandbox
>>     
>
> okay. still i think "only" searching is limiting, which is why i'm thinking 
> about a user contributed tree structure.
>   

Yes, I agree. Offering both is good - like Yahoo.

>>> [...]
>>>  * allow users to "click" if some page that helped them out
>>>  * if the problem remained unresolved, allow the user to specify what the
>>> problem was [...]
>>>       
>> Every Mediawiki page has its own Talk/Discussion page which may fulfill
>> this function. Have a look at
>> http://newbiedoc.berlios.de/wiki/My_hardware_does_not_work for an example.
>>     
>
> Most end users won't do that. What I am thinking off must be programmed first, 
> e.g. as a wiki plugin.
>   

Mediawiki extensions (plugins) are at 
http://www.mediawiki.org/wiki/Category:Extensions. It may be that the 
"ArticleComments" or "QWikiRemarks" extensions could supply this 
functionality, or could be adapted. Are you a PHP hacker?


>   
>>> 2. Aiming for complete localization
>>> [...]
>>>       
>> http:// wikipedia.org does internationalisation well, using Mediawiki.
>>     
>
> I find it somehow complicated to create an own subwiki instance for every new 
> language. 
>
>   

AIUI there are a few ways to accomplish this. Wikipedia.org uses a wiki 
family, so each language has a wiki that can grow independently. But, 
the wikis are also linked - articles/pages have interwiki links. Eg, 
visit http://en.wikipedia.org/wiki/Interwiki_links and then click on 
"Deutsch" in the left-hand "in other languages" menu to see the same 
page in German. You can then navigate the German member of the wiki 
family and switch back to English from a German page. Content can be 
added in any language, then translated and linked. Magic!

 For an alternative approach, visit http://faq.tuxfamily.org/Welcome/En 
and switch to "German FAQ" in the "navigation" menu. I am guessing that 
this method uses a subpage for each language. It would be difficult to 
grow this organically by adding new pages.

>>> [...]
>>>       
>> Other useful features offered by Mediawiki include the ability to view
>> all previous versions of a page and to diff them. This gives you a kind
>> of version control.
>>     
>
> I know, that's how a wiki works and I really like wikis. However my points 
> mentioned can not be easily done within existing wiki systems because I'm 
> thinking of _a lot_ of extra functionality. To implement this, an own wiki or 
> wiki-like knowledge base engine needs to be created or an existing one 
> extended. I'd rather go for MoinMoin (for the language) or for ikiwiki (for 
> the concept) or similar.
>
> You can of course the proposed kind of questions-structure inside a wiki (as 
> you started with), that's no question. And I'm all for doing that as a start.
>
> It's just hard to realize further ideas, because
>  * i'd like to split content in small atomic nodes (which are adressable, 
> embeddable, localizable)
>  * and allow different views on it (created semi-automatic).
>
> but
>  * there are no smaller content nodes than wiki pages
>  * but wiki pages are the only view and you want to get more than one atom of 
> information on a page.
>
>   

An interesting idea! Are you saying this? Each article is an ordered 
collection of irreducible, but standalone, atoms of documentation 
("nodes"). A particular node may be reused within many different 
articles. (An article is a leaf of the tree.) The articles are not 
modified directly but by editing the nodes.

You can do this sort of thing in Mediawiki - it is called transclusion. 
For a simple example see 
http://meta.wikimedia.org/wiki/Help:Wikitext_examples#Templates which 
shows the result of  transcluding the atomic node 
http://meta.wikimedia.org/wiki/Transclusion_Demo. However, it is not for 
the casual user. Perhaps that would not matter though. You could have a 
mixed system where visitors contributed to the wiki normally, and 
developers reworked the material in to nodes and articles using 
transclusion. There are a number of examples on the NewbieDOC wiki: eg 
http://newbiedoc.berlios.de/wiki/Aptitude_-_using_together_with_Synaptic_and_Apt-get 
and http://newbiedoc.berlios.de/wiki/Articles (click "edit" and look for 
double curly braces near the top).

An alternative approach might be to use a CMS, such as Drupal, rather 
than a wiki. In Drupal, nodes can belong to more than one category. You 
can create your own content types (webpages) that give you different 
views. Eg, there is a default "news" content type combines nodes in this 
way. Content can be editable by anyone as in a wiki. I wonder whether 
running a project this way would have to be more structured and 
contributors organised centrally? Not that this would be a bad thing - 
it would just be different in character to a wiki.


-- 
Chris.




More information about the D-community-discuss mailing list