{"action":"opened","issue":{"url":"https://api.github.com/repos/nanbando/core/issues/41","repository_url":"https://api.github.com/repos/nanbando/core","labels_url":"https://api.github.com/repos/nanbando/core/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/nanbando/core/issues/41/comments","events_url":"https://api.github.com/repos/nanbando/core/issues/41/events","html_url":"https://github.com/nanbando/core/issues/41","id":181208022,"number":41,"title":"Presets backup","user":{"login":"wachterjohannes","id":1464615,"avatar_url":"https://avatars.githubusercontent.com/u/1464615?v=3","gravatar_id":"","url":"https://api.github.com/users/wachterjohannes","html_url":"https://github.com/wachterjohannes","followers_url":"https://api.github.com/users/wachterjohannes/followers","following_url":"https://api.github.com/users/wachterjohannes/following{/other_user}","gists_url":"https://api.github.com/users/wachterjohannes/gists{/gist_id}","starred_url":"https://api.github.com/users/wachterjohannes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wachterjohannes/subscriptions","organizations_url":"https://api.github.com/users/wachterjohannes/orgs","repos_url":"https://api.github.com/users/wachterjohannes/repos","events_url":"https://api.github.com/users/wachterjohannes/events{/privacy}","received_events_url":"https://api.github.com/users/wachterjohannes/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-05T16:47:55Z","updated_at":"2016-10-05T16:47:55Z","closed_at":null,"body":"Plugins should be able to hook into a backup process and extend configuration.\r\n\r\nTo achieve that the architecture has to be refactored. The whole process should be handled over events.\r\n\r\n* `PRE_BACKUP_EVENT`:\r\n  - Create destination and source\r\n  - Create and fill system-database (with basic values)\r\n  - (optional - with plugins) The configuration can be extended\r\n* `BACKUP_EVENT`: Thrown foreach backup-part\r\n  - Create part-database and write `started` to database\r\n  - Find plugin\r\n  - Resolve options\r\n  - Call backup from plugin (inclusive exception handling)\r\n  - Write `finished`, close and write database\r\n* `PRE_BACKUP_EVENT`: \r\n  - Write informations to database\r\n  - Close and write system-database\r\n  - Close destination & source\r\n\r\nSame for restore.\r\n\r\nThe preset can hook into the `PRE_BACKUP_EVENT`. The check command should also be able to extend it. Maybe also call an `CHECK_EVENT` or a better name which can also be used.\r\n\r\nPreset should have a `PresetPool` hook into the events and hold `PresetInterface` objects.\r\n\r\nThis Architecture should enable also other features in the future and make extensions more powerfull."}}
{"actor":{"display_login":"wachterjohannes"}}