{"id":25368252,"url":"https://github.com/discoverygarden/dgi_fixity","last_synced_at":"2025-06-14T09:06:31.299Z","repository":{"id":57894329,"uuid":"462776079","full_name":"discoverygarden/dgi_fixity","owner":"discoverygarden","description":"Perform periodic fixity checks on selected files.","archived":false,"fork":false,"pushed_at":"2025-05-05T18:47:58.000Z","size":105,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-14T09:05:16.043Z","etag":null,"topics":["checksum","drupal","drupal-8","drupal-9","drupal-module","fixity","islandora"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/discoverygarden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-23T14:44:28.000Z","updated_at":"2025-05-05T18:47:51.000Z","dependencies_parsed_at":"2024-04-22T17:54:34.770Z","dependency_job_id":"1ca3e48b-f0d1-42aa-a40d-68409cf408fb","html_url":"https://github.com/discoverygarden/dgi_fixity","commit_stats":{"total_commits":25,"total_committers":5,"mean_commits":5.0,"dds":0.52,"last_synced_commit":"3ab01f5ccc3b7bc56fcb212a2e904b3bc3054f20"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/discoverygarden/dgi_fixity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_fixity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_fixity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_fixity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_fixity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/discoverygarden","download_url":"https://codeload.github.com/discoverygarden/dgi_fixity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discoverygarden%2Fdgi_fixity/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259790457,"owners_count":22911547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checksum","drupal","drupal-8","drupal-9","drupal-module","fixity","islandora"],"created_at":"2025-02-15T00:36:44.627Z","updated_at":"2025-06-14T09:06:31.276Z","avatar_url":"https://github.com/discoverygarden.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fixity\n\n## Introduction\n\nPerform periodic fixity checks on selected files.\n\nThis module defines a new content entity type `fixity_check`. This entity is\nused as an audit trail for fixity checks performed on a related `file` entity.\nWherein the revisions of the `fixity_check` record the results of previous\nchecks against that `file` entity.\n\nThis modules requires and enforces the following constraints on `fixity_check`\nentities:\n\n- **Must** be related to a `file`\n- `file` relations **must** be unique\n- `file` relation **cannot** be changed after creation\n- `performed` and `state` properties **cannot** be modified after creation.\n\nUsers with the permission `Administer Fixity Checks` can:\n\n- Manually perform checks\n- Manually remove `fixity_check` entities and their revisions\n- Manually mark files as requiring periodic checks\n- Generate `fixity_check` entities for all previously existing files\n\nUsers with the permission `View Fixity Checks` can:\n\n- View fixity audit log of Media entities\n\nA `cron` hook is setup to automatically mark files as _requiring_ periodic\nchecks. As well as performing those checks on a regular basis. Email\nnotifications can be configured to alert the selected user of the status\nof all performed checks on a regular basis or only when an error occurs.\n\n## Requirements\n\nThis module requires the following modules/libraries:\n\n* [filehash]\n\n## Configuration\n\nThe module can be configured at `admin/config/fixity`.\n\n## Drush\n\nA number of drush commands come bundled with this module.\n\n```bash\n$ drush dgi_fixity:clear --help\nSets the periodic check flag to FALSE for all files.\n```\n\n```bash\n$ drush dgi_fixity:generate --help\nCreates a fixity_check entity for all previously created files.\n```\n\n```bash\n$ drush dgi_fixity:check --help\nPerform fixity checks on files.\n\nOptions:\n  --fids[=FIDS] Comma separated list of file identifiers, or a path to a file containing file identifiers.\n                The file should have each fid separated by a new line. If not specified the modules settings\n                for sources is used to determine which files to check.\n  --force       Skip time elapsed threshold check when processing files.\n```\n\n## Installation\n\nInstall as usual, see [this][install] for further information.\n\nAdditionally after this module is first enabled, you will need to generate\n`fixity_check` entities for all pre-existing `file` entities. This does not\nrequire that the checks are performed, only that one `fixity_check` entity\nexists for every applicable `file` entity in the system.\n\nThis can be done with `drush`:\n\n```bash\ndrush dgi_fixity:generate\n```\n\nOr via the admin form on the page `admin/config/fixity/generate`.\n\n## Troubleshooting/Issues\n\nHaving problems or solved a problem? Contact [discoverygarden].\n\n## Maintainers/Sponsors\n\nCurrent maintainers:\n\n* [discoverygarden]\n\nSponsors:\n\n* [CTDA: Connecticut Digital Archive]\n\n## Development\n\nIf you would like to contribute to this module create an issue, pull request\nand or contact [discoverygarden].\n\n## License\n\n[GPLv2][gplv2]\n\n[discoverygarden]: http://support.discoverygarden.ca\n[filehash]: https://www.drupal.org/project/filehash\n[gplv2]: http://www.gnu.org/licenses/gpl-2.0.txt\n[install]: https://www.drupal.org/docs/extending-drupal/installing-modules\n[CTDA: Connecticut Digital Archive]: https://lib.uconn.edu/find/connecticut-digital-archive/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscoverygarden%2Fdgi_fixity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiscoverygarden%2Fdgi_fixity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscoverygarden%2Fdgi_fixity/lists"}