Identity Mashups
By exposing data via REST OTIS enables you to mashup identity data with common web services, and to explore the data in ways that we have never explicitly envisioned. Below are several samples of simple mashups using identity data transformed via !Yahoo Pipes.
GeoAnnotating Identity Data
This demo shows how to retrieve identity data from OTIS, strip unneeded fields, geo-annotate the data, then plot the information on a map. Feel free to examine the pipes and create your own.
The Pipe
The image below shows the data flow as seen by the pipes editor for this pipe.
The Results
Other Uses
Other obvious geo-annotating mashups customers might wish to create from identity data include:
- Disaster mitigation: Mix employee locations with maps plotting locations of natural disasters such as hurricanes.
- Plotting customers locations in relationship to an upcoming sales trip, optionally filter based on past and potential sales.
Google Visualizations
This demo shows how to retrieve account information from the system and visually plot creation times in relationship to promotions and other events using google's annotated timeline. You could easily adapt this demo to use any of the google visualizations.
The Pipe
You may view the pipe as it appears in the editor here.
The Result
Simple html
The following html retrieves the feed, and inserts the data in the format required by the visualization.
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["annotatedtimeline"]});
function processJSON(feed)
{
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Cards Created');
data.addRows(feed.count);
var x, count;
for (count = 1, x = 0; x < feed.count; x++, count++)
{
var date = new Date(Date.UTC(feed.value.items[x].createTimestamp.slice(0,4).valueOf(), feed.value.items[x].createTimestamp.slice(4,6).valueOf(),
feed.value.items[x].createTimestamp.slice(6,8).valueOf(),
feed.value.items[x].createTimestamp.slice(8,10).valueOf(),
feed.value.items[x].createTimestamp.slice(10,12).valueOf(),
feed.value.items[x].createTimestamp.slice(12,14).valueOf(),
0));
data.setValue(x, 0, date);
data.setValue(x, 1, count);
}
var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
chart.draw(data, {displayAnnotations: true});
}
</script>
</head>
<body>
<div id="chart_div" style="width: 700px; height: 240px;"></div>
<script type="text/javascript" src="http://pipes.yahoo.com/pipes/pipe.run?_id=2teIeG2R3RGAI6nA1JzWFw&_render=json&_callback=processJSON" />
</body>
</html>
Attachments
-
pipe-bandits.png
(116.1 kB) - added by dbuss
3 months ago.
pipe-bandits-editor
- pipe-bandits-result.png (292.9 kB) - added by dbuss 3 months ago.
- cardCreationGraph.jpg (84.1 kB) - added by tdoman 3 months ago.

