Fra XML til JSON: databasedefinitioner i indstillinger*

Gå til hollandsk version

Fra og med version 27.0 læser Invantive UniversalSQL databasedefinitioner fra settings*.json i stedet for settings*.xml. Eksisterende XML-filer migreres automatisk.

Støtte til XML-formatet er ikke længere tilgængelig fra Invantive UniversalSQL version 28.0 (planlagt til at blive frigivet omkring starten af 2028).

Hvorfor

XML-formatet stammer fra 2009 og har to problemer, som et formatskifte løser.

  • Værktøjer: læsning eller generering af en indstilling kræver XPath og/eller XSLT. Dog parser de fleste sprog JSON uden yderligere biblioteker. Generering af en indstillingsfil pr. kunde eller pr. miljø bliver en teksttemplatingøvelse snarere end en XML-en.
  • Forældede elementer: XML-formatet har en masse historie med hensyn til databasetilslutningskoncepter. Mange elementer understøttes ikke længere eller er irrelevante. JSON-formatet bruger de nuværende koncepter, så det, du læser, er, hvad udtrykket betyder.

Format

settings*.json-formatet ligner stærkt XML-formatet. De vigtigste ændringer er:

  • <connection> kaldes database (ental) eller databases (flertal).
  • <database> kaldes dataContainer (ental) eller dataContainers (flertal).

For eksempel:

{ "version": "5"
, "groups":
  [ { "name": "ACME"
    , "sortingOrder": 100
    , "databases":
      [ { "name": "acme-eol"
        , "shortDescription": "Exact Online"
        , "sortingOrder": 10
        , "authentication": "Default"
        , "dataContainers":
          [ { "kind": "dataContainer"
            , "provider": "ExactOnlineAll"
            , "alias": "eol"
            , "order": 10
            , "connectionString": "..."
            }
          ]
        }
      ]
    }
  ]
}

Kommentarer og efterfølgende kommaer tolereres, når en fil læses. Kommentarer og efterfølgende kommaer forsvinder, hvis et produkt omskriver settings*json-filen.

Migration

Der er gjort en indsats for at gøre migreringen så let som mulig.

Første gang en version 27.0-produkt læser en settings*.xml-fil, for hvilken der ikke findes en identisk navngivet .json-fil, oprettes den funktionelt identiske JSON-fil ved siden af den. XML-filen efterlades uændret. Forældede egenskaber ignoreres.

Filer produceret ved automatisk opdagelse (settings-discovery*.xml) migreres aldrig, da de er forbundet med en specifik større version.

Hvilket Format Bruges

Version Adfærd
26.0 og tidligere settings*.xml bruges; en settings*.json-fil ignoreres.
26.1 (BETA af 27.0) settings*.json bruges; en identisk navngivet settings*.xml ignoreres og bruges til at oprette JSON-varianten.
27.0 settings*.json bruges; en identisk navngivet settings*.xml ignoreres og bruges til at oprette JSON-varianten.
28.0 settings*.json bruges; XML-formatet understøttes ikke længere eller bruges til at oprette JSON-varianten.

Når et miljø kun bruger version 27.0 eller nyere, kan alle settings*.xml-filer sikker fjernes, når JSON-formatfilen eksisterer.