{"action":"created","comment":{"url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/comments/70672150","id":70672150,"diff_hunk":"@@ -0,0 +1,119 @@\n+{\n+    \"_id\": \"getty_WA0682-001\",\n+    \"source_name\": \"getty\", \n+    \"date_created_original\": \"1979-10-17\", \n+    \"date_created_at_source\": \"2005-08-31T00:00:00-07:00\", \n+    \"mediachain_record\": null,\n+    \"title\": [\n+        \"Male boxer practising using punch bag (blurred motion, toned B&W)\"\n+    ], \n+    \"artist_names\": [\n+        \"Mike Powell\"\n+    ], \n+    \"attribution_list\": [\n+        {\n+            \"name\": \"Mike Powell\",\n+            \"role\": \"artist\", \n+            \"details\": null\n+        }\n+    ],\n+    \"provider_list\": [\n+        {\n+            \"name\": \"dpla\"\n+        }, \n+        {\n+            \"name\": \"Digital Library of Georgia\"\n+        }\n+    ],\n+    \"sightings_list\": [\n+        {\n+            \"url_page\": \"http://digitalcollections.library.gsu.edu/cdm/ref/collection/ajc/id/8135\", \n+            \"url_image\": \"http://dlg.galileo.usg.edu/gsu/ajc/do-th:8135\"\n+        }\n+    ], \n+    \"licenses_list\": [\n+        {\n+            \"name_long\": [\"Attribution-NoDerivs License\"],\n+            \"attribute_to\": [],\n+            \"details\": []\n+        }\n+    ], \n+    \"keywords\": [\n+        \"Speed\", \n+        \"Skill\", \n+        \"Sport\", \n+        \"Horizontal\", \n+        \"Blurred Motion\", \n+        \"Indoors\", \n+        \"20-24 Years\", \n+        \"Preparation\", \n+        \"Headshot\"\n+    ], \n+    \"orientation\": \"Horizontal\", \n+    \"sizes\": [\n+        {\n+            \"bytes\": 1319, \n+            \"height\": 44, \n+            \"uri_external\": null, \n+            \"width\": 66, \n+            \"content_type\": \"image/jpeg\", \n+            \"dpi\": null\n+        }, \n+        {\n+            \"bytes\": 4715787, \n+            \"height\": 3364, \n+            \"uri_external\": null, \n+            \"width\": 5065, \n+            \"content_type\": \"image/jpeg\", \n+            \"dpi\": null\n+        }\n+    ], \n+    \"camera_exif\": {\n+        \"-Brightness\": \"665/100\", \n+        \"-Date and Time\": \"2008:10:05 01:38:02\", \n+        \"-Focal Plane Resolution Unit\": \"3\", \n+        \"-Software\": \"Adobe Photoshop CS3 Windows\", \n+        \"-X-Resolution\": \"720000/10000\", \n+        \"-Resolution Unit\": \"2\", \n+        \"-Compression\": \"6\", \n+        \"-Pixel X-Dimension\": \"2285\", \n+        \"-Y-Resolution\": \"720000/10000\", \n+        \"-Date and Time (Digitized)\": \"2007:04:16 15:17:24\", \n+        \"-Model\": \"FinePix S5600\", \n+        \"-Focal Plane X-Resolution\": \"2741/1\", \n+        \"-Orientation\": \"1\", \n+        \"-Aperture\": \"3356144/1000000\", \n+        \"-Maximum Lens Aperture\": \"340/100\", \n+        \"-Flash\": \"16\", \n+        \"-Sensing Method\": \"2\", \n+        \"-Focal Length\": \"820/100\", \n+        \"-Exposure\": \"1/320\", \n+        \"-Focal Plane Y-Resolution\": \"2741/1\", \n+        \"-Metering Mode\": \"5\", \n+        \"-Has XMP block\": \"1\", \n+        \"-Make\": \"FUJIFILM\", \n+        \"-Exposure Bias\": \"0/100\", \n+        \"-Date and Time (Original)\": \"2007:04:16 15:17:24\", \n+        \"-ISO Speed\": \"100\", \n+        \"-Pixel Y-Dimension\": \"1714\", \n+        \"-Exposure Program\": \"2\", \n+        \"-Color Space\": \"1\", \n+        \"-Shutter Speed\": \"8321928/1000000\"\n+    }, \n+    \"transient_info\": {","path":"schema.js","position":103,"original_position":103,"commit_id":"1f2839e2a5f49095b1722505efdb40f60c143b03","original_commit_id":"a89e577cff43ae607b7e5eeda600d0a39a5f0d8e","user":{"login":"autoencoder","id":19392619,"avatar_url":"https://avatars.githubusercontent.com/u/19392619?v=3","gravatar_id":"","url":"https://api.github.com/users/autoencoder","html_url":"https://github.com/autoencoder","followers_url":"https://api.github.com/users/autoencoder/followers","following_url":"https://api.github.com/users/autoencoder/following{/other_user}","gists_url":"https://api.github.com/users/autoencoder/gists{/gist_id}","starred_url":"https://api.github.com/users/autoencoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/autoencoder/subscriptions","organizations_url":"https://api.github.com/users/autoencoder/orgs","repos_url":"https://api.github.com/users/autoencoder/repos","events_url":"https://api.github.com/users/autoencoder/events{/privacy}","received_events_url":"https://api.github.com/users/autoencoder/received_events","type":"User","site_admin":false},"body":"TODO - restrictions on metadata, as being discussed [here](https://github.com/mediachain/mediachain-client/pull/60#issuecomment-232415014).","created_at":"2016-07-13T17:37:48Z","updated_at":"2016-07-13T17:37:48Z","html_url":"https://github.com/mediachain/mediachain-indexer/pull/19#discussion_r70672150","pull_request_url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19","_links":{"self":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/comments/70672150"},"html":{"href":"https://github.com/mediachain/mediachain-indexer/pull/19#discussion_r70672150"},"pull_request":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19"}}},"pull_request":{"url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19","id":77032710,"html_url":"https://github.com/mediachain/mediachain-indexer/pull/19","diff_url":"https://github.com/mediachain/mediachain-indexer/pull/19.diff","patch_url":"https://github.com/mediachain/mediachain-indexer/pull/19.patch","issue_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/19","number":19,"state":"closed","locked":false,"title":"Schema Discussion.","user":{"login":"autoencoder","id":19392619,"avatar_url":"https://avatars.githubusercontent.com/u/19392619?v=3","gravatar_id":"","url":"https://api.github.com/users/autoencoder","html_url":"https://github.com/autoencoder","followers_url":"https://api.github.com/users/autoencoder/followers","following_url":"https://api.github.com/users/autoencoder/following{/other_user}","gists_url":"https://api.github.com/users/autoencoder/gists{/gist_id}","starred_url":"https://api.github.com/users/autoencoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/autoencoder/subscriptions","organizations_url":"https://api.github.com/users/autoencoder/orgs","repos_url":"https://api.github.com/users/autoencoder/repos","events_url":"https://api.github.com/users/autoencoder/events{/privacy}","received_events_url":"https://api.github.com/users/autoencoder/received_events","type":"User","site_admin":false},"body":"Update: Schema shown here is outdated. Updated docs in progress.\r\n\r\nThis represents the inner `data` section of the artefact schema that will be output to the front-end via the Indexer API. This may slightly differ from the artefact schema stored in the blockchain, in that it may have some additional fields added to it, e.g. `sightings_list` (?)\r\n\r\nQuestions from previous discussions:\r\n\r\n- Having both basic string versions + more complex versions for some fields, to make it easier on apps trying to use this metadata, e.g. having both `'author_name':'Picasso and Bob''` and `'author':[{'name':'Picasso', 'role':'author'},{'name':'Bob','role':'author'}]`\r\n- Having all string-like fields always be lists of strings instead of a bare string, as DPLA does.\r\n- `null` to indicate missing values.\r\n- Support for multi-layer nesting of enriching modifications?\r\n- Citing of multiple raw sources that are fused together?\r\n- There's an assumption that the raw input is JSON -- instead of e.g. XML, raw HTML, text files, callback-wrapped JSON, CSRF guarded JSON?\r\n\r\nIDs:\r\n- The blockchain currently allows updates / replacements / lookups by hash of the artefact metadata. Is there any value in allowing lookups in other ways, e.g. `find(provider.name == \"getty\" and id_at_provider = 1234)` or a convention like `find(id == \"getty:1234\")`, so you can update the metadata for Getty image 1234 even if you don't know what the original metadata was that was used to insert it? Note: Probably should be a single concatenated field, so joining isn't required.\r\n\r\nOther questions:\r\n- [Indexer-API] Move `sightings_list` and other potentially huge fields to other API endpoints? Or, allow pagination on some sub-fields e.g. `sightings_list` - similar to the facebook API? \r\n\r\nDecisions so far:\r\n- [x] Add \"official_permalink\" field (Only allow a single permalink here?)\r\n- [x] Add \"source_url\" field(s)\r\n- [ ] Add \"is_adult\" flag\r\n- [ ] Add metadata from externally-linked pages (DPLA & Pexels)\r\n","created_at":"2016-07-11T22:17:43Z","updated_at":"2016-07-13T17:37:48Z","closed_at":"2016-07-12T18:10:10Z","merged_at":"2016-07-12T18:10:10Z","merge_commit_sha":"f52485c358f68f7ca83649e06eb81592df2d1a52","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19/commits","review_comments_url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19/comments","review_comment_url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/19/comments","statuses_url":"https://api.github.com/repos/mediachain/mediachain-indexer/statuses/1f2839e2a5f49095b1722505efdb40f60c143b03","head":{"label":"mediachain:schema","ref":"schema","sha":"1f2839e2a5f49095b1722505efdb40f60c143b03","user":{"login":"mediachain","id":16711838,"avatar_url":"https://avatars.githubusercontent.com/u/16711838?v=3","gravatar_id":"","url":"https://api.github.com/users/mediachain","html_url":"https://github.com/mediachain","followers_url":"https://api.github.com/users/mediachain/followers","following_url":"https://api.github.com/users/mediachain/following{/other_user}","gists_url":"https://api.github.com/users/mediachain/gists{/gist_id}","starred_url":"https://api.github.com/users/mediachain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mediachain/subscriptions","organizations_url":"https://api.github.com/users/mediachain/orgs","repos_url":"https://api.github.com/users/mediachain/repos","events_url":"https://api.github.com/users/mediachain/events{/privacy}","received_events_url":"https://api.github.com/users/mediachain/received_events","type":"Organization","site_admin":false},"repo":{"id":59593897,"name":"mediachain-indexer","full_name":"mediachain/mediachain-indexer","owner":{"login":"mediachain","id":16711838,"avatar_url":"https://avatars.githubusercontent.com/u/16711838?v=3","gravatar_id":"","url":"https://api.github.com/users/mediachain","html_url":"https://github.com/mediachain","followers_url":"https://api.github.com/users/mediachain/followers","following_url":"https://api.github.com/users/mediachain/following{/other_user}","gists_url":"https://api.github.com/users/mediachain/gists{/gist_id}","starred_url":"https://api.github.com/users/mediachain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mediachain/subscriptions","organizations_url":"https://api.github.com/users/mediachain/orgs","repos_url":"https://api.github.com/users/mediachain/repos","events_url":"https://api.github.com/users/mediachain/events{/privacy}","received_events_url":"https://api.github.com/users/mediachain/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mediachain/mediachain-indexer","description":"search, dedupe, and media ingestion for mediachain","fork":false,"url":"https://api.github.com/repos/mediachain/mediachain-indexer","forks_url":"https://api.github.com/repos/mediachain/mediachain-indexer/forks","keys_url":"https://api.github.com/repos/mediachain/mediachain-indexer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mediachain/mediachain-indexer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mediachain/mediachain-indexer/teams","hooks_url":"https://api.github.com/repos/mediachain/mediachain-indexer/hooks","issue_events_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/events{/number}","events_url":"https://api.github.com/repos/mediachain/mediachain-indexer/events","assignees_url":"https://api.github.com/repos/mediachain/mediachain-indexer/assignees{/user}","branches_url":"https://api.github.com/repos/mediachain/mediachain-indexer/branches{/branch}","tags_url":"https://api.github.com/repos/mediachain/mediachain-indexer/tags","blobs_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/refs{/sha}","trees_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mediachain/mediachain-indexer/statuses/{sha}","languages_url":"https://api.github.com/repos/mediachain/mediachain-indexer/languages","stargazers_url":"https://api.github.com/repos/mediachain/mediachain-indexer/stargazers","contributors_url":"https://api.github.com/repos/mediachain/mediachain-indexer/contributors","subscribers_url":"https://api.github.com/repos/mediachain/mediachain-indexer/subscribers","subscription_url":"https://api.github.com/repos/mediachain/mediachain-indexer/subscription","commits_url":"https://api.github.com/repos/mediachain/mediachain-indexer/commits{/sha}","git_commits_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/commits{/sha}","comments_url":"https://api.github.com/repos/mediachain/mediachain-indexer/comments{/number}","issue_comment_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/comments{/number}","contents_url":"https://api.github.com/repos/mediachain/mediachain-indexer/contents/{+path}","compare_url":"https://api.github.com/repos/mediachain/mediachain-indexer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mediachain/mediachain-indexer/merges","archive_url":"https://api.github.com/repos/mediachain/mediachain-indexer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mediachain/mediachain-indexer/downloads","issues_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues{/number}","pulls_url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls{/number}","milestones_url":"https://api.github.com/repos/mediachain/mediachain-indexer/milestones{/number}","notifications_url":"https://api.github.com/repos/mediachain/mediachain-indexer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mediachain/mediachain-indexer/labels{/name}","releases_url":"https://api.github.com/repos/mediachain/mediachain-indexer/releases{/id}","deployments_url":"https://api.github.com/repos/mediachain/mediachain-indexer/deployments","created_at":"2016-05-24T17:24:49Z","updated_at":"2016-05-31T16:14:52Z","pushed_at":"2016-07-12T19:29:00Z","git_url":"git://github.com/mediachain/mediachain-indexer.git","ssh_url":"git@github.com:mediachain/mediachain-indexer.git","clone_url":"https://github.com/mediachain/mediachain-indexer.git","svn_url":"https://github.com/mediachain/mediachain-indexer","homepage":"","size":251,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":0,"default_branch":"master"}},"base":{"label":"mediachain:master","ref":"master","sha":"c6857847e2f06d1ab884f8c42f80e9cfb8d3cb06","user":{"login":"mediachain","id":16711838,"avatar_url":"https://avatars.githubusercontent.com/u/16711838?v=3","gravatar_id":"","url":"https://api.github.com/users/mediachain","html_url":"https://github.com/mediachain","followers_url":"https://api.github.com/users/mediachain/followers","following_url":"https://api.github.com/users/mediachain/following{/other_user}","gists_url":"https://api.github.com/users/mediachain/gists{/gist_id}","starred_url":"https://api.github.com/users/mediachain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mediachain/subscriptions","organizations_url":"https://api.github.com/users/mediachain/orgs","repos_url":"https://api.github.com/users/mediachain/repos","events_url":"https://api.github.com/users/mediachain/events{/privacy}","received_events_url":"https://api.github.com/users/mediachain/received_events","type":"Organization","site_admin":false},"repo":{"id":59593897,"name":"mediachain-indexer","full_name":"mediachain/mediachain-indexer","owner":{"login":"mediachain","id":16711838,"avatar_url":"https://avatars.githubusercontent.com/u/16711838?v=3","gravatar_id":"","url":"https://api.github.com/users/mediachain","html_url":"https://github.com/mediachain","followers_url":"https://api.github.com/users/mediachain/followers","following_url":"https://api.github.com/users/mediachain/following{/other_user}","gists_url":"https://api.github.com/users/mediachain/gists{/gist_id}","starred_url":"https://api.github.com/users/mediachain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mediachain/subscriptions","organizations_url":"https://api.github.com/users/mediachain/orgs","repos_url":"https://api.github.com/users/mediachain/repos","events_url":"https://api.github.com/users/mediachain/events{/privacy}","received_events_url":"https://api.github.com/users/mediachain/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mediachain/mediachain-indexer","description":"search, dedupe, and media ingestion for mediachain","fork":false,"url":"https://api.github.com/repos/mediachain/mediachain-indexer","forks_url":"https://api.github.com/repos/mediachain/mediachain-indexer/forks","keys_url":"https://api.github.com/repos/mediachain/mediachain-indexer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mediachain/mediachain-indexer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mediachain/mediachain-indexer/teams","hooks_url":"https://api.github.com/repos/mediachain/mediachain-indexer/hooks","issue_events_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/events{/number}","events_url":"https://api.github.com/repos/mediachain/mediachain-indexer/events","assignees_url":"https://api.github.com/repos/mediachain/mediachain-indexer/assignees{/user}","branches_url":"https://api.github.com/repos/mediachain/mediachain-indexer/branches{/branch}","tags_url":"https://api.github.com/repos/mediachain/mediachain-indexer/tags","blobs_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/refs{/sha}","trees_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mediachain/mediachain-indexer/statuses/{sha}","languages_url":"https://api.github.com/repos/mediachain/mediachain-indexer/languages","stargazers_url":"https://api.github.com/repos/mediachain/mediachain-indexer/stargazers","contributors_url":"https://api.github.com/repos/mediachain/mediachain-indexer/contributors","subscribers_url":"https://api.github.com/repos/mediachain/mediachain-indexer/subscribers","subscription_url":"https://api.github.com/repos/mediachain/mediachain-indexer/subscription","commits_url":"https://api.github.com/repos/mediachain/mediachain-indexer/commits{/sha}","git_commits_url":"https://api.github.com/repos/mediachain/mediachain-indexer/git/commits{/sha}","comments_url":"https://api.github.com/repos/mediachain/mediachain-indexer/comments{/number}","issue_comment_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/comments{/number}","contents_url":"https://api.github.com/repos/mediachain/mediachain-indexer/contents/{+path}","compare_url":"https://api.github.com/repos/mediachain/mediachain-indexer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mediachain/mediachain-indexer/merges","archive_url":"https://api.github.com/repos/mediachain/mediachain-indexer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mediachain/mediachain-indexer/downloads","issues_url":"https://api.github.com/repos/mediachain/mediachain-indexer/issues{/number}","pulls_url":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls{/number}","milestones_url":"https://api.github.com/repos/mediachain/mediachain-indexer/milestones{/number}","notifications_url":"https://api.github.com/repos/mediachain/mediachain-indexer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mediachain/mediachain-indexer/labels{/name}","releases_url":"https://api.github.com/repos/mediachain/mediachain-indexer/releases{/id}","deployments_url":"https://api.github.com/repos/mediachain/mediachain-indexer/deployments","created_at":"2016-05-24T17:24:49Z","updated_at":"2016-05-31T16:14:52Z","pushed_at":"2016-07-12T19:29:00Z","git_url":"git://github.com/mediachain/mediachain-indexer.git","ssh_url":"git@github.com:mediachain/mediachain-indexer.git","clone_url":"https://github.com/mediachain/mediachain-indexer.git","svn_url":"https://github.com/mediachain/mediachain-indexer","homepage":"","size":251,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19"},"html":{"href":"https://github.com/mediachain/mediachain-indexer/pull/19"},"issue":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/19"},"comments":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/issues/19/comments"},"review_comments":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19/comments"},"review_comment":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/pulls/19/commits"},"statuses":{"href":"https://api.github.com/repos/mediachain/mediachain-indexer/statuses/1f2839e2a5f49095b1722505efdb40f60c143b03"}}}}
{"actor":{"display_login":"autoencoder"}}