Skip to main content

The external id of some time series contains special characters. Should they contain special characters, no, but that is not the issue here. As long as CDF allows special characters in their ID’s it should also have support for them in the rest of the system. When you press the copy button in Fusion you don’t get the special characters, and without those characters the ID is invalid and cannot be used. Hence the copy button does not actually copy the external ID, it alters it and that is an issue.

# The actual external ID
LIMS_Skarv_Analysis 9-ion analysis_SP 44-AP-0027 - DS - 2. STG\xa0SEP_Param Sulphate, SO42-_Unit mg/l

# Copied from Fusion UI
LIMS_Skarv_Analysis 9-ion analysis_SP 44-AP-0027 - DS - 2. STG SEP_Param Sulphate, SO42-_Unit mg/l

The fact that the external ids contain these characters to begin with is a different issue we are looking into.

@Markus Pettersen The \xa0 character is the Unicode representation for a non-breaking space (NBSP), which is different from a regular space (' ', Unicode U+0020). In text processing, this non-breaking space prevents automatic line breaks at its position.

I tried to recreate your issue using the API. However I’m not able to create a time series with the \xa0 character.

{
"error": {
"code": 400,
"message": "Incorrect json syntax at itemsa0].externalId"
}
}

When I tried to create it with the SDK, I was able to recreate your issue. This looks like a bug in the SDK. The SDK should show an error as the API when creating the time series with the \xa0 character. I’ll create a support ticket for this issue. The support team will reach out to you.


Got some feedback from the Cognite help desk, they’ve pointed out a discrepancy between how the Python SDK and the API handles these characters. In addition, I’ve looked into it on our end and we use CDF Transformations to both create the time series headers and to populate the data points. 

So the different parts of CDF handles this differently, the API throws an error (as it should), but the SDK and transformations allows it, and the Fusion UI does not support it. Ideally CDF would behave consistent regardless of the interface used.

As I read through the relevant Hub Post created by you, I can see that a discussion has already been started with the initial investigations showing that the issue is reproducible when creating Time Series with the \xa0 character using the SDK. However, using the same characters with the API produces an error due to such naming practices. Therefore, it is evident that there is a discrepancy in the behaviour.


So the different parts of CDF handles this differently, the API throws an error (as it should), but the SDK and transformations allows it, and the Fusion UI does not support it. Ideally CDF would behave consistent regardless of the interface used.

Yes, what you are saying is ture. CDF should behave consistent regardless of the interface used. We will escalate this to the enginnering team. Thank you for reporting this issue.


Reply