{"action":"opened","number":111,"pull_request":{"url":"https://api.github.com/repos/openml/website/pulls/111","id":111772539,"html_url":"https://github.com/openml/website/pull/111","diff_url":"https://github.com/openml/website/pull/111.diff","patch_url":"https://github.com/openml/website/pull/111.patch","issue_url":"https://api.github.com/repos/openml/website/issues/111","number":111,"state":"open","locked":false,"title":"Development","user":{"login":"janvanrijn","id":2292730,"avatar_url":"https://avatars2.githubusercontent.com/u/2292730?v=3","gravatar_id":"","url":"https://api.github.com/users/janvanrijn","html_url":"https://github.com/janvanrijn","followers_url":"https://api.github.com/users/janvanrijn/followers","following_url":"https://api.github.com/users/janvanrijn/following{/other_user}","gists_url":"https://api.github.com/users/janvanrijn/gists{/gist_id}","starred_url":"https://api.github.com/users/janvanrijn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janvanrijn/subscriptions","organizations_url":"https://api.github.com/users/janvanrijn/orgs","repos_url":"https://api.github.com/users/janvanrijn/repos","events_url":"https://api.github.com/users/janvanrijn/events{/privacy}","received_events_url":"https://api.github.com/users/janvanrijn/received_events","type":"User","site_admin":false},"body":"- The database is setup to have decoupled evaluation engines. Basically, every evaluation engine has it's own reference for each evaluation record, allowing multiple times the same evaluation measure for a run. Whenever the stuff is merged on live, we can start discussing how additional evaluation engines should communicate to the server (the api functions are already in place) and how to monitor inconsistencies between the various engines.\r\n\r\n- This also required a big database update. Additionally, I removed unused/confusing fields and tables (mostly legacy from expdb), which should result in two fields that are no longer displayed in the API; i.e., run->evaluation->flow, as discussed in Munich (it is not logical to have a flow reference for every evaluation measure) and run->runfile->did (why did this even exists? It added no value, except for a confusing primary key name). All other removed fields where never displayed and should be backwards compatible.\r\n\r\n- Database: added some foreign keys to run-related tables (= more data integrity).\r\n\r\n- The XSD schema's are better restricted. Please also read the Wiki item: https://github.com/openml/OpenML/wiki/API-XSD-Schema's\r\n\r\n- Big security patch for the API. Previously, readonly users were able to execute some write functions (e.g., create tasks). In order to fix this for once and for all, I added the check in the controller endpoint. The API calls are basically divided in GET requests (for reading stuff from OpenML) and POST/DELETE requests (for uploading, altering and deleting stuff). Readonly users can now only do the GET requests. NOTE: Although this is completely in line with the API specification, before we did allow a toolbox to do POST requests instead of GET requests whenever there was no ambiguity. This is no longer the case for readonly users, and it would be good to completely check on this in the near future.\r\n\r\n(TLDR; do also test the api functionality of the readonly users and contact me if there is a problem. )\r\n\r\n- Created Junit tests to ensure this behavior.\r\n\r\n- As a huge testcase, I removed all evaluation records from the test server, and am running the evaluation engine on these. This might have consequences for datasets/runs that are not present on the testserver, but so far most seem fine. This testcase should run throughout the night. Please see this issue for details: https://github.com/openml/OpenML/issues/386\r\n\r\nTo summarize, many things in OpenML are upgraded. If everything is correct, nothing should really change for the workbenches (but please check and let me know if there is problem). The Java library is up and running; I will check the Python library and assume you will let me know about R. Once we are all good, I will merge on live. ","created_at":"2017-03-21T13:01:39Z","updated_at":"2017-03-21T13:01:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/openml/website/pulls/111/commits","review_comments_url":"https://api.github.com/repos/openml/website/pulls/111/comments","review_comment_url":"https://api.github.com/repos/openml/website/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openml/website/issues/111/comments","statuses_url":"https://api.github.com/repos/openml/website/statuses/50e7a018153fbf3c66859d33b4af7decf2c0b134","head":{"label":"openml:development","ref":"development","sha":"50e7a018153fbf3c66859d33b4af7decf2c0b134","user":{"login":"openml","id":4984562,"avatar_url":"https://avatars0.githubusercontent.com/u/4984562?v=3","gravatar_id":"","url":"https://api.github.com/users/openml","html_url":"https://github.com/openml","followers_url":"https://api.github.com/users/openml/followers","following_url":"https://api.github.com/users/openml/following{/other_user}","gists_url":"https://api.github.com/users/openml/gists{/gist_id}","starred_url":"https://api.github.com/users/openml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openml/subscriptions","organizations_url":"https://api.github.com/users/openml/orgs","repos_url":"https://api.github.com/users/openml/repos","events_url":"https://api.github.com/users/openml/events{/privacy}","received_events_url":"https://api.github.com/users/openml/received_events","type":"Organization","site_admin":false},"repo":{"id":12809230,"name":"website","full_name":"openml/website","owner":{"login":"openml","id":4984562,"avatar_url":"https://avatars0.githubusercontent.com/u/4984562?v=3","gravatar_id":"","url":"https://api.github.com/users/openml","html_url":"https://github.com/openml","followers_url":"https://api.github.com/users/openml/followers","following_url":"https://api.github.com/users/openml/following{/other_user}","gists_url":"https://api.github.com/users/openml/gists{/gist_id}","starred_url":"https://api.github.com/users/openml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openml/subscriptions","organizations_url":"https://api.github.com/users/openml/orgs","repos_url":"https://api.github.com/users/openml/repos","events_url":"https://api.github.com/users/openml/events{/privacy}","received_events_url":"https://api.github.com/users/openml/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openml/website","description":"OpenML website and web services","fork":false,"url":"https://api.github.com/repos/openml/website","forks_url":"https://api.github.com/repos/openml/website/forks","keys_url":"https://api.github.com/repos/openml/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openml/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openml/website/teams","hooks_url":"https://api.github.com/repos/openml/website/hooks","issue_events_url":"https://api.github.com/repos/openml/website/issues/events{/number}","events_url":"https://api.github.com/repos/openml/website/events","assignees_url":"https://api.github.com/repos/openml/website/assignees{/user}","branches_url":"https://api.github.com/repos/openml/website/branches{/branch}","tags_url":"https://api.github.com/repos/openml/website/tags","blobs_url":"https://api.github.com/repos/openml/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openml/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openml/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/openml/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openml/website/statuses/{sha}","languages_url":"https://api.github.com/repos/openml/website/languages","stargazers_url":"https://api.github.com/repos/openml/website/stargazers","contributors_url":"https://api.github.com/repos/openml/website/contributors","subscribers_url":"https://api.github.com/repos/openml/website/subscribers","subscription_url":"https://api.github.com/repos/openml/website/subscription","commits_url":"https://api.github.com/repos/openml/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/openml/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/openml/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/openml/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/openml/website/contents/{+path}","compare_url":"https://api.github.com/repos/openml/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openml/website/merges","archive_url":"https://api.github.com/repos/openml/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openml/website/downloads","issues_url":"https://api.github.com/repos/openml/website/issues{/number}","pulls_url":"https://api.github.com/repos/openml/website/pulls{/number}","milestones_url":"https://api.github.com/repos/openml/website/milestones{/number}","notifications_url":"https://api.github.com/repos/openml/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openml/website/labels{/name}","releases_url":"https://api.github.com/repos/openml/website/releases{/id}","deployments_url":"https://api.github.com/repos/openml/website/deployments","created_at":"2013-09-13T12:43:09Z","updated_at":"2017-03-10T11:08:40Z","pushed_at":"2017-03-21T12:59:30Z","git_url":"git://github.com/openml/website.git","ssh_url":"git@github.com:openml/website.git","clone_url":"https://github.com/openml/website.git","svn_url":"https://github.com/openml/website","homepage":"","size":413716,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":57,"forks":4,"open_issues":57,"watchers":3,"default_branch":"master"}},"base":{"label":"openml:master","ref":"master","sha":"36fe7f8de38ce3323ce26fdd857bb1022be3c881","user":{"login":"openml","id":4984562,"avatar_url":"https://avatars0.githubusercontent.com/u/4984562?v=3","gravatar_id":"","url":"https://api.github.com/users/openml","html_url":"https://github.com/openml","followers_url":"https://api.github.com/users/openml/followers","following_url":"https://api.github.com/users/openml/following{/other_user}","gists_url":"https://api.github.com/users/openml/gists{/gist_id}","starred_url":"https://api.github.com/users/openml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openml/subscriptions","organizations_url":"https://api.github.com/users/openml/orgs","repos_url":"https://api.github.com/users/openml/repos","events_url":"https://api.github.com/users/openml/events{/privacy}","received_events_url":"https://api.github.com/users/openml/received_events","type":"Organization","site_admin":false},"repo":{"id":12809230,"name":"website","full_name":"openml/website","owner":{"login":"openml","id":4984562,"avatar_url":"https://avatars0.githubusercontent.com/u/4984562?v=3","gravatar_id":"","url":"https://api.github.com/users/openml","html_url":"https://github.com/openml","followers_url":"https://api.github.com/users/openml/followers","following_url":"https://api.github.com/users/openml/following{/other_user}","gists_url":"https://api.github.com/users/openml/gists{/gist_id}","starred_url":"https://api.github.com/users/openml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openml/subscriptions","organizations_url":"https://api.github.com/users/openml/orgs","repos_url":"https://api.github.com/users/openml/repos","events_url":"https://api.github.com/users/openml/events{/privacy}","received_events_url":"https://api.github.com/users/openml/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openml/website","description":"OpenML website and web services","fork":false,"url":"https://api.github.com/repos/openml/website","forks_url":"https://api.github.com/repos/openml/website/forks","keys_url":"https://api.github.com/repos/openml/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openml/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openml/website/teams","hooks_url":"https://api.github.com/repos/openml/website/hooks","issue_events_url":"https://api.github.com/repos/openml/website/issues/events{/number}","events_url":"https://api.github.com/repos/openml/website/events","assignees_url":"https://api.github.com/repos/openml/website/assignees{/user}","branches_url":"https://api.github.com/repos/openml/website/branches{/branch}","tags_url":"https://api.github.com/repos/openml/website/tags","blobs_url":"https://api.github.com/repos/openml/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openml/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openml/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/openml/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openml/website/statuses/{sha}","languages_url":"https://api.github.com/repos/openml/website/languages","stargazers_url":"https://api.github.com/repos/openml/website/stargazers","contributors_url":"https://api.github.com/repos/openml/website/contributors","subscribers_url":"https://api.github.com/repos/openml/website/subscribers","subscription_url":"https://api.github.com/repos/openml/website/subscription","commits_url":"https://api.github.com/repos/openml/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/openml/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/openml/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/openml/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/openml/website/contents/{+path}","compare_url":"https://api.github.com/repos/openml/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openml/website/merges","archive_url":"https://api.github.com/repos/openml/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openml/website/downloads","issues_url":"https://api.github.com/repos/openml/website/issues{/number}","pulls_url":"https://api.github.com/repos/openml/website/pulls{/number}","milestones_url":"https://api.github.com/repos/openml/website/milestones{/number}","notifications_url":"https://api.github.com/repos/openml/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openml/website/labels{/name}","releases_url":"https://api.github.com/repos/openml/website/releases{/id}","deployments_url":"https://api.github.com/repos/openml/website/deployments","created_at":"2013-09-13T12:43:09Z","updated_at":"2017-03-10T11:08:40Z","pushed_at":"2017-03-21T12:59:30Z","git_url":"git://github.com/openml/website.git","ssh_url":"git@github.com:openml/website.git","clone_url":"https://github.com/openml/website.git","svn_url":"https://github.com/openml/website","homepage":"","size":413716,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":57,"forks":4,"open_issues":57,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openml/website/pulls/111"},"html":{"href":"https://github.com/openml/website/pull/111"},"issue":{"href":"https://api.github.com/repos/openml/website/issues/111"},"comments":{"href":"https://api.github.com/repos/openml/website/issues/111/comments"},"review_comments":{"href":"https://api.github.com/repos/openml/website/pulls/111/comments"},"review_comment":{"href":"https://api.github.com/repos/openml/website/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openml/website/pulls/111/commits"},"statuses":{"href":"https://api.github.com/repos/openml/website/statuses/50e7a018153fbf3c66859d33b4af7decf2c0b134"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":54,"additions":214,"deletions":219,"changed_files":25}}
{"actor":{"display_login":"janvanrijn"}}