Answers.Body: <p>Check out I3Val Input Validation (<a href="https://github.com/systopia/be.aivl.i3val/blob/master/docs/index.md" rel="nofollow noreferrer">https://github.com/systopia/be.aivl.i3val/blob/master/docs/index.md</a>) as this allows backend validation before changes go into Civi. It may save people having to complete information again that hasn't changed and from an admin perspective unlikely more work than having to check and then dedupe.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-02-02T12:56:41.157Z
Answers.Text: Thank you for the answer. I've finally found some time to investigate i3val and XCM (which I've never used before), and they look great. Does this work with Drupal webform integration, however? As far as I can see this only works if I use it with XCM, which has a new getorcreate api action.
Answers.UserDisplayName: Marko
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-02-04T10:45:37.130Z
Answers.Text: The XCM is as far as I'm aware only an example and i3Val can be set up to use Drupal Webform info in the same way as other external data.
Answers.UserDisplayName: RebeccaTregenna
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-01-28T10:33:01.037Z
Answers.LastActivityDate: 2020-01-28T10:33:01.037Z
Answers.UserDisplayName: RebeccaTregenna
Body: <p>Is it possible to make a Drupal Webform which always creates a new contact but uses Existing Contact for prefilling?</p>
  
  <p>The use-case is that the data needs to be updated but supervised by another human. So what I in effect need is for my drupal webform to create a duplicate based on the existing contact. Duplicates are then to be merged by a supervised deduplication process.</p>
  
  <p>How would I go about doing this? Would it be a matter of inserting some code before the form is processed or is the entire Existing Contact framework more complicated then that? Or is there an easier way to achieve this?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-01-28T00:22:16.803Z
Comments.Text: pls explain what would cause the Existing Contact to prefill? Are you using a cid in the URL, or is it for the logged in person. If the latter you might do better to show then a Drupal Block of their 'existing data' and have them fill in a blank form with any changes required. And make sure that the dedupe rule ensures there is no matching happening so a new contact is created. But I appreciate that means the person is having to retype info that you already have about them.
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-01-28T00:23:03.303Z
Comments.Text: alternatively how about - webform has 2 contacts. one prefills but all fields are locked. hence no changes are made. use some js to copy data from c1 to c2 where the user can then edit etc.
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-01-28T00:58:59.570Z
Comments.Text: @petednz-fuzion this is very clever thinking! Thank you! I would use both URL and autocomplete search.
Comments.UserDisplayName: Marko
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-01-28T05:04:11.593Z
Comments.Text: ok, well if you detail what you do as a solution as the Answer then I will +1 it for you :-)
Comments.UserDisplayName: petednz - fuzion
Tags: <drupal><webform-civicrm>
Title: Auto-filled Drupal Webform That Creates New Contact
ThreadText: # Auto-filled Drupal Webform That Creates New Contact
  
  (Asked by: username_0 on 2020-01-27)
  
  Is it possible to make a Drupal Webform which always creates a new contact but uses Existing Contact for prefilling?
  
  The use-case is that the data needs to be updated but supervised by another human. So what I in effect need is for my drupal webform to create a duplicate based on the existing contact. Duplicates are then to be merged by a supervised deduplication process.
  
  How would I go about doing this? Would it be a matter of inserting some code before the form is processed or is the entire Existing Contact framework more complicated then that? Or is there an easier way to achieve this?
  
  **Tags:** drupal, webform-civicrm
  
  > **Comments:**
  > **username_1**: pls explain what would cause the Existing Contact to prefill? Are you using a cid in the URL, or is it for the logged in person. If the latter you might do better to show then a Drupal Block of their 'existing data' and have them fill in a blank form with any changes required. And make sure that the dedupe rule ensures there is no matching happening so a new contact is created. But I appreciate that means the person is having to retype info that you already have about them.  
  > **username_1**: alternatively how about - webform has 2 contacts. one prefills but all fields are locked. hence no changes are made. use some js to copy data from c1 to c2 where the user can then edit etc.  
  > **username_0**: @petednz-fuzion this is very clever thinking! Thank you! I would use both URL and autocomplete search.  
  > **username_1**: ok, well if you detail what you do as a solution as the Answer then I will +1 it for you :-)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2020-01-28. Score: 1
  
  Check out I3Val Input Validation (<https://github.com/systopia/be.aivl.i3val/blob/master/docs/index.md>) as this allows backend validation before changes go into Civi. It may save people having to complete information again that hasn't changed and from an admin perspective unlikely more work than having to check and then dedupe.
  
  > **Comments:**
  > **username_0**: Thank you for the answer. I've finally found some time to investigate i3val and XCM (which I've never used before), and they look great. Does this work with Drupal webform integration, however? As far as I can see this only works if I use it with XCM, which has a new getorcreate api action.  
  > **username_2**: The XCM is as far as I'm aware only an example and i3Val can be set up to use Drupal Webform info in the same way as other external data.  
  
  ---
  
  