Skip to content

Import tourBrochure and tourDestinations compositions from Tailored Travel #116

Description

@deanleigh

First slice of the #110 alignment work, and the blocker for #109.

The test site has no non-text destination fields at all, so mapping a source file into a media picker (#109) or a web page into a content picker cannot be built or tested locally. Tailored Travel has both.

Tailored Travel's tailoredTour composes eight things. The test site is missing two:

contentGridTailoredTour
contentHeadingDefault
pageComponentTourDepartureDate
pageComponentTourDuration
pageComponentTourPrice
tourBrochure          <- MISSING
tourDestinations      <- MISSING
tourOrganisers        <- present, but named tourProperties (see below)

Part 1 — tourBrochure (straightforward)

Composition tourBrochure, key 3de8382c-d6cf-462f-ad91-cfb56ab56837
Property Brochure PDF (brochurePdf)
Editor Umbraco.MediaPicker3
Data type Tour Properties - Brochure PDF - Media Picker, key 77cc8285-0c15-4bed-8b20-80cf93d84543
Tab / group Tour Properties → Tour Brochure

Self-contained. One property, one data type, no compositions of its own, and the data type has no external dependencies. This is the one that unblocks #109.

Part 2 — tourDestinations (has a real dependency)

Composition tourDestinations
Property Destinations (destinations)
Editor Umbraco.MultiNodeTreePicker
Data type Tour - Destinations - Content Picker, key 590a9c54-08d5-4c91-aa96-4c473949d124
Tab / group Tour Properties → Tour Details

The data type is rooted at a specific content node:

"startNode": {
  "type": "content",
  "id": "a877f390-c2c0-45d6-ba35-f5bf3d707309",
  "dynamicRoot": { "originKey": "a877f390-...", "originAlias": "ByKey" }
}

That node is Destinations on Tailored Travel, of doctype destinations, with country pages (Austria, etc.) beneath it. The test site has neither the node nor the doctype, so importing the data type as-is gives a picker with a broken root.

Options, to be decided on the branch:

  • import the destinations doctype and enough content to give the picker something to point at
  • repoint the data type at an existing test site node
  • import tourBrochure only for now and defer this

Part 3 — two renames (same key, different alias)

Found while checking Part 1, see the correction comment on #110. Same shape of job as #111.

Test site Tailored Travel Shared key
tourProperties tourOrganisers 213494ec-2a92-4f94-9bec-f7128cb3e91c
featurePageOrganisers featureCtaContactOrganiser a00f052f-2581-4b24-a04e-a49db5a87615

Both are straight renames rather than structural differences. Worth doing alongside the imports so the test site does not converge on structure while drifting on naming.

Approach

Incremental, on one branch, discussed step by step. Each step is a separate commit, each verified in the running site before the next.

Suggested order:

  1. tourBrochure + its data type — unblocks Map the source file itself to a media picker field on the destination #109
  2. The two renames
  3. tourDestinations, once the root-node question is settled

Every step needs the site stopped, a uSync import, and a restart.

Blocks #109. Part of #110.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions