Export All: Methods and Formats

First goal for source control would be to get everything in text format.

Thought I’d start to document the state of affairs. Using looking at what comes down from @klincecum 's excellent ExportAllTheThings, here’s a start:

Anybody ideas how to get/put BAQs / BPM in text?

Looking at this, one starts to think about (de)compression, (de)serialization, how to persist repos on disk, etc, etc

Comments, Edits, welcome.


Kinetic Customizations

Export Methods n Formats

TYPE EXP METHOD COMPRESSION CONTENT FORMAT Serializer NOTES
BAQ DynQrySvc.ExportBaq ZIP baqName.baq binary need txt
FUNCTION ZIP libName.efxj jsonc (min) Deserialize (indent) contains C# code escaped
LAYER system ZIP Apps Content jsonc
LAYER custom ZIP Apps Content jsonc
LAYER pub/draft ZIP Layer Content jsonc
UDCodes ZIP AllCodes.json json
UDColumns ZIP DataTable_UD.json json
BPM DD ZIP NS.Object.bpm binary need txt - why not events.json fmt?
BPM MD ZIP NS.Object.bpm binary need txt - why not events.json fmt?

Refs:

MetaUI Content:

├── combo
├── default
├── Erp.UI.AppName
│   |   ├── dataviews.jsonc
│   |   ├── events.jsonc
│   |   ├── layout.jsonc
│   |   ├── patch.jsonc
│   |   ├── rules.jsonc
│   |   ├── strings.jsonc
│   |   └── tools.jsonc

Apps Content:

├── Apps
|   ├── Ice.UI.AppName
│   |   ├── dataviews.jsonc
│   |   ├── events.jsonc
│   |   ├── layout.jsonc
│   |   ├── patch.jsonc
│   |   ├── rules.jsonc
│   |   ├── strings.jsonc
│   |   └── tools.jsonc

Layers Content:

├── Layers
|   ├── Erp.UI.AppName
│   |   ├── LayerName.jsonc
1 Like

How timely. Stay tuned.

2 Likes

Looks like json input for Ice.BO.BAQDesignerSvc/Update method is a text representation sufficient for both creating new and updating existing.

Here’s a diff of update vs copy input:

Notes:

  • identical schema except
    • update wrapped in Parameters object
  • set QueryID
  • set RowMod = “A”
  • keeping guids is okay