Skip to content

INGV/rum-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RUM Project — Curation Example

This repository demonstrates a concrete project using the RUM Framework. It shows how policies, rules, and actions are applied to manage and process data files in a structured workflow.

The example focuses on the Check-in policy, which is the main workflow for ingesting and validating data files.


Project Overview

RUM provides the core engine for policy-driven workflows, but a project like this one provides the actual configuration, rules, and input data to process. Without a project, the engine alone does not perform any operations.

This project contains:

  • Policies: define workflows and link rules
  • Rules: define conditional logic and trigger actions
  • Actions: perform actual tasks on files (checks, metadata extraction, copying)
  • Input files: the data files to be processed by the workflow

Key Workflow: Check-in Policy

The Check-in policy orchestrates the ingestion and validation of new data files.

Policy file: policies/policy-checkin.yaml

Associated rules:

  • rules/rule-filechecks.yaml — validates file integrity and format
  • rules/rule-extractmetadata.yaml — extracts metadata from the file
  • rules/rule-cp2archive.yaml — copies the validated file to the archive

Flow Description

  1. Policy activation

    • The policy-checkin policy is triggered when a new file arrives.
    • The policy defines which rules will be executed and in what order.
  2. Rule evaluation

    • Each rule is evaluated sequentially by the RUM sequencer.
    • Rules check conditions, such as file type, integrity, and presence of required metadata.
  3. Action execution

    • When a rule condition is satisfied, it triggers its associated actions.
    • Actions may have default parameters overridden by the rule configuration.

Example sequence:

  • rule-filechecks:
    • Action: verify file checksum, validate filename pattern
    • Override: none, uses defaults
  • rule-extractmetadata:
    • Action: extract header info, compute timestamps
    • Override: sets specific parsing options for this rule
  • rule-cp2archive:
    • Action: copy file to archive location
    • Override: sets archive path based on project configuration
  1. Result
    • The file has been validated, metadata extracted, and stored in the archive.
    • All actions are logged for traceability.

Repository Structure

├── actions/         # reusable action implementations
├── config/          # project-specific configurations
├── modules/         # helper modules and utilities
├── policies/        # policy definitions (e.g., policy-checkin.yaml)
├── rules/           # rule definitions (e.g., rule-filechecks.yaml)
├── utils/           # utility scripts
└── README.md

How to Use

  1. Place the incoming data file in the monitored input directory.
  2. Run the RUM sequencer with the policy-checkin policy:
rum-cli run --policy policy-checkin --input /path/to/new/file
  1. The sequencer evaluates the rules and executes actions in order.
  2. Check logs or the archive folder to verify that the file has been processed successfully.

Notes

  • Actions are reusable and may be invoked by multiple rules or policies.
  • Rule-specific configuration overrides action defaults to adapt behavior.
  • This example demonstrates a minimal, conceptual workflow; additional rules or policies can extend the project.

References

  • RUM Framework — Core engine documentation
  • INGV RUM — A Lightweight Rule Manager Framework, Rapporti Tecnici INGV 508 (2025), DOI: 10.13127/rpt/508

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages