Drupal Integration with Salesforce.com

5 Comments

Currently, we are working on a Drupal 6 project that requires integration with Salesforce.com. We use the Salesforce module for Drupal 6 (http://drupal.org/project/salesforce). We also use the webform module to create the desired form. The data will be sent to Salesforce.com after a user fills out and submits the form.

To achieve this, we need to map the webform fields to Salesforce lead fields. We searched and found the Salesforce Webform Integration module (http://drupal.org/project/sf_webform). We realized later that this module didn't really work with the salesforce-6.x-2.x-dev module. The Salesforce Webform Integration module is using $map['index'] and $map['webform_nid'] to refer to fieldmap index ('fieldmap' field in table 'salesforce_field_map') and webform node id ('nid' field in table 'salesforce_webform'). However, you can't find $map['index'] and $map['webform_nid'] in the 'map' variable in salesforce-6.x-2.x-dev. Instead, salesforce-6.x-2.x-dev is using $map['fieldmap'] to refer to the fieldmap index, and it does not have the webform node id info in the 'map' variable.

Asterisk and Drupal (integrating phone system and CMS)

3 Comments

Our office is currently installing an Asterisk based Phone system called TrixBox. Asterisk is a Phone Branching System which allows for corporate phone directories, voice mail systems and other great telecommunication features. Even better is that both of these software systems are also open source.

As I was reviewing the features offered by Asterisk, I did some research into how Asterisk can potentially integrate with Drupal. I learned about this Asterisk-Drupal integration module: http://drupal.org/project/asterisk.

Drupal S3 Integration and Flashvideo Module with FFMPEG Installation

2 Comments

S3, a great technology provided by Amazon, allows users to store an unlimited amount of files through simple web service calls. Amazon S3 is very cost effective, only charging 15 cents per gigabyte and additional charges for the bandwith that is used during retrieveing and sending files. The scalability of Amazon S3 allows video hosting sites to trust that the videos will be available at all times and will not
add to load times when playing videos.

The flashvideo module allows users to convert uploaded video files to Flash format with the help of FFMPEG. These video files after being converted can be embedded into nodes by using a special placeholder, [video], in the node body. The project page mentions that the module has been tested with two great flash players which are:

Integrating Drupal with External Systems

3 Comments

The great thing about Drupal and other open source software is that it is relatively easy to integrate the platform with external software packages. This includes both proprietary software packages and open source packages. With the source code available for review, engineers can easily find ports for integrating open source solutions with other systems.

For Drupal, I find that there has been a great deal of demand in integrating it with the following systems:

1) SalesForce.com: most mid to large size corporations that we work with use SalesForce.com as their CRM solution. Even though SalesForce.com is a hosted application, it has a great API which is well documented. In fact, there is a contributed Drupal module which allows for information be passed between SalesForce.com and Drupal. The module can be found here: http://drupal.org/project/salesforce. We have used an altered version of this module for Drupal and it has been working great.

Drupal Google Map Issue (without location module)

0 Comments

I posted a blog post about Drupal Google Map integration a few weeks ago. In that posting, I mentioned that Google Maps can be integrated by simply creating a custom .php page which embeds the Google Map API JavaScript inside it and then fetch the right Google Map based on the URL ($_GET variable).

I think that while this method works for most sites, this may not work for a lot of directory sites simply because people enter non conventional addresses. In order to prevent this from happening, there are 2 things that can be done:
1) Let people enter the longtitude and latitude of their address
2) Let people upload an image of the map if the mapping does not work

However, as in most sites that have user generated content, there will be people who would not know what they are doing and enter something weird into the address field.

Drupal Google Map Integration (simple integration)

0 Comments

There are currently numerous ways for integrating Google Maps with Drupal. The most popular method is to use the GMap Module together with the Location module. This method provides the most functionality and highest level of customization. However for relatively simple integrations, it is possible to simply embed the javaScript as part of a custom module or part of a custom page. This will allow for a simple JavaScript integration which makes use of the Google Geo Coder API.

Basically, the idea is to supply the Address string to the google geo coder which returns the longtitude and latitude of the site. This will enable Google map to pin point that address.

The following is some sample code that we have altered from a contribution at Drupal.org:

Google Maps JavaScript API Example

<?php
$address = explode('abc', $_GET['address']);
#hacked by api for Robert Armstrongs map. may need to replace this with a preg_replace for other ppl
/*if(stristr($_GET['address'],'South Tower'))
{
$_GET['address'] = str_replace(', South Tower','', $_GET['address']);
}
#hacked by api for Mitchell D. Childs map. this is gotta be the ugliest way of doing things