FIXME: Needs rewrite. All urls are generated in www/url.php and the request is parsed mostly in www/index.php.
Info-arena URL scheme
The info-arena2 website doesn't expose it's source-code structure to the outside. Instead, we use apache2's mod_rewrite to handle all HTTP request through a single index.php file. Our url scheme doesn't have any relation to source-code, instead we try to make our urls as descriptive as possible.
All this url scheme stuff is done mostly in www/index.php.
First of all there are a number of special pages which have their own handlers, stuff like "login", "register", "monitor", "json" etc. There's no point making a complete list here.
Most of the content in info-arena is in wiki pages. All non-special pages are handled as wiki pages. However, based on the prefix (part of the name until first '/') some wiki pages are magical. Here is a list of magical page prefixes:
- template/*: wiki text blocks meant to be included in other pages (with a macro). Trying to view a template automagically redirects you to the edit page; templates can only be viewed by inclusion in other pages.
- task/*: Task pages coupled to task objects in the database. They have their own editting view/controllers.
- round/*: Round pages are handled just like tasks.
- user/*: User profile pages.
- news/*: Not sure how these work. They're magical.
Url syntax
Right now there are very few restrictions on the names of wiki pages. A "login" wiki page could exist in the database, and you could even see it using an include macro. This might be a problem.
![[infoarena] development](/chrome/site/logo.png)