So I work for a non-profit org using A Raiser's Edge database-(Which holds our constituent and fundraising information)

At it's root it's a MSSQL 2000 database.

I'd like to be able to integrate a Drupal site and information from our Database. As a custom web solution that could be above and beyond.

I'd like to be able to use the API that we were gouged for (Yup you have to purchase it separately)-

Politically around here the database is not going away any time soon.

Blackbaud (makers of The Raiser's Edge and other expensive nonprofit software) is a Microsoft company--I'm getting depressed reading their documentation--

Info from the docs:
API follows the guidelines of Microsoft’s Component Object Model (COM). Therefore, you may use it from any COM-enabled programming environment, including Microsoft’s Visual Basic, Visual C++, and Visual Basic for Applications. We wrote most of the examples included in this help file using VBA.

So the API is out, Yes?

I could directly access the database--but that's a pretty ugly solution.

How about building a web service? Getting some XML Goodness going?

Anyone with experience along these lines out there?

Thanks Loads!

Comments

litwol’s picture

our organization uses Raiser's Edge as well and boy do i hate it.

I will be eaagerly monitoring this discussion as i am very interested in the same solution.

Sometimes something interesting appears on http://litwol.com

styro’s picture

using COM from PHP (on Windows I presume):

http://php.net/manual/en/ref.com.php

I've never used PHP for that kind of stuff though - or COM at all for that matter so I have no idea how well it would work. But I do know that Python programmers can do just about everything with their win32/COM extensions - I'm just figuring that PHP has similar capabilities.

--
Anton
New to Drupal? | Troubleshooting FAQ
Example knowledge base built with Drupal

vordude’s picture

No server set up yet--- But would prefer a LAMP stack just so things would play the nicest there--We're currently windows-- and am trying to change for Drupal

litwol’s picture

i am running windows + apache + mysql 5.0 and php 5. all runs very well and very stable.

Sometimes something interesting appears on http://litwol.com

kaushikrabadiya’s picture

Hello,

How did you connect with Raiser's Edge Database with PHP ? Can you tell me process of it ?

Did you add any library in php ? or is there any other API for integration ?

I am looking forward to hear from you very soon,

Thanks,
Kaushik

styro’s picture

run Drupal on Linux (and who wouldn't? hehe) and use webservices to access this other app, then assuming it doesn't have a web services interface available you'll need to create one in your preferred Windows COM -> web services programming language/platform.

Options:

a) if the other app has a web services interface - use that from PHP in a custom Drupal module.

b) if it doesn't and you still want to use web services, you'd need to write that bridge plus your Drupal module.

c) access the MS SQL database directly from your Drupal module (ie going outside the Drupal database layer)

or probably the most economically viable:

d) suck it up and run Drupal on Windows (you still get to use Apache if you want) then write your Drupal module using the PHP COM extensions.

I really don't think option b is going to make much business sense though, unless you could turn that bridge into a commercial product (you'd probably be kidding yourself). Option c would mean going outside published APIs with all that that entails. I think options a and d are probably your best bets and option a might not even exist anyway.

But I'm only making wild guesses - take it with a grain of salt :)

--
Anton
New to Drupal? | Troubleshooting FAQ
Example knowledge base built with Drupal

vordude’s picture

Grain of salt not necessary-- You sound right on the money there.

a) Yes it does-- But the Web services come with their other product, "NetCommunity" which isn't flexible, and sucks as a CMS.

b) Yup. The thing is, to make the same thing happen using their (expensive) CMS there is probably an equal develoment time.

c) Yup. The problem comes when they update their database, the schema changes. BOOO.

d) Yup. It sounds great, I've shyed away from that. I've heard it's possible, I was afraid of that customization, I guess. I didn't know what was involved with making IIS, MYSQL, PHP and Drupal all play nice. My Drupal experience has all been LAMP of one flavor or another.

I'm not sure I would be kidding myself about a commercial application. (Though we are a 501 (c) 3 We'd have to work something out there.) I think there are a lot of unhappy NetCommunity users finding no answers in Convio or other web solutions.

