RSLog Documentation

RSLog DataTemplate Format v1

File format: JSON (.json extension) | Current version: 1.0.0


Table of Contents

  1. Overview
  2. Top-Level Structure
  3. Properties
  4. Data (Settings)
  5. Lists
  6. Guidance for Third-Party Integration
  7. Version History

Related document: RSLog JSON Export Format


Overview

A DataTemplate defines the reference data, classification systems, field test types, descriptors, and formatting rules available to projects in RSLog. It acts as a standardized configuration that governs what options users see during data entry and how descriptions and reports are generated.

DataTemplates are intended to be published infrequently and shared across organizations or accounts. A department of transportation, for example, might publish a single DataTemplate that all of its consultants import, ensuring consistent terminology, classification tables, and report formatting across every project.

This document describes the JSON structure of a DataTemplate file. It is meant to be used alongside the RSLog JSON Export Format, which documents the project data that references these template definitions.

How the two file types relate: The DataTemplate defines the vocabulary -- which sample types, drill methods, classification terms, descriptors, and other reference data are available. The project JSON (documented in the RSLog JSON Export Format) contains the actual borehole data -- samples, stratigraphy layers, field tests, and so on. Many fields in the project JSON are lookup fields whose values must match entries defined in the DataTemplate. For example, a stratigraphy layer's MoistureDescriptor must be a descriptor value from the DataTemplate's moistureDescriptor list, and a sample's TypeName must match a title in the DataTemplate's sampleType list. See How DataTemplate Lists Map to Project Data for the full mapping.


Top-Level Structure

A DataTemplate file contains three root objects:

{
  "properties": { ... },
  "data": [ ... ],
  "lists": { ... }
}
Section Purpose
properties File metadata -- version, name, author, timestamps, identifiers
data Application settings that control data-entry defaults, description compiler behavior, and report formatting
lists Reference lists (lookup tables) used by the template -- classifications, test types, drill methods, descriptors, etc.

JSON naming convention: All keys in a DataTemplate file use camelCase (e.g. fileVersion, soilClassification, fieldTestType). This differs from the RSLog JSON Export Format, which uses PascalCase.


Properties

Metadata about the template file itself.

{
  "properties": {
    "fileVersion": "1.0.0",
    "fileType": "RSLog Data Template",
    "exportedBy": "Jane Smith",
    "dateCreated": "2026-03-11T17:28:04.861391Z",
    "lastTimeModified": null,
    "id": "b024968e-6b33-703f-8709-3a1feb20a250",
    "tenantId": null,
    "name": "My Organization Template",
    "isReadOnly": false
  }
}
Field Type Required Description
fileVersion string Yes Semantic version (e.g. "1.0.0"). Must not exceed the version supported by the target RSLog instance.
fileType string Yes Always "RSLog Data Template".
exportedBy string No Name of the user who exported the file. Informational only.
dateCreated DateTime No UTC timestamp when the file was created.
lastTimeModified DateTime? No UTC timestamp of the last modification to the source template. May be null.
id GUID Yes Unique identifier for the template. Use a new v4 UUID when creating a template from scratch.
tenantId GUID? No System-managed account identifier. Set to null for externally authored files.
name string Yes Human-readable template name (e.g. "Caltrans Template").
isReadOnly bool No If true, the template cannot be edited after import. Defaults to false.

Version Compatibility

RSLog validates the fileVersion on import:


Data (Settings)

The data array contains application-level settings as simple key/value pairs:

{
  "data": [
    { "name": "App.DateFormat", "value": "yyyy-MM-dd" },
    { "name": "App.DataEntry.SampleType", "value": "SPT Split Spoon" },
    ...
  ]
}

Each entry has a name (the setting key) and a value (always a string, even for booleans and numbers). Settings are organized by prefix.

App.DateFormat

Setting Description Example
App.DateFormat Date display format used throughout the application "yyyy-MM-dd"

App.DataEntry -- Data-Entry Defaults

These settings control default selections and behavior during borehole data entry.

