CCP Sprint 13 Functionality
The CCP team is developing using the Agile/Scrum methodology with 2-week "sprints" and therefore the functionality of CCP is will change every couple weeks. The purpose of this wiki is to document current functionality.
Social Contact #
A social contact is a post to social media or user generated content site. It could be a Tweet, a Blog, a Facebook comment, a post to a forum, etc.
A feed is a data source for CCP. There will eventually be several feed types, but sprint supports only the "RSS" type feed. As the name suggest, an RSS type feed will collect data from an RSS source. This is presumably a social media site or forum; however any RSS feed will work.
Configuring a Feed on CCP requires only a name, description (optional), feed type (only RSS in this version) and polling interval. This configuration can done via the "CCP Feed Configuration" gadget or through the API. Once CCP is configured with a RSS Feed, that data would be pulled into CCP and analyzed for possible assignment to an agent.
To begin configuring CCP you should go to the web to find some RSS feeds. Any RSS feed will do but if you want constant traffic we would suggest Twitter. Go to search.twitter.com and type any search. In addition to the results you will see an RSS feed icon in the top right of the page. Copy that link and you have a RSS feed search result for CCP.
If you want to modify your search, then you can always go back to Twitter to try another search. You can add as many feeds as you like to CCP.
Note: Twitter does rate-limit. If you want to watch how fast CCP works, then set up the feed for a 1 minute polling rate. ...but if you are setting up a lot of feeds and/or you don't need real-time data then you should probably set up a 5-10 min type polling rate to decrease chances of rate limiting.
(In a future sprint we will develop a "Twitter" type feed that uses the proprietary Twitter API instead of RSS. This API should provide specific feedback on rate limiting, allowing better diagnostics/visibility into this condition and smarter handling of the situation by the CCP system)
You might also want to try blogsearch.google.com to capture some larger postings. Again, when you get search results you will see a link for RSS (left side of page).
A Campaign is a configured object that allows you to organize the data collection, define business rules for prioritization, and determine assignment to staff for the purpose of social media engagement/responses. One or more feeds would be associated with a campaign. A campaign could be set up for a specific brand, product, or even a specific problem associated with a product. For example, there could be a campaign to collect all references to UCCE. That campaign could have multiple feeds that would all go into one collection of social contacts related to UCCE.
Configuring a campaign on CCP requires the configuration of a name and description. To generate any results, you must also associate feeds to a campaign. The campaign configuration can be done via the "CCP Campaign Configuration" gadget or via the APIs.
Campaign Results RSS Feed #
The campaign results are the output of CCP. The results of all campaigns are automatically published to an RSS feed. This feed URL can be found by clicking the RSS link in the Campaign configuration gadget. For this version of CCP, the campaign results is simply a merge of multiple RSS feeds that is output as one combined time-sorted RSS feed. CCP will also de-duplicate posts so for example if you created a Feed from Twitter for "Cisco" and a Feed for "UCCE" then a tweet of "Cisco UCCE is awesome" would be collected by both feeds but it will only show up once in the campaign.
Unlike the the other API's. the Campaign Results RSS feed URL is designed to be permanent. The URL is based on the initial name entered when the Campaign is created. Note, even if the name is subsequently changed, the feed URL will not change. The goal was to make the URL/permanent but to try to avoid having the feed URL break. For example, if the Feed URL is being used to publish results in many different clients, then changing the URL/name would break all of those clients. If a duplicate name is created, CCP will append a number. (Note: this is an area of product still being evaluated. If you have suggestions on the design, please provide feedback.)
Campaign Results Gadget #
While Campaign Results via RSS has the benefit of being able to push campaign results into many different clients, one drawback of RSS is that Campaign results cannot be altered after publication. For this reason, we expect the Campaign Results gadget to be the better/preferred way to view campaign results for most CCP users/agents. For example, if a social contact is removed from a campaign by a person/system, a gadget could update/refresh with that result eliminated (an RSS feed/client could not be updated once the social contact is posted).
The Campaign Results gadget in this sprint is very simple. It's essentially an RSS widget. It has one dynamic property which is the number of new posts. This will update dynamically as new social contacts are pulled in through the feed. Note: this is the purpose of the "Campaign Results Count API" as it allows for a count to be shown to the user. This user experience of reporting new postings is consistent with the Facebook and Twitter web site UI.
In a future sprint, social contact state controls will be added to this gadget so that an agent can reserve/handle/trash a social contact. That action will cause the social contact "state" to change and depending on that state it may disappear from the display of the other agents. This functionality will allow multiple people to work off the same "queue" without duplicating effort.
Filters will become an important part of the CCP system. Filters will provide a programmable means to filter social contacts. For example, filters will be able to remove spam, determine sentiment (positive/negative), determine relevance to a particular topic/business interest. Filters will be associated to campaigns.
In this sprint filters do not exist, except for the preliminary setup/naming configuration. They do not function. Please disregard at this time.
Replying to Social Contacts #
This version of CCP does not include any reply UI. While some reply user interfaces will be built in future sprints, it's important to consider that even in the shipping version of CCP there will be some social contacts where the agent must pop out to a browser to reply. For example, if the post is a blog. It may very well be impossible for CCP to present a UI to navigate through the steps required to allow the agent to comment on that blog. There could be registration, captcha, etc. Therefore the CCP solution will always have the notion of an agent stepping outside the boundaries of the CCP software to "handle" a work item and then reporting back to CCP on how the contact was handled.
Still, even with the extremly limited functionality in Sprint 13, CCP could be reasonable used to monitor/reply to twitter.
7 day limit This version of CCP is limited to 7 days of data. This should be adequate for functional testing/development without concerns for capacity overload issues. Note: once odd behavior you may notice is if you configure an RSS feed that has posts older then 7 days. They will be pulled in and then immediately purged giving you no results.
While we do expect to make the retention of social contact data configurable (likely by campaign) the initial use-case for CCP is to provide a tool that allows our customers to respond to customers, not create a massive data warehouse of social contact data. ...if a post is more then 7 days old, it's most likely far to late to respond.
Facebook A primary use-case for CCP will be capturing consumer wall posts on a Facebook fan page. Unfortunately, Facebook doesn't provide an obvious way to get consumer posts via RSS (let us know if you find one.) There may be a workaround but we haven't researched very much as we anticipate using Facebook OpenGraph API to capture these posts. Expect that we will add a new Feed type "Facebook" in a future Sprint (or possibly there is a "Facebook Wall" type feed.)