Attribute Introduction: Terminology
Attributes
An attribute is simply an item of data that we'd like to know about a certain thing. Examples of an attibute are "title", "width", "height". End users can create attributes to store information.
Attributes and Blocks
Attributes differ from blocks in that they are primarily NOT meant to be displayed to the end user. They are meant to be used by programmers, addon and theme developers to store, search, and manipulate data of different types. By contrast, blocks apply just to pages, are primarily front-end focused.
Attribute Types
An attribute type is a way of classifying an attribute. For example, "width" and "height" are both numbers, so they use the "number" type. "Billing Address" and "Shipping Address" are both "address" types. End users pick which type of attribute an attribute is, when creating the attribute. Developers can create new types, if they wish (similar to blocks.)
Attribute Categories
An attribute category is the type of object that attribute applies to. By default, the attribute categories in concrete5 are page, file and user. Additional addons might create new categories (e.g. the eCommerce addon adds product and order as additional attribute categories.) Experienced developers can create these categories, but should only do so when they absolutely must.




