{"action":"created","issue":{"url":"https://api.github.com/repos/hydroshare/hydroshare/issues/1639","repository_url":"https://api.github.com/repos/hydroshare/hydroshare","labels_url":"https://api.github.com/repos/hydroshare/hydroshare/issues/1639/labels{/name}","comments_url":"https://api.github.com/repos/hydroshare/hydroshare/issues/1639/comments","events_url":"https://api.github.com/repos/hydroshare/hydroshare/issues/1639/events","html_url":"https://github.com/hydroshare/hydroshare/issues/1639","id":192372775,"number":1639,"title":"Improvements to IRODS API","user":{"login":"alvacouch","id":3342292,"avatar_url":"https://avatars.githubusercontent.com/u/3342292?v=3","gravatar_id":"","url":"https://api.github.com/users/alvacouch","html_url":"https://github.com/alvacouch","followers_url":"https://api.github.com/users/alvacouch/followers","following_url":"https://api.github.com/users/alvacouch/following{/other_user}","gists_url":"https://api.github.com/users/alvacouch/gists{/gist_id}","starred_url":"https://api.github.com/users/alvacouch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alvacouch/subscriptions","organizations_url":"https://api.github.com/users/alvacouch/orgs","repos_url":"https://api.github.com/users/alvacouch/repos","events_url":"https://api.github.com/users/alvacouch/events{/privacy}","received_events_url":"https://api.github.com/users/alvacouch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":20,"created_at":"2016-11-29T19:15:48Z","updated_at":"2016-11-30T15:49:25Z","closed_at":null,"body":"**Note: this is in error as stated below.** \r\n\r\n@hyi @pkdash @dtarb \r\nMuch of the code for folders currently only works in iRODS, while the developers are mostly working in systems without iRODS. Thus using this code without change will **break the local development environment** even if it works in production. The fact that we need to run in local storage as well as iRODS means that we need a common storage API that can be implemented for both kinds of storage. That was previously django_irods, but that has been ignored in favor of calling irods directly because updating it is too awkward. Meanwhile, IrodsStorage, which started out as a class to mimic the interface in LocalStorage, now has plenty of extra functions that aren't needed for that mimicry. These functions need to be elsewhere. \r\n\r\nI suggest the following strategy: \r\n\r\n* Merge django_irods from a separate repository into HydroShare. Its existence as a separate repo isn't warranted. It is time to redevelop it.  \r\n* Build HydroIrodsStorage as a subclass of IrodsStorage, having the functions we need for folders and other things specific to HydroShare, e.g., coupling between files and Django. \r\n* Build -- in parallel -- HydroLocalStorage as a subclass of DefaultStorage, having the functions we need for running in the local storage environment. \r\n\r\nThat way, the local dev environment won't fail from use of iRODS-only functions. And it will be very clear that when we develop an iRODS function, we need to mirror that function in the local storage environment as well. \r\n"},"comment":{"url":"https://api.github.com/repos/hydroshare/hydroshare/issues/comments/263908416","html_url":"https://github.com/hydroshare/hydroshare/issues/1639#issuecomment-263908416","issue_url":"https://api.github.com/repos/hydroshare/hydroshare/issues/1639","id":263908416,"user":{"login":"pkdash","id":2523434,"avatar_url":"https://avatars.githubusercontent.com/u/2523434?v=3","gravatar_id":"","url":"https://api.github.com/users/pkdash","html_url":"https://github.com/pkdash","followers_url":"https://api.github.com/users/pkdash/followers","following_url":"https://api.github.com/users/pkdash/following{/other_user}","gists_url":"https://api.github.com/users/pkdash/gists{/gist_id}","starred_url":"https://api.github.com/users/pkdash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkdash/subscriptions","organizations_url":"https://api.github.com/users/pkdash/orgs","repos_url":"https://api.github.com/users/pkdash/repos","events_url":"https://api.github.com/users/pkdash/events{/privacy}","received_events_url":"https://api.github.com/users/pkdash/received_events","type":"User","site_admin":false},"created_at":"2016-11-30T15:49:24Z","updated_at":"2016-11-30T15:49:24Z","body":"@alvacouch Your proposal for this change seems good to me. After AGU I would also like to take some time do some refactoring/restructuring rather than adding new features."}}
{"actor":{"display_login":"pkdash"}}