arrow-down
    1. Overview
    2. Core concepts
    3. Using docs
    4. Intro Videos
    5. Tutorials
    1. Intro
    2. GraphQL API
    3. Media API
    4. Extending the API
    5. Component API
    1. Content Studio
      1. Branches
    2. Layers
      1. Lifecycle
      2. Media
      3. Attachments
      4. X-data
        1. Page templates
        2. Fragments
      5. Variants
      6. Permissions
      7. Versions
    3. Sites
      1. Visual editor
    4. Publishing
    1. Introduction
      1. Controllers
      2. Globals
      3. Events
      4. HTTP Request
      5. HTTP Response
      6. Error handler
      7. Filters
      8. Templating
      9. Localization
      10. Websocket
      11. Tasks
      12. Main controller
      13. Java bridge
      1. Admin Lib
      2. Application Lib
      3. Auditlog Lib
      4. Authentication Lib
      5. Cluster Lib
      6. Common Lib
      7. Content Lib
      8. Context Lib
      9. Event Lib
      10. Export Lib
      11. Grid Lib
      12. I18N Lib
      13. IO Lib
      14. Mail Lib
      15. Node Lib
      16. Portal Lib
      17. Project Lib
      18. Repo Lib
      19. Scheduler Lib
      20. Schema Lib
      21. Tasks Lib
      22. Value Lib
      23. VHost Lib
      24. Websocket Lib
    2. Other Libraries
      1. CLI
      2. Sandboxes
      3. Code
      4. Building
      5. Configuration
      6. TypeScript
    3. Building APIs
      1. Mappings
      2. Components
      3. Processors
      4. Contributions
    4. Building Webapps
      1. ID providers
      2. Admin Apps
      3. Admin Widgets
    1. Architecture
      1. TODO
      1. Navigating
      2. Users
      3. Applications
      4. Data management
      5. System info
      6. Audit Logs
      7. Task management
      1. Portal
      2. IDprovider
      3. Management
      4. Statistics
      1. Nodes and repos
      2. Properties
      3. Indexing
      4. Branches
      5. Editors
      1. DSL Queries
      2. NoQL Queries
      3. Filters
      4. Aggregations
      5. Highlighting
      1. ID providers
      2. System ID provider
      3. Users and groups
      4. Roles
      1. Strategies
      2. Distributions
      3. Docker
      4. Kubernetes
      5. Systemd
      6. Vhosts
      7. Configuration
      8. Backup & restore
      9. Clustering
      10. Observability
      1. Notes
      2. Upgrade
      3. Upgrading Apps
        1. Asset service
        2. HTTP service
        3. Image service
    1. Best practice
        1. AttachmentUploader
        2. Checkbox
        3. Combobox
        4. ContentSelector
        5. ContentTypeFilter
        6. CustomSelector
        7. Date
        8. DateTime
        9. Double
        10. GeoPoint
        11. HtmlArea
        12. ImageSelector
        13. Long
        14. MediaSelector
        15. Radiobutton
        16. Tag
        17. TextArea
        18. TextLine
        19. Time
        1. Field set
        2. Item set
        3. Option set
      1. Mixins
      2. Localization
      3. Styles
    2. Content Types
    3. X-data
    4. Macros
      1. Pages
      2. Regions
      3. Part component
      4. Layout component
      5. Text component
      6. Component Filtering
      7. Component Indexing
    1. Marketplace
    2. Market guidelines

Properties

Contents

Introduction

Properties contain the actual data inside a node. Properties use a key-value format.

The key must be unique within the node, and the value must have a specific valueType, such as String, or GeoPoint. The valueType is used to index the property correctly, and does the basic validation.

Property anatomy

Examples of what a property might look like:

mytext = "a string"
mynumber = 1

Some characters are illegal in a property key. Here’s a list of illegal characters:

  • _ is system reserved prefix

  • . is the path separator.

  • [ and ] are array index indicators.

Properties may also be nested, making the key a path. Elements in the path are separated by . (dot).

Here’s an example of properties with arrays and nested properties.

first-name = "Thomas"
cities = ["Oslo", "San Francisco"]
city.location = geoPoint('37.785146,-122.39758')
person.age = 39
person.birth-date = localDate("1975-17-10")

In the example above, the property person is of the ValueType Set. Sets are special in the way that they don’t hold actual values, but rather act as containers for other properties.

Properties are of a specific ValueType. ValueTypes are used for validation and securing correct indexing.

System Properties

In order to separate system defined properties from user defined properties, _ (underscore) has been reserved as a starting character for the system properties.

The repository contains several standard metadata properties such as _id, _name, and _timestamp. The full list of

Core properties

System Property Value Type Indexing Comment

_id

String

string

Holds the unique id of the node, typically a UUID

_name

String

string

Holds the name of the node. Must be unique within its scope (nodes with same parent)

_parentPath

String

string

Reference to parent node path

_path

String

path, string

Dynamic property resolved from parent path + node name

_childOrder

String

string

Default ordering of children when using getChildren()

_manualOrderValue

Long

number, string

Numeric order value used for the builtin manual ordering

Versioning properties

_state

String

string

Used for keeping state of a node in a branch

_ts

datetime, string

The last time this node was modified

_versionKey

string

For every change to a node, a unique versionKey is generated

Indexing properties

System Property Value Type Indexing Comment

_nodeType

string

string

Used to create collections of nodes in a repository

_indexConfig

string

Not indexed

Node specific index configuration

_allText

String

string, analyzed, ngram

Aggregates text across other string properties in the node

_references

Reference

string

Aggregates all reference properties in the node

Access control properties

Permissions set on a node are indexed differently from what the domain object looks like. The index structure is is flattened, and enables an effective way to query nodes based on access control.

System Property Value Type Indexing Comment

_permissions_read

String

Principals with read access

_permissions_create

String

Principals with create access (create children of node)

_permissions_delete

String

Principals with delete access

_permissions_modify

String

Principals with modify access

_permissions_publish

String

Principals with publish access

_permissions_readpermissions

String

Principals with access to read node permissions

_permissions_writepermissions

String

Principals with access to write node permissions


Contents

Contents

AI-powered search

Juke AI