Giter Site home page Giter Site logo

dgi_fixity's Introduction

Fixity

Introduction

Perform periodic fixity checks on selected files.

This module defines a new content entity type fixity_check. This entity is used as an audit trail for fixity checks performed on a related file entity. Wherein the revisions of the fixity_check record the results of previous checks against that file entity.

This modules requires and enforces the following constraints on fixity_check entities:

  • Must be related to a file
  • file relations must be unique
  • file relation cannot be changed after creation
  • performed and state properties cannot be modified after creation.

Users with the permission Administer Fixity Checks can:

  • Manually perform checks
  • Manually remove fixity_check entities and their revisions
  • Manually mark files as requiring periodic checks
  • Generate fixity_check entities for all previously existing files

Users with the permission View Fixity Checks can:

  • View fixity audit log of Media entities

A cron hook is setup to automatically mark files as requiring periodic checks. As well as performing those checks on a regular basis. Email notifications can be configured to alert the selected user of the status of all performed checks on a regular basis or only when an error occurs.

Requirements

This module requires the following modules/libraries:

Configuration

The module can be configured at admin/config/fixity.

Drush

A number of drush commands come bundled with this module.

$ drush dgi_fixity:clear --help
Sets the periodic check flag to FALSE for all files.
$ drush dgi_fixity:generate --help
Creates a fixity_check entity for all previously created files.
$ drush dgi_fixity:check --help
Perform fixity checks on files.

Options:
  --fids[=FIDS] Comma separated list of file identifiers, or a path to a file containing file identifiers.
                The file should have each fid separated by a new line. If not specified the modules settings
                for sources is used to determine which files to check.
  --force       Skip time elapsed threshold check when processing files.

Installation

Install as usual, see this for further information.

Additionally after this module is first enabled, you will need to generate fixity_check entities for all pre-existing file entities. This does not require that the checks are performed, only that one fixity_check entity exists for every applicable file entity in the system.

This can be done with drush:

drush dgi_fixity:generate

Or via the admin form on the page admin/config/fixity/generate.

Troubleshooting/Issues

Having problems or solved a problem? Contact discoverygarden.

Maintainers/Sponsors

Current maintainers:

Sponsors:

Development

If you would like to contribute to this module create an issue, pull request and or contact discoverygarden.

License

GPLv2

dgi_fixity's People

Contributors

adam-vessey avatar chrismacdonaldw avatar jojoves avatar nchiasson-dgi avatar nigelgbanks avatar prashant-bd avatar ruebot avatar seth-shaw-asu avatar willtp87 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dgi_fixity's Issues

The Check page and Drush command check the same 100 items every time

I recently installed dgi_fixy and ran the generate command. Everything seemed to work fine. However, whenever I run the drush command or use the webform to run checks again, it checks the same 100 items every time. I placed a log statement in FixityCheckBatchCheck::check to verify which items were being checked and it is the same 100 items.

For reference:

composer show discoverygarden/dgi_fixity
name     : discoverygarden/dgi_fixity
versions : * v1.2.1
type     : drupal-module
...
source   : [git] https://github.com/discoverygarden/dgi_fixity.git c89fe47e16e9e715608775c57a6fb62f26282597
dist     : [zip] https://api.github.com/repos/discoverygarden/dgi_fixity/zipball/c89fe47e16e9e715608775c57a6fb62f26282597 c89fe47e16e9e715608775c57a6fb62f26282597

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.