Version 7 of Package feature map

Updated 2006-03-23 14:13:02

JE, Mar 2006 From recent conversations on c.l.t, one thing that would make the GUTTER (or any repository) more useful is a sort of "feature map", so that users who are looking for (say) a notebook widget would be able to find pointers to BWidgets, IWidgets, Tix, Tile, BLT, or any other implementation. This page is intended as a collaboratively edited starting point to collect the raw data for such a thing.

Suggested format: just a simple list, one entry per line, containing a feature keyword that people are likely to search for followed by the name of a package that provides that feature. Optionally followed by extra notes describing how the package implements it in cases where that's not obvious.

(Should that package name exactly match the real package? It seems like it should?)

Here's a few just to get started:

---

 notebook - bwidget
 notebook - tile
 notebook - tix
 notebook - blt (tabset widget)
 notebook - mkwidgets (tabcontrol widget)
 notebook - iwidgets (tabnotebook widget)
 mime - tcllib (mime module)
 email - tcllib (mime, smtp modules)

---

Things to think about: synonyms. For instance someone looking for a "tabcontrol" widget ought to be able to find all of the packages that provide one, even though the widget might be called something different, and it's tagged in the database with the keyword "notebook".

NEM: Given the current craze for tagging, perhaps you could allow anyone to tag an extension with keywords? Not sure whether that would be effective, though. A quick way to generate an initial set of keywords could be to use

 [map {string tolower} [info commands ${package}::*]].

schlenk: I like the idea to provide all exported commands/subcommands of the package as tags, if possible. Full-text searching the docs would help too. (Have to find the time to work on my xapian-based indexer code for gutter; it does the package descriptions nicely, but I didn't add the documentation yet.)


Category Discussion | Category Repository