Yareta Archival Information Package (AIP)

Archival Information Package (AIP)

EducationHigher EducationUniversityOpen ScienceResearch DataInstitutional RepositorySwitzerlandEurope

Properties

Name Type Description
creation object
lastUpdate object
resId string The identifier of the resource. The default format is a Universally Unique IDentifier (UUID).
dispositionApproval boolean If the approval step the AIP disposal is mandatory.
retention integer The retention duration in days of the AIP: O means forever.
archiveContainer string The container type of the AIP.
archivalUnit boolean if the AIP is an unit (AIU) or a collection (AIC).
archiveId string The storage URI of the AIP.
archiveFileNumber integer The total number of files in the AIP.
updateNumber integer The number of updates in the AIP.
collectionFileNumber integer The total number of filed in the collection AIP.
archiveSize integer The size in bytes of the AIP.
tombstoneSize integer The size in bytes of the tombstone AIP.
collectionArchiveSize integer The total size in bytes of the collection AIP.
checksumCheck object The last checksum verification information of the AIP.
checksums array The checksum list of the AIP.
fileFormat object The file format identification of the AIP.
info object The OAIS representation information of the AIP.
sipIds array The source SIP list (IDs) of the AIP.
virusCheck object The file virus check of the AIP.
publicationDate string The publication date of the AIP.
lastArchiving string The last archiving process date of the AIP: the first archiving date or the last metadata edition.
ready boolean If AIP package is ready.
dataFileNumber integer The number of AIP data files.
complianceLevel string Compliance level to define the preservation quality based on data file format: - NOT_ASSESSED => The format could not be evaluated - NO_COMPLIANCE => The format could not be determined - WEAK_COMPLIAN
smartSize string The size in human-readable format of the AIP.
collectionSize integer The number of AIPs in collection AIP.
smartTombstoneSize string The size in human-readable format of the tombstone AIP.
smartCollectionArchiveSize string The total size in human-readable format of the collection AIP.
retentionEnd string The end of the AIP retention.
packageStatus string OAIS Package Status: - CHECKED => Checked package during archiving process - CHECKING => A package verification is in progress during checking process - CHECK_PENDING => A package verification is pend
smartRetention string The retention duration in human-readable format of the package.
_links object
View JSON Schema on GitHub

JSON Schema

