An extra field is defined using a collection of objects. First define the ExtraField parent object. This defines what kind of field it is (text? Radio button? Checkbox?) and its size, location, and what record type it should appear on (lead? organization? case?). You will note the ExtraField object has no Field Name value. Field Name is defined in the ExtraFieldDesc object. An ExtraField object can have multiple ExtraFieldDesc objects to account for multiple language support. In BlueCamroo, depending on the language BlueCamroo is set for, the Field Name can have multiple entries.
If an ExtraField has selection options (for example it's a series of checkboxes or a selection drop-down box, you create an ExtraFieldOption object to represent each option. Because each option can have different text for different languages, you define the actual selection text using a child ExtraFieldOptionDesc object. However, ExtraFieldOption's OptionValue field indicates what BlueCamroo should actually store upon user selection.
Finally, the ExtraFieldValue object stores the actual selection value.
How extra field objects map to the BlueCamroo UI. The number of objects types is in brackets.
On the details page, the ExtraFieldValue object stores this selection