Innovator uses a number of terms that are either completely unique or just defined a little differently than in other systems.  I'll attempt to define a few of them here, with more to come later:

  • ItemType: An ItemType is a construct that defines the data structure and behavior of its instances (items), analogous to a class in the object-oriented world.  Unlike a class, however, an ItemType is created using a simple user interface and stored in a database, making it much more dynamic and adaptable.  Each ItemType has a corresponding table in the database to store its instances.
  • Item: An Item is an instance of an ItemType, and the basic building block of Innovator.  Simply put, EVERYTHING in Innovator is anItem, be it a Document, a Purchase Order, a Form, a Workflow or whatever else.  Each item corresponds to a row in the ItemType'stable.
  • RelationshipType: RelationshipTypes define which ItemTypes are related to one another, and the behaviors of the relationship. RelationshipTypes have a Source ItemType (the parent), an optional Related ItemType (the child) and a Relationship ItemType.

  • Relationship: Also known as a Relationship Item, a Relationship is an instance of a Relationship ItemType.  A Relationship has aSource Item and an optional Related Item.  When no Related Item is specified, the Relationship is known as a Null Relationship.
  • Property: A Property is a piece of information tracked about an Item.  Each Property has a name, a label, a data type, and a number of other properties to define its behavior (yes, properties have their own properties, but that's self-describing for you).  A Propertycorresponds to a column in the ItemType's table.
  • Form: A Form is a definable piece of the Innovator user interface, often used to view and edit instances of a particular ItemTypeFormsare configured using a drag and drop utility, stored in the database, and rendered dynamically.
  • Field: A Field is a user interface primitive used to display information on a FormFields may be, but are not required to be bound to aProperty.
  • Identity: Identities form the basis for the Innovator security model.  Identities are hierarchical, and may represent a user, a group, a group of groups, and so on.
  • AML: Adaptive Markup Language is the XML dialect that drives Innovator.  All communication between the Innovator client and server is done in AML.  A future post will go into detail on the dialect, but for now let's just call this the secret sauce.
  • IOM: The Innovator Object Model is an object API to Innovator.  It is used in both client- and server-side methods to manipulate Innovator items.