Things I wish I had known then...
- Using a class instance (rather than a whole module or package) as the object/namespace for a component's traversal.
Giving those classes call as well as _q_index to cope with both .../some/thing and .../some/thing/ without a redirect that exposes the script. (call = _q_index, or vice versa, is usually all it takes)
Using a component-eating class to consume the arguments, if any, that follow a "method selector", as in .../journal/2003/11/11 (dates are such an obvious application for this). For reasons no longer quite clear, I called the class that implemented this PathHandler, but if I were doing it over I'd call it something like TailEater.
- Four, I'm nearly certain there were four things...
- Using publisher.get_namespace_stack() for introspection.