Skip to content

Instantly share code, notes, and snippets.

@ghalimi
Last active December 23, 2015 00:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ghalimi/6556965 to your computer and use it in GitHub Desktop.
Save ghalimi/6556965 to your computer and use it in GitHub Desktop.
{
"stc_schema": {
"title": "Family Definition Schema",
"type": "object",
"properties": {
"stc_type": {
"stc_datatype": "stc_category",
"stc_name": "Type",
"stc_description": "Type of the family.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 1,
"stc_options": {
"stc_categories": [
{
"stc_name": "None",
"stc_identifier": "stc_none"
},
{
"stc_name": "Categories",
"stc_identifier": "stc_categories"
},
{
"stc_name": "Distinct",
"stc_identifier": "stc_distinct"
},
{
"stc_name": "Levels",
"stc_identifier": "stc_levels"
},
{
"stc_name": "Values",
"stc_identifier": "stc_values"
}
]
}
},
"stc_summaries": {
"stc_datatype": "stc_relationship",
"stc_name": "Summaries",
"stc_description": "Family of summaries for the family.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 2,
"stc_options": {
"stc_target_object": "stc_family",
"stc_identifier": true
}
},
"stc_id_expression": {
"stc_datatype": "stc_formula",
"stc_name": "ID Expression",
"stc_description": "Expression used to compute a group's identifier.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 3
},
"stc_add_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Add Expression",
"stc_description": "Expression used to add periods to a group.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 4
},
"stc_diff_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Diff Expression",
"stc_description": "Expression used to get the difference between two groups.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 5
},
"stc_format_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Format Expression",
"stc_description": "Expression used to format a group's name.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 6
},
"stc_casting_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Casting Expression",
"stc_description": "Expression used to cast a group's value.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 7
},
"stc_inverse_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Inverse Expression",
"stc_description": "Expression used to lookup a group's value.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 8
},
"stc_levels": {
"stc_datatype": "stc_json",
"stc_name": "Levels",
"stc_description": "Grouping levels defined by the family.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 9,
"stc_options": {
"stc_schema": {
"title": "Grouping Level Schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"stc_name": {
"stc_datatype": "stc_string",
"stc_name": "Name",
"stc_description": "Name of the level.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 1
},
"stc_identifier": {
"stc_datatype": "stc_identifier",
"stc_name": "Identifier",
"stc_description": "Identifier of the level.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 2
},
"stc_type": {
"stc_datatype": "stc_category",
"stc_name": "Type",
"stc_description": "Type of the level.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 3,
"stc_options": {
"stc_categories": [
{
"stc_name": "Groups",
"stc_identifier": "stc_groups"
},
{
"stc_name": "Intervals",
"stc_identifier": "stc_intervals"
},
{
"stc_name": "Object",
"stc_identifier": "stc_object"
},
{
"stc_name": "Levels",
"stc_identifier": "stc_levels"
},
{
"stc_name": "Reference",
"stc_identifier": "stc_reference"
},
{
"stc_name": "Values",
"stc_identifier": "stc_values"
}
]
}
},
"stc_groups": {
"stc_datatype": "stc_json",
"stc_name": "Groups",
"stc_description": "Groups defined by the level",
"stc_condition": "stc_type == 'stc_groups'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 4,
"stc_options": {
"stc_schema": {
"title": "Level Group Schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"stc_name": {
"stc_datatype": "stc_string",
"stc_name": "Name",
"stc_description": "Name of the group.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 1
},
"stc_identifier": {
"stc_datatype": "stc_identifier",
"stc_name": "Identifier",
"stc_description": "Identifier of the group.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 2
}
}
}
}
}
},
"stc_id_expression": {
"stc_datatype": "stc_formula",
"stc_name": "ID Expression",
"stc_description": "Expression used to compute an interval's identifier.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 5
},
"stc_add_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Add Expression",
"stc_description": "Expression used to add periods to an interval.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 6
},
"stc_diff_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Diff Expression",
"stc_description": "Expression used to get the difference between two intervals.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 7
},
"stc_period": {
"stc_datatype": "stc_identifier",
"stc_name": "Period",
"stc_description": "Identifier of the parameter defining the interval's period.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 8
},
"stc_minimum": {
"stc_datatype": "stc_number",
"stc_name": "Minimum",
"stc_description": "Minimum interval value.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 9
},
"stc_maximum": {
"stc_datatype": "stc_number",
"stc_name": "Maximum",
"stc_description": "Maximum interval value.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 10
},
"stc_parameters": {
"stc_datatype": "stc_json",
"stc_name": "Parameters",
"stc_description": "Parameters of the intervals.",
"stc_condition": "stc_type == 'stc_intervals'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 11,
"stc_options": {
"stc_schema": {
"title": "Interval Parameter Schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"stc_name": {
"stc_datatype": "stc_string",
"stc_name": "Name",
"stc_description": "Name of the parameter.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 1
},
"stc_identifier": {
"stc_datatype": "stc_identifier",
"stc_name": "Identifier",
"stc_description": "Identifier of the parameter.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 2
},
"stc_datatype": {
"stc_datatype": "stc_relationship",
"stc_name": "Datatype",
"stc_description": "Datatype of the parameter.",
"stc_required": true,
"stc_advanced": false,
"stc_position": 3,
"stc_options": {
"stc_target_object": "stc_datatype",
"stc_identifier": true
}
},
"stc_required": {
"stc_datatype": "stc_boolean",
"stc_name": "Required",
"stc_description": "Whether the parameter is required.",
"stc_default": false,
"stc_required": false,
"stc_advanced": false,
"stc_position": 4
},
"stc_default": {
"type": "any",
"stc_name": "Default",
"stc_description": "Default value of the parameter.",
"stc_required": false,
"stc_advanced": false,
"stc_position": 5
}
}
}
}
}
},
"stc_period_name": {
"stc_datatype": "stc_string",
"stc_name": "Period name",
"stc_description": "Name of the level's period.",
"stc_condition": "stc_type == 'stc_levels'",
"stc_required": false,
"stc_advanced": false,
"stc_position": 12
},
"stc_multiple": {
"stc_datatype": "stc_integer",
"stc_name": "Multiple",
"stc_description": "Multiple of the level's period.",
"stc_condition": "stc_type == 'stc_levels'",
"stc_required": false,
"stc_advanced": false,
"stc_position": 13
},
"stc_color": {
"stc_datatype": "stc_color",
"stc_name": "Color",
"stc_description": "Color of the level.",
"stc_condition": "stc_type == 'stc_levels'",
"stc_required": false,
"stc_advanced": false,
"stc_position": 14
},
"stc_name_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Name expression",
"stc_description": "Expression used to get the level's name.",
"stc_condition": "stc_type == 'stc_levels'",
"stc_required": false,
"stc_advanced": false,
"stc_position": 15
},
"stc_group_expression": {
"stc_datatype": "stc_formula",
"stc_name": "Group expression",
"stc_description": "Expression used to get the level's group.",
"stc_condition": "stc_type == 'stc_levels'",
"stc_required": false,
"stc_advanced": false,
"stc_position": 16
},
"stc_object": {
"stc_datatype": "stc_relationship",
"stc_name": "Object",
"stc_description": "Object used to define the level.",
"stc_condition": "stc_type == 'stc_object'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 17,
"stc_options": {
"stc_target_object": "stc_object",
"stc_identifier": true
}
},
"stc_field": {
"stc_datatype": "stc_relationship",
"stc_name": "Field",
"stc_description": "Field used to define the level.",
"stc_condition": "stc_type == 'stc_object'",
"stc_required": true,
"stc_advanced": false,
"stc_position": 18,
"stc_options": {
"stc_target_object": "stc_field",
"stc_identifier": true
}
},
"stc_reference": {
"stc_datatype": "stc_formula",
"stc_name": "Reference",
"stc_description": "Reference of the level.",
"stc_condition": "stc_type == 'stc_reference'",
"stc_required": false,
"stc_advanced": false,
"stc_position": 19
}
}
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment