URI DEV: Difference between revisions

From AniDB
Jump to navigation Jump to search
Line 38: Line 38:
===Design idea 1===
===Design idea 1===
* http://anidb.net/<page>(/<id|name>/<action>/)/<paratemer>
* http://anidb.net/<page>(/<id|name>/<action>/)/<paratemer>
<id|name> and <action> are only needed for specific entries hence why those pages should not use plural for the pagename i.e. anime instead of animes
the plural version should be reserved for lists. so instead of animelist we just use animes. that simpler and more logic. aside shorter.
actions could be:
:* /show/ (could be used by default, but we should really just leave that out. unneccessary clutter. accepting it anyway would be fine though. accepting is fine. forcing is bad.)
:* /edit/
:* /history/
:* /vote/
:* /delete/
...
parameter could be something like
parameter could be something like
:* /h&mylist&noalias&wishlist&orderby.name.desc
:* /h&mylist&noalias&wishlist&orderby.name.desc


in full example this:
====Examples====
this:
:*http://anidb.net/perl-bin/animedb.pl?h=1&mylist=1&noalias=1&orderby=name&orderdir=0&show=animelist&wishlist=1
:*http://anidb.net/perl-bin/animedb.pl?h=1&mylist=1&noalias=1&orderby=name&orderdir=0&show=animelist&wishlist=1
could look like this:
could look like this:
Line 55: Line 68:
becomes:
becomes:
:*http://anidb.net/anime/1/edit
:*http://anidb.net/anime/1/edit
==Reference Material==
*http://miscoranda.com/159
*http://www.w3.org/Provider/Style/URI.html
*http://www.alistapart.com/stories/urls/
*http://www.ibm.com/developerworks/library/us-cranky8.html?dwzone=usability

Revision as of 16:54, 29 January 2008

General

The current URI system is a mess made up of different sets of parameters for the same purpose depending on who and when wrote somehting. the idea is to first to remove unneccessary stuff from it, second standarize parameter and third make ir richer in feature

Guidelines

URI's:

  • don't change
  • are human guessable
  • are logical (no need to mirror a filesystem)
  • help visualize the site structure
  • are short
  • use lowercase
  • don't use unexpected punctuation
  • lack query parameters
  • allow public linking
  • are stateless
  • dont expose technology

what not to do:

  • use plurar for parameter when you shouldn't (i.e. animes/5 instead of anime/5)
  • use "=1/=on". if the parameter is in the url it IS on. if not it's not which leads to
  • don't add unneccessary parameter


Vision

  • 1(!) standarized Parser through which the data passes first
  • unnessary scary things like /perl-bin/animedb.pl
  • structured URI
  • standarized parameter
  • let http://anidb.net/gonzo or http://anidb.net/chobits use the Full Text Search and return useful stuff instead of failing ([1]])
  • use dictionaries where possible and avoid unneccessary &
  • ...

shortterm simple Changes

  • get rid of "/perl-bin/animedb.pl"

yes we use perl. no we don't need to throw our "perl penis into the face of everoyne else" (as rar calls it)

  • ...

Design idea 1

<id|name> and <action> are only needed for specific entries hence why those pages should not use plural for the pagename i.e. anime instead of animes the plural version should be reserved for lists. so instead of animelist we just use animes. that simpler and more logic. aside shorter.

actions could be:

  • /show/ (could be used by default, but we should really just leave that out. unneccessary clutter. accepting it anyway would be fine though. accepting is fine. forcing is bad.)
  • /edit/
  • /history/
  • /vote/
  • /delete/

...

parameter could be something like

  • /h&mylist&noalias&wishlist&orderby.name.desc

Examples

this:

could look like this:

this:

like this:

and this:

becomes:

Reference Material