Unlimited power to extend your application domain
Custom table properties can be defined and used in the Table JSON files to
extend the SchemaSmithy tool set in a number of ways. You can implement things like:
All of these custom properties become available in the TableSchema and SpecificTable Script Tokens to be used in your custom scripts. The use cases are nearly as wide as your own imagination. If you want to implement something and need assistance determining how it might work with these tools, reach out to our master craftsman at ForgeBarrett@SchemaSmith.com for ideation assistance, or check out some of his videos on our YouTube channel.
Custom properties are supported on the table and each of the table components, such as columns, indexes, etc.
Custom properties can be grouped into sub-objects if desired. This allows encapsulating them logically for reviewers and also setting up the schema validation so that groups could be treated as optional, but when included specific properties must be present. The object name would become part of the label for the custom editors in SchemaHammer and referencing them in your scripts is treated like any nested JSON object.
We can help with examples for using the tokens and querying any of this data if needed. Our goal is to support a robust and configurable ecosystem to support your most complex needs. If we don't have what you need it will most likely become a priority backlog item, so don't hesitate to ask.
Custom properties can be added to the UI by adding them to the tables.schema file
located in the .json-schemas folder of your product repository. This file can be
used to perform JSON schema validation by things like GitHub Actions and also define the custom
properties you want to appear in the UI:
Data types we support:
DICTIONARYDROPDOWN:<lookup table without extension which MUST be .json> will populate a fixed dropdown of allowable valuesSQL: A single line SQL Editor (with pop-out multi-line editor support)MEMO: A multi-line textboxCHECKLIST:<lookup table without extension which MUST be .json>Examples of many of these patterns can be found in the tables.schema file of our ValidProduct in the Enterprise Demos Repository.
The custom edits will perform validations in the UI for the min, max, and pattern modifiers when saving to help users avoid issues in their PRs.
By default the custom control label will be set by splitting the property name into words using camel case. Setting the title property in the schema file will override the label used for the custom control which can be more user-friendly in some cases.