UnityWiki (in cvs) now supports adding Sister Sites, in the sense popularised on the PortlandPatternRepository (http://c2.com/cgi/wiki ) and friends.
<<< This isn't so much for the benefit of Unity Wiki Proper, but for people (OK, me) who keep another wiki with their personal unity stuff in, and want to add this wiki as a sister. -- SimonBooth >>>
<<< The live version now has this update. (My CVS problems were nothing to do with SourceForge - I'd just failed to set CVS_RSH in my .bashrc. D'Oh!) -- RobHague >>>
The wiki does not currently support being added as a sister site, see Generating a list of names below.
<<< Yes, I know that makes me sound foolish. -- SimonBooth >>>
Adding another site as a sister site
To add a sister site to UnityWiki, you must define the site in _UnitySite.py , giving both a list of names and the form in which pages on that wiki should be linked to. An example of this would be:
sister_sites = {
'Fit Wiki':
{ 'names': 'ht``tp://c2.com/cgi/wikiNames',
'pages': 'ht``tp://fit.c2.com/wiki.cgi?$page' },
'Unity Wiki':
{ 'names': '/var/www/DEVWIKI/unityfiles/sisters/unity.list',
'pages': 'ht``tp://www.chiark.greenend.org.uk/~robh/unity/unity.cgi/$page' }
}The above would define two Sister Sites. The first, 'Fit Wiki', takes the names list directly from the site's names list, http://c2.com/cgi/wikiNames - this is quite slow, and generates unnecessary traffic for the site. The second, 'Unity Wiki', takes the names list from a flat text file. UnityWiki does not generate these files for you; that is the job of cron and wget.
In either case, if a page is found in the names list, the user is presented with a link to that page on the Sister Site; the link is generated by replacing '$page' with the name of the page in the 'pages' attribute. Note that the '$page' syntax is not particularly pythonesque, but it is the form in which most wikis present the general form of links to their pages.
Generating a list of names
UnityWiki doesn't have a way of directly accessing the list of names over the web, though it would be pretty trivial to set such a thing up. For the moment,
{{{wget -O unity.tar.gz 'http://www.chiark.greenend.org.uk/ucgi/~robh/archive.cgi?unityfiles' tar -tzf unity.tar.gz | grep 'unityfiles/text' | cut -d '/' -f3 | grep -v 'Graveyard' > unity.list rm unity.tar.gz}}}
will do the job.
