{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":509058982,"defaultBranch":"main","name":"djehuty","ownerLogin":"4TUResearchData","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-06-30T11:50:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/20555359?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715935299.0","currentOid":""},"activityList":{"items":[{"before":"f9252eafa9bcfefbf7baa0525f5ea15647eed767","after":"897b0822e4422f55201da646f2d2c507c03b2d6b","ref":"refs/heads/main","pushedAt":"2024-05-30T13:09:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: search: Simplify search filter check procedure.\n\n`__search_query_to_sparql_filters_v3` in database.py has a bug causing\nan error when the search filter of Institutions or File Types is used.\n\nThis commit fixes the bug. Moreover, this commit simplifies the JSON\ndata structure for search filters and its validation checks.\n\n* src/djehuty/web/resources/static/js/search.js: Remove `search_filters`\n check.\n* src/djehuty/web/wsgi.py: Remove `search_filters`\n* src/djehuty/web/database.py: Remove `__search_query_to_sparql_filters_v3`;\n Use `sparql_contains_filter` instead.\n* src/djehuty/utils/rdf.py: Add `sparql_contains_filter`.\n* src/djehuty/utils/convenience.py: Return it as an array if\n `input_string` doesn't contain any delimiter.\n key in the JSON return.","shortMessageHtmlLink":"web: search: Simplify search filter check procedure."}},{"before":"a99c6d523eda0ef1fff561a818777854defe5ee8","after":"f9252eafa9bcfefbf7baa0525f5ea15647eed767","ref":"refs/heads/main","pushedAt":"2024-05-29T14:45:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: wsgi: Set default order parameters in 'api_v3_dataset_authors'.\n\nAlthough `db.authors()` has the default values for `order` and\n`order_direction` parameters, they are ignored when 'None' values are\npassed to those parameters.\n\nThis commit makes sure that the author list is in order by `order_index`\nwhen `api_v3_dataset_authors` is called without `order` parameter.\n\n* src/djehuty/web/wsgi.py: Set default values for `order` and\n `order_parameters` in `api_v3_dataset_authors`.","shortMessageHtmlLink":"web: wsgi: Set default order parameters in 'api_v3_dataset_authors'."}},{"before":"be2704cfb9f5d588e537437668d2f0f53be15e1f","after":"a99c6d523eda0ef1fff561a818777854defe5ee8","ref":"refs/heads/main","pushedAt":"2024-05-22T13:51:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: css: Restore the margin value of #wrapper > #content > ul.\n\nIn the c7530aee commit, the margin value of #wrapper > #content > ul\nwas changed, and it causes an unexpected side effect.\n\nThis commit limits the scope of the c7530aee commit's change.\n\n* src/djehuty/web/resources/html_templates/colors.css: Restore the\n margin of #wrapper > #content > ul.\n* src/djehuty/web/resources/static/css/pub.css: Apply a new margin to\n #files > div.label","shortMessageHtmlLink":"web: css: Restore the margin value of #wrapper > #content > ul."}},{"before":"c95a3897142166d6b8a986d86f815735b008170f","after":"be2704cfb9f5d588e537437668d2f0f53be15e1f","ref":"refs/heads/main","pushedAt":"2024-05-22T13:21:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: html_templates: Add a searchscope parameter for keyword links.\n\n* src/djehuty/web/resources/html_templates/public_metadata.html: Add a\n searchscope parameter.","shortMessageHtmlLink":"web: html_templates: Add a searchscope parameter for keyword links."}},{"before":"1a9d848cbf4e7668fe578b6e3531cc0cda34f37e","after":"c95a3897142166d6b8a986d86f815735b008170f","ref":"refs/heads/main","pushedAt":"2024-05-22T13:16:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"utils: convenience: Implement 'split_string' can check use of quotes.\n\nThis commit deprecates 'split_delimitered_string' and introduces a new\nfunction, 'split_string'. This new function provides an option to ignore\ndelimiters when they are part of word(s) surrounded by single/double quotes.\nAnother option is `maxsplit`, the same as str.split()'s\n\nThis commit fixes a no-keyword-search-result bug occuring when a keyword\nis clicked on a published dataset page.\n\n* src/djehuty/utils/convenience.py: Replace 'split_delimitered_string'\n with the new function, 'split_string'.\n* src/djehuty/web/database.py: Apply 'split_string' to dataset's\n search filters.\n* src/djehuty/web/wsgi.py: Apply 'split_string'.","shortMessageHtmlLink":"utils: convenience: Implement 'split_string' can check use of quotes."}},{"before":"ca0ff992360f79e284e7691a2f9855ad5cf17d5e","after":"1a9d848cbf4e7668fe578b6e3531cc0cda34f37e","ref":"refs/heads/main","pushedAt":"2024-05-22T07:06:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Add indication for a pending quota request.\n\nThis commit adds a message after the storage usage when a quota\nrequest is pending so that one can know whether the quota request was\nsent, and what amount was requested.\n\n* src/djehuty/web/database.py: Add “account_uuid” parameter to\n ‘quota_requests’.\n* src/djehuty/web/resources/html_templates/depositor/dashboard.html:\n Invalidate cache for the JavaScript file; Add message for the\n requested quota amount.\n* src/djehuty/web/resources/sparql_templates/quota_requests.sparql:\n Add filter for “account_uuid”.\n* src/djehuty/web/resources/static/js/depositor-dashboard.js: Display\n message upon successful request.\n* src/djehuty/web/wsgi.py: Pass along the requested quota amount.","shortMessageHtmlLink":"web: wsgi: Add indication for a pending quota request."}},{"before":"766e1cc2a90943ac3012c4138686b9ad631573ac","after":"bf3b0eaea5f52d5e9f493f6863716ef6d5f994c4","ref":"refs/heads/wip-iiif","pushedAt":"2024-05-21T13:18:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: Implement more bits for IIIF.","shortMessageHtmlLink":"web: Implement more bits for IIIF."}},{"before":null,"after":"b01610cb43ede75f227009cd26c152f13e77c2a4","ref":"refs/heads/wip-igsn","pushedAt":"2024-05-17T08:41:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Implement ‘ui_delete_physical_object’.\n\n* src/djehuty/web/wsgi.py: Implement ‘ui_delete_physical_object’.","shortMessageHtmlLink":"web: wsgi: Implement ‘ui_delete_physical_object’."}},{"before":"898de47fec019763e850908c54614dad5e719bc4","after":"ca0ff992360f79e284e7691a2f9855ad5cf17d5e","ref":"refs/heads/main","pushedAt":"2024-05-16T11:53:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: html_templates: Add instructions for modifying to the e-mail template.\n\n* src/djehuty/web/resources/html_templates/email/dataset_approved.html:\n Add instructions for modifying to the e-mail template.\n* src/djehuty/web/resources/html_templates/email/dataset_approved.txt:\n Likewise.","shortMessageHtmlLink":"web: html_templates: Add instructions for modifying to the e-mail tem…"}},{"before":"15b12cafceba3a8126faee143beeb0547399fac4","after":"d8102821c6719e5a891eccf02eadb01c1bddd7e5","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-14T14:14:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Improve ajax call's error exception for operational statistics.\n\n* src/djehuty/web/resources/html_templates/admin/reports/operational_statistics.html:\n Rename load_operational_statistics_data() to load_operational_statistics().\n* src/djehuty/web/resources/static/js/report-operational-statistics.js:\n Call show_message() from utils.js to display error messages.","shortMessageHtmlLink":"web: reports: Improve ajax call's error exception for operational sta…"}},{"before":"d87da9478edc674c94165ed6b000a8dad3ce1354","after":"15b12cafceba3a8126faee143beeb0547399fac4","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-14T08:48:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Rename SPARQL template names for operational statistics.\n\n* src/djehuty/web/database.py: Update the template names.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_opendap.sparql: Deleted.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_datasets.sparql: Deleted.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_sizes.sparql: Deleted.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_datasets.sparql: Deleted.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_sizes.sparql: Deleted.\n* src/djehuty/web/resources/sparql_templates/report_operational_statistics_public_sizes.sparql: New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_statistics_private_datasets.sparql: New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_statistics_public_datasets.sparql: New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_statistics_private_sizes.sparql: New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_statistics_opendap.sparql: New file.","shortMessageHtmlLink":"web: reports: Rename SPARQL template names for operational statistics."}},{"before":"7319b4c33e665c982e6bb44336c34d05780df666","after":"d87da9478edc674c94165ed6b000a8dad3ce1354","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-14T08:37:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Use a thousands separator for operational report\n\n* src/djehuty/web/resources/static/js/report-operational-statistics.js","shortMessageHtmlLink":"web: reports: Use a thousands separator for operational report"}},{"before":"2a2c2f7e8552c3737e9eb12a68d5a9b6d9f50393","after":"7319b4c33e665c982e6bb44336c34d05780df666","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-13T15:15:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Add a dataTable for operational report.\n\n* src/djehuty/web/database.py: Change record's key names.\n* src/djehuty/web/formatter.py: Change record's key names.\n* src/djehuty/web/resources/html_templates/admin/reports/operational_statistics.html:\n Add a dataTable for operational statistics.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_opendap.sparql:\n Rename \"other\" to \"Others\" for the non-member institutions.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_datasets.sparql:\n Same as above.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_sizes.sparql:\n Same as above.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_datasets.sparql:\n Same as above.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_sizes.sparql:\n Same as above.\n* src/djehuty/web/resources/static/js/report-operational-statistics.js: New File.","shortMessageHtmlLink":"web: reports: Add a dataTable for operational report."}},{"before":"bc2bc476e94722a5f4f7aabf84baa3f64ea9f14d","after":"898de47fec019763e850908c54614dad5e719bc4","ref":"refs/heads/main","pushedAt":"2024-05-13T11:42:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: html_templates: edit-dataset: Wrap the “save draft” button at the bottom.\n\n* src/djehuty/web/resources/html_templates/depositor/edit-dataset.html:\n Wrap the “save draft” button at the bottom in the\n ”hide-for-javascript” div.","shortMessageHtmlLink":"web: html_templates: edit-dataset: Wrap the “save draft” button at th…"}},{"before":"5f72354a2e0f679eb808c7232f2ce38e224249e5","after":"bc2bc476e94722a5f4f7aabf84baa3f64ea9f14d","ref":"refs/heads/main","pushedAt":"2024-05-08T15:12:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Implement ‘obtain_orcid_read_public_token’.\n\nThis commit implements the prerequisites for reading public ORCID records.\nAccording to the ORCID API documentation, a token for the\n“read-public” scope does not expire for about twenty years, so the\nrefresh process is not implemented.\n\n* src/djehuty/web/ui.py: Parse the “read-public-token” and\n conditionally call ‘obtain_orcid_read_public_token’.\n* src/djehuty/web/wsgi.py: Implement ‘obtain_orcid_read_public_token’.","shortMessageHtmlLink":"web: wsgi: Implement ‘obtain_orcid_read_public_token’."}},{"before":"6d84fd70cf134fdc87a1d0cbf28b55855abb4cc9","after":"5f72354a2e0f679eb808c7232f2ce38e224249e5","ref":"refs/heads/main","pushedAt":"2024-05-08T13:03:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Add linter annotation.\n\nThe pygit2 classes are dynamically loaded somehow, so it trips up the\nlinter.\n\n* src/djehuty/web/wsgi.py: Add linter annotation for “pygit2.Commit”.","shortMessageHtmlLink":"web: wsgi: Add linter annotation."}},{"before":"9a8cd7ab15751fed019df45d55082ec2040061ab","after":"6d84fd70cf134fdc87a1d0cbf28b55855abb4cc9","ref":"refs/heads/main","pushedAt":"2024-05-08T12:18:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Skip over Git submodules in ‘__git_files_by_type’.\n\n* src/djehuty/web/wsgi.py: Skip over Git submodules in\n ‘__git_files_by_type’ instead of erroring out.","shortMessageHtmlLink":"web: wsgi: Skip over Git submodules in ‘__git_files_by_type’."}},{"before":"30722719926151412fee58e6e49cb62d12c244b7","after":"9a8cd7ab15751fed019df45d55082ec2040061ab","ref":"refs/heads/main","pushedAt":"2024-05-08T06:25:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: html_templates: dataset: Include Git repository name in the clone command.\n\n* src/djehuty/web/resources/html_templates/dataset.html: Include Git\n repository name in the clone command.","shortMessageHtmlLink":"web: html_templates: dataset: Include Git repository name in the clon…"}},{"before":"d67724ea44749a8658426885f4ee3526f2b05cf8","after":"30722719926151412fee58e6e49cb62d12c244b7","ref":"refs/heads/main","pushedAt":"2024-05-08T06:03:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Implement metadata field for the Git repository name.\n\n* src/djehuty/web/database.py: Add “git_repository_name” parameter to\n ‘update_dataset’.\n* src/djehuty/web/resources/html_templates/depositor/edit-dataset.html:\n Add form field for the Git repository name.\n* src/djehuty/web/resources/sparql_templates/datasets.sparql:\n Add “git_repository_name” to the query output.\n* src/djehuty/web/resources/sparql_templates/update_dataset.sparql:\n Process “git_repository_name”.\n* src/djehuty/web/resources/static/js/edit-dataset.js: Pass along\n “git_repository_name”.\n* src/djehuty/web/wsgi.py: Likewise.","shortMessageHtmlLink":"web: wsgi: Implement metadata field for the Git repository name."}},{"before":"4cb7407918dc62089b84434eccfe1e551bedae0e","after":"d67724ea44749a8658426885f4ee3526f2b05cf8","ref":"refs/heads/main","pushedAt":"2024-05-08T04:53:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Implement caching for git statistics.\n\n* src/djehuty/web/wsgi.py: Re-use the cache layer from the database to\n cache the statistics of git repositories.","shortMessageHtmlLink":"web: wsgi: Implement caching for git statistics."}},{"before":"c17665a80752128adb1720ecd1cd07a391de7ccd","after":"4cb7407918dc62089b84434eccfe1e551bedae0e","ref":"refs/heads/main","pushedAt":"2024-05-08T04:29:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Add “additions” and “deletions” stats to Git contributor output.\n\nThis ensures it provides the same information as the implementation\nbefore c17665a80752128adb1720ecd1cd07a391de7ccd.\n\n* src/djehuty/web/wsgi.py: Add “additions” and “deletions” statistics\n to Git contributor output.","shortMessageHtmlLink":"web: wsgi: Add “additions” and “deletions” stats to Git contributor o…"}},{"before":"4e4d5c877038a137536313c61869b3ec88937076","after":"c17665a80752128adb1720ecd1cd07a391de7ccd","ref":"refs/heads/main","pushedAt":"2024-05-07T18:03:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Restructure contributor statistics on Git repositories.\n\nThe restructure allows one to make a commits-over-time-per-contributor\ngraph and aligns with the GitHub API output.\n\n* src/djehuty/web/wsgi.py: Implement weekly statistics per author on\n Git repositories.","shortMessageHtmlLink":"web: wsgi: Restructure contributor statistics on Git repositories."}},{"before":"b6aeba445b9d65dddb224954c11993a8bd4f465e","after":"2a2c2f7e8552c3737e9eb12a68d5a9b6d9f50393","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-07T15:52:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Add api_v3_admin_report_operational_statistics().\n\n* src/djehuty/web/wsgi.py: Add api_v3_admin_report_operational_statistics().\n* src/djehuty/web/database.py: Update repository_statistics().\n* src/djehuty/web/formatter.py: Add format_operational_statistics_record().\n* src/djehuty/web/resources/html_templates/admin/reports/operational_statistics.html:\n Remove parameters for Jinja2.","shortMessageHtmlLink":"web: reports: Add api_v3_admin_report_operational_statistics()."}},{"before":"7a0f2ff4a93d4fe2de32cd4f441511e09b7e6fbe","after":"4e4d5c877038a137536313c61869b3ec88937076","ref":"refs/heads/main","pushedAt":"2024-05-07T15:36:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: sparql_templates: datasets: Avoid irrelevant check for “account_uuid”.\n\n* src/djehuty/web/resources/sparql_templates/datasets.sparql: When no\n “account_uuid” is provided, don't attempt to check for its relation.","shortMessageHtmlLink":"web: sparql_templates: datasets: Avoid irrelevant check for “account_…"}},{"before":"39b31f41212b5028f008070f0783d4c8f94c305d","after":"7a0f2ff4a93d4fe2de32cd4f441511e09b7e6fbe","ref":"refs/heads/main","pushedAt":"2024-05-07T11:16:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Move handling “q” to JavaScript.\n\n* src/djehuty/web/resources/static/js/search.js: Check for the “q”\n parameter when there is no “search”.\n* src/djehuty/web/wsgi.py: Remove the check for “q”.","shortMessageHtmlLink":"web: wsgi: Move handling “q” to JavaScript."}},{"before":"29f42bbdaf770736ad33e6960e6b02a432a6b20e","after":"b6aeba445b9d65dddb224954c11993a8bd4f465e","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-07T09:43:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Pass the SPARQL result set to the frontend for operational statistics.\n\n* src/djehuty/web/wsgi.py: Validate parameters in request.\n* src/djehuty/web/database.py: Update repository_statistics().\n* src/djehuty/web/resources/html_templates/admin/reports/operational_statistics.html:\n Declare new variables recived from the backend.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_opendap.sparql:\n Put the filter placeholders in Jinja2 format.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_datasets.sparql:\n Same as above.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_sizes.sparql:\n Same as above.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_datasets.sparql:\n Same as above.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_sizes.sparql:\n Same as above.","shortMessageHtmlLink":"web: reports: Pass the SPARQL result set to the frontend for operatio…"}},{"before":"0506ccbc72e48dc0ae02120fecd1ac430d424563","after":"39b31f41212b5028f008070f0783d4c8f94c305d","ref":"refs/heads/main","pushedAt":"2024-05-07T05:09:34.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"roelj","name":"Roel Janssen","path":"/roelj","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1129198?s=80&v=4"},"commit":{"message":"web: wsgi: Reformat calls to ‘update_item_list’.\n\n* src/djehuty/web/wsgi.py: Reformat calls to ‘update_item_list’.","shortMessageHtmlLink":"web: wsgi: Reformat calls to ‘update_item_list’."}},{"before":"479424fe7d1a5175f81fc7ff74d382cf70b76613","after":"29f42bbdaf770736ad33e6960e6b02a432a6b20e","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-06T14:42:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: reports: Add a new report, 'Operational Statistics'.\n\n* src/djehuty/web/resources/html_templates/admin/reports/dashboard.html:\n Add the new report's title and link to the report table.\n* src/djehuty/web/resources/html_templates/admin/reports/operational_statistics.html:\n New file.\n* src/djehuty/web/wsgi.py: Add ui_admin_reports_operational_statistics().","shortMessageHtmlLink":"web: reports: Add a new report, 'Operational Statistics'."}},{"before":"4e02f2ec071dad6a3e63a473c3399e54e3a83649","after":"479424fe7d1a5175f81fc7ff74d382cf70b76613","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-06T09:37:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: sparql_templates: Make the report templates compatible with Jinja2.\n\n* report_operational_report_opendap.sparql: Apply the Jinja2 template.\n* report_operational_report_private_datasets.sparql: Same as above.\n* report_operational_report_private_sizes.sparql: Same as above.\n* report_operational_report_public_datasets.sparql: Same as above.\n* report_operational_report_public_sizes.sparql: Same as above.","shortMessageHtmlLink":"web: sparql_templates: Make the report templates compatible with Jinja2."}},{"before":"b52f7f3fb82d3d1f408b07cac51560a4875af9bc","after":"4e02f2ec071dad6a3e63a473c3399e54e3a83649","ref":"refs/heads/wip-operational-report","pushedAt":"2024-05-06T09:26:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"H-Kwon","name":"Hyeokjin Kwon","path":"/H-Kwon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34452077?s=80&v=4"},"commit":{"message":"web: sparql_templates: Add new templates for the operational report.\n\nThe templates are originall from the `djehuty-stats` repo.\n\n* src/Makefile.am: Add the new SPARQL template files.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_opendap.sparql:\n New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_datasets.sparql:\n New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_private_sizes.sparql:\n New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_datasets.sparql:\n New file.\n* src/djehuty/web/resources/sparql_templates/report_operational_report_public_sizes.sparql:\n New file.","shortMessageHtmlLink":"web: sparql_templates: Add new templates for the operational report."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWAfZOAA","startCursor":null,"endCursor":null}},"title":"Activity · 4TUResearchData/djehuty"}