I think this would be a great idea for an extension to the Wiki Web system. The Wiki Web is likely to grow; there's a chance it will grow so large that millions of people will start contributing to it. There are lots of multi-word phrases that have different meanings in different contexts. Sooner or later, somebody will try to define a page and find out that it has already been defined - as something completely different.
Example: I might decide to write a whole set of pages about ImplementingScheme?
, and in the process produce a page called ImplementingFundamentalDataTypes?
. But somebody else might be WritingPerlInterpreters?
, and will also want to produce a page called ImplementingFundamentalDataTypes?
. Clash! Now, one or both of us has to rename our pages. This makes the names longer, as ImplementingFundamentalDataTypesInScheme?
Another alternative might be to introduce hierarchical namespaces to Wiki. Then if you visit my ImplementingScheme?
page, links that went to ImplementingFundamentalDataTypes?
would take you into the ImplementingScheme?
namespace. So the real name of the page would be something like ImplementingScheme?
. But in many situations you might not have to type that much.
It's a thought. Maybe it would MakeTheWikiTooComplicated?
. But maybe not.
- -- EdwardKiser
I was also thinking about this, but found no real solution. Currently I think about
- one global namespace (globalspace)
- multiple dedicated namespaces (localspaces)
- any page in a localspace produces a hint in the globalspace
- a LinkPattern may produce more than one link
- the priority is
- same localspace
- other localspace
- display option 1 [DateTypes?] [Global.DataTypes?] [Java.DateTypes?]
- display option 2 [DateTypes?] [=>] (leading to a link page)
An existing example of something like this is the WikiClone DolphinWikiWeb
from Object Arts (I'm running it on NT) which organizes into separate "wikis" by directory. Entities in one "wiki" can be linked to just like other WikiPage
s by including the "wiki" name with a colon in front. -- ClaudeMuncey
This is also possible in UseModWiki
using an intersite map file. But this does neither help you know what pages exist in the different wikis nor does it create automatic links if you don't care. -- hl
One idea I had running through my head recently was that all the trouble with off-topic discussions and DifficultToWikifyNames?
could be solved if this simple technique was followed:
- Unadorned WikiNames refer to entries in the current WikiNamespace?.
- Non-WikiNames beginning with a colon (':') are treated as WikiNames that refer to the current namespace (colon is not displayed).
- WikiNames of the form WikiName:WikiName refer to a different namespace specified by the first WikiName (the full link is displayed).
Essentially, a WikiLink
is a WikiNamespace?
followed by a colon, followed by a word. If the WikiNamespace?
is missing, the default is the current namespace. If the colon is missing, but the word looks like a WikiName
, then it is interpreted as a WikiLink
. -- RobHarwood
Namespaces could be arranged hierarchically. Then there would be a reserved namespace named "top" or "root", and every namespace might be able to refer to its parent as "up", and you could have absolute paths and relative paths, just like files in a filesystem. A namespace could be differentiated from a regular name by the fact that a namespace ends with a colon. So you could have top:Namespace:NestedNamespace?:SomePageOrOther? as an absolute path, and up:OtherNamespace?:DifferentPage? as a relative path.
However, refactoring Wiki pages would become a lot more complicated. Since, now, nobody can rename a page once it has been created - in the future, no-one will be able to move a page in the hierarchy, or rename a namespace. Can you put a header on every page in a namespace, perhaps by editing the namespace? Then you can make one that says "This namespace has been moved..." -- EdwardKiser
I don't see why forward slashes /
cannot be used. Simply emulate folders. So, the examples given initially could be Scheme/ImplementingFundamentalDataTypes?
simple. It transparently allows multiple levels (e.g. Perl/ImplementingFundamentalDataTypes?
/Ints ). Then again, maybe on this Wiki it looks too much like FreeLinks
... -- Mr Harris.