On Jul 28, 2011, at 10:57 AM, Wikus van de Merwe wrote: > Hmmm... So this means that app-specific routes are not so useful as I > thought. I thought I would be able > to get away without the "web2py/routes.py" having all rules defined per > application. In other words, I was > expecting the default_router to be the default when there is no > "web2py/routes.py". But I guess this could > break backward compatibility and that's why it was decided against it. It's a > pity because with the default > router it would be trivial to demonstrate the app-specific routes in examples > or welcome app without altering > the user defined routes for other apps on version upgrade. > > Without the default router turned on, defining routes inside application > folders makes little sense. It doesn't > bring much of the portability as the "global" file is still needed. It is > actually easier do to what you suggest, > that is define everything in "web2py/routes.py". And that's quite > disappointing as I really liked the elegance > of self-contained apps. I understand, however, that backward compatibility is > more important. > > Thanks for the explanation.
It's not just backward compatibility, though that was a consideration. It's also that some routing items are inherently global. For example, we have to know enough to route to the application level in order to know which app-specific router to use, if any.