Setting Description Example
App.DataEntry.LineBreak Character used for line breaks in description text "#"
App.DataEntry.SampleType Default sample type (by title) "SPT Split Spoon"
App.DataEntry.TestType Default field test type (by title) "Standard Penetration Test (SPT)"
App.DataEntry.DrillMethod Default drilling method (by title) "Auger (Hollow-Stem)"
App.DataEntry.Refusal Blow count threshold that constitutes refusal "50"
App.DataEntry.RefusalText Text displayed when refusal is reached "REF"
App.DataEntry.WHText Text for "weight of hammer" condition "WH"
App.DataEntry.WRText Text for "weight of rods" condition "WR"
App.DataEntry.SptTextAlign SPT text alignment (1 = left, 2 = center, 3 = right) "2"
App.DataEntry.SptGraphAlign SPT graph alignment "2"
App.DataEntry.SptNValueAutoCalculate1 through 6 Interval assignment for each SPT blow-count field "1", "2", "3"
App.DataEntry.SptNValueAutoCalculate1Enabled Whether auto-calculation is enabled for the first SPT interval "True"
App.DataEntry.StartNotes Default text inserted at the start of a borehole log "Ground Surface"
App.DataEntry.TerminationNotes Default termination note. Supports {depth} placeholder. "Bottom of borehole at {depth} bgs."
App.DataEntry.DefaultStrataLineType GUID of the default strata boundary line style GUID string
App.DataEntry.AutomaticallyBoringMethod Auto-populate boring method on new strata "True"
App.DataEntry.ShowAS1726SoilTypes Show AS 1726 soil types during data entry "False"
DataEntry.AutomaticallyGenerateSPTSample Auto-generate an SPT sample when an SPT test is added "True"
DataEntry.SyncSPTSampleWithFieldTest Keep SPT sample depths in sync with the field test "True"
DataEntry.SPTBlowCountSource Which value to use as the blow count source ("NValue") "NValue"

App.Compiler -- Description Compiler

These settings define how soil and rock descriptions are automatically assembled from classification data. The compiler templates are themselves JSON strings embedded as values.

Setting Description
App.Compiler.SoilJson Soil description template (JSON string). Defines the order and formatting of description components.
App.Compiler.RockJson Rock description template (JSON string). Same structure as the soil template.
App.Compiler.SoilOptions Soil compiler formatting options (JSON string).
App.Compiler.RockOptions Rock compiler formatting options (JSON string).

Compiler template structure: Each template is a JSON object with a data array of description elements and an options object. Each element in data represents a field that may appear in the compiled description:

{
  "name": "GroupName",
  "type": "dynamic",
  "bold": "false",
  "italic": "false",
  "underline": "false",
  "uppercase": "false",
  "beforeText": "",
  "afterText": "",
  "value": "Group Name *",
  "colorClass": "orange"
}

Elements with "type": "space" insert whitespace between fields. The value field is a display label used in the editor; actual data is populated at compile time from the borehole's classification data.

Compiler options:

Option Description
alignment Text alignment ("left", "center", "right")
isRemoveExtraSpace Remove redundant whitespace from the compiled output
isLowercase Convert the output to lowercase (except where overridden)
isRemovePunctuation Strip trailing punctuation from empty fields
isSoiltypesUppercase Render soil group names in uppercase
isRockTypesUppercase Render rock type names in uppercase
isInterimGroupNameMajorType Use the major soil type as the interim group name for interbedded strata
addFillText Append fill indicator text when the stratum is classified as fill
fillText The fill indicator text (e.g. "(FILL)")
soilComponentOrdering Controls the ordering of secondary soil components in the description

Refer to the RSLog JSON Export Format for complete details on soil and rock description fields.

App.Report -- Report & Borehole Log Settings

