Skip to content

[mapstore] change approach of tracking default config #240

@tkohr

Description

@tkohr

After some discussion and investigation (and browsing through issues from the past) I am wondering if we could not simplify the process of keeping up with default configurations for mapstore.

Of what I could identify, the main ups and downs of the currently "externalized" configs and patching the default configs shipped with the webapp are:

externalize patch
+ easier to read - harder to read
- difficult to update + easy to update
~ full control on deployed features ~ automatic deploy of new features

This makes me wonder if it would not make sense to switch from "externalizing" to "patching" in the georchestra datadir (at least for the two configs that are most impacted by new developments). This would allow staying automatically aligned with these developments.

To be more precise, I'm thinking of this:

  • remove localConfig.json and pluginsConfig.json from datadir
  • motivate and explain the use of patching these two configs (via localConfig.json.patch and pluginsConfig.json.patch) in the readme
  • mention the possibility to externalize these configs, but clarify what this means for updates in the readme (and point to the doc that already treats this)

I do not know the complete history of the mapstore datadir in georchestra and might be missing reasons, why certain files have been included. So please correct me.

Note: One potential drawback that I've noticed playing around with patching the localConfig.json is the technical limitation of targeting elements in an array other than by their position, which makes replacing plugins via a patch (without potentially breaking future configs) difficult for example.

Question: I saw that overriding is also a possibility, but had some trouble applying this in georchestra. Is it meant to work within mapstore2-georchestra, as well?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions