Child pages
  • IngestTool Database
Skip to end of metadata
Go to start of metadata

This database is intended to be a simple state management database for the ingest tool. However, it may be expanded to assist in ID mapping between purl's, internal/short id's, and possible fedora id's or pid's. Much of that data is needed here anyway, so it would be minimal additional cost or complexity to add lookup/mapping functionality.

All access to this data from the IngestTool is in edu.indiana.dlib.server.ingestTool.IngestDB.
Password information is in IngestTool.properties.
A creation script is in cvs:/infrastructure/oracleCreateScript.sql

Database Layout:

Tables:

  • IngestRecords – This is the main table. Each ingest request will return a new row in this table, which will have a single state, a set of events, and a set of items.
  • IngestStates – This defines the possible current states for the ingestions.
  • IngestEvents – This defines the events that have occurred on an ingestion.
  • IngestEventTypes – This defines the possible event types for the events.
  • IngestItems – This defines the items which have been operated on for an ingestion.
  • IngestItemState – This defines the possible states for the ingest items.

IngestRecords

Columns:

  • id
    • PK
    • numeric(10,0)
    • not null
  • state
    • FK to IngestStates(PK)
    • numeric(10,0)
    • not null
  • access
    • varchar(1024)
    • not null

IngestStates

Columns:

  • id
    • PK
    • numeric(10,0)
    • not null
  • abbrev
    • varchar(255)
    • not null
  • description
    • varchar(1024)
    • not null

ID is a Fixed List:

1) NEW – New ID Created
2) INGEST – Ingestion in progress
3) ERROR – Ingestion failed
4) DONE – Ingestion complete
5) TERMINATE – Termination requested
6) STOPPED – Ingestion prematurely terminated

IngestEvents

Columns:

  • record
    • FK to IngestRecords(PK)
    • numeric(10,0)
    • not null
  • event
    • FK to IngestEventTypes(PK)
    • numeric(10,0)
    • not null
  • ts
    • date
    • not null
  • details
    • varchar(4000)
    • nullable

IngestEventTypes

Columns:

  • id
    • PK
    • numeric(10,0)
    • not null
  • abbrev
    • varchar(255)
    • not null
  • description
    • varchar(1024)
    • not null

ID is a Fixed List:

— standard state switches and operations —
1) NEW – New ID Created
2) INGEST – Initial ingestion started
3) ERROR – Ingestion terminated abnormally
4) DONE – Ingestion terminated normally
5) TERMINATE – Termination requested
6) STOPPED – Ingestion prematurely terminated

— non-state affecting commands —
100) STATUS – Current status requested

— errors and abnormal commands —
1000) INVALID_INGEST – An ingest process was started with an invalid ID
1001) INVALID_STATUS – A status request was made with an invalid ID
1002) CONCURRENT_INGEST – An ingest request was made while another ingest was in progress for this score
1003) REINGEST – An additional ingestion was started
1004) ACCESS_DENIED – An ingest request was made with an invalid access code

IngestItems

Columns:

  • record
    • FK to IngestRecords(PK)
    • numeric(10,0)
    • not null
  • state
    • FK to IngestItemState(PK)
    • numeric(10,0)
    • not null
  • shortID
    • varchar(64)
    • nullable
  • internalID
    • varchar(128)
    • nullable
  • purlID
    • varchar(256)
    • nullable
  • fedoraPID
    • varchar(64)
    • nullable
  • ts
    • date
    • not null
  • details
    • varchar(4000)
    • nullable

IngestItemState

Columns:

  • id
    • PK
    • numeric(10,0)
    • not null
  • abbrev
    • varchar(255)
    • not null
  • description
    • varchar(1024)
    • not null

ID is a Fixed List:

— standard state switches and operations —
1) NEW – New ID Created
2) INGEST – Initial ingestion started
3) ERROR – Ingestion terminated abnormally
4) DONE – Ingestion terminated normally

  • No labels