SHINDIG-1056 by lipeng, BasicRemoteContentTest doesn't depend on static private key...
[shindig.git] / javascript / sampledata / canonicaldb.json
blob2fc5cdb612e2562fecf65b1fd02252f5d39c0bd2
2 //  WARNING! Changing this file will affect unit-tests
3 //  A canonical JSON backed DB of OpenSocial datastructures in their RESTful forms
4 //
5 //  Basic structure:
6 //  { people : Array<Person>,
7 //    activity : Map<Person.Id, Array<Activity>>
8 //    data : Map<Person.Id, Map<String,String>>
9 //    friendLinks : Map<Person.Id, Array<Person.Id>>
10 //    userApplications : Map<Person.Id, Array<Application.Id>>
11 //    messages : Map<Person.Id, Map<MessageCollection.Id, MessageCollection>>
12 //  }
14 //  Notes:
15 //   - The structure of Person, Activity MUST! match those in the RESTful spec
16 //   - Data for "canonical" user should exercise every field in the spec. And is relied on
17 //     for unit-testing so change at your peril
18 //   - Consider adding a structure for Map<Person.Id, Array<appId>> to represent installed gadgets
20 //  TODO:
21 //   - Use URLs for appIds
25 "people" : [
27 "id" : "canonical",
28 "aboutMe" : "I have an example of every piece of data",
29 "activities" : ["Coding Shindig"],
30 "addresses" : [{
31 "country" : "US",
32 "latitude" : "28.3043",
33 "longitude" : "143.0859",
34 "locality" : "who knows",
35 "postalCode" : "12345",
36 "region" : "Apache, CA",
37 "streetAddress" : "1 OpenStandards Way",
38 "type" : "home",
39 "formatted" : "PoBox 3565, 1 OpenStandards Way, Apache, CA"
40 }],
41 "age" : 33,
42 "bodyType" : {
43 "build" : "svelte",
44 "eyeColor" : "blue",
45 "hairColor" : "black",
46 "height" : 1.84,
47 "weight" : 74
49 "books" : ["The Cathedral & the Bazaar","Catch 22"],
50 "cars" : ["beetle","prius"],
51 "children" : "3",
52 "currentLocation" : {
53 "latitude" : "48.858193",
54 "longitude" : "2.29419"
56 "birthday" : "1975-01-01",
57 "displayName" : "Shin Digg",
58 "drinker" : {
59 "value" : "SOCIALLY",
60 "displayValue" : "Socially"
62 "emails" : [{
63 "value" : "shindig-dev@incubator.apache.org",
64 "type" : "work"
65 }],
66 "ethnicity" : "developer",
67 "fashion" : "t-shirts",
68 "food" : ["sushi","burgers"],
69 "gender" : "male",
70 "happiestWhen" : "coding",
71 "hasApp" : true,
72 "heroes" : ["Doug Crockford", "Charles Babbage"],
73 "humor" : "none to speak of",
74 "interests" : ["PHP","Java"],
75 "jobInterests" : "will work for beer",
76 "organizations" : [{
77 "address" : {
78 "formatted" : "1 Shindig Drive"
80 "description" : "lots of coding",
81 "endDate" : "2010-10-10",
82 "field" : "Software Engineering",
83 "name" : "Apache.com",
84 "salary" : "$1000000000",
85 "startDate" : "1995-01-01",
86 "subField" : "Development",
87 "title" : "Grand PooBah",
88 "webpage" : "http://incubator.apache.org/projects/shindig.html",
89 "type" : "job"
90 },{
91 "address" : {
92 "formatted" : "1 Skid Row"
94 "description" : "",
95 "endDate" : "1995-01-01",
96 "field" : "College",
97 "name" : "School of hard Knocks",
98 "salary" : "$100",
99 "startDate" : "1991-01-01",
100 "subField" : "Lab Tech",
101 "title" : "Gopher",
102 "webpage" : "",
103 "type" : "job"
105 "languagesSpoken" : ["English","Dutch","Esperanto"],
106 "updated" : "2006-06-06T12:12:12Z",
107 "livingArrangement" : "in a house",
108 "lookingFor" : [
109   {"value" : "RANDOM", "displayValue" : "Random"},
110   {"value" : "NETWORKING", "displayValue" : "Networking"}
112 "movies" : ["Iron Man", "Nosferatu"],
113 "music" : ["Chieftains","Beck"],
114 "name" : {
115 "additionalName" : "H",
116 "familyName" : "Digg",
117 "givenName" : "Shin",
118 "honorificPrefix" : "Sir",
119 "honorificSuffix" : "Social Butterfly",
120 "formatted" : "Sir Shin H. Digg Social Butterfly"
122 "networkPresence" : {
123 "value" : "ONLINE",
124 "displayValue" : "Online"
126 "nickname" : "diggy",
127 "pets" : "dog,cat",
128 "phoneNumbers" : [{
129 "value" : "111-111-111",
130 "type" : "work"
132 "value" : "999-999-999",
133 "type" : "mobile"
135 "politicalViews" : "open leaning",
136 "profileSong" : {
137 "value" : "http://www.example.org/songs/OnlyTheLonely.mp3",
138 "linkText" : "Feelin' blue",
139 "type" : "road"
141 "profileUrl" : "http://www.example.org/?id=1",
142 "profileVideo" : {
143 "value" : "http://www.example.org/videos/Thriller.flv",
144 "linkText" : "Thriller",
145 "type" : "video"
147 "quotes" : ["I am therfore I code", "Doh!"],
148 "relationshipStatus" : "married to my job",
149 "religion" : "druidic",
150 "romance" : "twice a year",
151 "scaredOf" : "COBOL",
152 "sexualOrientation" : "north",
153 "smoker" : {
154 "value" : "NO",
155 "displayValue" : "No"
157 "sports" : ["frisbee","rugby"],
158 "status" : "happy",
159 "tags" : ["C#","JSON","template"],
160 "thumbnailUrl" : "http://www.example.org/pic/?id=1",
161 "utcOffset" : "-8",
162 "turnOffs" : ["lack of unit tests","cabbage"],
163 "turnOns" : ["well document code"],
164 "tvShows" : ["House","Battlestar Galactica"],
165 "urls" : [{
166 "value" : "http://www.example.org/?id=1",
167 "linkText" : "my profile",
168 "type" : "Profile"
170 "value" : "http://www.example.org/pic/?id=1",
171 "linkText" : "my awesome picture",
172 "type" : "Thumbnail"
176 "id" : "john.doe",
177 "displayName" : "Johnny",
178 "gender" : "male",
179 "hasApp" : true,
180 "name" : {
181 "familyName" : "Doe",
182 "givenName" : "John",
183 "formatted" : "John Doe"
187 "id" : "jane.doe",
188 "displayName" : "Janey",
189 "gender" : "female",
190 "hasApp" : true,
191 "name" : {
192 "familyName" : "Doe",
193 "givenName" : "Jane",
194 "formatted" : "Jane Doe"
198 "id" : "george.doe",
199 "displayName" : "Georgey",
200 "gender" : "male",
201 "hasApp" : true,
202 "name" : {
203 "familyName" : "Doe",
204 "givenName" : "George",
205 "formatted" : "George Doe"
209 "id" : "mario.rossi",
210 "displayName" : "Mario",
211 "gender" : "male",
212 "hasApp" : true,
213 "name" : {
214 "familyName" : "Rossi",
215 "givenName" : "Mario",
216 "formatted" : "Mario Rossi"
220 "id" : "maija.m",
221 "displayName" : "Maija",
222 "gender" : "female",
223 "hasApp" : true,
224 "name" : {
225 "familyName" : "Meikäläinen",
226 "givenName" : "Maija",
227 "formatted" : "Maija Meikäläinen"
231 // ----------------------------- Data ---------------------------------------
233 "data" : {
234 "canonical" : {
235 "count" : "2",
236 "size" : "100"
238 "john.doe" : {
239 "count" : "0"
241 "george.doe" : {
242 "count" : "2"
244 "jane.doe" : {
245 "count" : "7"
248 "activities" : {
249 "canonical" : [{
250 "appId" : "1",
251 "body" : "Went rafting",
252 "bodyId" : "1",
253 "externalId" : "http://www.example.org/123456",
254 "id" : "1",
255 "updated" : "2008-06-06T12:12:12Z",
256 "mediaItems" : [{
257 "mimeType" : "image/*",
258 "type" : "image",
259 "url" : "http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Rafting_em_Brotas.jpg/800px-Rafting_em_Brotas.jpg"
261 "mimeType" : "audio/mpeg",
262 "type" : "audio",
263 "url" : "http://www.archive.org/download/testmp3testfile/mpthreetest.mp3"
265 "postedTime" : "1111111111",
266 "priority" : "0.7",
267 "streamFaviconUrl" : "http://upload.wikimedia.org/wikipedia/commons/0/02/Nuvola_apps_edu_languages.gif",
268 "streamSourceUrl" : "http://www.example.org/canonical/streamsource",
269 "streamTitle" : "All my activities",
270 "streamUrl" : "http://www.example.org/canonical/activities",
271 "templateParams" : {
272 "small" : "true",
273 "otherContent" : "and got wet"
275 "title" : "My trip",
276 "titleId" : "1",
277 "url" : "http://www.example.org/canonical/activities/1",
278 "userId" : "canonical"
280 "appId" : "1",
281 "body" : "Went skiing",
282 "bodyId" : "1",
283 "externalId" : "http://www.example.org/123457",
284 "id" : "1",
285 "updated" : "2008-06-10T12:12:12Z",
286 "postedTime" : "1111111112",
287 "priority" : "0.7",
288 "streamFaviconUrl" : "http://upload.wikimedia.org/wikipedia/commons/0/02/Nuvola_apps_edu_languages.gif",
289 "streamSourceUrl" : "http://www.example.org/canonical/streamsource",
290 "streamTitle" : "All my activities",
291 "streamUrl" : "http://www.example.org/canonical/activities",
292 "templateParams" : {
293 "small" : "true",
294 "otherContent" : "and went fast"
296 "title" : "My next trip",
297 "titleId" : "1",
298 "url" : "http://www.example.org/canonical/activities/2",
299 "userId" : "canonical"
301 "john.doe" : [{
302 "id" : "1",
303 "userId" : "john.doe",
304 "title" : "yellow",
305 "body" : "what a color!"
307 "jane.doe" : [{
308 "id" : "1",
309 "body" : "and she thinks you look like him",
310 "mediaItems" : [{
311 "mimeType" : "image/jpeg",
312 "type" : "image",
313 "url" : "http://animals.nationalgeographic.com/staticfiles/NGS/Shared/StaticFiles/animals/images/primary/black-spider-monkey.jpg"
315 "mimeType" : "image/jpeg",
316 "type" : "image",
317 "url" : "http://image.guardian.co.uk/sys-images/Guardian/Pix/gallery/2002/01/03/monkey300.jpg"
319 "streamTitle" : "jane's photos",
320 "title" : "Jane just posted a photo of a monkey",
321 "userId" : "jane.doe"
323 "id" : "2",
324 "body" : "or is it you?",
325 "mediaItems" : [{
326 "mimeType" : "image/jpeg",
327 "type" : "image",
328 "url" : "http://www.funnyphotos.net.au/images/fancy-dress-dog-yoda-from-star-wars1.jpg"
330 "streamTitle" : "jane's photos",
331 "title" : "Jane says George likes yoda!",
332 "userId" : "jane.doe"
337 // ----------------------------- Data ---------------------------------------
339 "friendLinks" : {
340 "canonical" : ["john.doe", "jane.doe", "george.doe", "maija.m"],
341 "john.doe" : ["jane.doe", "george.doe", "maija.m"],
342 "jane.doe" : ["john.doe"],
343 "george.doe" : ["john.doe"],
344 "maija.m" : []
347 //---------------------------- Data For User Applications --------------------------------------------
349 "userApplications" : {
350 "canonical" : ["9158", "9703", "9143", "8877"],
351 "john.doe" : ["8877", "9143", "9158"],
352 "jane.doe" : ["9158", "9703"],
353 "george.doe" : ["9143"],
354 "maija.m" : []
357 //--------------------------- Message Collections. -----------------------------------------
359 "messages" : {
360 "canonical" : {
361   "notification" : {"title" : "Notifications",
362                          "messages" : [
363                            {"id": "1", "title": "whazzup", "type": "notification", "body": "hey dude."},
364                            {"id": "2", "title": "play checkers", "type": "notification", "body": "hot online checkers action"},
365                            {"id": "3", "title": "you won!", "type": "notification", "body": "<b>yes, you really, really won!</b>"}
367                            ]},
368   "publicMessage" : { "title" : "Profile Comments",
369         "messages" : [
370           {"id": "1", "senderId": "john.doe", "title": "Hairdo", "type": "publicMessage", "body": "nice &quot;haircut!&quot;", "replies": ["1a","1b"]},
371           {"id": "1a", "senderId": "canonical", "title": "", "type": "publicMessage", "body": "that's not hair, it's a wig!", "inReplyTo": "1"},
372           {"id": "1b", "senderId": "john.doe", "title": "100% polyester", "type": "publicMessage", "body": "only the finest hyrdrocarbons :)","inReplyTo": "1"},
373           {"id": "2", "senderId": "jane.doe", "title": "hola", "type": "publicMessage", "body": "be my bff?"}
375         ]},
376   "privateMessage" : {"title" : "Inbox",
377         "messages" : []}
378   
379   },
380   
381 "1" : {
382     "notification" : {"title" : "Notifications", "messages" : []},
383     "privateMessage" : {"title" : "Inbox", "messages" : []},
384     "publicMessage" : {"title" : "Inbox", "messages" : []}
387 "john.doe" : {
388   "notification" : {"title" : "Notifications",
389                           "messages" : [
390                           {"id": "1", "title": "you received a peanut", "type": "notification", "body": "peanuts are healthy"},
391                           {"id": "3", "title": "Group Request", "type": "notification", "body": "Join Cat Lovers Anonymous"}
392                           ]},
393   "privateMessage" : {"title" : "Inbox", "messages" : []},
394   "publicMessage" : {"title" : "Inbox", "messages" : []}
396 "jane.doe" : {
397     "notification" : {"title" : "Notifications", "messages" : []},
398     "privateMessage" : {"title" : "Inbox", "messages" : []},
399     "publicMessage" : {"title" : "Inbox", "messages" : []}
401   "george.doe" : {
402         "notification" : {"title" : "Notifications", "messages" : []},
403         "privateMessage" : {"title" : "Inbox", "messages" : []},
404         "publicMessage" : {"title" : "Inbox", "messages" : []}
405   },
406   "maija.m" : { 
407         "notification" : {"title" : "Notifications", "messages" : []},
408         "privateMessage" : {"title" : "Inbox", "messages" : []},
409         "publicMessage" : {"title" : "Inbox", "messages" : []}
410   }
413 // Gadgets/App information.  OAuth Consumer Key defaults to the app url.
415 "apps" : {
416     "http://localhost:8080/gadgets/files/samplecontainer/examples/SocialHelloWorld.xml":
417         { "title" : "Social Hello World",
418           "consumerSecret" : "secret",
419            "icon" : "http://localhost:8080/gadgets/files/samplecontainer/examples/icon.png"},
420     "http://localhost:8080/gadgets/files/samplecontainer/examples/SocialActivitiesWorld.xml" :
421         { "title" : "Social Activities World",
422           "consumerSecret" : "secret",
423           "icon" : "http://localhost:8080/gadgets/files/samplecontainer/examples/icon.png"},
424     "http://localhost:8080/gadgets/files/samplecontainer/examples/oauth.xml" :
425         { "title" : "Demo OAuth Gadget",
426           "consumerSecret" : "secret",
427           "icon" : "http://localhost:8080/gadgets/files/samplecontainer/examples/icon.png"}
428  },
430  // duplicates userApplications as above..
431  "permissions": {
432    "john.doe" : { "http://localhost:8080/gadgets/files/samplecontainer/examples/SocialHelloWorld.xml" : { "installed" : true},
433                   "http://localhost:8080/gadgets/files/samplecontainer/examples/SocialActivitiesWorld.xml" : { "installed" : true}
434    },
435    "canonical" :{ "http://localhost:8080/gadgets/files/samplecontainer/examples/SocialHelloWorld.xml" : { "installed" : true},
436                   "http://localhost:8080/gadgets/files/samplecontainer/examples/SocialActivitiesWorld.xml" : { "installed" : true}
437    }
438  },
439 // Passwords for authenticaiton service
440  "passwords" : {
441     "john.doe" : "password",
442     "jane.doe" : "password",
443     "canonical" : "password"
444   }