CoreCustomAttributes (Core Custom Attributes) Schema
Alias: CoreCA
Version: 1.0.4
Custom attributes to indicate core EC concepts, may include struct classes intended for use in core custom attributes.
Table of contents
SchemaNameAndPurpose Sealed StructClass 
Used to define a supplemental schema and its purpose
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| SchemaName | Full name of the supplemental schema | false | 0 | ||
| Purpose | Purpose of the supplemental schema | false | 0 |
SchemaReference (Schema Reference) Sealed StructClass 
Reference to a schema including name and version
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| SchemaName | Name of schema, excluding version | Schema Name | false | 0 | |
| MajorVersion | [This].[Write].[Minor] | Major Version | false | 0 | |
| MinorVersion | [Major].[Write].[This] | Minor Version | false | 0 | |
| WriteVersion | [Major].[This].[Minor] | Write Version | false | 0 |
Custom Attribute Classes
ClassHasCurrentTimeStampProperty Sealed CustomAttributeClass 
Applies to: EntityClass
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| PropertyName | false | 0 |
DateTimeInfo Sealed CustomAttributeClass 
Optional additional meta data for ECProperties of type DateTime.
Applies to: PrimitiveProperty, ArrayProperty
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| DateTimeKind | Either Utc, Local or Unspecified. Default: Unspecified. When specifying a DateTimeKind, it is usually not necessary to specify a DateTimeComponent because a DateTimeKind implies the DateTimeComponent 'DateTime'. | false | 0 | ||
| DateTimeComponent | Either DateTime or Date. Default: DateTime. Specifying 'Date' usually implies that a DateTimeKind is irrelevant, because dates (without time) don't need any timezone information. | false | 0 |
Deprecated Sealed CustomAttributeClass 
Identifies a schema or item within a schema as deprecated. Deprecated things should not be used.
Applies to: Any
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| Description | Gives advice about avoiding the deprecated item or other helpful information related to the deprecation of the item. | false | 0 |
DynamicSchema (Dynamic Schema) Sealed CustomAttributeClass 
Identifies a schema as dynamically generated by an application. Like versions of a schema may differ and are not guaranteed to merge without conflicts.
Applies to: Schema
Extension Sealed CustomAttributeClass 
Used to indicate that the property this custom attribute is applied to is an extension property.
Applies to: AnyProperty
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| Origin | Extension origin. | false | 0 |
HiddenClass Sealed CustomAttributeClass 
Identifies a class which is designed to be hidden from teh user interface. Hides the class it is applied to and all derived classes
Applies to: AnyClass
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| Show | If set to true show the hidden class. Defaults to False. Allows a derived class to be shown even though it's base class is hidden | false | 0 |
HiddenProperty Sealed CustomAttributeClass 
Identifies a property which is designed to be hidden from the user interface
Applies to: AnyProperty
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| Show | If set to true show the hidden property. Defaults to False. Allows a property override to show a hidden property in a derived class | false | 0 |
HiddenSchema Sealed CustomAttributeClass 
Identifies a schema which is designed to be hidden from the user interface. By default all classes in the schema are hidden as well.
Applies to: Schema
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| ShowClasses | If true classe in the schema will be shown. Default is False. If set to true individual classes may be hidden using the HiddenClass custom attribute | false | 0 |
IsMixin (Is Mixin) Sealed CustomAttributeClass 
Applied to abstract ECEntityClasses which serve as secondary base classes for normal ECEntityClasses.
Applies to: EntityClass
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| AppliesToEntityClass | This mixin may only be applied to entity classes which derive from this class. Class Name should be fully specified as 'alias:ClassName' | false | 0 |
Localizable (Localizable) Sealed CustomAttributeClass 
Applied to a property to indicate that custom attributes using this property can be localized.
Applies to: PrimitiveProperty
NotSubclassableInReferencingSchemas Sealed CustomAttributeClass 
Makes a class 'sealed' outside of the schema containing the class
Applies to: AnyClass
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| Exceptions | Optionally allows specific classes in other schemas to subclass this class. Use format '[SchemaName]:[ClassName]', e.g. 'Fruit:Banana' | false | 0 |
PartialSchema (Partial Schema) Sealed CustomAttributeClass 
Identifies a schema file/object that may only contain part of the complete schema. Like versions of a schema may differ but are guaranteed to merge without conflicts.
Applies to: Schema
ProductionStatus Sealed CustomAttributeClass 
Declares the suitability of this schema for use in production and other workflows.
Applies to: Schema
When a schema is tagged with ProductionStatus, the iModel technology stack (or other technology stacks in other circumstances) can proactively prevent schemas from being used in unsupported workflows. The two most obvious usages of this CustomAttribute are:
- Preventing development (
NotForProduction) schemas from being released to customers. - Preventing
FieldTestingschemas from being used in customer's production workflows.
All schemas should be tagged with the ProductionStatus CustomAttribute to enable this error checking.
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| SupportedUse | Indicates the suitability of this schema for production or other usage. | false | 0 | ||
| Checksum | Set when the schema ProductionStatus is set. Used to verify that a validated schema has not been modified after that point. | false | 0 |
SupplementalProvenance Sealed CustomAttributeClass 
Applies to: Schema
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| SupplementalSchemaNamesAndPurposes | false | 0 |
SupplementalSchema (Supplemental Schema) Sealed CustomAttributeClass 
Identifies a schema as a supplemental schema and stores extra metadata necessary for supplemental schemas
Applies to: Schema
Properties
| Name | Description | Label | Category | Read Only | Priority |
|---|---|---|---|---|---|
| PrimarySchemaReference | References the primary schema this supplemental should be applied to | Primary Schema Reference | false | 0 | |
| Precedence | Positive integer defining the precedence of this supplemental schema. Higher precedences override lower precences. The primary schema is considered to have a precedence between 199 and 200. | false | 0 | ||
| Purpose | A string representing the function of this supplemental schema. Standard name formatting for a supplemental schema is |
false | 0 |
Enumerations
DateTimeComponent Enumeration 
Backing Type: string
Strict: true
| Label | Value | Description |
|---|---|---|
| DateTime | ||
| Date | ||
| TimeOfDay |
DateTimeKind Enumeration 
Backing Type: string
Strict: true
| Label | Value | Description |
|---|---|---|
| Unspecified | ||
| Utc | ||
| Local |
ProductionStatusValue Enumeration 
Backing Type: string
Used with ProductionStatus to declare the schema author's intended and supported workflows for the schema.
Strict: true
| Label | Value | Description |
|---|---|---|
| NotForProduction | This schema is under development and should not be used for production workflows. Data created using this schema is not supported and may not be upgradable. | |
| FieldTesting | This schema is suitable for field testing of production workflows. Data created with the schema is not supported long-term and may not be upgradable. | |
| Production | This schema is suitable for production workflows. Data created using this schema will be supported long term (possibly through transformation). | |
| Deprecated | This schema is no longer recommended for production workflows. Better alternatives exist and should be used instead. |
Last Updated: 27 October, 2023