Re: Tags for CPAN modules.
Adam Kennedy wrote: This is a super idea. It might also be nice to allow cpan.org users the ability to associate tags (which could be overridden by the author) with modules which don't have them. That's the main problem with having tags in the META.yml. The tags can only be author-driven, they don't work user-driven. Layers. Onions have layers, Ogres have layers. I mean tags. Tags have layers. The author puts their definitive tags into the META.yml and J Random User site can layer whatever extra tags on top they want. If the author likes the new tags they can incorporate them into the META.yml. The nice part about putting them into the META.yml is it follows the module around and is available to all, not specific to just one site.
Re: Tags for CPAN modules.
Ken Williams wrote: I was about to chime in and say that when an author provides their own tags for their work, I think of them as keywords. The term tags has a connotation to me of user-generated labeling. For instance, in academic papers, the author (or perhaps even the conference/journal editor) writes the keyword field. If we assume for a moment that 'keywords' and 'tags' are interchangeable is it not the case that keywords/tags on academic papers are exclusivel author generated because there's no interface that allows anyone else to add tags/keywords? I can't tag your papers even if I wanted to. I was quite glad to see a few days ago that cpanforum is adding tags. The obvious problem is that it's just one site, and there may not be enough mass in the perl community to support various tag sets at various cpan-related sites. I wonder if there needs to be (at some point down the road) some distributed merging of tags from the various tagging-enabled cpan metadata sites like search.cpan, cpanforum, perldoc, etc. Having it genuinely distributed (no authoritative source, peer to peer synching) is probably hard. Two possible solutions spring to mind: * design a simple RESTful tagging API and set up an authoritative tag server to run it * have an SVN repo containing USERMETA.yml files per tagged module and use SVN to move them around and merge multiple updates. -- Andy Armstrong, Hexten
Re: Tags for CPAN modules.
On 7/8/07, Michael G Schwern [EMAIL PROTECTED] wrote: Let's un-overload the distribution name by providing another axis by which an author can categorize their module. The single most dominant organizational tool of the web: tags. For a large, wide, decentralized library its simple and the least worst way to organize things. It provides multiple axis to describe the use of a module and frees up the name to be just a short, unique descriptor. Best practices for tags and how to work their strengths and weaknesses are well understood. The implementation is simple, add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. While I think it would be good and module author could then give some authoritative tags to their modules it would still be the job of the module author. Many modules, especially the some old ones that are not maintained will lack the keywords even if otherwise they are perfect modules. Anyway I have just a few days ago added a tagging system to http://www.cpanforum.org/ to tag the modules. In a few weeks I'll provide some way to download the collected data and then it could be integrated in any search engine. Some tags that were already added: http://www.cpanforum.org/tags/ Using such an external tagging system will get the load off the module authors. Still,one of the my plans is to connect the tags to the PAUSE ids as well so tags added by the maintainer of a module can be evaluated differently than those of other module authors or just regular mortals. Even if in the tags will be added to META.yml this system can be used to learn about tagging preferences in the CPAN namespace. Gabor
Re: Tags for CPAN modules.
On Sun, Jul 08, 2007 at 12:44:19PM -0700, Michael G Schwern wrote: One of the most common cries I hear from CPAN users is that they have trouble finding modules. A CPAN module is largely found by its distribution name. Names have to be unique and short which tends to hurt its descriptiveness. Furthermore, a distribution can only have one name while a module could be described different ways depending on how you look at it. CPAN is organized as a simple tree hierarchy. Hierarchies suck for describing the real world. They allow for only one way to describe a thing and imply a hierarchy which may not exist. Let's un-overload the distribution name by providing another axis by which an author can categorize their module. The single most dominant organizational tool of the web: tags. For a large, wide, decentralized library its simple and the least worst way to organize things. It provides multiple axis to describe the use of a module and frees up the name to be just a short, unique descriptor. Best practices for tags and how to work their strengths and weaknesses are well understood. This is a super idea. It might also be nice to allow cpan.org users the ability to associate tags (which could be overridden by the author) with modules which don't have them. That would make it a lot easier to classify modules which don't have very active maintainership. Austin
RE: [SPAM] Re: Tags for CPAN modules.
I think both of these ideas sound great. I think Michael's got the long term solution and Gabor has the short term solution. Both are probably needed to get this idea off the ground. People need to realize the idea's usefulness then you're not having to 'FORCE' them per-se to add tags at build time. So I think it's still left to a short discussion as to if/when/how the META.yml tags get used. Do they override the ones manually entered? Do they compliment them? Does one have a higher weight than the other? -Original Message- From: Gabor Szabo [mailto:[EMAIL PROTECTED] Sent: Monday, July 09, 2007 12:35 AM To: Michael G Schwern Cc: List - Module-Build; makemaker; [EMAIL PROTECTED] Subject: [SPAM] Re: Tags for CPAN modules. On 7/8/07, Michael G Schwern [EMAIL PROTECTED] wrote: Let's un-overload the distribution name by providing another axis by which an author can categorize their module. The single most dominant organizational tool of the web: tags. For a large, wide, decentralized library its simple and the least worst way to organize things. It provides multiple axis to describe the use of a module and frees up the name to be just a short, unique descriptor. Best practices for tags and how to work their strengths and weaknesses are well understood. The implementation is simple, add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. While I think it would be good and module author could then give some authoritative tags to their modules it would still be the job of the module author. Many modules, especially the some old ones that are not maintained will lack the keywords even if otherwise they are perfect modules. Anyway I have just a few days ago added a tagging system to http://www.cpanforum.org/ to tag the modules. In a few weeks I'll provide some way to download the collected data and then it could be integrated in any search engine. Some tags that were already added: http://www.cpanforum.org/tags/ Using such an external tagging system will get the load off the module authors. Still,one of the my plans is to connect the tags to the PAUSE ids as well so tags added by the maintainer of a module can be evaluated differently than those of other module authors or just regular mortals. Even if in the tags will be added to META.yml this system can be used to learn about tagging preferences in the CPAN namespace. Gabor
Re: [SPAM] Re: Tags for CPAN modules.
Todd Rinaldo wrote: So I think it's still left to a short discussion as to if/when/how the META.yml tags get used. Do they override the ones manually entered? Do they compliment them? Does one have a higher weight than the other? I imagined them on a different axis. In UI terms that'd mean they'd be visually distinct - but not necessarily more or less important. You could get all 2.0 and have a tag cloud with a slider to adjust the weighting of the two :) I'd thought that the two sets would be orred together and an individual tag could have supplied-by-owner and supplied-by-world bits. OW xml ** fabulous *_ rubbish _* :) -- Andy Armstrong, Hexten
Re: Tags for CPAN modules.
Michael G Schwern wrote: [..] add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. What's the main difference between a tags keyword and the already-existing keywords field found in META.yml since rev 1.1? http://module-build.sourceforge.net/META-spec-current.html#keywords - Salve -- Salve J. Nilsen salvejn at met dot no / Systems Developer Norwegian Meteorological Institute http://met.no/ Information Technology Department / Section for Development
Re: Tags for CPAN modules.
On Jul 9, 2007, at 3:49 PM, Michael G Schwern wrote: Salve J Nilsen wrote: Michael G Schwern wrote: [..] add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. What's the main difference between a tags keyword and the already-existing keywords field found in META.yml since rev 1.1? http://module-build.sourceforge.net/META-spec-current.html#keywords See, that's why I CC things around before I go ahead and do something stupid. Ok, we'll use that. Funny. I, who presumably wrote that document, don't even remember it being there. I was about to chime in and say that when an author provides their own tags for their work, I think of them as keywords. The term tags has a connotation to me of user-generated labeling. For instance, in academic papers, the author (or perhaps even the conference/journal editor) writes the keyword field. I was quite glad to see a few days ago that cpanforum is adding tags. The obvious problem is that it's just one site, and there may not be enough mass in the perl community to support various tag sets at various cpan-related sites. I wonder if there needs to be (at some point down the road) some distributed merging of tags from the various tagging-enabled cpan metadata sites like search.cpan, cpanforum, perldoc, etc. -Ken
Tags for CPAN modules.
One of the most common cries I hear from CPAN users is that they have trouble finding modules. A CPAN module is largely found by its distribution name. Names have to be unique and short which tends to hurt its descriptiveness. Furthermore, a distribution can only have one name while a module could be described different ways depending on how you look at it. CPAN is organized as a simple tree hierarchy. Hierarchies suck for describing the real world. They allow for only one way to describe a thing and imply a hierarchy which may not exist. Let's un-overload the distribution name by providing another axis by which an author can categorize their module. The single most dominant organizational tool of the web: tags. For a large, wide, decentralized library its simple and the least worst way to organize things. It provides multiple axis to describe the use of a module and frees up the name to be just a short, unique descriptor. Best practices for tags and how to work their strengths and weaknesses are well understood. The implementation is simple, add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. Here's some examples off the top of my head. name: WWW-Mechanize tags: [www, robot] name: ExtUtils-MakeMaker tags: [build, developers, make] name: Module-Build tags: [build, developers] name: DBIx-MyServer tags: [dbi, mysql, network, protocol] name: Convert-Age tags: [datetime] name: Incunabulum tags: [mvc, pluggable] name: Google-Adwords tags: [www, google, adwords, soap] name: LWP tags: [www, html, parser] name: CGI tags: [cgi, html, generator] The particular tags will fluctuate at first (ie. web vs www) but will quickly settle down, especially if aided by simple tag visualization tools like tag clouds. Unless someone screams NO, STOP! I intend to add this functionality to MakeMaker.
Re: Tags for CPAN modules.
Hi Michael One of the most common cries I hear from CPAN users is that they have trouble finding modules. A CPAN module is largely found by its distribution name. Right! And surely we can all recall cases of surprise upon encountering useful modules whose name - at least initially - was unexpected. descriptor. Best practices for tags and how to work their strengths and weaknesses are well understood. So do you have a URL of a (choosing) tags tutorial? I'll bet no 2 people will agree on which tags suit a set of modules, because the choice depends on our personalities rather than depending on the code. The implementation is simple, add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. OK. The particular tags will fluctuate at first (ie. web vs www) but will quickly settle down, especially if aided by simple tag visualization tools like tag clouds. I'd say they will diverge rather than converge. See for example module names - it's that personal choice thing again. But that shouldn't stop us making CPAN more useful. Unless someone screams NO, STOP! I intend to add this functionality to MakeMaker. Do it no matter who screams! -- Ron Savage [EMAIL PROTECTED]
Re: Tags for CPAN modules.
On Jul 8, 2007, at 2:44 PM, Michael G Schwern wrote: One of the most common cries I hear from CPAN users is that they have trouble finding modules. A CPAN module is largely found by its distribution name. Names have to be unique and short which tends to hurt its descriptiveness. Furthermore, a distribution can only have one name while a module could be described different ways depending on how you look at it. CPAN is organized as a simple tree hierarchy. Hierarchies suck for describing the real world. They allow for only one way to describe a thing and imply a hierarchy which may not exist. Let's un-overload the distribution name by providing another axis by which an author can categorize their module. The single most dominant organizational tool of the web: tags. For a large, wide, decentralized library its simple and the least worst way to organize things. It provides multiple axis to describe the use of a module and frees up the name to be just a short, unique descriptor. Best practices for tags and how to work their strengths and weaknesses are well understood. The implementation is simple, add a tags keyword to META.yml. Have search.cpan.org so something interesting with that extra information. [snip] It is indeed a common request. Note that cpanforum recently got basic tagging. One advantage of dynamic, online tagging rather than static, META.yml tagging is that third-parties can tag actual usage rather than usage that the author anticipates. Furthermore, dynamic tagging allows the keyword choices to evolve over time without necessitating a new upload. I propose the following (with the caveat that I intend to implement none of this!) 1) go ahead with Schwern's idea to add META.yml tagging 2) merge those author tags with public tags created by cpanforum or the like 3) if search.cpan.org or Kobes' site adds tag searching, work off that merged tag set while weighting the author tags higher if desired. Chris