Skip to content

Latest commit

 

History

History
101 lines (69 loc) · 2.69 KB

File metadata and controls

101 lines (69 loc) · 2.69 KB

RDM-metadata-cli

Extract metadata from local files and register it to GakuNin RDM (GRDM). The data itself never leaves confidential storage; only its metadata is published, so the data stays private while remaining findable.

Installation

Prebuilt binaries

Download from the Releases page. ggwave ships as a separate archive — see ggwave.

Build from source

go build -o getmetadata ./cmd/getmetadata
go build -o grdm ./cmd/grdm

Example

Extract metadata on the data machine, carry it to a networked machine, and register it to GRDM:

getmetadata ──> ggwave ──(audio)──> ggwave ──> grdm ──> GRDM
 (data host)                                  (networked host)
# Data host (offline): extract and transmit
getmetadata -format mebyo-project ./data | ggwave send

# Networked host: receive and register
ggwave recv | grdm metadata create -project <id> -schema <name>

When the data host has a network path, pipe directly without ggwave:

getmetadata -format mebyo-project ./data | grdm metadata create -project <id> -schema <name>

getmetadata

Scans a directory and writes metadata as JSON to stdout.

getmetadata -format <format> <directory>

Formats

Format Description Output
list File list with technical metadata JSON array
mebyo-project Mebyo DB project metadata For grdm metadata create
mebyo-file Mebyo DB file metadata For grdm file bulk update

Supported File Types

Type Extensions Extracted Fields
Image jpg, jpeg, png, gif, tiff pixel-width, pixel-height
Text csv, tsv, txt number-of-rows, number-of-columns, delimiter, character-code
Excel xlsx, xlsm number-of-rows, number-of-columns

ggwave

Transfers JSON metadata between machines over sound (speaker to microphone), for a data host that has no network path — the Example above uses it as the bridge.

Prebuilt binary

Download from the Releases page (linux-amd64, darwin-arm64, windows-amd64).

Build from source

Needs the native ggwave and PortAudio libraries:

CGO_ENABLED=1 go build -o ggwave ./cmd/ggwave

See docs/ggwave.md for the protocol and build details.

grdm

Registers metadata to GRDM and reads/writes project files through its API.

getmetadata -format mebyo-file ./data | \
  grdm file bulk update -project <id> -schema <name> osfstorage

See docs/grdm.md for configuration and the full command list.