Setting Description Example
App.Report.RepeatLithologicDataOnPageBreaks Repeat lithologic description when a stratum spans a page break "False"
App.Report.RepeatLithologicDataDisplayMode Display mode for repeated descriptions (0 = full, 1 = abbreviated) "0"
App.Report.ShowPiezometerLogColumn Show the piezometer column on the borehole log "True"
App.Report.HidePiezometerLogColumn Force-hide the piezometer column "False"
App.Report.PiezometerLogColumnNoData Text shown when no piezometer data exists "No Data"
App.Report.HidePiezometerReadingTable Hide the piezometer reading summary table "True"
App.Report.WritePiezometerReadingText Write piezometer readings as text instead of a table "False"
App.Report.PiezometerReadingNoGroundwaterData Text when no groundwater data is available "No groundwater data"
App.Report.GroundwaterNullDisplayDuringDrilling How to display missing groundwater readings during drilling (0 = hide, 1 = show symbol) "1"
App.Report.GroundwaterSymbolDuringDrilling Symbol image filename for groundwater during drilling "groundwater_symbol_hollow_black.png"
App.Report.GroundwaterNullDisplayShortTerm Same as above, for short-term readings "1"
App.Report.GroundwaterSymbolShortTerm Symbol image for short-term groundwater "groundwater_symbol_short_term_black.png"
App.Report.GroundwaterNullDisplayLongTerm Same as above, for long-term readings "1"
App.Report.GroundwaterSymbolLongTerm Symbol image for long-term groundwater "groundwater_symbol_solid_black.png"

App.Consistency -- Automatic Consistency Assignment

Setting Description Example
App.Consistency.ColumnName Test data column used for automatic consistency/relative density lookup "N60"
App.Consistency.TestName Field test type (by title) whose results drive the lookup "Standard Penetration Test (SPT)"

Lists

The lists object contains the reference data (lookup tables) that define the options available within the template. Each list is an array of objects.

The sections below are grouped by geotechnical domain. For each list, the JSON key is given first, followed by a description and field table.


Rock Classification

JSON key: rockClassification

Defines the classification terms used for rock logging. Each entry belongs to a classification category identified by the type field. A single template typically includes entries across many categories -- strength grades, weathering states, grain sizes, defect characteristics, rock names, and more. The term values from these entries appear as lookup values in the project export -- for example, Stratigraphy.Advanced.Weathering draws from type 3 (Weathering) entries, and Stratigraphy.Advanced.Strength draws from type 10 (Strength) entries. See the lookup mapping table for the full list.

Field Type Required Description
id GUID Yes Unique identifier
type int Yes Classification category (see table below)
number int? No Ordering number within the category
symbol string No Short code (e.g. "R1", "SW")
term string No Descriptive term (e.g. "Very Low", "Slightly Weathered")
description string No Extended description or criteria
ucs string No Unconfined compressive strength range (strength entries only)
hostId GUID? No Parent entry reference (for hierarchical classifications)
color string No Display color (hex)
rockName string No Rock name (rock type entries only, e.g. "Granite")
nameModifiers string No Modifiers appended to the rock name
category string No Sub-category within the classification (e.g. "Felsic (coarse-grained)")
grainSize string No Grain size range description
lithifiedProduct string No Lithified equivalent (clastic rock entries)
fragment string No Fragment type (pyroclastic entries)
readOnly bool No Whether the entry can be edited by users
isChanges bool No Internal tracking flag

Classification Type Codes:

Code Category
1 Defects -- Roughness
2 Defects -- Infill Type
3 Weathering
4 Defects -- Infill Character
5 Rock Type -- Sedimentary Rock
6 Pyroclastic / Igneous Rock
7 Clastic Rock
8 Healing
9 Bedding Spacing
10 Strength
11 Defects -- Surface Shape
12 Slaking
13 Fracture Density
14 Hardness
15 Crystalline / Metamorphic
16 Rock Type -- Igneous Rock
17 Rock Type -- Metamorphic Rock
18 Defects -- Type
19 Alteration
20 Defects -- Infill Thickness
21 Defects -- Fracture Width

Soil Classification

JSON key: soilClassification

Defines the descriptive terms used for soil logging. Each entry belongs to a classification category identified by the type field. Categories cover particle properties, plasticity, strength indices, structure, and interlayering descriptors. The description values from these entries appear as lookup values in the project export -- for example, Stratigraphy.Components.SandParticleAngularity draws from type 4 (Particle Angularity) entries, and Stratigraphy.General.Structure draws from type 10 (Structure) entries. See the lookup mapping table for the full list.

Field Type Required Description
type int Yes Classification category (see table below)
soilClassificationTypeName string No Custom category name override. Usually null.
description string Yes The descriptor term (e.g. "Subangular", "Nonplastic", "Fissured")
criteria string No Criteria or definition for the term
definition string No Additional definition text
seiveSize string No Sieve size (particle size entries)
particleSize string No Particle size range expression

Soil Classification Type Codes:

Code Category
1 Color Term
2 Proportion
3 Particle Size
4 Particle Angularity
5 Particle Shape
6 Plasticity
7 Dry Strength
8 Dilatancy
9 Toughness
10 Structure
11 Cementation
12 Interbed Joiner

Standard Hatch Patterns

JSON key: hatchPatternStandard

Standard lithologic hatch patterns (also called soil symbols) used on borehole logs to represent soil and rock types. These follow established classification systems (USCS, AGS, etc.). When project data references a SoilSymbol (e.g. "ML", "CH", "GP"), it resolves against the title field of entries in this list.

Field Type Required Description
id GUID Yes Unique identifier
title string No Pattern title (typically the classification symbol, e.g. "SP", "CL")
agsLegendCodeId GUID? No Link to an AGS legend code, if applicable
soilSymbolId GUID? No Link to a built-in soil symbol image
displayDescription string No Description shown to the user (e.g. "Poorly Graded Sand With Gravel")
forecolor string No Foreground color override (hex)
backColor string No Background color override (hex)
category string No Classification system ("USCS", "AGS", etc.)
imageFileName string No Filename of the hatch pattern image (e.g. "SP.jpg")
customImageFileName string No Filename of a custom replacement image

User-Defined Hatch Patterns

JSON key: hatchPatternUserDefined

Custom hatch patterns created by the organization. These allow teams to define lithologic symbols beyond the standard USCS/AGS sets. The image data is embedded directly in the file as a compressed string.

Field Type Required Description
id GUID Yes Unique identifier
title string Yes Pattern name (max 50 characters)
description string Yes Description (max 256 characters)
hatchPatternImage null No Unused in exported files (always null)
imagePath string No Relative path to the stored image
compressedImage string No GZip-compressed, Base64-encoded image data
hatchFilename string No Image filename
replacedHatchPattern bool No Whether this pattern replaces an existing standard pattern
foreColor string No Foreground color (hex, default "#000000")
backColor string No Background color (hex, default "#FFFFFF")
scaleFactor float No Image scale factor (default 1)

Geologic Categories

JSON key: geologicCategory

Top-level groupings for geologic units (e.g. "Fill", "Geologic Formation"). These provide an organizational hierarchy for the geologic units list.

Field Type Required Description
id GUID Yes Unique identifier
categoryName string Yes Category name
description string No Description
color string Yes Display color (hex)

Geologic Units

JSON key: geologicUnit

Individual geologic formations or units assigned to strata during logging. Each unit belongs to a geologic category.

Field Type Required Description
id GUID Yes Unique identifier
unit string Yes Unit name (e.g. "Bay Mud", "Franciscan Formation")
geologicCategoryId GUID? No References an id in geologicCategory. Must match an entry in the same file.
description string No Description of the unit
color string Yes Display color (hex)

Sample Types

JSON key: sampleType

Defines the sampling methods available during data entry. Each type has a log symbol and optionally a representative image shown on the borehole log.

Field Type Required Description
id GUID Yes Unique identifier
title string Yes Sample type name (e.g. "SPT Split Spoon", "Shelby Tube")
code string No Short code (e.g. "ss", "core")
logSymbol string Yes Symbol shown on the borehole log (e.g. "S", "C")
imagePath string No Path to the sample type image
compressedImage string No GZip-compressed, Base64-encoded image data
existingPhotoPath string No Path to an existing image on the server
filePath string No Original file path of the image
fileName string No Image filename
isUser bool No Whether this is a user-created sample type (vs. system-provided)

