Update some error messages of the Transfer service
As an outcome of the error messages' review done in #3,
The transfer service localization file (DotStat.Config/config/localization.json) should include the following list of updates,
So that end-users are provided with more meaningful information of failure and potential way forwards.
Keys & Translated values in English
"UnknownAttributeAttachmentLevel": "Unknown attribute attachment level at attribute {0}: {1}"
Proposal for the end-user
The attribute attachment level {1} defined for attribute {0} in the data structure {2} is unknown. Currently only the following attachment levels are supported: dataset, dimension group, group, observation.
"AttributeInvalidDbId": "Attribute [{0}] has invalid DB Id: {1}"
Proposal for the end-user
There is a synchronisation issue between the structure and data database concerning the attribute {0} (which has an invalid internal ID {1}). Please (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"CodelistInvalidDbId": "Codelist [{0}] has invalid DB Id: {1}"
Proposal for the end-user
There is a synchronisation issue between the structure and data database concerning the codelist {0} (which has an invalid internal ID {1}). Please (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"DimensionInvalidDbId": "Dimension [{0}] has invalid DB Id: {1}"
Proposal for the end-user
There is a synchronisation issue between the structure and data database concerning the dimension {0} (which has an invalid internal ID {1}). Please (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"NoDSDMappedComponent": "No DSD mapped to component"
Proposal for the end-user
Could not find the data structure for the component {0}. Check the definition of the related data structure and correct it if necessary. For that use the Transfer service method '/cleanup/dsd' to remove the related data database content and its method '/init/dataflow' to reinitialise the data database content with the corrected data structures. If the problem persists then contact your system administrator.
"MultipleValuesForDatasetAttribute": "Multiple values ({0} vs {1}) for the same Dataset attribute {2}"
Proposal for the end-user
Multiple contradictory values (e.g. {0} and {1}) have been provided for the attribute {2} that is attached at dataset-level. Only the first value will be taken into account.
"MultipleValuesForDimensionGroupAttribute": "Multiple values ({0} vs {1}) for the same Dimension/Group attribute {2}"
Proposal for the end-user
Multiple contradictory values (e.g. {0} and {1}) have been provided for the attribute {2} that is attached at dimension-group-level. Only the first value will be taken into account.
==> Key doesn't exist anymore. Was replaced with "MultipleValuesForDimGroupAttributeInDatabase" and "MultipleValuesForDimGroupAttributeInStaging".
"MissingDsdForAttribute": "The DSD referenced by the attribute {0} was not found."
Proposal for the end-user
Could not find the data structure for the attribute {0}. Please (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"MissingGroupForAttribute": "The Group ({attribute.AttachmentGroup}) is missing in the attribute {attribute.GetFullIdPath(true)}"
Proposal for the end-user
Could not find the group {0} defined as attachment for the attribute {1}. Check the definition of the related data structure and correct it if necessary. For that use the Transfer service method '/cleanup/dsd' to remove the related data database content and its method '/init/dataflow' to reinitialise the data database content with the corrected data structures. If the problem persists then contact your system administrator.
"NotASqlManagementRepository": "Management repository is not a SqlManagementRepository in SqlAttributeRepository.GetManagementRepository."
Proposal for the end-user
The connection string for the data database doesn't correspond to a valid MS SQL Server management repository. Please contact your system administrator.
"CopyWithMultipleDbCredentials": "Copy to one database to other with different user credentials is not yet supported ([{0}] -> [{1}])"
Proposal for the end-user
Transfer of data between different data spaces ({0} -> {1}) using different user credentials is not yet supported. This is a placeholder error that is currently not supposed to occur. Please contact your system administrator to inform the maintainers of the source code about this error mentioning the error code 'CopyWithMultipleDbCredentials'.
"UnknownComponentType": "Unknown component type"
Proposal for the end-user
The type of the component {0} is unknown. Currently only the following component types are supported: dimension, (primary) measure and attribute.
"ComponentNotFound": "Component not found in Management DB: {0}, DSD: {1}"
-> this happens when the component (dimension or attribute) is not defined in the data database. The user may have updated the structure DSD but this has not been updated in the data database (Init option may solve this issue)
Note: Management DB is the data database.
Proposal for the end-user
The component {0} of the data structure {1} could not be found in the data database. You may have updated the data structure but this has not been reflected in the data database. Please (re-)initialise the data database content for all related dataflows using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"DsdNotInitialized": "DSD {0} not initialized but skipped at dataflow [{1}]"
->The DSD has not been initialised in the data database; Init option may solve this issue for the dataflow.
Proposal for the end-user
The data structure {0} could not be found in the data database. Please (re-)initialise the data database content for the dataflow {1} using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"ArtefactTypeNotRecognized": "Artefact type not recognized {0}"
-> This happens when importing or copying artefact. The type {0} of the artefact {fullId} is not supported.
Proposal for the end-user
The type {0} of the artefact {1} is unknown. Only the following artefact types are supported: dataflow, data structure and codelist.
"NoDimensionFound": "No dimension found with code {0}"
-> This happens when attribute references a dimension which is not part of the defined referenced dimensions set.
Proposal for the end-user
Data structure {1} doesn't contain a dimension {0} listed in the (dimension) group that is defined as attachment for the attribute {2}. Check the definition of the related data structure and correct it if necessary. For that use the Transfer service method '/cleanup/dsd' to remove the related data database content and its method '/init/dataflow' to reinitialise the data database content with the corrected data structures. If the problem persists then contact your system administrator.
"NoDimensionFoundInManagementDb": "Dimension not found in management db: {0}"
-> This happens when the dimension {0} is not found in the data database. To solve it, use init option with the dataflow Id available in the mail.
Proposal for the end-user
The dimension {0} listed in the (dimension) group that is defined as attachment for the attribute {2} in the data structure {1}, was not found in the data database. Please (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"IncorrectArtefactType": "Incorrect artefact type"
-> This happens when the system tries to get the data from an artefact, the artefact type should be a dataflow.
Proposal for the end-user
The artefact {0}:{1}({2}) in the data database was not of the expected 'dataflow' type, maybe due a synchronisation issue between the structure and data definitions. In this case (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"DsdNotSet": "DSD for DF not set"
-> This happens when the system tries to get the data from a dataflow, but the it has no linked DSD.
The dataflow {0}:{1}({2}) in the data database isn't linked to a data structure, probably due a synchronisation issue between the structure and data definitions. Please (re-)initialise the data database content using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"ArtefactNotFoundInManagementDb": "Artefact not found in Management DB: {0}:{1}({2}), Type: {3}"
Proposal for the end-user
The artefact {0}:{1}({2}) of type {3} was not found in the data database. Verify that the artefact has been defined in the system. If not, create the artefact in the system or correct your request. Otherwise there is a synchronisation issue between the structure and data definitions. In this case please (re-)initialise the data database content using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"EmptyCodelist": "Codelist is empty"
-> This happens when the system tries to return the codelist from the data database
Proposal for the end-user
There is a synchronisation issue between the structure and data definitions (empty codelist in the data database). Please (re-)initialise the data database content for the underlying dataflow using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"DsdNotFound": "DSD: {dsd.AgencyId}:{dsd.Code}:{dsd.Version} not found in the dissemination database"
-> This can happen in 2 places. The system is trying to read the internal information of the DSD from the data database but the DSD is not found in the data database
- This happens when there is no synchronisation between MappingStore (structure database) and Data database.
- This issue happens when trying the mappingset initialisation
=> use the init option
remark: dissemination and Management db correspond now to the Data database
Proposal for the end-user
The data structure {0}:{1}({2}) was not found in the data database. Please (re-)initialise the data database content for the underlying dataflows using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"DataflowParameterWithoutDsd": "Dataflow parameter [{0}] has no dsd"
-> This happens in different places. An object defining the dataflow has no DSD as reference in the structure database.
Proposal for the end-user
The dataflow {0} in the data database isn't linked to a data structure, probably due a synchronisation issue between the structure and data database. Please (re-)initialise the data database content using the Transfer service method '/init/dataflow'. If the problem persists then contact your system administrator.
"NoLiveOrPITVersion": "This DSD/Dataflow does not have defined a Live nor a Point in Time version of the data."
-> This happens when the dataflow has no data, no data upload done before the user wants to do a rollback or restore of the PIT.
Proposal for the end-user
The data structure {0} does currently not have a Live and Point-in-time versions of the data. Rolling back a Point-in-time version or restoring a previous Live version are only possible after the corresponding data versions have been uploaded.
"NonExistingPITVersion": "This DSD/Dataflow does not have defined a Point In Time version of the data"
Proposal for the end-user
The data structure {0} does currently not have a future Point-in-time data version. Note that rolling back a Point-in-time version will only be possible after such a version has been uploaded and scheduled at a future point in time.
"NonExistingLiveVersion": "This DSD/Dataflow does not have defined a Live version of the data"
Proposal for the end-user
The data structure {0} does currently not have a (previous) Live version of the data. Note that restoring a previous Live version will only be possible after such a version has been uploaded and replaced subsequently by a Point-in-time release.
"PITReleased": "The Point In Time version for this DSD/Dataflow was already released"
Proposal for the end-user
The Point-in-time data version for the data structure {0} has already been released. Note that rolling back a Point-in-time version is only be possible before the point in time of release.
"PITNotReleased": "The Point In Time version for this DSD/Dataflow has not yet been released"
-> This happens when the user wants to restore a dataflow while there is not yet a PIT version released
Proposal for the end-user
The Point-in-time data version for the data structure {0} has not yet been released. Note that restoring a previous Live version will only be possible after the point in time of release.
"NoRestoringVersion": "This DSD/Dataflow does not have defined a restoration version"
-> This happens when the user wants to restore a version which has no copy to be restored.
Proposal for the end-user
The data structure {0} does not have the previous Live version of the data (anymore). Note that restoring a previous Live version will only be possible if such a version was indicated to be kept when it was replaced by a Point-in-time release.
"MismatchTargetVersion": "The target data version of parameter DSD is not equal to data version in the transaction: {0} != {1}"
-> This happens when an internal check is done after an import. The DSD information on the PiT r Live version. Two transactions are done at the same time. So one of them is process first so the PIT or LIve version changed and the information of the second transaction is not anymore up to date. {0} and{1} represent PiT or Live version
Proposal for the end-user
Due to a concurrent Point-in-time data update request, the originally targeted database table version ({0}) is not available anymore (since the to be targeted database table version is now {1}), thus this request needed to be cancelled. Resubmit the request after making sure that there are no other concurrent Point-in-time data update requests.
"CodelistNotDefined": "The codelist has not been defined."
-> Generic message. This happens in many cases when trying to retrieve the codelist information of coded attribute or coded dimension but this information is missing. The construction of the DSD was not properly defined in the mappingStore.
Proposal for the end-user
Could not find the underlying codelist in the structure database when looking up the value '{0}'. Check the definition of the related data structure and correct it if necessary. For that use the Transfer service method '/cleanup/dsd' to remove the related data database content and its method '/init/dataflow' to reinitialise the data database content with the corrected data structures.
"WrongSdmxVersionFormat": "The Sdmx version has a wrong format {version}"
-> This happens when the version part of the triplet is not well formatted: number.number or number.number.number (major.minor.patch). This can happen for all the SDMX artefacts\objects.
Proposal for the end-user
The version format of the artefact {0} is incorrect. The version format required is either 'number', 'number.number' or 'number.number.number' where each 'number' represents the major, minor or respectively patch version number.
"NotASdmxVersionObject": "Object is not SdmxVersion."
-> This happens when no version is given.
Proposal for the end-user
The version format for one of the artefacts is incorrect. The version format required is either 'number', 'number.number' or 'number.number.number' where each 'number' represents the major, minor or respectively patch version number.