SisterSites is a way of connecting related wikis (automatically) by offering links to pages of the same name at well known wikis. The WikiWiki implements this by putting the links at the bottom of the pages as the logos of the other wikis (see bottom of SisterSites for an example).
MultiLang is closly related to SisterSites as it is also about connecting related wikis and offers more or less the same functionality. In opposite to SisterSites MultiLang can not rely on the same page name. But bundle pages with the same topic but not the same page name is an interesting feature for SisterSites, too.
Basic Sister Sites
Is implemented in moin 1.6 branch:
- actions sisterpages and pollsistersites
small ThemeBase modification adding the sister pages to the navibar
Extended Sister Sites
- there are groups of wiki pages from different wikis
- per default pages with the same name form one group
- with each of the pages the wikiengine offers links to all the other pages of the group
- users can add or remove pages from groups (this is the extension)
- this affects all the wikis
Server
XMLRPC Interface
get group for InterWiki:PageName
array getSisterPages(utf8 wiki, utf8 pagename)
- What info do we need from the pages?
utf8 page name
InterWikiName of the wiki
- Link to the page
- should be generated by the server and not be retrieved from the wiki
insert new page
- what changed since
- optional filter to pages in a given wiki
- Webinterface
- the text should be adjustable to reflect the semantic of the grouping
- "add as translation", "add to topic", ...
- show group for a special page
- remove pages from this group
- should be robust, save a "page is deleted from group" if page name may be readded automatically
- add pages to this group (create a new group out of two pages)
- search for pages
RecentChanges (logfile)
RevertChanges
- the text should be adjustable to reflect the semantic of the grouping
- Checks wikis for new pages and inserts them into proper groups
Black list (FrontPage, help pages, system pages, ...)
Perhaps there can be several servers which define different semantics on their groups. The wikis can use those which fit to their topic.
Client (Wiki)
- should show links to the pages of the group
- should show a link to the group on the server to allow editing by the users
- is supposed to cache groups for its pages
- may filter the groups to wikis it is interested in
- XMLRPC interface
array getAllPages() (see WikiRPCInterface2)
- the server could support other interfaces (parse webpage) to support other wiki
- push new group data (optional for faster data distribution and less polling)
- perhaps don't send data here (security) just tell the wiki to check the server
see also:
- Status
- implemented in 1.6