From: Nick W. <nic...@vi...> - 2003-10-25 14:28:16
|
Hi, This sounds a little similar to something I'd thought might be a good idea, at least in some cicumstances. I currently avoid wiki name conflicts using unwieldy wiki names like 'Projects:ProjectName:Design:Topic' to disambiguate a page from 'Projects:ProjectName2:Design:Topic'. This is one has to do in programming situations when you only have global scope. So I thought, why not support an idea like scope directly? [I had been thinking as I wrote, and the result was a perhaps a bit of a ramble. I've summarised my basic idea here to avoid making people follow my ramble, which has some criticisms I may add in a follow up.] In brief: * Categories are nestable wiki-name containers (A.K.A. lexical scopes and namespaces in programing languages). * An Interwiki is a kind of top level category * The wiki link syntax is extended, using some delimiter to indicate scope descent, and another for scope ascent, using filesystems as a model: [Perhaps using ':' as a delimiter because currently '/' is disallowed, and ':' means roughly the same thing in the existing inter-wiki syntax. '.' is an alternative, too] So, - this is a link to a page "Overview" the current category: ((Overview)) - this is a reletive link to the grand-parent category's page of the same name: ((..:..:Overview)) or maybe a more succinct notation might be ((++Overview)) - this is a reletive link to a page in a child of a child category ((Topic1:Appendix:References)) - this is an absolute link: ((:Projects:Project1)) - this is an interwiki link ((:ForeignWiki:Pagename)) or maybe ((@ForeignWiki:Pagename)) That about sums it up. More ideas may follow when I've tidied them (they concern questions about what to do when pages are moved/renamed, and backward compatibility with the current scheme). Cheers, Nick |