{"action":"created","issue":{"url":"https://api.github.com/repos/badvision/acs-aem-commons/issues/3","repository_url":"https://api.github.com/repos/badvision/acs-aem-commons","labels_url":"https://api.github.com/repos/badvision/acs-aem-commons/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/badvision/acs-aem-commons/issues/3/comments","events_url":"https://api.github.com/repos/badvision/acs-aem-commons/issues/3/events","html_url":"https://github.com/badvision/acs-aem-commons/issues/3","id":217628729,"number":3,"title":"Implement folder move script","user":{"login":"badvision","id":5144198,"avatar_url":"https://avatars3.githubusercontent.com/u/5144198?v=3","gravatar_id":"","url":"https://api.github.com/users/badvision","html_url":"https://github.com/badvision","followers_url":"https://api.github.com/users/badvision/followers","following_url":"https://api.github.com/users/badvision/following{/other_user}","gists_url":"https://api.github.com/users/badvision/gists{/gist_id}","starred_url":"https://api.github.com/users/badvision/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/badvision/subscriptions","organizations_url":"https://api.github.com/users/badvision/orgs","repos_url":"https://api.github.com/users/badvision/repos","events_url":"https://api.github.com/users/badvision/events{/privacy}","received_events_url":"https://api.github.com/users/badvision/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-03-28T17:05:34Z","updated_at":"2017-03-28T20:19:04Z","closed_at":null,"body":"Moving folders in AEM today is a very costly process.  It is probably faster, albeit with some risk, to break this up into a multi-stage process instead of a single commit:\r\n\r\nStep 1: Validate.  This should check if all nodes can be moved and that there are no ACL issues.  All failures should be considered terminal and the user should get a detailed report of what prevented the operation.\r\nStep 2: Clone folder structure.  As much of the original folder metadata should be copied over where possible, especially ACLs.  Failures in this step should be considered fatal and the result should be that the new folders should be removed and a report of errors sent to the user.\r\nStep 3: Move each non-folder node.  With the folder structure in place this step should be successful.  This step should be performed as a system user to bypass additional ACL checks, since they were already checked in step 1.  Failures in the step should not be considered terminal but should be reported in the end.  Any failures in this step should, however, prevent Step 4 from executing.\r\nStep 4: Remove old folder structure."},"comment":{"url":"https://api.github.com/repos/badvision/acs-aem-commons/issues/comments/289891664","html_url":"https://github.com/badvision/acs-aem-commons/issues/3#issuecomment-289891664","issue_url":"https://api.github.com/repos/badvision/acs-aem-commons/issues/3","id":289891664,"user":{"login":"badvision","id":5144198,"avatar_url":"https://avatars3.githubusercontent.com/u/5144198?v=3","gravatar_id":"","url":"https://api.github.com/users/badvision","html_url":"https://github.com/badvision","followers_url":"https://api.github.com/users/badvision/followers","following_url":"https://api.github.com/users/badvision/following{/other_user}","gists_url":"https://api.github.com/users/badvision/gists{/gist_id}","starred_url":"https://api.github.com/users/badvision/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/badvision/subscriptions","organizations_url":"https://api.github.com/users/badvision/orgs","repos_url":"https://api.github.com/users/badvision/repos","events_url":"https://api.github.com/users/badvision/events{/privacy}","received_events_url":"https://api.github.com/users/badvision/received_events","type":"User","site_admin":false},"created_at":"2017-03-28T20:19:04Z","updated_at":"2017-03-28T20:19:04Z","body":"Folders are sling:OrderedFolder and sling:Folder -- Maybe also nt:unstructured.  The primary use case is for reorganizing assets.  How are assets re-published today when this happens?  Manually or automatically?"}}
{"actor":{"display_login":"badvision"}}