Field Test Types

JSON key: fieldTestType

Defines the in-situ tests available for data entry. Each test type specifies its data columns, allowing RSLog to create the appropriate data-entry fields and report columns.

Field Type Required Description
title string Yes Test name (e.g. "Standard Penetration Test (SPT)", "Cone Penetration Test (CPT)")
code string No Short code (e.g. "spt", "cpt")
testDataColumns string No Comma-separated list of data column names (e.g. "N60,N1,N2,N3,N4,P1,P2,P3,P4,DriveLength,NValue")
deletedColumns string No Columns removed from the default set
generatedColumnTitle string No Title of an auto-generated summary column (e.g. "Final N")
generatedColumnFormat string No Format string for the generated column (e.g. "{N1}/{P1}#{N2}/{P2}#{N3}/{P3}")
testTypeConfig object? No Additional configuration for specialized test types
isReadOnly bool No Whether the test type definition can be edited
defaultDepthInterval double? No Default depth interval between tests (if applicable)

Note: Field test types do not include an id field. They are matched by title during import.


Drill Methods

JSON key: drillMethod

The drilling and excavation methods available for selection during logging.

Field Type Required Description
id GUID Yes Unique identifier
title string Yes Method name (e.g. "Auger (Hollow-Stem)", "Rotary Drilled Diamond Core")
symbol string No Log symbol (e.g. "A", "R-Rock")
isUser bool No Whether this is a user-created method
existingPhotoPath string No Path to an existing image
compressedImage string No GZip-compressed, Base64-encoded image data

Extra Tags

JSON key: extraTag

User-defined metadata fields that can be attached to projects or boreholes. These allow organizations to capture additional data beyond the standard RSLog fields. The DataTemplate defines the tag definitions (name, data type, which entity it applies to). The project export then contains tag instances as name/value pairs in the ExtraTags array on each project or borehole. A tag instance's name must match a name in this list, and its entityType must correspond to the entity it is attached to (1 = Project, 2 = Borehole).

Field Type Required Description
id GUID Yes Unique identifier
name string Yes Tag name (e.g. "Sampler Type(s) and Size(s) (ID)")
value string No Default value
description string No Description of the tag's purpose
dataType int Yes Value type (see table below)
entityType int Yes What the tag attaches to (see table below)

Data Type Codes:

Code Type
1 Number
2 String
3 Boolean
4 Pick List

Entity Type Codes:

Code Entity
1 Project
2 Borehole

Moisture Descriptors

JSON key: moistureDescriptor

Terms used to describe the moisture condition of soil during logging.

Field Type Required Description
id GUID Yes Unique identifier
descriptor string Yes Moisture term (e.g. "Dry", "Moist", "Wet") (max 100 characters)
symbol string Yes Short code (e.g. "D", "M", "W") (max 10 characters)
minMoisture double? No Lower bound of the moisture range (if defined)
maxMoisture double? No Upper bound of the moisture range (if defined)

Consistency Descriptors

JSON key: consistency

Consistency terms for fine-grained (cohesive) soils, correlated to SPT blow-count ranges per standard geotechnical practice.

Field Type Required Description
id GUID Yes Unique identifier
descriptor string Yes Consistency term (e.g. "Very Soft", "Stiff", "Hard")
minSPT int? No Minimum SPT N-value for this range
maxSPT int? No Maximum SPT N-value for this range. null indicates no upper bound.

Relative Density Descriptors

JSON key: relativeDensity

Relative density terms for coarse-grained (granular) soils, correlated to SPT blow-count ranges.

Field Type Required Description
id GUID Yes Unique identifier
descriptor string Yes Density term (e.g. "Very Loose", "Medium Dense", "Very Dense")
minSPT int? No Minimum SPT N-value for this range
maxSPT int? No Maximum SPT N-value for this range. null indicates no upper bound.

