Configuration
Config inheritance
Fifty maps across an organisation should not repeat the same three basemaps fifty times. One shared base config holds the house standard; each map only writes down what makes it different.
What you see: three basemaps, the home button, the legend position and the share link all come from the organisation base file. This map itself only declares one layer, a view and its own accent colour.
The map config
Short, because it inherits:
The shared base
Maintained once, centrally, and reused by every map in the organisation:
Merge rules
- Objects merge recursively — the child's
theme.primarywins, the base'stheme.radiussurvives - Arrays replace as a whole — a layer list is an ordered statement, not a set to merge
- Chains up to three levels deep (global → department → map), with cycle detection
- Relative
extendsURLs resolve against the config file that declares them
Why arrays replace
Merging layer arrays sounds convenient until you try to remove an inherited layer, reorder
two of them, or explain to an editor why layer three appeared out of nowhere. Replacing is
predictable; where sharing pays off — basemaps, theming, control defaults — it is exactly
what you want anyway.