Contact Widget

The contact widget can be placed within a supported element and it will show details of the contact such as the name, picture, work phone, mobile phone and e-mail where available. More documentation is available on the UX-x blog: Person Widget (now obsolete), Contact Widget, Setting contact widget source conditionally

Marble

// Syntax
contactwidget {
   enabled = [<flag>]; // true/false or the condition to enable the contact widget
   source = <Person/Supplier/Customer/User>; // Conditions are also supported
   key = <field which contains ID>; // Optional, use if the column to pick ID from is different to the field
}

// Example
field AuthorizerName {
   editable = [true];
   visible = [true];

   contactwidget {
      enabled = [true];
      source = Supplier;
      key = Authorizer;
   }
}

For the Aurena Native client, the mapping between an entity set/query and the contact widget source must be defined in the app model. There are four supported entities for the contact widget and one or more of them can be defined along with the mapping. The mandatory source attribute points to the entity set or the query as defined in the projection. The name of the projection must also be prefixed to this identifier.

Additionally, the individual attributes for id (mandatory), name, workphone, mobileno, email and picture can be defined to point to attributes in the entity set/query which is defined above as the source. All of these must point to valid attributes, where the data type is "text" for all except picture, for which it would be "binary".

Marble

contactwidget {
   Person {
      source = NotifyMe.Persons; // ProjectionName.EntitySetName
      id = PersonId;
      name = Name;
      workphone = PhoneNumber;
      mobileno = MobileNumber;
      email = EmailAddress;
      picture = PersonImage;
   }
   Customer {
      source = NotifyMe.CustomersQuery; // ProjectionName.QueryName
      id = CustomerId;
      name = CustName;
      email = CustEmail;
   }
   Supplier {
      source = NotifyMe.SuppliersQuery; // ProjectionName.QueryName
      id = SupplierId;
      name = SupplierName;
   }
   User {
      source = NotifyMe.FndUsers; // ProjectionName.EntitySetName
      id = UserId;
      name = FullName;
      email = SmtpAddress;
   }
}