{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/android/issues/819","labels_url":"https://api.github.com/repos/owncloud/android/issues/819/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/android/issues/819/comments","events_url":"https://api.github.com/repos/owncloud/android/issues/819/events","html_url":"https://github.com/owncloud/android/issues/819","id":52803640,"number":819,"title":"Avoid duplicating files","user":{"login":"tobiasKaminsky","id":5836855,"avatar_url":"https://avatars.githubusercontent.com/u/5836855?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasKaminsky","html_url":"https://github.com/tobiasKaminsky","followers_url":"https://api.github.com/users/tobiasKaminsky/followers","following_url":"https://api.github.com/users/tobiasKaminsky/following{/other_user}","gists_url":"https://api.github.com/users/tobiasKaminsky/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasKaminsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasKaminsky/subscriptions","organizations_url":"https://api.github.com/users/tobiasKaminsky/orgs","repos_url":"https://api.github.com/users/tobiasKaminsky/repos","events_url":"https://api.github.com/users/tobiasKaminsky/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasKaminsky/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/owncloud/android/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/owncloud/android/labels/uploads","name":"uploads","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"tobiasKaminsky","id":5836855,"avatar_url":"https://avatars.githubusercontent.com/u/5836855?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasKaminsky","html_url":"https://github.com/tobiasKaminsky","followers_url":"https://api.github.com/users/tobiasKaminsky/followers","following_url":"https://api.github.com/users/tobiasKaminsky/following{/other_user}","gists_url":"https://api.github.com/users/tobiasKaminsky/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasKaminsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasKaminsky/subscriptions","organizations_url":"https://api.github.com/users/tobiasKaminsky/orgs","repos_url":"https://api.github.com/users/tobiasKaminsky/repos","events_url":"https://api.github.com/users/tobiasKaminsky/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasKaminsky/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/owncloud/android/milestones/16","html_url":"https://github.com/owncloud/android/milestones/1.9.1-next","labels_url":"https://api.github.com/repos/owncloud/android/milestones/16/labels","id":1328477,"number":16,"title":"1.9.1-next","description":"","creator":{"login":"rperezb","id":1846927,"avatar_url":"https://avatars.githubusercontent.com/u/1846927?v=3","gravatar_id":"","url":"https://api.github.com/users/rperezb","html_url":"https://github.com/rperezb","followers_url":"https://api.github.com/users/rperezb/followers","following_url":"https://api.github.com/users/rperezb/following{/other_user}","gists_url":"https://api.github.com/users/rperezb/gists{/gist_id}","starred_url":"https://api.github.com/users/rperezb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rperezb/subscriptions","organizations_url":"https://api.github.com/users/rperezb/orgs","repos_url":"https://api.github.com/users/rperezb/repos","events_url":"https://api.github.com/users/rperezb/events{/privacy}","received_events_url":"https://api.github.com/users/rperezb/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":0,"state":"open","created_at":"2015-09-29T07:34:14Z","updated_at":"2015-11-20T11:27:20Z","due_on":null,"closed_at":null},"comments":104,"created_at":"2014-12-24T08:13:34Z","updated_at":"2015-12-04T22:38:51Z","closed_at":null,"body":"Based on #346, this summarizes all ideas to get a clean idea how to implement this long awaiting feature.\r\nI will update the description when there is a new idea or something is unclear, so that this is up to date. \r\nFirst the way to do is shown, then all possible problems or scenarios are described...\r\n\r\n**Desired behaviour:**\r\nWhen uploading a file through owncloud app the file get uploaded to the owncloud server and remains on the place on the device. In the database of the app an entry is created which stores the local path.\r\nWhen opening/downloading a file the app first tries to open and verify the file in the local path that is stored in the database. If the file is there and up-to-date it will be shown. If it is not there, the file will be downloaded and be stored in the local owncloud folder structure.\r\n\r\n**TODO**\r\nThe user needs to be informed that the file is *shared* with owncloud. This means that the original file keeps untouched, even if the remote file changes.\r\n\r\n**File gets deleted on server:**\r\nThe file also get deleted from the database and from the local owncloud folder.\r\n\r\n**File gets deleted only on device (via ownCloud App):**\r\nThis option deletes the file from local owncloud folder.\r\n\r\n**File gets changed on server:**\r\nWhen opening the file with owncloud app it is determined if the file is up to date. Otherwise it will be downloaded and be added to local owncloud folder.\r\n\r\n**File gets changed on device:**\r\nAs now the file needs to be selected in owncloud app and choose \"refresh file\". This will upload the file change to the server --> nothing special here.\r\n\r\n**File is \"kept-to-sync\" on one account:**\r\nFile is kept in local owncloud path on device, but gets updated as soon as the server file has been changed.\r\n\r\n**File is \"kept-to-sync\" on multiple accounts:**\r\nIf there is a change on the server the local owncloud file will be updated. But none of the other files will be modified. Example: There are three distinct files to work with: $account1/test.txt, $account2/test.txt, and /data/test.txt. So if $account1/test.txt is updated on the server, then the update should be downloaded and displayed if the user opens $acount1/test.txt. However, if the user locally modifies /data/test.txt, neither the account1 nor account2 copy should be updated.\r\n\r\nI hope I have summarized this correctly. If not, or something is unclear, please feel free to comment.\r\nPlease also comment if this should be done this way. \r\n\r\n<!---\r\n@huboard:{\"order\":0.1318359375}\r\n-->\r\n"},"comment":{"url":"https://api.github.com/repos/owncloud/android/issues/comments/162101628","html_url":"https://github.com/owncloud/android/issues/819#issuecomment-162101628","issue_url":"https://api.github.com/repos/owncloud/android/issues/819","id":162101628,"user":{"login":"tobiasKaminsky","id":5836855,"avatar_url":"https://avatars.githubusercontent.com/u/5836855?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasKaminsky","html_url":"https://github.com/tobiasKaminsky","followers_url":"https://api.github.com/users/tobiasKaminsky/followers","following_url":"https://api.github.com/users/tobiasKaminsky/following{/other_user}","gists_url":"https://api.github.com/users/tobiasKaminsky/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasKaminsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasKaminsky/subscriptions","organizations_url":"https://api.github.com/users/tobiasKaminsky/orgs","repos_url":"https://api.github.com/users/tobiasKaminsky/repos","events_url":"https://api.github.com/users/tobiasKaminsky/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasKaminsky/received_events","type":"User","site_admin":false},"created_at":"2015-12-04T22:38:51Z","updated_at":"2015-12-04T22:38:51Z","body":"https://github.com/owncloud/android/pull/1168\r\nAs you can see, it is approved by qa. So it will be in the next release.\r\nIf you (really) want to help, just find another open issue, show an idea how to solve it, discuss it with the official/community devs and implement it.\r\nI think there are a lot of old issues that need some help."}}