Need documentation.

* Some general information on the process of mapping - what and why.

* Suggested field mappings.
-- suggested fieldmaps to create
-- suggested fields to map, within each fieldmap

* Some info currently available at: http://drupal.org/node/722402#comment-2720316

CommentFileSizeAuthor
#8 760226-new-docs.patch7.6 KBEvanDonovan

Comments

EvanDonovan’s picture

Can this documentation be based off the work done in #811258: Compatibility with latest dev, code cleanup, some bug fixes?

EvanDonovan’s picture

Since I now have a working (though basic) setup, I will document both the steps to configure, and my field mappings (plus the supporting fields necessary in Drupal & Salesforce for them to work) later today, or tomorrow at the latest.

EvanDonovan’s picture

Title: Need documentation » Document the setup for this module
Category: bug » task

Here's a quick documentation of my working setup. I'll clean it up more in terms of formatting and wording, etc. if I can commit it to the module.

1) As a prerequisite, install the Salesforce API module, and configure it 
according to the instructions provided with it. Also, ensure that Ubercart
is configured correctly.
2) Install and enable the Ubercart Salesforce Integration module.
3) Enable the Contact, Opportunity, and OpportunityContactRole objects 
on the SF API "Object Setup" tab.
4) Create field mappings similar to the following. Do *not* set them
to "sync on create". This will be handled at a later step.
  a) User account -> Contact (or Lead)
    i) This is how users will be added to Salesforce. Everything depends on this.
    ii) Fields (SF name on left):
        1) Last Name -> Username (most basic)
            (This will probably not be ideal for you, since Ubercart user names
           are the first part of an email address, if the user has been created during 
           the sign up process. I used the uc_profile.module (Ubercart Profile Integration)
           to make it possible to add First Name and Last Name fields (via Profile module)
           to the Ubercart checkout process.)
           Last Name -> ubercart: Last Name (recommended)
        2) First Name -> ubercart: First Name
        3) Email -> E-mail address
   b) Ubercart order -> Opportunity (or Donation, if you are using the 
       Nonprofit Starter Pack)
       i) This is where the purchase data comes in. This will be necessary 
          if you want to do exports to things like QuickBooks from Salesforce later.
      ii) Fields:
         1) Donation Name -> Order ID
         2) Stage -> Order Status (Title)
         3) Close Date -> Created date (as XSD:Date)
         4) Amount -> Order Total
    c) Opportunity Contact Role node -> OpportunityContactRole
       i) This makes the link between an individual Contact and an Opportunity. 
          The OCR node basically just stores one field, and is necessary since currently 
          you can't do one-to-many mapping using the Salesforce API module. Normally, 
          in Salesforce, Opportunities/Donations are linked with Accounts/Organizations,
          but the Ubercart Salesforce Integration module, in its current state links to 
          individual Contacts. 
          It would be possible, however, to query Salesforce to get the Account linked
          with an Individual if you wanted to modify the module to link up on Accounts.
          One reason you might want to do this is for rollup summary reporting.
         ii) Fields:
             1) Contact ID -> Order User's Salesforce UserID [for OCR]
             2) Donation -> Order Salesforce ID [for OCR]
     d) (optional) Ubercart order product -> Product (custom object type in Salesforce)
         i) Optionally, if you want to store the data for the individual product items in
            Salesforce, you will need to create a custom object that will show on the 
            related list for the Opportunity object.
            This can be very simple: mine is just a price numeric field, and a master-detail
            field for linking to the Opportunity.
            If you add this after you have already installed the Salesforce API module, make
            sure to download and re-upload the Enterprise WSDL so that this object and its
            fields will be recognized.
         ii) Fields: 
             1) Product Name -> Title
             2) Purchase Name -> Order Salesforce ID
             3) Cost -> Price
5) Go to the Salesforce API Settings tab (at admin/settings/salesforce), and make the field
mappings from step 4 the Default Export Settings, under Ubercart Integration.
6) Check the checkboxes for each to "attempt to sync". Do not check the "Always create a 
NEW user contact/object" checkbox.
7) Click "Save configuration" at the bottom of the Settings tab. Now your integration should
be set to work. Test it with both anonymous and authenticated users.
EvanDonovan’s picture

Assigned: Unassigned » EvanDonovan
Priority: Normal » Major
EvanDonovan’s picture

Version: 6.x-1.x-dev » 6.x-1.0-alpha2
Issue tags: +6.x-1.0-alpha3
EvanDonovan’s picture

Version: 6.x-1.0-alpha2 » 6.x-1.x-dev

Tagged for next release.

EvanDonovan’s picture

StatusFileSize
new7.6 KB

Here's the new docs. I also fixed them to have line wrapping.

EvanDonovan’s picture

Status: Active » Fixed
EvanDonovan’s picture

Fixed in dev.

Status: Fixed » Closed (fixed)
Issue tags: -6.x-1.0-alpha3

Automatically closed -- issue fixed for 2 weeks with no activity.