This specification defines a JSON-based manifest that provides developers with a centralized place to put metadata associated with ILS grid ordering templates. This includes, but is not limited to, the ILS system to be used, and vendor identifier. The manifest allows declaration of default grids with default values. Additionally this manifest declares the column names, and potential values. which can be used to populate the rows of a grid template.
Using this metadata, applications can implement a cross compatible system for reading and writing grid templates. Additionally this can be used to define a format to import and export grid template metadata.
This section is non-normative.
This section shows how developers can make use of the various features of this specification.
{
"ils_system": "",
"vendor_id": "",
"columns": [
{
"name": "branch",
"values": [
{
"code": "EAST",
"desc": "East Campus"
},
{
"code": "MAIN",
"desc": "Main Campus"
},
{
"code": "WEST",
"desc": "West Campus"
}
]
},
{
"name": "collection",
"values": [
{
"code": "",
"desc": ""
}
]
},
{
"name": "fund",
"values": [
{
"code": "FIC2015",
"desc": "Fiction 2015"
},
{
"code": "YA2015",
"desc": "Young Adult 2015"
}
]
},
{
"name": "holding_code",
"values": [
{
"code": "",
"desc": ""
}
]
},
{
"name": "item_type",
"values": [
{
"code": "PW",
"desc": "Playaway"
},
{
"code": "LP",
"desc": "Playaway Launchpad"
}
]
},
{
"name": "location",
"values": [
{
"code": "",
"desc": ""
}
]
}
],
"templates": [
{
"name": "Example Template",
"desc": "Example ILS template",
"rows": [
{
"branch": "EAST",
"collection": null,
"fund": "YA2015",
"holding_code": null,
"item_type": null,
"location": null,
"qty": 1
},
{
"branch": "WEST",
"collection": null,
"fund": "FIC2015",
"holding_code": null,
"item_type": null,
"location": null,
"qty": 1
}
]
}
]
}
A mainfest is a JSON document that contains column and template data. A manifest consists of a top-level object that contains zero or more members. Each of the members are defined below.
The ils_system
member is a string that represents the name of the users's ILS system.
The vendor_id
member is a string that represents the user's unique vendor identifier.
The columns
member is an array containing zero or more column_objects.
The templates
member is an array of template_objects that defines a grid template.
Each Column Object represents a named column in the grid template.
The name
member is a string that represents the name of the column and is used as the key in an allocation_row.
The values
member of a Column Object is an array containing zero or more value_objects.
The code
member of a Value Object is a string that represents a unique code that will be used as the value in the allocation_row.
The desc
member of a Value Object provides an explanation of what the code
member represents.
Each Template Object represents a predefined ILS grid template used during checkout.
The name
member is a string that represents the name of the template and is usually displayed to the user (e.g., amongst a list of other applications, or as a label for an icon).
The desc
member of a Template Object is a string that represents a description.
The rows
member of a Template Object is an array of allocation_rows that define default allocation values.
An Allocation Row is an object that represents a single line in an ILS ordering grid.
The Allocation Row contains a single entry for each column defined in the manifest columns member represented by the name member of the column_object as the key. Along with each column there is a single member for qty that defines the default quantity for that row.
The value for each column key in the Allocation Row is the code from the user selected value_object.