Namespaces

Registered by M. Nesvold

This document deals with the concept of namespaces and how they are handled. It contains ideas that may be formalized into blueprints once a consensus is reached.

Every Title must belong to a namespace. No page can be created that belongs to a namespace not listed in the database. This suggests two kinds of broken links: links to a page that doesn't exist, but whose namespace does; and links to a page in a namespace that doesn't exist.

To avoid ambiguity, there can be no "blank" namespace. If a title is specifies that omits a namespace, the default is assumed. (Thus if the default namespace is "article," a link specified as "Happiness" actually points to "article/Happiness.") If a request is received that omits a namespace, the response is an HTTP redirect to the actual page (so "/Happiness" is redirected to "/article/Happiness").

Care must be taken with titles that appear to declare a namespace but don't, like "20/20 vision." The implicit default namespace won't work here (because it looks like the namespace is "20," which may or may not exist at all). In this case, users must specify the namespace ("article/20/20 vision").

Site admins should be able to create as many namespace as they like. Some namespaces must be declared special (for categories, media, dynamic pages, etc.) Others are plain.

Additionally, the following questions need to be answered.
- Where are namespaces defined -- in a Python file, or through a web interface?
- Where are namespaces made special?

Blueprint information

Status:
Not started
Approver:
None
Priority:
Essential
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Informational Informational
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.