University of Geneva · Schema
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 |
JSON Schema
{
"$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
}
}
}
}
}