{"action":"created","issue":{"url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/issues/56","labels_url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/issues/56/labels{/name}","comments_url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/issues/56/comments","events_url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/issues/56/events","html_url":"https://github.com/nemomobile/nemo-qml-plugin-calendar/pull/56","id":90301767,"number":56,"title":"[nemo-qml-plugin-calendar] Add import/export library and tool. Contributes to MER#1120","user":{"login":"chriadam","id":2569776,"avatar_url":"https://avatars.githubusercontent.com/u/2569776?v=3","gravatar_id":"","url":"https://api.github.com/users/chriadam","html_url":"https://github.com/chriadam","followers_url":"https://api.github.com/users/chriadam/followers","following_url":"https://api.github.com/users/chriadam/following{/other_user}","gists_url":"https://api.github.com/users/chriadam/gists{/gist_id}","starred_url":"https://api.github.com/users/chriadam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriadam/subscriptions","organizations_url":"https://api.github.com/users/chriadam/orgs","repos_url":"https://api.github.com/users/chriadam/repos","events_url":"https://api.github.com/users/chriadam/events{/privacy}","received_events_url":"https://api.github.com/users/chriadam/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-23T06:31:03Z","updated_at":"2015-06-23T12:01:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/pulls/56","html_url":"https://github.com/nemomobile/nemo-qml-plugin-calendar/pull/56","diff_url":"https://github.com/nemomobile/nemo-qml-plugin-calendar/pull/56.diff","patch_url":"https://github.com/nemomobile/nemo-qml-plugin-calendar/pull/56.patch"},"body":"This commit adds a tool to import ics data into the local device\r\ncalendar, and export events from the local device as an ics file.\r\n\r\nIt also provides some API to allow us to reduce code duplication\r\n(e.g., caldav sync plugin) going forward.\r\n\r\nContributes to MER#1120"},"comment":{"url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/issues/comments/114467428","html_url":"https://github.com/nemomobile/nemo-qml-plugin-calendar/pull/56#issuecomment-114467428","issue_url":"https://api.github.com/repos/nemomobile/nemo-qml-plugin-calendar/issues/56","id":114467428,"user":{"login":"pvuorela","id":2478615,"avatar_url":"https://avatars.githubusercontent.com/u/2478615?v=3","gravatar_id":"","url":"https://api.github.com/users/pvuorela","html_url":"https://github.com/pvuorela","followers_url":"https://api.github.com/users/pvuorela/followers","following_url":"https://api.github.com/users/pvuorela/following{/other_user}","gists_url":"https://api.github.com/users/pvuorela/gists{/gist_id}","starred_url":"https://api.github.com/users/pvuorela/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pvuorela/subscriptions","organizations_url":"https://api.github.com/users/pvuorela/orgs","repos_url":"https://api.github.com/users/pvuorela/repos","events_url":"https://api.github.com/users/pvuorela/events{/privacy}","received_events_url":"https://api.github.com/users/pvuorela/received_events","type":"User","site_admin":false},"created_at":"2015-06-23T12:01:18Z","updated_at":"2015-06-23T12:01:18Z","body":"Few observations:\r\n- Not sure if exporting/importing make sense for externally synchronized calendars, nor for local birthday calendar. Could perhaps even omit buteo/caldav specific details and restrict to the local calendar(s). Later do need to figure out how to move events between calendar, but I have a feeling it's better done just creating new instances on target calendar in order to keep deletion info in previous one.\r\n- Local calendar is not necessarily the default notebook. This plugin allows to update default target and it's being used.\r\n- Seems to delete events not found in imported .ics backup. Not sure about that, compare to restoring  backup of photos which likely shouldn't delete existing ones. Then again might need some way for the user to actually delete calendars to achieve clean state.\r\n- Not sure about exporting c++ lib from qml plugin repository, or using such code from middleware level synchronization. Current version seems to have some dead code and if details on above remove even more, the gain is not necessarily that much.\r\n"}}