FusionForge/Suggestions/URL relocation
From FusionForge Wiki
Goal: make it easier to change URL schemes
Examples:
- http://forge.foo.com/tracker/browse.php?group_id=1&atid=18 (historical)
- http://intranet.foo.com/forge/tracker/browse.php?... (with prefix)
- http://192.168.0.53/tracker/browse.php?... (no vhost)
- http://intranet.foo.com/forge/?func=tracker/browse&group_id=1&atid=18 (single point of entry)
Means: util_make_url (already gives 1+2, maybe 3)
TODO: split URLs between component and parameters → util_make_url ('tracker/browse', ('group_id'=>1, 'atid'=>18)) Define naming scheme for components Make component just another parameter: func or action or do or... Build links *only* with util_make_url (no more string concatenation)
Encode actual intelligence behind URL generation in util_make_url, according to configuration
Remove all analysis of PATHINFO from pages, replace with $func/$action/$do/...
Possibly write a single index.php/dispatcher.php that dispatches actual work to real scripts (require or include or ...)
Possibly write URLs like http://site.com/<project_name>/<module>/<action>/<args>, where project is the unix_name of the project. The goal is to provide a way to restrict access to a project using an external URL filtering software. This kind of syntax could require to use the mod_rewrite to be effective. Other interesting format to be able to handle is http://<project_name>.site.com/<module>/<action>/<args>
At the meeting, I got the idea to also have http://site.com/<user_name>/{project,module,action} to make Apache run as that user, e.g. for svn and other permissions. Not sure if this is feasible. The Apache module I found is only for a “too new” version of Apache anyway (i.e. stable in 1-2 years) and vhosts, not subdirectories. We want away from vhosts in the long term anyway.
Back to the Roadmap


