{"action":"created","issue":{"url":"https://api.github.com/repos/translate/pootle/issues/3532","labels_url":"https://api.github.com/repos/translate/pootle/issues/3532/labels{/name}","comments_url":"https://api.github.com/repos/translate/pootle/issues/3532/comments","events_url":"https://api.github.com/repos/translate/pootle/issues/3532/events","html_url":"https://github.com/translate/pootle/issues/3532","id":55148498,"number":3532,"title":"Getting exports into core","user":{"login":"jleclanche","id":235410,"avatar_url":"https://avatars.githubusercontent.com/u/235410?v=3","gravatar_id":"","url":"https://api.github.com/users/jleclanche","html_url":"https://github.com/jleclanche","followers_url":"https://api.github.com/users/jleclanche/followers","following_url":"https://api.github.com/users/jleclanche/following{/other_user}","gists_url":"https://api.github.com/users/jleclanche/gists{/gist_id}","starred_url":"https://api.github.com/users/jleclanche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jleclanche/subscriptions","organizations_url":"https://api.github.com/users/jleclanche/orgs","repos_url":"https://api.github.com/users/jleclanche/repos","events_url":"https://api.github.com/users/jleclanche/events{/privacy}","received_events_url":"https://api.github.com/users/jleclanche/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"jleclanche","id":235410,"avatar_url":"https://avatars.githubusercontent.com/u/235410?v=3","gravatar_id":"","url":"https://api.github.com/users/jleclanche","html_url":"https://github.com/jleclanche","followers_url":"https://api.github.com/users/jleclanche/followers","following_url":"https://api.github.com/users/jleclanche/following{/other_user}","gists_url":"https://api.github.com/users/jleclanche/gists{/gist_id}","starred_url":"https://api.github.com/users/jleclanche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jleclanche/subscriptions","organizations_url":"https://api.github.com/users/jleclanche/orgs","repos_url":"https://api.github.com/users/jleclanche/repos","events_url":"https://api.github.com/users/jleclanche/events{/privacy}","received_events_url":"https://api.github.com/users/jleclanche/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/translate/pootle/milestones/15","labels_url":"https://api.github.com/repos/translate/pootle/milestones/15/labels","id":834522,"number":15,"title":"2.7.0","description":"Pootle core merge and 2.7 release","creator":{"login":"jleclanche","id":235410,"avatar_url":"https://avatars.githubusercontent.com/u/235410?v=3","gravatar_id":"","url":"https://api.github.com/users/jleclanche","html_url":"https://github.com/jleclanche","followers_url":"https://api.github.com/users/jleclanche/followers","following_url":"https://api.github.com/users/jleclanche/following{/other_user}","gists_url":"https://api.github.com/users/jleclanche/gists{/gist_id}","starred_url":"https://api.github.com/users/jleclanche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jleclanche/subscriptions","organizations_url":"https://api.github.com/users/jleclanche/orgs","repos_url":"https://api.github.com/users/jleclanche/repos","events_url":"https://api.github.com/users/jleclanche/events{/privacy}","received_events_url":"https://api.github.com/users/jleclanche/received_events","type":"User","site_admin":false},"open_issues":69,"closed_issues":35,"state":"open","created_at":"2014-10-21T14:47:33Z","updated_at":"2015-01-22T12:39:58Z","due_on":"2015-03-30T22:00:00Z","closed_at":null},"comments":1,"created_at":"2015-01-22T12:39:58Z","updated_at":"2015-01-22T12:40:07Z","closed_at":null,"body":"Was talking with @julen on IRC earlier and he mentioned Evernote wants to move their internal TTX exports to Pootle. This overlaps with work I'm currently doing to bring zip exports back into master.\r\n\r\nThe zip export use cases are a stand-in for offline translations and what we need to support on our side is:\r\n * Exporting arbitrary pootle paths (store, directory, language, project)\r\n * Importing those resources back into pootle\r\n\r\nPoints of note:\r\n* Separation of concerns. Imports and exports should be separate, probably.\r\n* Ability to disable exports/imports\r\n* Permissions. For exports, probably not. For imports, probably so.\r\n* Pluggable backends (export to arbitrary formats)\r\n* TTX exports: are they relevant for directory/language/project (multi-file)?\r\n * Is what we're even doing \"zip exports\"? Isn't it \"zipped po exports\"? We don't use zip for single-file, do we?\r\n * Or maybe call it \"original format export\"? God I hate that we don't have format-agnostic stores\r\n* UX for RQ feedback when the user requests an export (takes time, how do we notify them? etc)"},"comment":{"url":"https://api.github.com/repos/translate/pootle/issues/comments/71014595","html_url":"https://github.com/translate/pootle/issues/3532#issuecomment-71014595","issue_url":"https://api.github.com/repos/translate/pootle/issues/3532","id":71014595,"user":{"login":"jleclanche","id":235410,"avatar_url":"https://avatars.githubusercontent.com/u/235410?v=3","gravatar_id":"","url":"https://api.github.com/users/jleclanche","html_url":"https://github.com/jleclanche","followers_url":"https://api.github.com/users/jleclanche/followers","following_url":"https://api.github.com/users/jleclanche/following{/other_user}","gists_url":"https://api.github.com/users/jleclanche/gists{/gist_id}","starred_url":"https://api.github.com/users/jleclanche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jleclanche/subscriptions","organizations_url":"https://api.github.com/users/jleclanche/orgs","repos_url":"https://api.github.com/users/jleclanche/repos","events_url":"https://api.github.com/users/jleclanche/events{/privacy}","received_events_url":"https://api.github.com/users/jleclanche/received_events","type":"User","site_admin":false},"created_at":"2015-01-22T12:40:07Z","updated_at":"2015-01-22T12:40:07Z","body":"cc @iafan @dwaynebailey "}}