Answers.Body: <p>Many thanks to Andrei for supplying this answer in a comment:</p>
  <blockquote>
  <p>If you navigate to <strong>Administer-&gt;Customize Data and Screens-&gt;Display Preferences</strong> at the bottom you have two fields:</p>
  <p>Individual Display name format: <code>{contact.first_name}{ }{contact.last_name}</code> and<br />
  Individual sort name format: <code>{contact.first_name}{ }{contact.last_name}</code></p>
  </blockquote>
  <p>By updating this setting I can just put whichever is the first name in the first name field, the rest of the names in the last name field, and the records will always show <code>name1 name2 name3 ...</code> everywhere it is listed/sorted.</p>
  <p>The last step was to update the existing entered names. I did this with the following SQL, which was appropriate for my particular use (and may not be for yours!):</p>
  <pre><code>UPDATE civicrm_contact SET sort_name = display_name
  WHERE contact_type = 'Individual';
  </code></pre>
  <p>And now my names are working exactly as the client requested throughout the system. Many thanks.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T10:34:40.160Z
Answers.Text: Glad it helped!
Answers.UserDisplayName: Andrei
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T09:51:18.810Z
Answers.LastActivityDate: 2015-10-07T09:51:18.810Z
Answers.LastEditDate: 2020-06-17T09:00:50.810Z
Answers.UserDisplayName: artfulrobot
Body: <p>I'm implementing CiviCRM for a client who works with African contacts whose names do not fit CiviCRM's first, [middle,] last format.</p>
  
  <p>e.g. someone's name may have 4 parts, and may be presented in any order, although they will be presented in a particular way on their passport.</p>
  
  <p>In terms of name display it seems that sort_name is favoured, but this presents names like: <code>last, first</code>. This jumbles the order in lists and is not helpful like it is with Western names.</p>
  
  <p>I cannot put the whole name in the last name field and not use the first name because this is a requirement for creating a contact.</p>
  
  <p>I would like to either</p>
  
  <ol>
  <li><p>get control over 'sort name', e.g. I could make it simply concatenate first name, space, last name, instead of last name, comma, first name.</p></li>
  <li><p>allow empty first names (then I can just use the last name field).</p></li>
  </ol>
  
  <p>Is there a way to achieve either of these? </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-10-06T21:56:10.403Z
Comments.Text: If you navigate to Administer->Customize Data and Screens->Display Preferences at the bottom you have two fields, Individual Display name format: {contact.first_name}{ }{contact.last_name} and Individual sort name format: {contact.first_name}{ }{contact.last_name} Does that help?
Comments.UserDisplayName: Andrei
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-10-06T22:04:22.663Z
Comments.Text: That looks brilliant, will check out out, thanks!
Comments.UserDisplayName: artfulrobot
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-10-06T22:05:15.420Z
Comments.Text: Forgot to say that this will apply only to new contact, if that suits you and you decide to go that way, you will have to rebuild the sort name and display name. See this post https://forum.civicrm.org/index.php?topic=23125.0
Comments.UserDisplayName: Andrei
Tags: <4.6>
Title: How to work with names that don't fit first, last
ThreadText: # How to work with names that don't fit first, last
  
  (Asked by: username_0 on 2015-10-06)
  
  I'm implementing CiviCRM for a client who works with African contacts whose names do not fit CiviCRM's first, [middle,] last format.
  
  e.g. someone's name may have 4 parts, and may be presented in any order, although they will be presented in a particular way on their passport.
  
  In terms of name display it seems that sort\_name is favoured, but this presents names like: `last, first`. This jumbles the order in lists and is not helpful like it is with Western names.
  
  I cannot put the whole name in the last name field and not use the first name because this is a requirement for creating a contact.
  
  I would like to either
  
  1. get control over 'sort name', e.g. I could make it simply concatenate first name, space, last name, instead of last name, comma, first name.
  2. allow empty first names (then I can just use the last name field).
  
  Is there a way to achieve either of these?
  
  **Tags:** 4.6
  
  > **Comments:**
  > **username_1**: If you navigate to Administer->Customize Data and Screens->Display Preferences at the bottom you have two fields, Individual Display name format: {contact.first_name}{ }{contact.last_name} and Individual sort name format: {contact.first_name}{ }{contact.last_name} Does that help?  
  > **username_0**: That looks brilliant, will check out out, thanks!  
  > **username_1**: Forgot to say that this will apply only to new contact, if that suits you and you decide to go that way, you will have to rebuild the sort name and display name. See this post https://forum.civicrm.org/index.php?topic=23125.0  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2015-10-07. Score: 2 | Accepted answer
  
  Many thanks to username_1 for supplying this answer in a comment:
  
  > If you navigate to **Administer->Customize Data and Screens->Display Preferences** at the bottom you have two fields:
  >
  > Individual Display name format: `{contact.first_name}{ }{contact.last_name}` and  
  > Individual sort name format: `{contact.first_name}{ }{contact.last_name}`
  
  By updating this setting I can just put whichever is the first name in the first name field, the rest of the names in the last name field, and the records will always show `name1 name2 name3 ...` everywhere it is listed/sorted.
  
  The last step was to update the existing entered names. I did this with the following SQL, which was appropriate for my particular use (and may not be for yours!):
  
  ```
  UPDATE civicrm_contact SET sort_name = display_name
  WHERE contact_type = 'Individual';
  
  ```
  
  And now my names are working exactly as the client requested throughout the system. Many thanks.
  
  > **Comments:**
  > **username_1**: Glad it helped!  
  
  ---
  
  