Do we already run update-fields.sh in the dev persona? As far as I can tell, we don't. We rely on the fact that schema.xml already has all the fields for the 6 metadata blocks we ship.
I'm asking because I'm thinking about loading the CodeMeta block in the "dev" persona. But it looks like I'll need to call update-fields.sh afterwards.
We already had a draft issue for this so I just converted it into a real one:
document updating metadata block (tsv) and Solr in Dockerized dev env #11004
It looks like @luddaniel talked about this back in April: https://docs.google.com/document/d/1toiFxJKGvrYMy9KrW9GZ4U6FLGhMaCipJ9ggtvZFwgc/edit?usp=sharing
Screenshot 2024-11-07 at 8.47.33β―AM.png
My use case it to enable the CodeMeta metadata block for testing in #11001.
Ah, the script is over at #dev > Run dataverse-external-vocab-support demo under docker (loading cvocdemo.tsv)
Hi @Philip Durbin π, as we have our own customized .tsv (like citation, I know bad practice) we regularly have the need to run the update-fields.sh script while testing/developing. For CVOC as an example.
Philip Durbin π said:
Ah, the script is over at #dev > Run dataverse-external-vocab-support demo under docker (loading
cvocdemo.tsv)
I still run parts of that procedure.
Right. I remember. And I even went back and watched part of the recording from April. :grinning:
I have configbaker saving schema.xml into /shared
But now I need to run update-fields.sh somehow.
Maybe I'm thinking about this wrong but I was hoping I could run a container after configbaker/bootstrap runs like this:
dev_solr_finisher:
container_name: "dev_solr_finisher"
image: gdcc/configbaker:unstable
depends_on:
- dev_bootstrap
restart: "no"
command:
- sh
- -c
- "cat /shared/schema.xml"
volumes:
- ./docker-dev-volumes/solr/data:/var/solr
- ./docker-dev-volumes/solr/conf:/solr-template
- ./docker-dev-volumes/shared:/shared
But this new "dev_solr_finisher" container doesn't wait for "dev_bootstrap". It runs right away and can't find /shared/schema.xml :thinking:
I think @Oliver Bertuch will have the correct idea.
In my mind I'm thinking about a "toolbox ready to be use", you give one .tsv and it updates everything. As you did for https://dataverse-guide--10940.org.readthedocs.build/en/10940/container/running/demo.html#multiple-languages
@JΓ©rΓ΄me Roucou I don't reminber, but you might have a .sh for this.
I was hoping this would work but it doesn't:
depends_on:
dev_bootstrap:
condition: service_completed_successfully
I end up with [**ERROR**] DOCKER> [gdcc/configbaker:unstable] "dev_bootstrap": Timeout after 10267 ms while waiting on exit code 0
Philip Durbin π said:
I was hoping this would work but it doesn't:
depends_on: dev_bootstrap: condition: service_completed_successfully
There is a something that wait for http://localhost:8080 to be started maybe you use the same idea.
condition: service_completed_successfully works fine here: https://github.com/IQSS/dataverse-frontend/pull/180/files
Waiting 3 minutes like this is dumb but it works and unblocks me :sweat_smile:
sleep 180 && cat /shared/schema.xml
Nice, I got something hacky working:
dev_solr_finisher> Β Β <copyField source="codeVersion" dest="_text_" maxChars="3000"/>
Ok, I got a proper solution working. I'm happy for feedback though: https://github.com/IQSS/dataverse/pull/11001/commits/5afad8e6ac390461d42603f56efa583e70d87421
Last updated: Oct 30 2025 at 05:14 UTC