Docs / Websites

Linked sites

Languages cover the same site in another language. Linked sites cover another site made from this one: the twelve dealer sites of a car brand, the country sites of a group, the white-label site each partner gets. This page explains the concept so you recognise when a project needs it; the mechanics have their own documentation.

The problem it solves

Imagine a car maker. There is one master site — the models, the configurator pages, the legal texts, the brand — and every national market gets a site of its own: the same structure, most of the same pages, but its own prices, its own dealers, a promotion that runs only there, and two of the models missing because they are not sold in that country. The markets are also in different languages, but that is the smaller difference; two markets can share a language and differ in everything else.

Copying the master once does not work: the master changes every week, and every change must reach every market that has not deliberately diverged on that page. Translating does not work either, because a translation cannot remove a page or change a price.

Blueprint and linked copies

A story can be a blueprint: a source that other stories are created from. A story created from it is a linked copy: it starts as a full copy of the blueprint’s tree, and stays linked — every node remembers which blueprint node it came from.

From then on three things can happen to a page in a linked copy:

  • It follows. The market never touched it. When the blueprint page changes, the change is rolled out to the copy. This is the default and covers most of the site.
  • It is detached. A local author edited it. The page now belongs to the market; blueprint changes to it are reported as available, not applied, and a local editor can pull them in or keep the local version. A detached page can be re-linked, which discards the local changes.
  • It is local. The market added a page the blueprint never had — a regional promotion, a dealer list. Nothing in the blueprint corresponds to it and nothing will ever overwrite it.

A page removed in the blueprint is removed in the copies that follow it and reported in the ones that detached. A page added to the blueprint appears in every copy, in its place in the tree.

Each linked copy is a story like any other: its own domain, its own embed rules, its own brand if the market has one, its own languages. The renderer does not know it is a copy; it reads a story.

Markets × languages

The two dimensions compose. A blueprint in English with German and French translations produces linked copies that carry the translations with them; a market can then add a language, translate a page it detached, or leave a language out. The blueprint owns the structure; each copy owns its deviations; each language owns its overlay.

When to use it

  • Several sites that share most of their structure and must keep receiving central changes: markets, dealers, franchisees, group companies.
  • Several brands on one structure, where the difference is the brand kit and a few pages.

Not for: a second language (a translation), a campaign with a different home page (a page variation), a section of one site served by another app (an embed rule).

What you set up

The blueprint is an ordinary story with a flag; linked copies are created from it in Studio’s Stories app, given a name, a domain and a brand, and appear as their own stories. Rolling out, reviewing a detached page’s pending changes and re-linking are actions on the story and on the page. The renderer needs nothing beyond what any story needs; a market’s site is one more deployment of the same code with another RAISIN_ROOT_PATH, or one deployment that resolves the story from the host.

Pilot documentation. Studio is in a partner pilot. Screens and YAML shown here are current as of the version noted on each page; tell your Maravilla contact when something does not match what you see.