Optimizely Configured Commerce is an extensible platform to support back office systems such as ERPs. In this chapter you will learn how to extend Configured Commerce's entities using out of the box platform extensions.
The Application Dictionary in the Admin Console controls field names, field labels, language options, field length, and access and data requirements based on assigned User Roles. Because the Application Dictionary is so vital to the Admin Console, access to it is restricted to ISC_System, ISC_Admin, and ISC_Implementer roles.
The Application Dictionary is structured around the entities within the Admin Console. There are multiple properties within each entity. Both entities and properties can be configured individually to be hidden, visible, and/or editable. This is important to understand, as it may be necessary to change these settings to expose certain entities or properties that are not exposed or editable by default.
Below are high-level descriptions of the various components of the Application Dictionary.
Entities are outlines of objects with various properties assigned to them in the Admin Console. These entities are hardcoded into Configured Commerce and cannot be created without custom coding.
Properties are attributes attached to entities. If the entity is displayed within the UI, then the properties are fields and other content displayed on the page. Properties can be created without the need for custom development.
## Control types and data validators
**Control Types** are the UI elements displayed in the Admin Console, depending on the type of data to be displayed. Common control types are drop-downs, toggle switch controls, and text fields.
**Data Validators** are the ways the data found in the Control Type is validated. Common data validator properties are Regular Expression, MultiValueList, and DefaultValue.
Site security is managed within the Application Dictionary. Each entity and their respective properties can be secured or made visible either at the entity level or the property level. Security also can be handled at the role level, with individual roles given access to pages or entities on a page depending on the given use case.
Custom Properties configured in the Admin Console are stored within the Custom Properties table and are not extendable to other platforms, such as an ERP, without development time.