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%.

Reply via email to