Short description
I would like to see a new feature in Moin that I want to call "AssociatedPage"-Feature. Associated pages could be displayed for example in different tab controlls that e.g. modern theme already offers. But in modern theme, these tabcontrolls are fixed. TabControlls are for most wikiuser well known from Wikipedia. There you can find tabs like "article, discussion, edit, versionhistory" - and some users seem not to be able lo live without them. I personally think concerning usability, tab controlls are very helpful and should be integrated more deeply in Moin.
To make this new feature work, we would need a new processing directive in the head of the wikipages, which looks like this:
## The name of this page is "ArticleOnWhatEver" and is associated with #ASSOCIATION ArticleOnWhatEverDiscussion ArticleOnWhatEverFiles ArticleOnWhatEver?action=edit ArticleOnWhatEver?action=info Here comes the wikipage, which also has subpages /SubPage1 /SubPage2
Besides this new processing directive, we would need a few new built-in-functions like "page.request.getAssociatedPages" [dict] and maybe also "page.request.setAssociatedPages"[dict]. Maybe also a macro ListAssociatedPages which one could include in a page if he wants to get a clickable list of associated pages. By this macro it would be also possible to link from an associated discussion page to other related discussionpages (not only 1:1 relation like Mediawiki but also 1:n realtions).
Provided this, all the theme programmers could go crazy and this will put an end to the endless discussion how comment pages should be implement in Moin - if at all (See for that FeatureRequests/DiscussionAndOrCommentPages). The solution mentioned above will spoil the code of Moin for a minimum and the rest of the implementation would be up to the theme programmers not the Moin developpers anymore. So theme developpers could write a theme that looks like wikipedia - with tabs for the article, the discussion, edit and versionhistory. It is also up to them, to decide, what name the tab gets. They could analyse the names of the associated pages and if something like "?action=edit" occurs in it and the name of the page is the same as the current page, the tab gets the name "Edit", otherwise "OtherPage Edit". It also up to the theme programmer whether discussion pages are subpages or seperate pages and whether they are marked as CategoryDiscussion or not. That doesn't bother us. Maybe the theme programmer also wants to add a new menu item which allows to add a new discussion to a page, that means, create a new page (a sub page or not) and entering the "#ASSOCIATION" directive in the original page. Pictures could be stored on seperate pages like "ArticleOnWhatEverFiles" where they are commented on copyright and so on. From the base-article-page they could be accessed by and displayed there. The MacroMarket/PageComment2 - Macro could be used on discussion pages and so on (see for that MacroMarket). It is also up to the theme programmer how to reorder the tabs, i.e. to decide what happens when the user clicks on an associated discussion on the discussion page. That means: the theme programmer has to decide which page gets the main-page and which assocations are displayed in the tabs. It is also up to him which tabs should be shown, when no #ASSOCATION-pages are provided on the page currently displayed.
Other theme programmes, which are not interested in tabcontrolls simply can ignore the extra metainformation in the pages. Everything works fine anyway.
But metainformation on associated pages could be also useful in other cases - not only if you want to imitate Wikipedia. Maybe you want to offer better information for the user depending on the situation he is currently in. So when the user goes for example to HelpContent, he gets automatically some tabs with e.g. "SyntaxReference" "FAQ" and so on. Or if a new user tries to create a new account, he gets a tab with "HelpOnCreation" "WikiQuickstartManual" and so on. Maybe someone would also write a macro which turns subpages automatically in associated pages. Or you have a tab "personal homepage", a tab "MyPhotoGallery" and so on. You can do what you want with the association infos and set them as you want, leave the tabs fixed or reorder them, add new items etc.
These are just ideas, I would like to discuss with you. I'm not an expert on programming, therefore I could have forgotten some major points. Sorry for that! Please do correct me! I just want to contribute to further success of Moin. I think this "AssociatedPage"-Feature is important for usability sakes and is something other wikis do not have, e.g. 1:n discussion relations. It's true, that you can have already discussion pages also with subpages. But that's poorley implemented. For the user, it makes a big differnce whether he clicks on a link to a subpage or whether he uses a tab controll for that. Better implementation of tab controlls in Moin is therefore very important. -- OliverSiemoneit 2006-08-11 21:24:44
I guess we wait until we have real metadata. -- ThomasWaldmann 2006-08-12 12:40:28
For more thoughts on page organization in MoinMoin see FeatureRequests/RethinkingPageOrganization
For more on semantic wiki see e.g. http://ontoworld.org/wiki/Main_Page