Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Shlomi Fish (918)

Shlomi Fish
  shlomif@iglu.org.il
http://www.shlomifish.org/
AOL IM: ShlomiFish (Add Buddy, Send Message)
Yahoo! ID: shlomif2 (Add User, Send Message)
Jabber: ShlomiFish@jabber.org

I'm a hacker of Perl, C, Shell, and occasionally other languages. Perl is my favourite language by far. I'm a member of the Israeli Perl Mongers, and contribute to and advocate open-source technologies. Technorati Profile [technorati.com]

Journal of Shlomi Fish (918)

Tuesday July 11, 2006
09:29 AM

Call for TPF Grant "Volunteers" : HTML-Widgets-NavMenu

[ #30249 ]

About the Project

In a message to the Hackers-IL mailing list a certain hacker said that the only safe generalisation in regards to how a certain code is perceived to be, was that her own code will look like junk to her within a month, and I since found it to be more and more true.

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 this Perl.com article for some of its features as well as general navigation menus patterns that are supported by it.

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 coverage. It also has a well-defined interface.

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 revealed while the other is not.). At the moment, such support is kludgy and may not work very well.

    1. 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 back-end 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 this call for volunteers by Adam Kennedy.

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.

In case you want to take this project, you can contact me for some rudimentary guidance (and referral to people I know who may be able to give you better guidance), and eventually submit a grant proposal.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • If you're not doing the work, why bother proposing that someone propose a grant proposal? Why not just say, "I'd like someone to take over this module, and additionally, I think it might make a decent grant proposal"?
    • Hi!

      If you're not doing the work, why bother proposing that someone propose a grant proposal? Why not just say, "I'd like someone to take over this module, and additionally, I think it might make a decent grant proposal"?

      I don't really understand why there's such a big difference between them. I was suggesting a good idea for a grant, and if someone is interested on hacking on the module even without the money, then I'll be fully supportive of him.

      Note that if no one volunteers (or receives a gr

      • I don't really understand why there's such a big difference between them.

        They are two distinct phases of the process. Who knows: maybe you'll find someone to do the work who does not want or need a grant (like almost every other project on the CPAN).

        But the entire purpose of the grant is to make other people involved in hacking my code. From my experience, such people can often give a new perspective on its development and come with many good ideas and code for further development.

        From my experience, it's
  • What might prevent someone from doing this (or even using the module) is the conflicting license information.

    The Distributions says that it is licensed under the BSD license [0] however the individual files are licensed under MIT [1]

    0. http://search.cpan.org/dist/HTML-Widgets-NavMenu/ [cpan.org]
    1. http://search.cpan.org/dist/HTML-Widgets-NavMenu/lib/HTML/Widgets/NavMenu.pm#COP YRIGHT_AND_LICENSE [cpan.org]
    • Hi ciscott!

      The actual licence for the module is the MIT X11 licence. The 'bsd' indicator for the licence is part of the module's meta-data because it's the closest choice for it in Module::Build, and in the PAUSE categorisation.

      It does not make too much difference. The MIT X11 is considered part of the BSD family of licences, which includes licences that are completely non-copyleft as the original BSD, the modified BSD, MIT X11, the Apache licence, the Python licence, and so forth.

      Even software