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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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