User X writes an article with title "my fine article", it ends up in
. The user must be able to change these two fields separatedly:
- one field for the article's title
- one field for the article's URL name
- can be filled automatically using the title if the user does not fill it
- but must be changed independently from the title
- 06 Oct 2008
REMINDER, even if it's NOT plainly relevant
Référence page 6 of that doc :
« Simplified URLs » system (general purpose URLs + custom URLs system)
Ex. ID : http://www.cooperation.net/raph
will be better than http://www.cooperation.net/profil.php?id_profil=raph&mode=view
Ex. article http://www.cooperation.net/crac/info/118432
(the article is a number with 6, 7 or 8 digits)
will be better than http://www.pannatier.com/modules.php?id=118432&pa=showpage&pid=1
Ability to display the same article inside a selected visual design (i.e. : with several side boxes, different from the ones of the initial author).
It's important and should be related to my e-mail (sent on 11 oct 2008 18:37, subj.: Friendly URLs).
So, finally what should be implemented?
Let's summarize our constraints:
- need for human-friendly URLs
- need for Search-engine-friendly URLs
- need for stable URLs ("Cool URIs don't change", said Tim Berners-Lee)
I think each URLs should never
change (when possible). This could be in favor of numeric ID-based URIs : http://zen3.net/123456
But it's not that cool, since:
- it's nearly impossible to remind and/or find again easily
- it's not good for SEO (Search engine Optimisation)
Well, finally, I think about a generic system (that perhaps could be
implemented and published as a separate module of Noosfero ) that would
take the best of both worlds:
- provide a stable, ID-based, URL for each page, that wouldn't change even if the article:
- is renamed (different title)
- is "given" to another user (X shares the ownership of the article with Y then removes himself from the authors of the article)
- has an non-existent owner (owner has erased his account or has been banned…)
- is moved from one community to another (to be discussed for implementability)
- provide a redirection to the current SEO-friendly URL for that article
So, let's see the life-circle of an article:
- created (and given a definitive ID, "DID")
- entitled (and given a friendly URL manually or automatically)
- has its title changed
- the "DID" can be used as blogs "permalink" URLs
- the former friendly URL can still be used but lead to a redirection to the current friendly URL
On the DB, there would be these pieces of information:
- DID → current friendly URL
- former/current friendly URL → DID
In fact former friendly URLs would never
be erased so that incoming links would never been broken.
Such a system could be extended to provide tinyurl-like features:
- the user enters a potentially-long URL
- the system creates a shortened (ID-based) URL that links to this URL.
Users could then manage their short-URLs : get statistics, remove or update the link…
In term of interface,
The title should be used to "propose" a URL. This means:
- During the creation of the article:
- as long as the user didn't modify the "URL" field, any change to the Title field leads to modify the URL field
- as soon as the user has (manually) modified the URL field, no change to this field can be made automagically
- During the modification of the URL:
- modifying the title of the article never modifies the URL
- if the URL is (manually) modified by the user, then the previously described URL redirection (in my e-mail sent on 11 oct 2008) is activated.
What could help users:
a "Suggest URLs" button near the URL field. There could be several suggestions, always based on the title:
- one (long) that would be made with replacing spaces and other non hexadecimal chars with minus/dash (-) signs, (for Perl speakers, especially Terceiro : s/[_\W]+/-/g )
- one (short) that would be made by stripping "common words" like
- English: "the", "a"
- French: "le", "la", "les", "un", "une", "des"
When clicking this button, the user would be suggested several possibilities in a "pop-up". Then, the user could choose one of them by clicking on it, which would close the pop-up and fill the URL field with the chosen string.
- 08 Nov 2008