By Pankaj Mehra
Drupal is a free CMS platform. Acquia is a company which provides a mix of Drupal services. It offers some paid Drupal services, like specialized Drupal hosting, migration into Drupal, support, and training. It also contributes important code to the Drupal community for free. Fortunately, Drupal modules can be downloaded and modified entirely for free.
Minimum integration requirements
- Salesforce Account
- Download Acquia Drupal. It could be either Cloud or Desktop version. (Note: The Cloud version requires Git to push code in Cloud, and you will still need the desktop version to create the actual application.)
- Drupal Salesforce modules (add-ons), if required.
Setting Up Salesforce
Using Drupal, we can integrate many Salesforce features (like the Web-to-Lead form. and Web-to-Case form) in Drupal and UI for Communities.
- Start with creating a connected Drupal app from – Set-up > App > Connected App.
- Then fill out the mandatory and basic information.
- Under API (Enable OAuth Settings), check the “Enable OAuth Settings”.
- Add “https://localhost/salesforce/oauth_callback” as the callback url, where localhost is the Acquia Drupal server URL running on your local system; For the configuration below, the URL is https://acquia-drupal-7-41-47-6289.dd:8443. Note: Be sure to remember to add necessary permissions to this application.
- Once the app is created, you will see that Salesforce has generated a secret key and a consumer key.
Setting Up Acquia Drupal
- Download and install the Acquia Drupal desktop version.
- Once it is installed, you can configure the ports for Apache and Mysql servers:
- Once the aforementioned servers are up, you will be re-directed to the configuration page for the Aquia Drupal. Here, you can set-up the admin user and database tables. It is an automatic process. Once this is done, you will be re-directed to the home page of your newly created website.
Connecting Salesforce with Acquia Drupal
- Install the “Salesforce Suite” module in Acquia Drupal under Module > Install new Module
- Go to Configuration > Salesforce >
Click on Authorize, and enter “consumer key” and “consumer secret” generated under the “Setting Up Salesforce” section. Update the Salesforce endpoint and click “authorize”. After logging in, you will be asked to grant permission for the Drupal App. Once the process is completed, you will see under the Authorize section that the Drupal App has been authenticated.
- Now you can synchronize Drupal entities (e.g., users, nodes, files) with Salesforce objects (e.g., contacts, organizations, opportunities). It also supports pushing Drupal data to Salesforce — as well as pulling and importing Salesforce data into Drupal. Changes can be made in real-time or asynchronously in batches during cron run.
Example of sync
- Go to Structure > Salesforce > Salesforce Mapping and click “Add Salesforce Mapping”
Once the configuration is done, user can create webform that contains all the HTML components, which can be binded to Salesforce object fields. Upon the submission of this web form, a user is able to create records in Salesforce.
- You can install Salesforce Webforms on Acquia Drupal. This module leverages the Salesforce Suite module to add Salesforce support to Webform. Once this module is installed, you will see new content to create under “Add Content” which is a Webform. Under Web-Form creation, you can specify the fields on the web form, and can map those fields with Salesforce object fields. Once the web form is submitted, it will create new object records in Salesforce with the mapped fields.
Acquia Drupal is a powerful CMS. and, in combination with Salesforce, it can be taken to the next level. Acquia Drupal can also make use of rich modules like Drupal Fusion — to create next-generation websites, which can be backed up by Salesforce.