{"action":"created","issue":{"url":"https://api.github.com/repos/ampache/ampache/issues/664","labels_url":"https://api.github.com/repos/ampache/ampache/issues/664/labels{/name}","comments_url":"https://api.github.com/repos/ampache/ampache/issues/664/comments","events_url":"https://api.github.com/repos/ampache/ampache/issues/664/events","html_url":"https://github.com/ampache/ampache/pull/664","id":53932260,"number":664,"title":"#280 Add custom Metadata","user":{"login":"Razrael","id":8451816,"avatar_url":"https://avatars.githubusercontent.com/u/8451816?v=3","gravatar_id":"","url":"https://api.github.com/users/Razrael","html_url":"https://github.com/Razrael","followers_url":"https://api.github.com/users/Razrael/followers","following_url":"https://api.github.com/users/Razrael/following{/other_user}","gists_url":"https://api.github.com/users/Razrael/gists{/gist_id}","starred_url":"https://api.github.com/users/Razrael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Razrael/subscriptions","organizations_url":"https://api.github.com/users/Razrael/orgs","repos_url":"https://api.github.com/users/Razrael/repos","events_url":"https://api.github.com/users/Razrael/events{/privacy}","received_events_url":"https://api.github.com/users/Razrael/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-01-10T00:01:57Z","updated_at":"2015-11-17T13:22:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ampache/ampache/pulls/664","html_url":"https://github.com/ampache/ampache/pull/664","diff_url":"https://github.com/ampache/ampache/pull/664.diff","patch_url":"https://github.com/ampache/ampache/pull/664.patch"},"body":"Finally I managed to create the things needed for custom metadata.\r\n\r\nSo now you can just update your library to get all metadata.\r\n- The metadata is shown in the song view\r\n- Metadata can be changed over usual update song function\r\n- Theoretically the changed Metadata can be written back to files if configured. I couldn't test this because I cannot write anything back to files. Have to track this bug separately.\r\n- Metadata can be searched through Song search\r\n\r\nTechnical details\r\n- I introduced Database repository and Model, so the DB can be used more abstract\r\n- changed the autoloader to support namespaces outside of modules\r\n- There are some stubs in the repository, where I can implement some magic to improve speed.\r\n\r\nI did not validate and fix some of the files to not messing up the Pullrequest, so you can actually see what changed. I can do this later, unless you want to do this yourself in the whole repository, then I can rebase this one.\r\n\r\nQuestions and suggestions are welcome :-)"},"comment":{"url":"https://api.github.com/repos/ampache/ampache/issues/comments/157369190","html_url":"https://github.com/ampache/ampache/pull/664#issuecomment-157369190","issue_url":"https://api.github.com/repos/ampache/ampache/issues/664","id":157369190,"user":{"login":"Razrael","id":8451816,"avatar_url":"https://avatars.githubusercontent.com/u/8451816?v=3","gravatar_id":"","url":"https://api.github.com/users/Razrael","html_url":"https://github.com/Razrael","followers_url":"https://api.github.com/users/Razrael/followers","following_url":"https://api.github.com/users/Razrael/following{/other_user}","gists_url":"https://api.github.com/users/Razrael/gists{/gist_id}","starred_url":"https://api.github.com/users/Razrael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Razrael/subscriptions","organizations_url":"https://api.github.com/users/Razrael/orgs","repos_url":"https://api.github.com/users/Razrael/repos","events_url":"https://api.github.com/users/Razrael/events{/privacy}","received_events_url":"https://api.github.com/users/Razrael/received_events","type":"User","site_admin":false},"created_at":"2015-11-17T13:22:14Z","updated_at":"2015-11-17T13:22:14Z","body":"I'm glad to hear that :-)\r\n\r\nIf you want to move to my introduced model I suggest to wait a bit. I have some improvements in my mind to get better performance. Its about persisting the Database, which will happen now every time you save the object. But I want to have a persistence class which can take care about this process so you can persist multiple objects at once. Could be quite a performance improvement for the metadata saving and possibly also other parts.\r\n\r\nBut this would be a breaking API change, so its easier when its not used that much yet.\r\n\r\nOf course I would do that in another PR. But I think I can't do that before my vacations at the end of December."}}