Hi Dataverse Community,
I'm returning to an issue I thought was resolved, but it isn't. I'm trying to use the "Editing Variable Level Metadata" feature to address some demands related to variable and category descriptions, but without success. Therefore, I need to report what I've done and what isn't working as it should, possibly because something is still not properly clarified.
When we were discussing "Ingest Solutions," one of the options was precisely "Editing Variable Level Metadata," but during the conversation we discovered that this isn't a solution for ingest, although it does have its uses. And limitations!
The following example is real...
I have a CSV file that went through the ingest process and is now a tabular file, but not all the information is correct. The variable descriptions are one of these errors. How can I resolve this?
I downloaded the DDI v2 Codebook for the file I need to change, edited the information that needed updating, and uploaded the file back to Dataverse (
https://guides.dataverse.org/en/6.7.1/api/native-api.html#editing-variable-level-metadata). The file structure is as follows:
<dataDscr>
<var ID="v5385" name="CO_ENTIDADE" intrvl="discrete">
<location fileid="f148"/>
<labl level="variable">Código da Escola</labl>
</dataDscr>
The CodeBook file has been successfully updated: {"status":"OK","data":{"message":"Updated"}}
However, if I make another change to another variable, the previous operation is lost. Hypothetically, but proven, if I change one hundred variables in one operation and then perform the update of only one, all the work on the other one hundred variables is lost, because Dataverse relies on the original file to execute the changes (correct me if I'm wrong). All one hundred variables return to their previous state, the same as the original file...
Another issue, I can't add Categories to the variables in any way, even using the CodeBook DDI v2 structure:
<dataDscr>
<var ID="v5259" name="TP_DEPENDENCIA">
<location fileid="f148"/>
<catgry>
<catValu>1</catValu>
<labl level="category">Federal</labl>
</catgry>
<catgry>
<catValu>2</catValu>
<labl level="category">Estadual</labl>
</catgry>
<catgry>
<catValu>3</catValu>
<labl level="category">Municipal</labl>
</catgry>
<catgry>
<catValu>4</catValu>
<labl level="category">Privada</labl>
</catgry>
<varFormat type="numeric"/>
</var>
</dataDscr>
The above structure returns: {"status":"OK","data":{"message":"Nothing to update"}. Is this possibly because the variable wasn't initially recognized as a Category type?
The main issue is that this is a very useful API tool, but not everything is working as it should.
I would appreciate any help with this issue.