I have an urgent need to implement some basic functionality for drupal/infusionsoft. I am just not sure where to begin, should I try to hack the api and make it work for drupal 7 and is it possible at this stage? or just use Infusionsoft sdk ?

Thanks

CommentFileSizeAuthor
#4 D7port_infusionsoft-1541842-4.patch110.37 KBwesnick

Comments

awm’s picture

Title: question Infusionsoft and D7 » Question about Infusionsoft and D7
wesnick’s picture

I have written a D7 version of this module. I was using ws client, so I wrote it to integrate with that module.

http://drupal.org/sandbox/wesnick/1571180

If the maintainer is interested, I could make a patch so we can develop in this namespace.

westwesterson’s picture

Hi wesnik,
I do not have a drupal 7 site that needs this functionality at the moment. But I imagine that other people will find your code useful.

I am open to creating a drupal 7 version with your patch.

wesnick’s picture

Component: Miscellaneous » Code
Category: support » feature
Status: Active » Needs review
StatusFileSize
new110.37 KB

I finally rolled this against 6.x. It is a big patch since I did not really port it, just wrote it new for WSClient. Not a lot of interest in this module, but this may change if it is available.

wesnick’s picture

@westwesterson,

I have continued to improve this D7 version of the module. I think it is ready for an alpha release at least. Any objection giving me commit access and refining this for release?

westwesterson’s picture

no issues :) you now have access!

InTheLyonsDen’s picture

Wesnick,

I have a client looking for integration with Infusionsoft with a D7 new site build. I would love to take a look at the alpha release and would be happy to provide feedback.

Thanks,
Kevin

juanbond’s picture

Hi Wesnick,

I was also wondering if you have an alpha release of the D7 Infusionsoft module availabe. Our company uses Infusionsoft and I was looking for a solution to link up our website users to it.

Thanks,
John

InTheLyonsDen’s picture

Juanbond,

You can find Wesnick's D7 release here: http://drupal.org/sandbox/wesnick/1571180

I'm on the same journey. It would be great to compare notes on the progress.

Cheers,
Kevin

wesnick’s picture

I did not see @westwesterson's comment about giving me access, so I didn't realize that I could create a branch. I will start to do this now. Any objections to using WSClient? I felt that the rules integration that it provides is nice, but that it introduces additional module dependencies might not be attractive to some. If there are no immediate objections, I will go ahead and create a 7.x branch with the code that I have.

westwesterson’s picture

i have no problem with a ws client dependency if it significantly reduces the module size or provides benefits that most people will use.

avantwaves’s picture

In the coming weeks I will use the D7 sandbox module in a project. I will report here if I find any troubles. A version for D7 is a must. I am finding more and more clients every day using Infusionsoft.

drupalninja99’s picture

Hello I am now taking over this module. Is https://drupal.org/sandbox/wesnick/1571180 the most up to date D7 port? I can copy it over. I would like review some things first.

drupalninja99’s picture

Also I would like to get a feel from the group as to how much effort should be put forth in maintaining/supporting/backporting changes to the D6 module which only has 6 reported sites. My feeling is that if people are going to use this niche module, they will be using the D7 version. I would consider removing D6 from the 'recommended' releases page once we complete a D7 port. If not I might call D7 2x and leave 6x as a separate 1x version that we would only minimally maintain (meaning critical bugs only get addressed). No backport fixes/features. Thoughts?

westwesterson’s picture

I plan on continuing to maintain v6... i think we should talk about what new features, you plan on supporting w/ d7... and can decide if they belong in d6.
I understood that you would take on maintenance of d7+.

I don't want to get in the way of d7... but the features that currently exist are there for a reason.

The d7 version currently does not have all the features of d6. Since it was a one time port, and has not been maintained since 2012.
New features went into d6 version in march 2013.

The major new features are better and more flexible contact mapping, and better debugging tools for infusionsoft custom fields.

drupalninja99’s picture

Oh okay great. So you can continue to maintain d6 and I can help port d7. I would like to initially get whatever we can into a stable release. So if that means cutting some features out, I think that would be fine. We might want to call d7 2x since it will be divorced from some of the functionality in d6.

westwesterson’s picture

A new version number would be ok,
i'd expect the d7 version to loose conditional action support (since commerce uses rules).
Contact mapping is actually pretty important step in order to do flexible syncing of information. Otherwise you are unable to sync most user profile fields.

So i'm not sure that you'd really want to exclude this functionality from a true 2.0 release...
i suppose if people know that 2.0 will only sync tags via rules or api that would be fine.

I did have a longer term vision for the project if there was more interest.

drupalninja99’s picture

I took @wesnick's sandbox, did some whitespace cleanup and ran through Coder. We can start with that as the 7x baseline (made the first commit just now) for the dev release.

Status: Needs review » Needs work

The last submitted patch, D7port_infusionsoft-1541842-4.patch, failed testing.

drupalninja99’s picture

I am looking into this module and I am wondering if it's better to break out a separate module for what I am wanting to accomplish. The scope of this module is appropriately named as an API module in that it implements the InfusionSoft API and integrates with Drupal user accounts. I am not sure, however that this is the most pressing need for administrators who are wanting to use InfusionSoft.

Many of the other (Hubspot, Pardot, Eloqua) modules I am working do 2 main things that are pretty useful: 1. Add javascript tracking and 2. Integrate lead forms with the Webform module.

The javascript tracking is very easy to add. Webform integration is more difficult. So I could create a module called "InfusionSoft" and either make it wholly separate or make it require the InfusionSoft API module as a dependency.

drupalninja99’s picture

I have been playing with this module and all of the functionality I have tried has worked. I have tested the following:

1. 'Add to infusionsoft' button added a contact correctly (altho I did have to enable an additional wsclient submodule)
2. Settings page worked
3. Rules integration looks like it works
4. 'Add to group' button works.
5. Infusionsoft field on user entity looks good

I want to figure out which wsclient module is required and make it a dependency. Am I missing functionality in this port that is available via the UI? If so where can I find it?

I am inclined to add the new functionality to this module as opposed to having to create another module. I could add tracking pretty easily and just give admins a checkbox on the settings page that says "Enable page tracking" with some visibility settings.

For webform integration I would add that as a submodule called 'infusionsoft_webform'.

westwesterson’s picture

I already have tracking in d6 version, i have no problem with adding that, you might be able to reuse code there.

webform sub module i'm fine with, the goal was eventually implement infusionsoft_webform or something like that, so this fits in well with my planned roadmap.

westwesterson’s picture

The missing functionality is more robust contact mapping, (any custom field, not just email, username, etc.) and js user tracking.

drupalninja99’s picture

Gotcha, okay I will look at the d6 module for tracking. I think it would be good to add other fields like you are saying though I wouldn't let that hold up a stable release. I might look at some other modules for direction on how to integrate with entity fields.

drupalninja99’s picture

Issue summary: View changes
Status: Needs work » Closed (fixed)

It looks like we eventually got D7 up and running, I am closing this ticket

awm’s picture

Perhaps it is only right to give wesnick some credits as a big portion of the d7 version was taken from his sandbox.

drupalninja99’s picture

K, I gave him credit on the project page.