Allen Gilliland wrote: > > > Elias Torres wrote: >> >> We also have a JSON servlet: >> >> /roller-services/json/tags/ <- All tags at the site level >> /roller-services/json/tags/[tagPrefix] <- tags at the site level with >> prefix >> /roller-services/json/tags/[weblogHandle] <- all tags at the weblogHandle >> /roller-services/json/tags/[weblogHandle]/[tagPrefix] <- tags with the >> prefix > > hmmm. i don't remember reviewing that url structure at all, but maybe > that is my fault. in any case, i see a problem because there is > obviously a possible collision between weblog handles and tag prefixes. > > what if there is a weblog handle of "rm" but the desired result was all > tags starting with "rm"? we may need to rethink that url structure such > that there is a forced context element which is the first part of the > url. i.e. > > /json/tags/all/[prefix] > /json/tags/weblog/<handle>/[prefix]
you are right. I'll fix that. -Elias > > -- Allen > > >> >> Finally, we need to test you can't page entries by both categories and >> tags. >> >> I think the ones above plus my comments inline should do it for now. >> >> -Elias >> >> Dave wrote: >>> Elias and Rob, >>> >>> Here's a first-cut of a test plan for tagging. Elias: can you think of >>> anything else that should be added and/or expanded and do you have >>> responses to any of the notes? Rob: is this the right level of detail >>> for a test plan? >>> >>> >>> ---------------- >>> * Test adding tags in Weblog Edit page >>> >>> - Create new weblog entry Entry1 and add tags foo and bar >>> - Result: tags foo and bar are stored for entry >>> - Create new weblog entry Entry2 and add tags foo and bar >>> - Result: after you type first two letters of tag foo, Roller >>> should suggest it >>> - Result: tags foo and bar are stored for entry >>> - Create new weblog entry Entry3 and add tags foo and baz >>> >>> ---------------- >>> * Test tag query Entries page >>> >>> - Enter tag foo in the tags field in the Filter Entries form, click >>> Filter >>> - Result: you should see only entries tagged goo >> >> The result should be "foo" not "goo". >> >>> NOTES: >>> - there's no way to query by multiple tags? >> >> I can fix the filter form to support spaces to query multiple tags. >> Simple enough. >> >>> - if we had more entries tagged we could test paging through filtered >>> entries >> >> Right. We definitely need to test paging. >> >>> ---------------- >>> * Test Tag Cloud macro >>> >>> - Customize your theme and add the #showTagCloud() macro to your Weblog >>> page >>> #set($tags = $model.weblog.getPopularTags(-1, 100) >>> #showTagCloud($tags) >>> - Result: all tags show up in the cloud >>> - Result: hover over tags shows correct number of times tag is used >>> - Result: look at generated HTML and verify CSS styles >>> (less used tags should have smaller numbers "tags s1" in the style >>> and more used tags should have higher numbers up to "tags s5") >>> - Change the getPopularTags() arguments to -1,2 >>> - Result only 2 tags should be shown in tag cloud >>> >>> NOTES: >>> - the first argument of getPopularTags() is the "since days" argument >>> and it allows you to restrict the query to include only tags added in >>> last # of days. Using -1 means "all time." If we had tag data spread >>> over time then we could test that sinceDays is working >>> >>> ---------------- >>> * Test Entry Tags macro >>> >>> - Add the #showEntryTags($entry) to your blog's _day template, inside >>> the entry loop >>> - Result: the tags associated with each entry should be displayed >>> with the entry >>> - Result: hover over tags should show correct tag usage count >>> - Result: tags should link to tag-specific views of your blog >> >> We need to test for proper escaping of URLs (e.g. C# needs to be escape >> to /tags/C%23) >> >>> ---------------- >>> * Test tag based page URLs >>> >>> - Use the URL /<your-blog-name>/tags/foo >>> - Result: page displayed should include only entries tagged foo >>> >>> NOTE: how do you do tag intersections? >> >> /<your-blog-name>/tags/foo+camp >> >>> ---------------- >>> * Test tag based feed URLs >>> >>> - Use the URL /<your-blog-name>/feed/entries/atom?tags=foo (Atom 1.0 >>> feed) >>> - And the URL /<your-blog-name>/feed/entries/rss?tags=foo (RSS 2.0 >>> feed) >>> - Result: feeds displayed should include only entries tagged foo >>> - Result: verify that tagged entries have tags specified in >>> <category> elements >>> >>> NOTE: how do you do tag intersections? >> >> Use the URL /<your-blog-name>/feed/entries/atom?tags=foo+camp >> >> or >> >> /<your-blog-name>/feed/entries/atom?tags=foo+C%23 >> >>> ---------------- >>> * Test removing tags >>> >>> - Edit an an entry and remove tag foo >>> - Result: tag should be remove from entry >>> - Result: verify that count for foo in tag cloud is adjusted downward >>> by one >>> - Result: verify that entry no longer appears on page >>> /<your-blog-name>/tags/foo >>> - Result: verify that entry no longer appears in >>> feed /<your-blog-name>/feed/entries/atom?tags=foo >>> >>> >>> I'd love to see the Sun and IBM QA guys working together here on the >>> list to put together a shared repo of test plans for Roller. If you >>> have ideas about how to make that happen, I'd like to hear them. >> >> Absolutely, we are getting ready to work on our test plans and I can >> definitely see us sharing a test folder with this information on SVN. >> >> -Elias >
