Ok. I took another pass over the proposal and have a few thoughts/ideas
I think we can talk about here on the list to get this moving.
1. We should ditch the current branch based on roller 2.1 and recreate
it using the 3.0 codebase, migrating whatever code is still relevant.
2. I suggest we follow Anil's suggestion in the issues section and not
try and make an decisions about categories vs. tags. That's definitely
still an important debate, but I suggest we get tags going first then we
can actually see how each is used and make a decision based on acquired
feedback rather than speculation.
3. I suggest we hold off on the tagging for weblogs and just do tags for
weblog entries. This will just narrow the scope of the proposal a bit.
As far as the data model, classes, and methods are concerned ...
i think the weblogentrytag table looks pretty good, but i'm wondering if
we really need a reverence to username, what is that for? also, how is
the tagtime supposed to work? does it only get set once when the tag is
added or does it get updated when the tags are updated?
i'm not sure i understand all of the proposed manager method additions
either ...
getWebsiteTags(WebsiteData website) - not needed
getWeblogEntriesByTag(WebsiteData website, String tag) - ok
getWeblogEntriesByTag(String tag) - ditch, just use method above
getAllTags() - how? this could return thousands of results
getAllTags(WebsiteData website) - again, how? why?
getTagsOrderByCount(WebsiteData website, int count) - ok, for cloud?
getTagsOrderByCount(int count) - ditch, just use method above
removeTag(String id) - ok, also need removeTag(tag)
findTags(WebsiteData website, String pattern, int maxResults) - ok
findTags(String pattern, int maxResults) - ditch, just use method above
also, i think every method needs to have a 'limit' parameter to limit
the result set and the maxResults should be configurable at the site
wide level so that we can prevent methods provided to users from
returning overly large result sets.
none of the methods reference username, so that makes me think we don't
really need the username associated with a tag.
the getAllTags() methods bother me a bit because i would think that on
any site that gets a reasonable amount of usage those methods would
return enormous result sets. what do we need them for anyways?
everything else sounds about right, although it would be nice to see a
bit more info about what methods we think are needed in the site and
page models.
-- Allen
Elias Torres wrote:
I have updated the proposal on the wiki page for tagging. Please
comment/delete/change/add/etc to it. I'll be glad to discuss and
improve it.
http://rollerweblogger.org/wiki/Wiki.jsp?page=Proposal_WeblogTags
-Elias
On 9/11/06, Elias Torres <[EMAIL PROTECTED]> wrote:
Hi Guys,
We initially implemented a tagging function into Roller 2.0 (at IBM) but
that really never made it into core because of my lack of effort in
completing a few things that Allen had suggested before it was
functional enough. I replied to his feedback answering some of the
concerns (which I didn't think were major) [1], but I never got a direct
reply to my email. We would like to move to 3.0+ but we can't until
tagging is in place.
There's the big decision to whether we support either categories or tags
or both. I'm fine with supporting both as long as we can disable either
one or none in the UI through roller.properties.
I'm willing to code it in any specific way and don't have a set way in
mind. I'm fine with use Lucene as Ian Kellen had suggested long time ago
for performance and use the db just as a persistent storage. I'll very
through and make sure there's a tab for the tag cloud, feeds and proper
methods in beans, velocity models, etc.
Thanks,
Elias
[1]
http://www.nabble.com/Re%3A-Evalutating-tag-support-p3972587s12275.html