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
> 

Reply via email to