Skip to content

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 mobile app 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;  
   }  
}