Archive an object on a Member Node or Coordinating Node, which hides it from casual searches.
Archive an object on a Member Node or Coordinating Node, which hides it from casual searches.
This method provides the ability to archive a data or metadata object on the Member Node provided in the 'mnode' parameter. Archiving removes the object from DataONE search functions, thereby making it more difficult to find without completely removing the object. Archive is intended for objects that should not be used by current researchers, but for which there is a desire to maintain a historical record, such as when journal articles might cite the object. Users can still obtain the contents of archived objects if they have the identifier, but will not discover it through searches.
archive(x,...)## S4 method for signature 'D1Node'archive(x, pid)
Arguments
x: The MNode or CNode instance on which the object will be created
...: (Not yet used)
pid: The identifier of the object to be created
Returns
The pid that was archived if successful, otherwise NULL
Details
This operation requires an X.509 certificate to be present in the default location of the file system. This certificate provides authentication credentials from CILogon https://cilogon.org/?skin=DataONE. See CertificateManager for details. For DataONE Version 2.0, an authentication token can also be used for authentication. Also, administrator privilege is required to run archive() on a DataONE Coordinating Node.
Examples
## Not run:library(dataone)library(uuid)library(digest)library(datapack)# First create a new objectcn <- CNode("STAGING")mn <- getMNode(cn,"urn:node:mnStageUCSB2")testdf <- data.frame(x=1:10,y=11:20)csvfile <- paste(tempfile(),".csv", sep="")write.csv(testdf, csvfile, row.names=FALSE)\dontrun{newid <- generateIdentifier(mn,"UUID")}# Create an identifier manuallynewid <- paste("urn:uuid:", UUIDgenerate(), sep="")format <-"text/csv"size <- file.info(csvfile)$size
sha256 <- digest(csvfile, algo="sha256", serialize=FALSE, file=TRUE)sysmeta <- new("SystemMetadata", identifier=newid, formatId=format, size=size, checksum=sha256)sysmeta <- addAccessRule(sysmeta,"public","read")# Create (upload) the object to DataONE (requires authentication)\dontrun{create(mn, newid, csvfile, sysmeta)# Now for demonstration purposes, archive the object# Archive the object (requires authentication)archivedId <- archive(mn, newid)}## End(Not run)