Rationale For This Product
Using the wonderful foundation that is provided by PloneFormGen (and Plone for that matter), the task of creating a form that collects and validates some desired information is no longer a task that requires developer intervention, but can be done by the content editor with a decent grasp of the Plone user interface. Having this data inside the CMS or emailed is only of limited use however. Salesforce.com provides an extensible, powerful platform from which to do Customer Relationship Management (CRM) tasks ranging from sales, marketing, nonprofit constituent organizing, and customer service. The Salesforce PFG Adapter symbolizes the pragmatic joining of a best of breed CMS and CRM so that each can focus on its own strengths in a way that is easy for non-developers to use.
This product builds on top of the foundation for through the web form creation provided by PloneFormGen. If you are unfamiliar with PloneFormGen's capabilities and the problem space it intends to serve, we encourage you to start by downloading that and reading the README.txt file in the root of the product. In particular, the Overview and Rationale For This Product sections are recommended.
Once you've setup a suitable PloneFormGen form folder (and correctly installed and configured the Salesforce PFG Adapter and its dependencies), you'll have the option of adding a new action adapter called the Salesforce PFG Adapter.
Once you've added a Salesforce PFG Adapter to your form, you're presented with both "default" and "field mapping" (in addition to the standard "overrides") management screens for editing the adapter. The default screen consists of a drop-down menu populated with all the sObject types (i.e. Salesforce Objects) found in the Salesforce.com instance that corresponds to the credentials entered when creating a Salesforce Base Connector in the ZMI. This should include both standard and custom sObjects.
Once you've chosen your sObject type, moving through to the "field mapping" management screen will display a two-column form for setting which Salesforce field will be populated by each field on your form. Each field on your form is represented by a single row, with the form field name in the left column, and a drop-down selection menu of all available Salesforce fields on the right. Select the desired Salesforce field for each form field and click "Save".
NB: While it is not required to map every form field to a Salesforce field, you will want to make sure that all the sObject fields defined as required fields in your Salesforce configuration *do* have a mapping. Otherwise, the sObject will not be succesfully created on submission of the form. See "Known Problems" below for more detail on this final point.
Should you go back and switch to a different sObject type after having provided a mapping at any time, you'll want to recreate your desired mapping. This is intended behavior, since the update would fail (or worse, produce very confusing results) if the previously selected sObject type's mapping were maintained.