{"action":"created","issue":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/3548","repository_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium","labels_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/3548/labels{/name}","comments_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/3548/comments","events_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/3548/events","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/3548","id":132844900,"number":3548,"title":"Add custom properties to CZML files","user":{"login":"RacingTadpole","id":1757858,"avatar_url":"https://avatars.githubusercontent.com/u/1757858?v=3","gravatar_id":"","url":"https://api.github.com/users/RacingTadpole","html_url":"https://github.com/RacingTadpole","followers_url":"https://api.github.com/users/RacingTadpole/followers","following_url":"https://api.github.com/users/RacingTadpole/following{/other_user}","gists_url":"https://api.github.com/users/RacingTadpole/gists{/gist_id}","starred_url":"https://api.github.com/users/RacingTadpole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RacingTadpole/subscriptions","organizations_url":"https://api.github.com/users/RacingTadpole/orgs","repos_url":"https://api.github.com/users/RacingTadpole/repos","events_url":"https://api.github.com/users/RacingTadpole/events{/privacy}","received_events_url":"https://api.github.com/users/RacingTadpole/received_events","type":"User","site_admin":false},"labels":[{"id":504229171,"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/labels/priority","name":"priority","color":"e99695","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":24,"created_at":"2016-02-10T23:07:32Z","updated_at":"2017-01-25T16:32:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/pulls/3548","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/3548","diff_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/3548.diff","patch_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/3548.patch"},"body":"Fixes #3162.\n\nHere's a summary -\n- We decided against adding custom properties at the root level of the CZML object, since they might conflict with current or future special properties (eg. `point`, `polygon`). So instead we propose they appear under a new `properties` key.\n- We want to maintain the basic idea that CZML properties can be time-varying. So that the custom properties do not have to all vary in the same way, we will not define intervals on `properties` directly, but instead on its sub-properties.\n- Nested properties cannot have different intervals to their parent properties, and so do not need the extra `value` key.\n\nFor example:\n\n```\n\"properties\": {\n    \"short_name\": \"ABC\",\n    \"changing_name\": [\n        {\n            \"interval\": \"2007-03-02T13:00:00Z/2008-05-11T15:30:00Z\"\n            \"value\": \"XYZ\"\n        },\n        ...\n    ],\n    \"foobar\": {\n        \"value\": {\n            \"foo\": 4,\n            \"bar\": 10\n        }\n    },\n    \"an_array\": {\n        \"value\": [...]\n    },\n    \"children\": {\n        \"value\": {\n            \"name\": \"alice\",\n            \"children\": [\n                {\n                    \"name\": \"bob\",\n                    \"children\": []\n                }\n            ]\n        }\n    }\n}\n```\n\nI realize this is a change to the CZML spec, so feedback/suggestions appreciated :-) .\n"},"comment":{"url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/comments/275157455","html_url":"https://github.com/AnalyticalGraphicsInc/cesium/pull/3548#issuecomment-275157455","issue_url":"https://api.github.com/repos/AnalyticalGraphicsInc/cesium/issues/3548","id":275157455,"user":{"login":"mramato","id":1495196,"avatar_url":"https://avatars.githubusercontent.com/u/1495196?v=3","gravatar_id":"","url":"https://api.github.com/users/mramato","html_url":"https://github.com/mramato","followers_url":"https://api.github.com/users/mramato/followers","following_url":"https://api.github.com/users/mramato/following{/other_user}","gists_url":"https://api.github.com/users/mramato/gists{/gist_id}","starred_url":"https://api.github.com/users/mramato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mramato/subscriptions","organizations_url":"https://api.github.com/users/mramato/orgs","repos_url":"https://api.github.com/users/mramato/repos","events_url":"https://api.github.com/users/mramato/events{/privacy}","received_events_url":"https://api.github.com/users/mramato/received_events","type":"User","site_admin":false},"created_at":"2017-01-25T16:32:03Z","updated_at":"2017-01-25T16:32:03Z","body":"Sorry for being MIA lately.  I pretty much agree with @shunter on everything (no surprises there 😄) I think it's important for custom properties to support all official property types.  I honestly think this will be fairly trivial to add from a client code standpoint, so I can explore this sometime soon (possible during the bug bash if not this weekend).  I'll branch of this PR with some ideas and let you guys know when I have something.\r\n"}}
{"actor":{"display_login":"mramato"}}