A venue package does not round-trip. Exporting a configured venue and importing it back gives you the geometry and nothing else, silently: the zones, the default modes, the subsections and every configuration are gone, with no warning at export time and nothing in the manifest to show they were dropped.
What is lost
Section.map_element, so every clickable zone on the planSection.default_mode, so how each area is normally soldPlace.subsection, which is how part of an area is closed or pooled independently of the restPlace.weight- every
yoyaku_configurationandyoyaku_configuration_section, so every way of opening the hall: reduced capacity, a pooled parterre, a closed balcony
Where
VenueExporter::exportBand()writes only key, label, weight (plus color for a grade)VenueImporter::createBand()is called with an empty extra-field list for sections, so a manifest that carried those keys by hand would still be ignoredVenueExporter::exportPlaces()omits subsection and weight- nothing in
yoyaku_placement_iomentions configurations at all
Why it matters
The package is presented as a way to move a whole venue between sites and keep it in version control, and for the geometry it is exactly that. But a hall is only bookable once the sales setup exists, and that half is the part a person did by hand. Losing it on a restore is the worst possible time to find out.
Concretely: build a hall, set its zones and modes, add a reduced-capacity configuration, export, then import on another site. You get 1,422 seats you cannot sell the way you sold them, and nothing said so.
Options
Not obvious which is right, hence no patch yet.
- Carry the missing fields and the configurations in the manifest, bumping the package version. Complete, and makes the format the backup it looks like.
- Carry the section and place fields only, and leave configurations out on the grounds that they are event policy rather than venue layout. Cheaper, and still fixes the silent part for zones and modes.
- Carry nothing more, but say so: document the boundary and have the export command report what it did not write.
My preference is the second plus the third: zones, default modes and subsections belong to the layout and should travel with it, while configurations are arguably a separate export, and either way the command should not stay quiet about the gap.
Whatever is chosen, the format is pre-1.0 and reinstall is the upgrade path, so there is no migration to carry.
Found while writing #3614221: Document how to build a venue map, from the artwork to the places, which documents the current boundary so nobody builds a restore plan on it.
Issue fork yoyaku-3614227
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
mably commented