I'd be in favor of contributing it back-- But only the people who've shelled out for the API/VBA module with Raiser's Edge would be able to help or use it.

styro’s picture

While Drupal can be run on IIS, apparently (I've never tried it) there are some headaches/limitations that need to be worked around. But people do that so it is possible.

But Drupal generally runs better on Apache, and the community is better placed for helping you on Apache. Apache 2.x on Windows works fine and all the functionality from Linux is pretty much there - the main thing you will miss though is not being able to just apt-get (or whatever) any security patches along with the rest of the OS. Generally with Apache on Windows you're in charge of tracking updates and patching it yourself. This is probably the main advantage IIS has over Apache from a sysadmins point of view.

--
Anton
New to Drupal? | Troubleshooting FAQ
Example knowledge base built with Drupal

psilv’s picture

I too would be very interested to hear of any success anyone has had in integrating Drupal and Raiser's Edge in any way. This would be very useful to know of for an upcoming project.

Anonymous’s picture

The most integrated I've gotten is writing an application that exports Drupal data into a static-column CSV file. We then use the Import-O-Matic RE plugin (http://omaticsoftware.com/) to import these files with import profiles we create. The base RE import is awful and does not do duplicate searching, but that plugin does. The catch is it costs thousands of dollars (doesn't everything with RE?).

Currently in the middle of a project to integrate Drupal-generated data to RE again with a more robust solution. Our thoughts are that Drupal can export the needed data to JSON and the intermediary application can generate the correct import files using it instead of reading Drupal's database directly. This is of course not fully automated (requires an import into RE) but getting fully automated with RE involves buying their API for $15,000 and working with it, and it's relatively unknown.

psilv’s picture

In a previous project we have gone down the route of exporting data into a csv and then the upload of this data to RE has been a manual process. This was fine for that particular instance but now we are needing a more automated process.

Thanks for the info about the Import-O-Matic RE plugin, I'll take a look at this, this could be helpful.

Good luck with the current project and please update us on how you progress with this solution.

treys’s picture

I don't know why anyone would use RE anymore.

CiviCRM is made for non-profits and is open souce and free. It has e-blast, e-vite, donation, and other modules that work seamless with a drupal CMS.

civicrm.org

Anonymous’s picture

Some of our organizations our so entrenched that it's pretty much out of the question to switch CRMs right now. At least that's what it's like when I bring it up. Plus, then I look like a crazy person.

christopher james francis rodgers’s picture

Villainous Cucumber: @vilepickle

Are you aware that this topic is in the Deprecated section;
and will not be seen by typical forum users.

The "Deprecated section of the Forums"
is not actively used and is intended as a library archive
collection of old posts.

The only notice it will get is via notifications
to this topic's 'followers'.

Please "Post new Forum topic" in one of the active forums.

===
Forums at drupal.org

Support
-- Post installation http://drupal.org/forum/22
-- Before you start http://drupal.org/forum/20
-- Installing Drupal http://drupal.org/forum/1
-- Upgrading Drupal http://drupal.org/forum/21
-- Converting to Drupal http://drupal.org/forum/37
-- Module Development and Code Questions http://drupal.org/forum/4
-- Theme development http://drupal.org/forum/3
-- Translations http://drupal.org/forum/30
General
-- News and announcements http://drupal.org/forum/8
-- General discussion http://drupal.org/forum/2
-- Drupal showcase http://drupal.org/forum/25
-- Events http://drupal.org/forum/28
-- Community Spotlight http://drupal.org/forum/13854
Services
-- Hosting support http://drupal.org/hosting-support
-- Paid Drupal services http://drupal.org/paid-services
Newsletters
-- Drupal Newsletter http://drupal.org/forum/42
-- Security advisories for Drupal core http://drupal.org/forum/1852
-- Security advisories for contributed projects http://drupal.org/forum/44
-- Security public service announcements http://drupal.org/forum/1856
-- Maintainer news http://drupal.org/forum/118
Deprecated
-- ... {Non-Active archived posts only}

===

- Chris

"All the best; intended."


All the best; intended.
-Chris (great-grandpa.com)
___
"The number one stated objective for Drupal is improving usability." ~Dries Buytaert *