Subject: | Update your documentation |
If you want people to use your module, you're going to have to explain things a lot better - especially since it looks like CGI::Ex is the most complicated CGI application framework on CPAN.
First, you should probably not assume that anyone who wants to use your module is already intimately aware of how the other CGI app frameworks work, which seems to be the crux of your approach now given what is left unexplained.
Bearing that in mind, and that I actually DO know multiple frameworks and am therefore not able to find everything you should probably add, consider adding:
1) How a called instance of CGI::Ex::App translates into a URI.
2) How multiple calls (via different URIs) of CGI::Ex::App take different paths (all your examples show only one path)
3) How pagenames (which need to be explained in steps #1 and #2) translate into method names (for example, using bar_file_print vs your current example of ->file_print in your explaination of nav-loop)
4) Since you can have default methods as well as per-page methods, explain that you can (if you can...your docs, and included examples are very fuzzy on this point).
5) Explain what you mean by "hook." Talk about return values wanted, especially. You mean something slightly different than how it is traditionally used. Also, there's no real good reason for someone who uses CGI to already even understand the traditional meaning. If you can't find a definition that fits all your hooks, then just call them methods.
If you decide not to do this stuff ever, please at least give some indication that you've abandoned your module (in the docs, on your web page, etc) so anyone using it is doing so with that in mind.
Thanks for your trouble.