Sample Location Statuses

JSON key: sampleLocationStatus

Tracks the physical location and testing status of collected samples through their lifecycle.

Field Type Required Description
id GUID Yes Unique identifier
descriptor string Yes Status description (e.g. "Location: Lab", "Lab. Testing: In Progress")
symbol string Yes Short code (e.g. "L-LB", "T-IP")
code string No Additional code

Investigation Progress

JSON key: investigationProgress

Defines the stages a borehole progresses through during field investigation. Each stage has a color and progress indicator for dashboard display.

Field Type Required Description
id GUID Yes Unique identifier
title string Yes Stage name (e.g. "Planned", "Drilling / Excavating", "Completed")
description string No Description of what the stage represents
indicator float Yes Progress percentage (0--100)
color string Yes Display color (hex)
order int No Sort order
code string No Short code (e.g. "planned", "drilling", "completed")

Borehole Survey Types

JSON key: boreholeSurvey

Types of downhole survey or logging instruments that can be recorded on a borehole.

Field Type Required Description
id GUID Yes Unique identifier
title string Yes Survey type name (e.g. "Inclinometer", "Sonar Caliper")
symbol string No Short code (e.g. "IN", "SC")

Well Plug Types

JSON key: wellPlugType

Types of plugs or caps used for well completion at the top of a piezometer or monitoring well.

Field Type Required Description
id GUID Yes Unique identifier
descriptor string Yes Plug type name (e.g. "J Plug", "PVC Cap")
symbol string Yes Short code (e.g. "JP", "PVC")

Well / Piezometer Types

JSON key: wellType

Types of piezometers or monitoring wells that can be installed in a borehole.

Field Type Required Description
id GUID Yes Unique identifier
descriptor string Yes Instrument type name (e.g. "Standpipe", "Vibrating Wire")
symbol string Yes Short code (e.g. "SP", "VW")

Quality Management Roles

JSON key: qualityManagementRole

Defines the roles in the quality management workflow for borehole log review and approval.

Field Type Required Description
id GUID Yes Unique identifier
name string Yes Role name (e.g. "Field Logger", "Reviewer", "Approver") (max 250 characters)
description string No Description of the role's responsibilities (max 1024 characters)
readOnly bool No Whether the role definition can be edited. System-defined roles are read-only.

Quality Management Statuses

JSON key: qualityManagementStatus

Defines the workflow states a borehole log passes through during the review and approval process.

Field Type Required Description
id GUID Yes Unique identifier
name string Yes Status name (e.g. "Draft", "Under Review", "Approved") (max 250 characters)
description string No Description of the status (max 1024 characters)
color string No Display color (hex, max 20 characters)
readOnly bool No Whether the status definition can be edited. System-defined statuses are read-only.

Guidance for Third-Party Integration

This section is for software vendors or developers building tools that produce DataTemplate files for import into RSLog.

How DataTemplate Lists Map to Project Data

When producing project JSON (described in the RSLog JSON Export Format), many fields are lookup fields whose values must match entries defined in the DataTemplate. The table below shows which DataTemplate list supplies values for each lookup field in the project export.

