Skip to main content

Object Service

The object service allows you to manage, browse, search for and use stored objects

Creating Objects

All objects have a type - this is a structure that defines the properties that you would expect on an object. Individual objects can also have dynamic properties that are not included in the type structure. If you create an object without specifying a type, ODSL will add a #Object type to it.

Creating a basic object

You can create a simple object using the basic Object constructor, e.g.

myobject = Object()

This creates a dynamic object of type #Object which has the following standard properties:

  • name
  • description
  • classification
  • geolocation

Creating a typed object

You can create an object from a type in 2 different ways:

Using a constructor

london = Object("#Location")

Using an object structure

london = object as #Location
name = "London"
end

The only difference between the 2 methods is that with the object structure you can directly set some properties.

Saving Objects

To save an object, you use the save command as shown in the code snippet below:

myobject = Object()
myobject.name = "My Test"

save ${object:myobject}

This will save a private object called myobject of type #Object to the database.

Reading Objects

You can find objects using the find command and searching for objects is covered in this article. If you know the id of the object you want, you can directly read the object using the active variable, e.g.

myobject = ${object:"myobject"}

Deleting Objects

To delete an object from the database, you use the delete command.

delete ${object:"myobject"}

If versioning is enabled on the object type you are deleting, then the delete command performs a roll back. To completely delete a versioned object, add a * version modifier to the delete command, e.g.

delete ${object:"myobject":*}