Database

Database Extensibility: Extended Attributes

Each major business object in Tulip allows for Extended Attributes which are key-value pairs associated with a core object.

For example, the core business object, Products, has the following core fields with example values (we only show a few below):

 { "id": "1", "name": "T-Shirt", "subtitle": "Red and White", "description": "This is a t-shirt", "upc": "978020137962", } 

However, a particular retailer may have specific fields associated with products that are unique to their brand. This retailer can use extended attributes to add these fields. For example, a retailer may want to add “material” and “manufacturer” as extra fields on a product. Then we can add to the attributeValues array portion of a product as follows:

 { "id": "1", "name": "T-Shirt", "subtitle": "Red and White", "description": "This is a t-shirt", "upc": "978020137962", "attributeValues": \[ { "attributeId": "material", "attributeValue": "cotton" }, { "attributeId": "manufacturer", "attributeValue": "acme corp." } \] } 

These attributes are indexed and can be made filterable. Using this model, a business analyst can, for example, set up Tulip so that a new attribute such as “material” is indicated as a field that is filterable, and then when products are rendered, a filter for “material” will appear in the catalog automatically.

Notes:

  • These examples are simplified. To see the specific fields needed for a specific business object, and all necessary fields, see Tulip’s API documentation for details.
  • These attributes are indexed and can be made filterable (but not searchable).