| | 56 | == 4. Similarly create a “Address” data type (to keep it simple we only do phone numbers): == |
| | 57 | * Entity address |
| | 58 | {{{ |
| | 59 | !xml |
| | 60 | <entity name="Address"> |
| | 61 | }}} |
| | 62 | * A unique, automatic numeric identifier field that MOLGENIS will use to refer addresses. |
| | 63 | {{{ |
| | 64 | !xml |
| | 65 | <field name="address_id" type="autoid"/> |
| | 66 | }}} |
| | 67 | * Add the phone number field: |
| | 68 | {{{ |
| | 69 | #!xml |
| | 70 | <field name="phone"/> |
| | 71 | }}} |
| | 72 | * Add a field where the user can choose from an enumeration of options whether the address is ‘home’,’work’,or ‘mobile’: |
| | 73 | {{{ |
| | 74 | #!xml |
| | 75 | <field name="address_type" type="enum" enum_options="[home,work,mobile]"/> |
| | 76 | }}} |
| | 77 | |
| | 78 | == 5. Finally we need to link the Addresses to each Contact. == |
| | 79 | {{{ |
| | 80 | #!xml |
| | 81 | <field name="contact" type="xref" |
| | 82 | xref_field="Contact.contact_id" |
| | 83 | xref_label="displayname"/> |
| | 84 | </entity> |
| | 85 | }}} |
| | 86 | Note that the xref_field refers to unique field ‘contact_id’ in entity ‘Contact’. The xref_label attribute indicates that we want to view references to Contact by ‘displayname’ name instead of the numeric id. |
| | 87 | |
| | 88 | Use of a meaningless numeric ‘id’ next to a meaningful ‘label’ enables us to change the ‘displayname’ name on Contact without the problem of also having to change this on each Address that refers to this contact. |