Using sample SAD plugins¶
This distribution comes with three sample plugins: Twitter searcher, Facebook collector and Basic SNS stats (located in sad-plugins folder). Each can be run either by Using SAD Control panel or with a SAD Service API.
Twitter searcher (twitter-searcher)¶
This plugin retrieves up to 100 posts (argument: num_posts
) from Twitter using Social Integrator library. Supported search terms (argument: search_terms
) are:
It uses credentials located in sad-plugins/twitter-searcher/src/main/resources/oauth-twitter.properties.
For example, to search for “cute OR adorable” once using SAD Control panel, paste the following into Request template and click Send request to run Plugin:
{ "pluginName": "twitter-searcher", "arguments": [ { "search_terms": "cute OR adorable" }, { "num_posts": "99" } ], "inputs": [], "outputs": [ { "type": "twitter-static-search-raw" } ], "schedule": { "times": 1, "withIntervalInMilliseconds": 20000 } }
Use Job list at the bottom of the Control panel to monitor the progress of the plugin execution and once it’s finished, use links under the plugin name to view:
raw data - collected tweets as JSON:
{ "response": { "series": { "0": { "jsonData": { "contributors": null, "text": "@Jamieboo8 hahahah you're so cute", ... }, "num": 98, "jobstatus": "finished" } }
visualised data - HTML/CSS/JS rendering of raw data:
job details - JSON containing job’s metadata:
{ "result":"ok", "response":{ "job":{ "ID":1, "PluginName":"twitter-searcher", "Name":"Job for plugin twitter-searcher", "Description":"Job created by Scheduling service", "Arguments":[ { "search_terms":"cute OR adorable" }, { "num_posts":"99" } ], "Inputs":[ ], "Outputs":[ { "type":"twitter-static-search-raw" } ], "Schedule":{ "times":1, "withIntervalInMilliseconds":20000 }, "Status":"finished", "WhenCreated_as_string":"2013-07-18 16:09:57", "WhenCreated_in_msec":1374160197491, "WhenLastrun_as_string":"2013-07-18 16:10:00", "WhenLastrun_in_msec":1374160200247, "Executions_num":1, "status_url":"http://localhost:8081/SAD/service/jobs/1", "data_url":"http://localhost:8081/SAD/service/jobs/1/data", "visualised_data_url":"http://localhost:8081/SAD/visualise/twitter-searcher/data.html?jobid=1&num_results=20" } } }
Facebook collector (facebook-collector)¶
Uses Social Integrator library to collect max_posts
recent posts from one or more Facebook pages (in case of multiple pages, max_posts
recent posts from each page). Page names in page_name
argument can be separated by commas or an individual page_name
argument can be added for each Facebook page.
It uses credentials located in sad-plugins/facebook-collector/src/main/resources/oauth-facebook.properties.
For example, to collect recent 123 posts from each of “congressschladming”, “cocacola”, “Schladming2013” Facebook pages once using SAD Control panel, paste the following into Request template and click Send request to run Plugin:
{ "pluginName": "facebook-collector", "arguments": [ { "page_name": "congressschladming, cocacola" }, { "page_name": "Schladming2013" }, { "max_posts": "123" } ], "inputs": [], "outputs": [ { "type": "facebook-posts-raw" } ], "schedule": { "times": 1, "withIntervalInMilliseconds": 20000 } }
Use Job list at the bottom of the Control panel to monitor the progress of the plugin execution and once it’s finished, use links under the plugin name to view:
visualised data - HTML/CSS/JS rendering of raw Facebook data:
Hot tweets (hot-tweets) - only available in deployment release¶
Uses data collected by Twitter plugin to create a list of most influential tweets. It requires hours_back
argument to know how far in the past to go back for input tweets and a location of data folder data_folder_path
which is required by analysis algorythm:
{ "pluginName": "hot-tweets", "arguments": [ { "hours_back": "1" }, { "data_folder_path": "./data" } ], "inputs": [ { "plugin_name": "twitter-searcher" } ], "outputs": [ { "type": "twitter-hot-tweets" }, { "type": "twitter-static-search-raw" } ], "schedule": { "times": 1, "withIntervalInMilliseconds": 20000 } }
A feed of 5 latest hot tweets can be accessed at:
<SAD basepath>/service/executions/hot-tweets/twitter-hot-tweets
Basic stats for Twitter/Facebook collected data (basic-sns-stats)¶
Basic-sns-stats plugin can fetch num_posts
social network posts collected by Twitter and Facebook plugins (described above) and extract basic stats from that data. It also provides examples of direct database access including extraction of media links and descriptions.
For example, to analyse 54 posts from the output of each of two previous plugins once using SAD Control panel, paste the following into Request template and click Send request to run Plugin:
{ "pluginName": "basic-sns-stats", "arguments": [ { "num_posts": "54" } ], "inputs": [ { "plugin_name": "twitter-searcher" }, { "plugin_name": "facebook-collector" } ], "outputs": [ { "type": "twitter-basic-stats" }, { "type": "facebook-basic-stats" } ], "schedule": { "times": 1, "withIntervalInMilliseconds": 20000 } }
Use Job list at the bottom of the Control panel to monitor the progress of the plugin execution and once it’s finished, use links under the plugin name to view:
visualised data - HTML/CSS/JS rendering of raw basic stats data:
Extracted media links with descriptions can be requested with the following output type:
"outputs": [ { "type": "media-links-with-descriptions" },
and visualised alongside other output types: