Support/Live Chat/Tags

From MozillaWiki
Jump to: navigation, search

Tag support implements a "chatroom bot" which responds to a /tag command. The tag command can be called with a delta string (i.e. one,two,-three) to change the list of tags, or alone to get the list of current tags.

Instructions for testing DB table update

  1. Begin with a copy of the pre-upgrade Openfire database.
  2. Upgrade the Fastpath plugin, and restart Openfire. The update script executes automatically.
  3. Verify that the changed tables in the database are correct.


Instructions for testing tag support

  1. Log onto the production or staging Openfire server with Spark
  2. Start a new Live Chat session from the Live Chat page
  3. Accept the Live Chat session in Spark
  4. Type /tag, verify that the new chat returns no tags
  5. Use the /tag command once or more with valid and invalid delta strings, ensuring that the proper tags are added.
  6. Verify that the final tags are correct by typing /tag
  7. End the chat session, and the tags will be stored to the database. (This can be verified using http://dm-sumotools01.mozilla.org/cgi-bin/zzxc/chatquery.php?start=20090309&q=question+name)

Tag deltas

A valid delta string contains a list of tags separated by commas, with optional + or - prefixes. A delta string of one,two,+three,-four,five should add the one, two, three, and five tags while removing the four tag. Whitespace between tags or before/after the delta string is ignored, but tags may contain spaces.

Additionally, each tag may have a ? or ! prefix. The ? prefix means that the tag may be related, and the ! prefix means 'not'. Each tag may only exist once, regardless of any prefixes. Hence, to remove the "!crash" tag, a delta of "-crash", "-!crash", or "-?crash" would work.

Future development

Future development of tag support will result in an XMPP protocol extension to add and remove tags, and to search the existing pool of tags. This interface will supplement the chatroom bot interface, so that users with compatible clients can have enhanced functionality.