Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 3.31 KB

README.md

File metadata and controls

54 lines (40 loc) · 3.31 KB

Fits for Drupal

Introduction

This Drupal 8/9 module consumes File Information Tool Set (Fits) to retrieve and extract technical metadata for fieldable files.

Installation

Configuration

  • Visit /admin/config/system/fits as screenshot below:

Fits config

  • Visit /admin/structure/file-types, then click Edit in each File type for further detail and configure on Technical metadata fields.

Fits fields config

  • To add more field(s) for extracting technical metadata, click + Add field button. Filling out all main fields.
    • In the Helper text field (screenshot below), make sure to enter one or multiple JMESPath(s) each wrapped between "[{ }]" (ie. [{fileinfo.md5checksum}]).
    • For further details about JMESPath, please visit: https://jmespath.org/tutorial.html

Jmespath config

Enabling FITS generation

  • To have FITS generate metadata info, you must make use of the Context module
    • Go to Structure > Context
      • Create a Context and choose the Conditions that should be true for the FITS action to proceed
      • Under Reaction add a Reaction and pick File Extract Metadata Reaction (FITS)
      • In the Action form that shows up for the Reaction, just pick FITS - Generate and Extract Technical metadata for File
      • Ensure the context is enabled and then save

Usage

  • Upload a file at /file/add or add a Media at /media/add.
  • After a file uploaded completed, a job will be added to a queue which can be visited at admin/config/system/queues. Then, select List Jobs of the designated queue for Fits (select above) to monitor the progress.
  • To run the queues, there are 3 ways:
    • By Cron at admin/config/system/cron
    • By drush/drupal by drush advancedqueue:queue:process [{ queue name }] in terminal.
    • By Advanced Queue Runner with options:
      • Set number of retries if a Fits job is failure.
      • Set delay between each re-tries.
  • When a job is executed, there are 2 main operations:
    • Retrieve Fits: It will consume Fits XML to retrieve technical metadata in XML, then convert it to JSON and save it in the field_fits.
    • Extraction: After the technical metadata is saved in the json field field_fits, the extraction for each field based on JMESPaths which are defined in each Fits fields.
  • To check the outcome of the Fits metadata and extracted fields in a file, visit /file/[{ just uploaded File ID }]/edit