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
FieldTesting
schemas 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: 15 May, 2024