This is a draft of a TPF Grant Proto-Proposal (i.e: call for people to propose grants for this). I'd like to thank Audrey Tang for reviewing an earlier draft of this and giving some useful comments.
Regards, Shlomi Fish About the Project: ------------------ In a message to the Hackers-IL mailing list ( http://groups.yahoo.com/group/hackers-il/message/2407 ) a certain hacker said that the only safe generalisation was that her code will look like junk to her within a month, and I since found it to be more and more true. HTML-Widgets-NavMenu ( http://search.cpan.org/dist/HTML-Widgets-NavMenu/ ) is a module I wrote about two years ago, as a way to help me generate and maintain complex HTML navigation menus. See the following Perl.com article for some of its features as well as general navigation menus patterns that are supported by it: http://www.perl.com/pub/a/2005/07/07/navwidgets.html Version 1.0000, which is the latest available on CPAN is relatively modular, has a comprehensive test suite of unit tests and system tests with exactly 300 tests, and a full test coverage, for everything except the POD. It has a well-defined interface and can be used for other things. However, some things I have in mind for it are not well-supported by the current code, and may require some extensive modification. The purpose of the proposed project is to extend it appropriately. Scope of the Project: --------------------- The project should do all or some of the following: 1. Enhance HTML-Widgets-NavMenu and make it more robust in handling semi-expanded trees (where part of the nav menu tree is revelaed while the other is not.). At the moment, such support is kludgy and may not work very well. 1.a. I believe this may require translating the state of the nav menu into an intermediate tree format, which will in turn be converted to HTML. 2. Add support for some arbitrary HTML attributes like id="", class="", the various JavaScript handlers, etc. 3. Add support for JavaScript (and possibly also AJAX if deemed appropriate). 4. Add support for a XML/YAML/JSON/etc. input and output, and possibly other generalisations. (like making use of XSLT) 5. At the moment, HTML-Widgets-NavMenu may be somewhat slow. The project can investigate ways to optimise it, possibly even by re-implementing some parts of the backend in ANSI C. My Role in this Suggestion: --------------------------- This is not a proposal for a TPF grant, but rather an idea for prospective Perl hackers who are looking for good ideas for putting grant proposals on. This is in a similar spirit to: http://use.perl.org/~Alias/journal/29174 I can act as a mentor for the grant, but do not want to do it myself, both because I have a full time job, am busy organising various Israeli FOSS-related events, and also would like to encourage other hackers to contribute to my projects. --------------------------------------------------------------------- Shlomi Fish [EMAIL PROTECTED] Homepage: http://www.shlomifish.org/ 95% of the programmers consider 95% of the code they did not write, in the bottom 5%.