Project export field DataTemplate list Matched on
Project.UnitSystem (system lookup -- not in the DataTemplate) name
Project.DataTemplateName (the DataTemplate's own properties.name) exact match
Project.CoordinateSystem (system lookup -- not in the DataTemplate) name
Project.ExtraTags[].name extraTag name (entity type 1 = Project)
Borehole.ExtraTags[].name extraTag name (entity type 2 = Borehole)
Sample.TypeName sampleType title
Sample.MoistureLevel moistureDescriptor descriptor
Sample.LocationStatusDescriptor sampleLocationStatus descriptor
Sample.ColorDropdown.ColorTermDescription soilClassification (type 1 -- Color Term) description
Stratigraphy.SoilSymbol hatchPatternStandard title
Stratigraphy.ClassificationSystem.SelectedSystem (enum -- see ClassificationSystemEnum) integer code
Stratigraphy.GeologicUnit.Unit geologicUnit unit
Stratigraphy.GeologicUnit.Category geologicCategory categoryName
Stratigraphy.General.MoistureDescriptor moistureDescriptor descriptor
Stratigraphy.General.ConsistencyDescriptorDescriptor consistency descriptor
Stratigraphy.General.RelativeDensityDescriptor relativeDensity descriptor
Stratigraphy.General.Structure soilClassification (type 10 -- Structure) description
Stratigraphy.General.GrainSize soilClassification (type 3 -- Particle Size) description
Stratigraphy.Components.*.ParticleAngularity soilClassification (type 4 -- Particle Angularity) description
Stratigraphy.Components.*.Proportion soilClassification (type 2 -- Proportion) description
Stratigraphy.Components.*.Cementation soilClassification (type 11 -- Cementation) description
Stratigraphy.Components.*.ParticleShape soilClassification (type 5 -- Particle Shape) description
Stratigraphy.Components.*.Plasticity soilClassification (type 6 -- Plasticity) description
Stratigraphy.Advanced.Weathering rockClassification (type 3 -- Weathering) term
Stratigraphy.Advanced.Strength rockClassification (type 10 -- Strength) term
Stratigraphy.Advanced.Hardness rockClassification (type 14 -- Hardness) term
Stratigraphy.Advanced.FractureDensity rockClassification (type 13 -- Fracture Density) term
FieldTest.TestTitle fieldTestType title
BoringMethod.DrillMethod drillMethod title
BoreholeSurvey.Type boreholeSurvey title
Piezometer.PiezoTypeSymbol wellType symbol
Piezometer.PlugTypeSymbol wellPlugType symbol
Borehole.ProgressStatus.Name investigationProgress title
Borehole.QMStatusTitle qualityManagementStatus name

Values that do not match an entry in the DataTemplate will be rejected or silently dropped during import. When generating project data, always use values drawn directly from the target DataTemplate.


Generating a Valid File

  1. Start from an export. The easiest way to understand the expected structure is to export a DataTemplate from RSLog and use it as a reference. The JSON is the same format in both directions.

  2. Set the version. properties.fileVersion must be set to a version the target RSLog instance supports. Use "1.0.0" unless you know the target supports a newer version.

  3. Generate unique IDs. Every entry that has an id field must have a unique v4 UUID. If you are generating a template from scratch, create new UUIDs for every item.

  4. Maintain cross-references. Some lists reference entries in other lists by ID:

    • geologicUnit.geologicCategoryId must match an id in the geologicCategory list.
    • hatchPatternStandard.agsLegendCodeId references AGS legend codes (these are system-managed; set to null if not applicable).

    All referenced IDs must be present within the same file.

  5. Images. Sample type icons, drill method symbols, and user-defined hatch patterns can include embedded image data. Encode the image as a GZip-compressed, Base64-encoded string in the compressedImage field. Alternatively, leave compressedImage empty and provide a filePath or imagePath if the image is already available on the server.

  6. Settings are optional. The data array can be omitted entirely or partially populated. RSLog applies default values for any settings not present in the file.

  7. Lists are optional. Omitted lists will not overwrite existing template data during import. Include only the lists your integration needs to define.

Field Test Type Columns

When defining fieldTestType entries, the testDataColumns string is a comma-separated list of column names that RSLog will create for data entry. For the Standard Penetration Test, the expected columns are:

N60,N1,N2,N3,N4,P1,P2,P3,P4,DriveLength,NValue,RecoveryLength,Recovery,Type

The generatedColumnFormat uses curly-brace placeholders to reference column values. For example, "{N1}/{P1}#{N2}/{P2}#{N3}/{P3}" produces a formatted blow-count string like "8/6#10/6#12/6".

Read-Only Entries

Some entries (particularly quality management roles and statuses) may have readOnly: true. These are system-defined and cannot be modified by users after import, but they must still be included in the file to establish the workflow.

Validation

RSLog validates the file on import. Common rejection reasons:


Version History

Version Date Notes
1.0.0 2026-03-12 Initial release