Skip to main content
Version: 4.46.0

ToPX target connector

The ToPX connector creates import packages containing ToPX XMLs in a directory structured following the so-called sidecar structure. The supported ToPX version is 2.3.1. More information about ToPX and the sidecar structure can be found here: https://www.nationaalarchief.nl/archiveren/kennisbank/voorwaarden-export-naar-e-depot

Features

  • Generates ToPX XMLs of all aggregation levels (dutch: aggregatieniveau's) in a sidecar structure. These aggregation levels are:
    • Archief
    • Serie
    • Dossier
    • Record
    • Bestand

Note Currently, the connector allows most elements to be only used a maximum of 1 time, even when the XSD allows multiple occurrences. Furthermore, the following object kinds are supported: CONTAINER, RECORD and BINARY. Record versions are not yet supported.

Settings

mongoConnection

The Mongo connection string including the database name to connect to.

pathOutput

The directory the XML packages are created.

maxPackageFiles

The maximum number of objects of aggregation level "Bestand" in a package. By default, 95000 is recommended.

maxPackageSizeInMB

The maximum size in megabytes of all files in a package. By default, 9500 is recommended.

Model

The ToPX metadata is populated from the Content Store. Below we describe the schemas with an explanation of how the fields are translated to the ToPX fields.

For all but aggregation level "Bestand":

{
"migration" : {
"migrate" : true // REQUIRED | BOOLEAN | DESCRIPTION: Only objects where this value is set to 'true' will be part of the package
},
"target" : {
// All the Content Store required field and specifically for TopX the fields below
"id" : "text", // REQUIRED | STRING | DESCRIPTION: Sets "identificatiekenmerk" of the object
"parentIds" : [
"parentTest" // REQUIRED | STRING | DESCRIPTION: Not part of the generated XML (yet) but needed for the parent/child relationships
],
"name" : {
"displayName" : "Ruimtelijke ordening" // REQUIRED | STRING | DESCRIPTION: Sets "naam" of the object
},
"contentType" : {
"systemName" : "Archief|Serie|Dossier|Record|Bestand" // REQUIRED | STRING | DESCRIPTION: Sets "aggregatieniveau" of the object
},
"description" : "text" // OPTIONAL | STRING | DESCRIPTION: Sets "omschrijving" of the object
"language" : {
"systemName" : "dut" // OPTIONAL | STRING | DESCRIPTION: Sets "taal" of the object
},
"properties" : {
"plaats" : "/Sites/triplec/documentLibrary/Zaken/Ruimtelijke ordening", // OPTIONAL | STRING
"openbaarheid" : { // OPTIONAL | OBJECT
"omschrijvingBeperkingen" : "Beperkt openbaar", // REQUIRED | STRING
"datumOfPeriode" : { // REQUIRED
"type" : "periode", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : { // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
"begin" : { // OPTIONAL | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd"]
"waarde" : "2099" // OPTIONAL | STRING | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime"
},
"eind" : { // OPTIONAL | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd"]
"waarde" : "2099" // OPTIONAL | STRING | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime"
}
}
}
},
"relatie" : { // OPTIONAL | OBJECT
"relatieID" : "12345", // REQUIRED | STRING
"typeRelatie" : "Maakt deel uit van" // REQUIRED | STRING,
"datumOfPeriode" : { // OPTIONAL | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"dekking" : { // OPTIONAL | OBJECT
"begin" : { // OPTIONAL | OBJECT
"type" : "datumEnTijd", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd"]
"waarde" : "2018-10-25T07:35:00" // OPTIONAL | STRING | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime"
},
"eind" : { // OPTIONAL | OBJECT
"type" : "datum", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd"]
"waarde" : "2018-10-25" // OPTIONAL | STRING | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime"
},
"geografischGebied" : null // OPTIONAL | STRING
},
"externIdentificatiekenmerk" : { // OPTIONAL | OBJECT
"kenmerkSysteem" : "Bron", // OPTIONAL | STRING
"nummerBinnenSysteem" : "12345" // REQUIRED | STRING
},
"classificatie" : { // OPTIONAL | OBJECT
"code" : "text", // REQUIRED | STRING
"omschrijving" : "text", // REQUIRED | STRING
"bron" : "text", // REQUIRED | STRING
"datumOfPeriode" : { // REQUIRED | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"eventGeschiedenis" : { // OPTIONAL | OBJECT
"type" : "text", // REQUIRED | STRING
"beschrijving" : "text", // OPTIONAL | STRING
"verantwoordelijkeFunctionaris" : "text", // REQUIRED | STRING
"datumOfPeriode" : { // REQUIRED | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"eventPlan" : { // OPTIONAL | OBJECT
"type" : "text", // REQUIRED | STRING
"beschrijving" : "text", // OPTIONAL | STRING
"aanleiding" : "text", // OPTIONAL | STRING
"datumOfPeriode" : { // REQUIRED | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"eventPlan" : { // OPTIONAL | OBJECT
"type" : "text", // REQUIRED | STRING
"beschrijving" : "text", // OPTIONAL | STRING
"aanleiding" : "text", // OPTIONAL | STRING
"datumOfPeriode" : { // REQUIRED | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"context" : { // OPTIONAL | OBJECT
"actor" : { // OPTIONAL | OBJECT
"identificatiekenmerk" : "text", // REQUIRED | STRING
"aggregatieniveau" : "text",// OPTIONAL | STRING
"geautoriseerdeNaam" : "text", // REQUIRED | STRING
"plaats" : "text", // OPTIONAL | STRING
"jurisdictie" : "text" // OPTIONAL | STRING

},
"activiteit" : { // OPTIONAL | OBJECT
"identificatiekenmerk" : "text", // OPTIONAL | STRING
"aggregatieniveau" : "text",// OPTIONAL | STRING
"naam" : "text",// REQUIRED | STRING
}
},
"gebruiksrechten" : { // OPTIONAL | OBJECT
"omschrijvingVoorwaarden" : "text", // REQUIRED | STRING
"datumOfPeriode" : { // REQUIRED | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"vertrouwelijkheid" : { // OPTIONAL | OBJECT
"classificatieNiveau" : "text", // REQUIRED | STRING | OPTIONS: ["Niet vertrouwelijk", "Organisatievertrouwelijk", "Vertrouwelijk", "Geheim", "Zeer geheim"]
"datumOfPeriode" : { // REQUIRED | OBJECT
"type" : "jaar", // REQUIRED | STRING | OPTIONS: ["datum", "jaar", "datumEnTijd", "periode"]
"waarde" : "2099" // OPTIONAL | STRING or OBJECT | DESCRIPTION: value format depends on previously set type. In order: "xs:date", "xs:gYear", "xs:dateTime", OBJECT
}
},
"vorm" : { // OPTIONAL | OBJECT
"redactieGenre" : "text", // REQUIRED | STRING
"verschijningsvorm" : "text", // OPTIONAL | STRING
"structuur" : "text" // OPTIONAL | STRING
},
"integriteit" : "text", // OPTIONAL | STRING
"generiekeMetadata" : [ // OPTIONAL | LIST
"Zaaktype: B1667", // OPTIONAL | STRING
"Archiefdatum: 25-10-2018", // OPTIONAL | STRING
"Behandelaar: SYSTEM" // OPTIONAL | STRING
]
}
}
}

For aggregation level "Bestand" the same model applies, but the "vorm" property is REQUIRED and an additional property is required: "formaat". Furthermore, since some properties are not in the base model of BINARY, they need to be defined in the properties bag. Those are:

  • identificatiekenmerk
  • aggregatieniveau
  • naam
  • omschrijving
  • taal
{
"target" : {
"properties": {
"identificatiekenmerk" : "914880dc-f922-450e-afbd-0b0ce16fed09", // REQUIRED | STRING
"aggregatieniveau" : "Bestand", // REQUIRED | STRING
"naam" : "test.ext", // REQUIRED | STRING
"omschrijving" : "text", // OPTIONAL | STRING
"taal" : "dut", // OPTIONAL | STRING
"vorm" : { // REQUIRED | OBJECT
"redactieGenre" : "text", // REQUIRED | STRING
"verschijningsvorm" : "text", // OPTIONAL | STRING
"structuur" : "text" // OPTIONAL | STRING
},
"formaat" : { // REQUIRED | OBJECT
"identificatiekenmerk" : // REQUIRED | STRING | DESCRIPTION: This should match the name of the file provided in the package
"bestandsnaam" : { // REQUIRED | OBJECT
"naam" : "text", // REQUIRED | STRING | DESCRIPTION: Display name of file without extension
"extensie" : "ext" // OPTIONAL | STRING
},
"type" : "text", // OPTIONAL | STRING,
"omvang" : "123", // OPTIONAL | STRING | DESCRIPTION: Non-negative number
"bestandsformaat" : "text", // OPTIONAL | STRING,
"creatieapplicatie" : { // OPTIONAL | OBJECT
"naam" : "text", // OPTIONAL | STRING
"versie" : "1.0", // OPTIONAL | STRING
"datumAanmaak" : "2018-10-25" // OPTIONAL | STRING | DESCRIPTION: value format "xs:date"
},
"fysiekeIntegriteit" : { // OPTIONAL | OBJECT
"algoritme" : "SHA-256", // REQUIRED | STRING
"waarde" : "1.0", // REQUIRED | STRING
"datumEnTijd" : "2018-10-25T07:35:00" // REQUIRED | STRING | DESCRIPTION: value format "xs:dateTime"
},
"datumAanmaak" : "2018-10-25" // REQUIRED | STRING | DESCRIPTION: value format "xs:date" or "xs:dateTime"
}
}
}
}