{ "id": "160316", "key": "TIMOB-23402", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-05-23T23:03:49.000+0000", "created": "2016-05-17T20:06:37.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "Analytics", "qe-5.3.0", "qe-5.4.0" ], "versions": [ { "id": "17707", "name": "Release 5.3.0", "archived": false, "released": true, "releaseDate": "2016-06-04" } ], "issuelinks": [ { "id": "51730", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "outwardIssue": { "id": "160306", "key": "TIMOB-23397", "fields": { "summary": "Analytics: Improve structure of JSON data element for ti.background - iOS Ti SDK and APS SDK", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "51729", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "outwardIssue": { "id": "160304", "key": "TIMOB-23395", "fields": { "summary": "Analytics: Improve structure of JSON data element for ti.background - Android Ti SDK and APS SDK", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2016-07-07T19:22:52.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "12642", "name": "Windows", "description": "Windows authoring support" } ], "description": "h5. Description:\r\nCurrently the windows phone JSON payloads for ti.background have no data element. The other platforms have this structure. There are improvement tickets in place to update the structure of the existing structure of the payload for both Android and iOS. Based on the status of those (linked) tickets, adding parity for windows should be done to reflect the other platform's payloads at the time of implementation.\r\n\r\nCurrent example:\r\n\r\n{code}\r\n{\r\n\t\"ver\": \"3\",\r\n\t\"id\": \"7cea9910-cf8b-4a3c-a8f8-c8ed14276cc5:dc5e5c1715b599dd\",\r\n\t\"event\": \"ti.background\",\r\n\t\"ts\": \"2014-12-09T18:14:51.282+0000\",\r\n\t\"mid\": \"dc5e5c1715b599dd\",\r\n\t\"sid\": \"79dd4123-1685-43fa-82d0-6816ddcd9901\",\r\n\t\"aguid\": \"5ae84ca8-78ad-4776-9640-b7b3dd29543b\",\r\n\t\"data\": {\r\n\t\t\"value\": \"\"\r\n\t},\r\n\t\"seq\": 3\r\n}\r\n{code}\r\n\r\nh5. Steps to reproduce:\r\n1) Install a titanium project on a windows phone device\r\n2) Launch the app\r\n3) Use either - a) point device to staging via DNS setting, check logs. b) Use get last event api c) If you have backend access, check the raw event on AWS.\r\n4) Examine any of the ti.background event types.\r\n\r\nh5. Result:\r\nThere is no \"data\" element\r\n\r\nh5. Expected Result:\r\nThere is a \"data\" element, in parity with the other platforms", "attachment": [], "flagged": false, "summary": "Analytics: Add data element to JSON payload for windows phone parity", "creator": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "NPM Version: 2.15.1\r\nNode Version: 4.4.3\r\nMac OS: 10.11.2\r\nAppc CLI: 5.3.0-45\r\nAppc CLI NPM: 4.2.5-5\r\nTitanium SDK version: 5.3.0.v20160516040258\r\nAppcelerator Studio, build: 4.6.0.201605121040\r\nXcode 7.3.1 GM", "closedSprints": [ { "id": 631, "state": "closed", "name": "2016 Sprint 11 SDK", "startDate": "2016-05-21T00:06:10.029Z", "endDate": "2016-06-04T00:06:00.000Z", "completeDate": "2016-06-06T07:30:39.854Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "385968", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~iwhitfield] Just to check with you 2 things with regards to this:\r\n1. So the current json package sent from a windows device to the analytics end point does not have a \"data\" element. Does this break anything? is this still a valid package or PEM ignores it?\r\n2. Is there any difference to PEM if I sent\r\n{code}\r\n\t\"data\": {\r\n\t\t\"value\": \"\"\r\n\t},\r\n{code}\r\nvs\r\n{code}\r\n\t\"data\": {\t}\r\n{code}\r\n\r\nI'm trying to prioritise this ticket and the related ones.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-18T02:07:56.000+0000", "updated": "2016-05-18T02:07:56.000+0000" }, { "id": "385971", "author": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~cng]\r\n\r\n1. Dunno, I can investigate but parity is basically the most important thing with analytics. I think if it's not there it might be ok, but seems like it should be a very fast fix anyway?\r\n2. Yes, you're wasting at least 10 bytes of storage for every event with the former. Doesn't sound like much but at a guess I'd say there's a couple of billion ti.background events in PEM. And when you consider that Elasticsearch is storing a whole bunch of \"value\" == \"\" in memory indices, it's gonna add up to way more waste.", "updateAuthor": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-05-18T02:21:12.000+0000", "updated": "2016-05-18T02:21:12.000+0000" }, { "id": "385973", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Yes these fixes are fast. I just want to make sure these are the correct approaches.\r\n1. Ok we can put this in 5.3.1 or 5.4.0.\r\n2. Ok we will put it in version 5.4.0.\r\n\r\nThanks!", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-18T02:28:07.000+0000", "updated": "2016-05-18T02:28:15.000+0000" }, { "id": "385974", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "To avoid confusion, basically the solution we want here is to have the element:\r\n{code} \r\ndata: { } \r\n{code}", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-18T02:29:35.000+0000", "updated": "2016-05-18T02:29:35.000+0000" }, { "id": "385976", "author": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~cng] yep, exactly that - empty object unless there's valid stuff to go in it ;)", "updateAuthor": { "name": "iwhitfield", "key": "iwhitfield", "displayName": "Isaac Whitfield", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-05-18T02:34:52.000+0000", "updated": "2016-05-18T02:34:52.000+0000" }, { "id": "386471", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "https://github.com/appcelerator/titanium_mobile_windows/pull/712", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-05-23T16:37:07.000+0000", "updated": "2016-05-23T16:37:07.000+0000" }, { "id": "386472", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "From looking at the code, the only event that was missing a data property was the ti.background event. It should now contain a data property with an empty object as it's value.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2016-05-23T16:37:44.000+0000", "updated": "2016-05-23T16:37:44.000+0000" }, { "id": "390067", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, data elements are now implemented for JSON payloads for the windows platform. \r\n{code:java}\r\n\"data\": {\r\n\t\t\"tz\": -420,\r\n\t\t\"sdkver\": \"ti.5.4.0\",\r\n\t\t\"platform\": \"windows\",\r\n\t\t\"osver\": \"10.0.10586.420\",\r\n\t\t\"ostype\": \"32bit\",\r\n\t\t\"oscpu\": 4,\r\n\t\t\"osarch\": \"ARM\",\r\n\t\t\"os\": \"windowsphone\",\r\n\t\t\"nettype\": \"UNKNOWN\",\r\n\t\t\"model\": \"NOKIA RM-1073_1004\",\r\n\t\t\"deploytype\": \"test\",\r\n\t\t\"app_version\": \"1.0\",\r\n\t\t\"app_name\": \"mobileEventsTest\",\r\n\t\t\"app_id\": \"com.appc.mobileEventsTest\"\r\n\t},\r\n{code}\r\n\r\nAdditionally, confirmed that there is an empty data element in Ti.Background events.\r\n{code:java}\r\n\"data\": {},\r\n{code}\r\n\r\nTested On: \r\nWindows 10 Pro \r\nWindows Phone 10.0 (Microsoft Lumia 640 LTE) \r\nTi SDK: 5.4.0.v20160705213725 \r\nAppc Studio: 4.7.0.201606220541 \r\nAppc NPM: 4.2.7-2 \r\nApp CLI: 5.4.0-26 \r\nXcode 7.3 \r\nNode v4.2.6 \r\n*Closing ticket.*", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-07-07T19:22:14.000+0000", "updated": "2016-07-07T19:22:36.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }