Make Croissant built-in to Dataverse (no longer an external exporter)#12130
Make Croissant built-in to Dataverse (no longer an external exporter)#12130
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
1 similar comment
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
📦 Pushed preview images as 🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name. |
| * Instead of Croissant, use the legacy format (Schema.org JSON-LD) in the head | ||
| * of dataset landing pages. By default this is false. | ||
| */ | ||
| LEGACY_FORMAT_IN_HEAD("legacy-format-in-head"), |
There was a problem hiding this comment.
I'm conflicted about this flag. I'm not questioning the existence itself, but its semantics. Shouldn't the Croissant in the header be the experimental thing instead of (silently as in "read the docs") replacing the old behavior?
There was a problem hiding this comment.
Well, people have been able to opt-in to having Croissant in the head since 6.2, which came out in September 2024, thanks to this PR:
Now, in this PR, which will hopefully land in 6.10, we're saying Croissant is stable enough and recommended enough to be the default.
@poikilotherm let me turn it around. How much time is enough? If not March 2026 and 6.10, when?
There was a problem hiding this comment.
I wasn't aware that we had this available for so long! Let me rephrase: lets make it a configuration then, not a feature flag. Feature flags were once reserved for defining experimental, newly added things you'd opt in to. Keeping the old header is neither new nor experimental, so a configuration option in dataverse.ui.x (or similar existing scope) would be a good fit, wouldn't it?
There was a problem hiding this comment.
Sure! I even started trying to come up with a name as a configuration option but wasn't sure where it fix. Do you have any suggestions for me? 😅
What this PR does / why we need it:
For users, Croissant is increasingly popular and less experimental so it makes sense to enable support for it out of the box in Dataverse, which is what #11254 is about.
For developers, a series of planned changes to Croissant means that it will be easier to maintain the code as part of the core rather than as an external exporter. Once this pull request is merged, it would make sense to work on the following issues in the order below:
Which issue(s) this PR closes:
Special notes for your reviewer:
The code is equivalent to version 0.1.6 of the external exporter.
In the external code, I was using Spotless to format the code. I'm keeping this (adding Spotless) but limiting it to Croissant classes for now. I'm very interested in our team programmatically formatting code in the backend, like we do in the frontend. I don't mind if we use a different command-line tool. Spotless could be considered a starting point.
Suggestions on how to test this:
Confirm the new feature flag is working.
Does this PR introduce a user interface change? If mockups are available, please link/include them here:
Yes, Croissant now appears out of the box:
Is there a release notes update needed for this change?:
Yes, included.
Additional documentation:
A good entry point for previewing doc changes: https://dataverse-guide--12130.org.readthedocs.build/en/12130/admin/discoverability.html#croissant-metadata-in-the-head-of-dataset-landing-pages