university-of-geneva-aip-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/university-of-geneva/main/json-schema/university-of-geneva-aip-schema.json",
  "title": "Yareta Archival Information Package (AIP)",
  "description": "Archival Information Package (AIP)",
  "type": "object",
  "properties": {
    "creation": {
      "$ref": "#/$defs/ChangeInfo"
    },
    "lastUpdate": {
      "$ref": "#/$defs/ChangeInfo"
    },
    "resId": {
      "type": "string",
      "description": "The identifier of the resource. The default format is a Universally Unique IDentifier (UUID).",
      "maxLength": 50,
      "minLength": 0
    },
    "dispositionApproval": {
      "type": "boolean",
      "description": "If the approval step the AIP disposal is mandatory."
    },
    "retention": {
      "type": "integer",
      "format": "int32",
      "description": "The retention duration in days of the AIP: O means forever."
    },
    "archiveContainer": {
      "type": "string",
      "description": "The container type of the AIP.",
      "enum": [
        "UNDEFINED",
        "ZIP",
        "BAG_IT"
      ]
    },
    "archivalUnit": {
      "type": "boolean",
      "description": "if the AIP is an unit (AIU) or a collection (AIC)."
    },
    "archiveId": {
      "type": "string",
      "description": "The storage URI of the AIP."
    },
    "archiveFileNumber": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of files in the AIP."
    },
    "updateNumber": {
      "type": "integer",
      "format": "int64",
      "description": "The number of updates in the AIP."
    },
    "collectionFileNumber": {
      "type": "integer",
      "format": "int64",
      "description": "The total number of filed in the collection AIP."
    },
    "archiveSize": {
      "type": "integer",
      "format": "int64",
      "description": "The size in bytes of the AIP."
    },
    "tombstoneSize": {
      "type": "integer",
      "format": "int64",
      "description": "The size in bytes of the tombstone AIP."
    },
    "collectionArchiveSize": {
      "type": "integer",
      "format": "int64",
      "description": "The total size in bytes of the collection AIP."
    },
    "checksumCheck": {
      "$ref": "#/$defs/ChecksumCheck",
      "description": "The last checksum verification information of the AIP."
    },
    "checksums": {
      "type": "array",
      "description": "The checksum list of the AIP.",
      "items": {
        "$ref": "#/$defs/DataFileChecksum"
      }
    },
    "fileFormat": {
      "$ref": "#/$defs/FileFormat",
      "description": "The file format identification of the AIP."
    },
    "info": {
      "$ref": "#/$defs/RepresentationInfo",
      "description": "The OAIS representation information of the AIP."
    },
    "sipIds": {
      "type": "array",
      "description": "The source SIP list (IDs) of the AIP.",
      "items": {
        "type": "string"
      }
    },
    "virusCheck": {
      "$ref": "#/$defs/VirusCheck",
      "description": "The file virus check of the AIP."
    },
    "publicationDate": {
      "type": "string",
      "format": "date",
      "description": "The publication date of the AIP."
    },
    "lastArchiving": {
      "type": "string",
      "format": "date-time",
      "description": "The last archiving process date of the AIP: the first archiving date or the last metadata edition."
    },
    "ready": {
      "type": "boolean",
      "description": "If AIP package is ready.",
      "readOnly": true
    },
    "dataFileNumber": {
      "type": "integer",
      "format": "int32",
      "description": "The number of AIP data files.",
      "readOnly": true
    },
    "complianceLevel": {
      "type": "string",
      "description": "Compliance level to define the preservation quality based on data file format:\n- NOT_ASSESSED => The format could not be evaluated\n- NO_COMPLIANCE => The format could not be determined\n- WEAK_COMPLIANCE => The format was determined: content type detected\n- AVERAGE_COMPLIANCE => The format was determined: WEAK_COMPLIANCE + PRONOM identifier detected\n- FULL_COMPLIANCE => The format was determined: AVERAGE_COMPLIANCE + the format is part of golden formats\n",
      "enum": [
        "NOT_ASSESSED",
        "NO_COMPLIANCE",
        "WEAK_COMPLIANCE",
        "AVERAGE_COMPLIANCE",
        "FULL_COMPLIANCE"
      ],
      "writeOnly": true
    },
    "smartSize": {
      "type": "string",
      "description": "The size in human-readable format of the AIP.",
      "readOnly": true
    },
    "collectionSize": {
      "type": "integer",
      "format": "int32",
      "description": "The number of AIPs in collection AIP.",
      "readOnly": true
    },
    "smartTombstoneSize": {
      "type": "string",
      "description": "The size in human-readable format of the tombstone AIP.",
      "readOnly": true
    },
    "smartCollectionArchiveSize": {
      "type": "string",
      "description": "The total size in human-readable format of the collection AIP.",
      "readOnly": true
    },
    "retentionEnd": {
      "type": "string",
      "format": "date-time",
      "description": "The end of the AIP retention.",
      "readOnly": true
    },
    "packageStatus": {
      "type": "string",
      "description": "OAIS Package Status:\n- CHECKED => Checked package during archiving process\n- CHECKING => A package verification is in progress during checking process\n- CHECK_PENDING => A package verification is pending during checking process\n- CLEANED => Cleaned package during cleaning process for SIP only\n- CLEANING => A package clean is in progress during cleaning process for SIP only\n- COMPLIANCE_LEVEL_UPDATE_PENDING => A package compliance update is pending\n- COMPLIANCE_LEVEL_UPDATED => The compliance levels of the package have been updated\n- COMPLETED => Completed package\n- DISPOSABLE => The Package is candidate for disposal process for AIP only\n- DISPOSAL_APPROVED_BY_ORGUNIT => Disposal org. unit approval done during disposal process for AIP only\n- DISPOSAL_APPROVED => Disposal approval done during disposal process for AIP only\n- DISPOSED => Disposed package for AIP only\n- DOWNLOADING => A package download is in progress\n- EDITING_METADATA => A package metadata edition is in progress\n- FIXING => A package correction is in progress\n- FIXITY_ERROR => Error when checking checksums\n- FIX_PENDING => A package correction is pending\n- INDEXING => A package indexing is in progress\n- IN_ERROR => Package in error during archiving process\n- IN_PREPARATION => Package in preparation during archiving process\n- IN_PROGRESS => A package archiving process is in progress\n- METADATA_EDITION_PENDING => A metadata edition is pending\n- METADATA_UPGRADE_PENDING => A metadata version upgrade is pending\n- PACKAGE_REPLICATION_PENDING => A package replication is pending\n- PRESERVATION_ERROR => Package in error during checking process\n- READY => Package Ready\n- REINDEXING => A package re-indexing is in progress\n- RELOADED => Reloaded package from storage location\n- REPLICATING_PACKAGE => A package replication is in progress\n- REPLICATING_TOMBSTONE => A tombstone package replication is in progress\n- RESUBMITTING => A package re-submission is in progress\n- STORED => Package stored on storage location\n- TOMBSTONE_REPLICATION_PENDING => A tombstone replication is pending\n- UPDATING_COMPLIANCE_LEVEL => A package compliance update is in progress\n- UPDATING_RETENTION => A package retention update is in progress during disposal process\n- UPGRADING_METADATA => A metadata version upgrade is in progress\n",
      "enum": [
        "CHECK_PENDING",
        "CHECKING",
        "CHECKED",
        "CLEANING",
        "CLEANED",
        "COMPLETED",
        "DOWNLOADING",
        "IN_PREPARATION",
        "IN_PROGRESS",
        "STORED",
        "INDEXING",
        "READY",
        "RETRIEVING",
        "RETRIEVING_PENDING",
        "IN_ERROR",
        "PRESERVATION_ERROR",
        "FIXITY_ERROR",
        "DISPOSABLE",
        "DISPOSAL_APPROVED_BY_ORGUNIT",
        "DISPOSAL_APPROVED",
        "DISPOSED",
        "FIX_PENDING",
        "FIXING",
        "METADATA_EDITION_PENDING",
        "EDITING_METADATA",
        "UPDATING_RETENTION",
        "METADATA_UPGRADE_PENDING",
        "UPGRADING_METADATA",
        "COMPLIANCE_LEVEL_UPDATE_PENDING",
        "UPDATING_COMPLIANCE_LEVEL",
        "COMPLIANCE_LEVEL_UPDATED",
        "REINDEXING",
        "RELOADED",
        "RESUBMITTING",
        "PACKAGE_REPLICATION_PENDING",
        "REPLICATING_PACKAGE",
        "TOMBSTONE_REPLICATION_PENDING",
        "REPLICATING_TOMBSTONE"
      ],
      "writeOnly": true
    },
    "smartRetention": {
      "type": "string",
      "description": "The retention duration in human-readable format of the package.",
      "readOnly": true
    },
    "_links": {
      "$ref": "#/$defs/Links"
    }
  },
  "$defs": {
    "DataFileChecksum": {
      "type": "object",
      "properties": {
        "checksum": {
          "type": "string"
        },
        "checksumAlgo": {
          "type": "string",
          "enum": [
            "CRC32",
            "MD5",
            "SHA-1",
            "SHA-256",
            "SHA-512"
          ]
        },
        "checksumOrigin": {
          "type": "string",
          "enum": [
            "DLCM",
            "DLCM_TOMBSTONE",
            "USER",
            "PORTAL"
          ]
        },
        "checksumType": {
          "type": "string",
          "enum": [
            "COMPLETE",
            "PARTIAL"
          ]
        },
        "creationTime": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "Tool": {
      "type": "object",
      "description": "Software tool information.",
      "properties": {
        "description": {
          "type": "string",
          "description": "The description of the tool."
        },
        "name": {
          "type": "string",
          "description": "The name of the tool."
        },
        "puid": {
          "type": "string",
          "description": "The PRONOM identifier of the tool."
        },
        "version": {
          "type": "string",
          "description": "The version of the tool."
        }
      }
    },
    "RepresentationInfo": {
      "type": "object",
      "description": "OAIS Information Package: SIP, AIP or DIP.",
      "properties": {
        "access": {
          "type": "string",
          "description": "The final access level of the package.",
          "enum": [
            "PUBLIC",
            "RESTRICTED",
            "CLOSED"
          ]
        },
        "dataSensitivity": {
          "type": "string",
          "description": "The data sensitivity of the package.",
          "enum": [
            "UNDEFINED",
            "BLUE",
            "GREEN",
            "YELLOW",
            "ORANGE",
            "RED",
            "CRIMSON"
          ]
        },
        "dataUsePolicy": {
          "type": "string",
          "description": "The data use policy type of the package.",
          "enum": [
            "NONE",
            "LICENSE",
            "CLICK_THROUGH_DUA",
            "SIGNED_DUA",
            "EXTERNAL_DUA"
          ]
        },
        "complianceLevel": {
          "type": "string",
          "description": "The compliance level of the package.",
          "enum": [
            "NOT_ASSESSED",
            "NO_COMPLIANCE",
            "WEAK_COMPLIANCE",
            "AVERAGE_COMPLIANCE",
            "FULL_COMPLIANCE"
          ]
        },
        "description": {
          "type": "string",
          "description": "The description of the package.",
          "maxLength": 1024,
          "minLength": 0
        },
        "embargo": {
          "$ref": "#/$defs/EmbargoInfo"
        },
        "licenseId": {
          "type": "string",
          "description": "The license identifier of the package."
        },
        "metadataVersion": {
          "type": "string",
          "description": "The metadata version of the package.",
          "enum": [
            "1.0",
            "1.1",
            "2.0",
            "2.1",
            "3.0",
            "3.1",
            "4.0",
            "5.0"
          ]
        },
        "name": {
          "type": "string",
          "description": "The name of the package.",
          "maxLength": 255,
          "minLength": 1
        },
        "organizationalUnitId": {
          "type": "string",
          "description": "The organizational Unit ID of the package.",
          "maxLength": 50,
          "minLength": 1
        },
        "status": {
          "type": "string",
          "description": "The status of the package.",
          "enum": [
            "CHECK_PENDING",
            "CHECKING",
            "CHECKED",
            "CLEANING",
            "CLEANED",
            "COMPLETED",
            "DOWNLOADING",
            "IN_PREPARATION",
            "IN_PROGRESS",
            "STORED",
            "INDEXING",
            "READY",
            "RETRIEVING",
            "RETRIEVING_PENDING",
            "IN_ERROR",
            "PRESERVATION_ERROR",
            "FIXITY_ERROR",
            "DISPOSABLE",
            "DISPOSAL_APPROVED_BY_ORGUNIT",
            "DISPOSAL_APPROVED",
            "DISPOSED",
            "FIX_PENDING",
            "FIXING",
            "METADATA_EDITION_PENDING",
            "EDITING_METADATA",
            "UPDATING_RETENTION",
            "METADATA_UPGRADE_PENDING",
            "UPGRADING_METADATA",
            "COMPLIANCE_LEVEL_UPDATE_PENDING",
            "UPDATING_COMPLIANCE_LEVEL",
            "COMPLIANCE_LEVEL_UPDATED",
            "REINDEXING",
            "RELOADED",
            "RESUBMITTING",
            "PACKAGE_REPLICATION_PENDING",
            "REPLICATING_PACKAGE",
            "TOMBSTONE_REPLICATION_PENDING",
            "REPLICATING_TOMBSTONE"
          ]
        },
        "statusMessage": {
          "type": "string",
          "description": "The detailed message related to the package status.",
          "maxLength": 1024,
          "minLength": 0
        },
        "containsUpdatedMetadata": {
          "type": "boolean",
          "description": "If the package contains updated metadata."
        },
        "contentStructurePublic": {
          "type": "boolean",
          "description": "If the archive structure content is public."
        },
        "accessCurrentlyPublic": {
          "type": "boolean",
          "description": "If the current access level is public"
        },
        "currentAccess": {
          "type": "string",
          "description": "The current access level of the package, deducted from the final access level and an eventual embargo.",
          "enum": [
            "PUBLIC",
            "RESTRICTED",
            "CLOSED"
          ],
          "readOnly": true
        }
      }
    },
    "ChecksumCheck": {
      "type": "object",
      "description": "Checksum verification information.",
      "properties": {
        "checkDate": {
          "type": "string",
          "format": "date-time",
          "description": "The execution date of checksum verification."
        },
        "checkingSucceed": {
          "type": "boolean",
          "description": "The execution result of checksum verification."
        }
      }
    },
    "EmbargoInfo": {
      "type": "object",
      "description": "Embargo information.",
      "properties": {
        "access": {
          "type": "string",
          "description": "The access level during the embargo.",
          "enum": [
            "PUBLIC",
            "RESTRICTED",
            "CLOSED"
          ]
        },
        "months": {
          "type": "integer",
          "format": "int32",
          "description": "The month number of the embargo duration."
        },
        "startDate": {
          "type": "string",
          "format": "date-time",
          "description": "The starting date of the embargo period."
        }
      }
    },
    "Link": {
      "type": "object",
      "properties": {
        "href": {
          "type": "string"
        },
        "hreflang": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "deprecation": {
          "type": "string"
        },
        "profile": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "templated": {
          "type": "boolean"
        }
      }
    },
    "ChangeInfo": {
      "type": "object",
      "description": "The change information of an action.",
      "properties": {
        "fullName": {
          "type": "string",
          "description": "The full name of the user who did the action on the resource.",
          "readOnly": true
        },
        "who": {
          "type": "string",
          "description": "The user who did the action on the resource.",
          "readOnly": true
        },
        "when": {
          "type": "string",
          "format": "date-time",
          "description": "The date when the action was done on the resources.",
          "readOnly": true
        }
      }
    },
    "VirusCheck": {
      "type": "object",
      "description": "Virus check information.",
      "properties": {
        "checkDate": {
          "type": "string",
          "format": "date-time",
          "description": "The execution date of the virus check."
        },
        "details": {
          "type": "string",
          "description": "The result details of the virus check."
        },
        "tool": {
          "$ref": "#/$defs/Tool",
          "description": "The virus check tool used to verify if the file contains virus."
        }
      }
    },
    "Links": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Link"
      }
    },
    "FileFormat": {
      "type": "object",
      "description": "File format informations.",
      "properties": {
        "contentType": {
          "type": "string",
          "description": "The content type of the file.",
          "maxLength": 100,
          "minLength": 0
        },
        "details": {
          "type": "string",
          "description": "The result details of the file format identification."
        },
        "format": {
          "type": "string",
          "description": "The format description of the file."
        },
        "md5": {
          "type": "string",
          "description": "The MD5 checksum of the file.",
          "maxLength": 256,
          "minLength": 0
        },
        "puid": {
          "type": "string",
          "description": "The format PRONOM identifier of the  file.",
          "maxLength": 20,
          "minLength": 0
        },
        "tool": {
          "$ref": "#/$defs/Tool",
          "description": "The format identification tool used to get the file format."
        },
        "version": {
          "type": "string",
          "description": "The format version of the file.",
          "maxLength": 50,
          "minLength": 0
        }
      }
    }
  }
}