Posts tagged as:

opensource

CiviCRM was the first nonprofit-focused open source CRM (one of only two, at this moment.) It is a great tool for small to medium-sized organizations who are looking for a CRM to track members and donations, register people for events, and do mass mailings. There are also some other features, like grants management and case management that are more nascent, but promising for the future. I’ve implemented CiviCRM together with Drupal, and I’m really psyched to keep working with this great combo.

CiviCRM originally only integrated with Drupal, but recently a lot of work has been done to also integrate CiviCRM with Joomla. CiviCRM acts in Drupal like a module, and in Joomla like a component. This means that since the code sits in the same exact place,  and the databases could even be shared (or not, it’s your choice) in effect, CiviCRM is becoming part of your CMS. You install CiviCRM inside your CMS installation directory, and the CMS and CiviCRM talk to each other through PHP APIs (or “hooks”) (there are some examples of database calls across the CMS/CRM). There isn’t much work to be done by you, or by the person who implements it for you, unless you want to do customizations, and expose CRM data in new and interesting ways. Users in your CMS installation will become users in CiviCRM when you install it, and be synched going forward. You can set up web forms (for donations, event registration, etc.) and have them be menu items. It’s a very straightforward integration.

Using CiviCRM and Drupal is a great way to easily get powerful integration between your CMS and your CRM. They are both installable on pretty standard shared-hosting accounts (although shell access really helps.) It’s a really cost-effective way to get powerful features. The disadvantage of this is that you have to choose CiviCRM and Drupal (note on Joomla below).  Both have their disadvantages, and you might have a variety of reasons for not choosing one of them. Jon Stahl, in his comments on my first post in this series said: “a PHP API accessible only to other PHP apps on the same machine is simply not sufficient integration in an age of web services, where people run different apps on different machines and use languages other than PHP for building web apps.” I do agree with Jon to some extent. I do know that CiviCRM has been working on their web services APIs, but a really strong set of them would mean that people could integrate CiviCRM with more CMS, which , from my perspective, would be a Really Good Thing. That said, I do think that this combo would be a cost-effective solution for good chunks of the nonprofit community.

Note: My understanding is that there are still some snags with the CiviCRM/Joomla integration, and I’m not very familiar with it. If you already have a Joomla site (or you are about to choose Joomla) and you want to use CiviCRM, you should talk to the CiviCRM-Joomla folks, or check out the CiviCRM forums. One example: since Joomla doesn’t have granular ACLs (Access Control Lists) there must be issues with how permissions work in terms of access to specific parts of CiviCRM. If you have detailed info, please feel free to share in the comments.

{ 3 comments }

Integration of CRM and CMS

January 14, 2009

If there are two acronyms that are at the center of nonprofit communications, it’s these two, CRM (Constituent Relationship Management – and I’m making this broad enough to include fundraising) and CMS (Content Management System). And because of this, it makes sense that integration of these two is something that is a need to be filled. What’s involved in this?

First, the what – what to integrate? Most often nonprofits want to capture information from web users. That sort of information could be a newsletter sign up, a contact form that should be responded to, an online donation or an event registration. The organization wants to capture the demographic details, as well as make sure that data is synchronized with the data they might already have on that web user, so they can track their constituents over time.  In addition, sometimes nonprofits want to expose data from the CRM to the CMS. One purpose is to allow users to modify their own information (if the site allows logins.) Another purpose is for membership lists, or group lists, or perhaps live tracking of donations from a specific campaign.

There are four strategies that can be used for this integration:

  • Manual. The old fashioned form of integration. Forms sent go to email, or a separate database, and someone manually enters that data into the CRM. Data from the CRM is manually reported and put up on the CMS. It’s amazing how much this still needs to be done. Some CRMs still don’t have openAPIs. Even if they do, it takes developer time to write the code to do the integration, and that may be resources that a nonprofit doesn’t have.
  • All-in-one. Some vendors have products that provide integration by having both the CRM and the CMS together. Trade-off – you don’t get best of breed tools for both. Second trade off, all of these are proprietary.
  • Web forms from CRM vendor. This is integration of a sort. One sets up a page (often donation or event page) on the CRM vendors web platform and link your page to their pages. Or, one pastes HTML code for a form into one of the pages of the CMS, and when the user clicks “submit” the data actually goes to the CRM vendor.
  • Integration. This is when actual code is written in the CMS (via module or customization) which calls APIs on the CRM side to perform specific actions, such as adding records, syncing records, grabbing data, etc.

All of these strategies take time and resources, but of different kinds. Some take internal staff resources (especially the Manual strategy.) Others take developer resources (especially the Integration strategy.) Depending on the CRM, some require additional license fees for forms or APIs.

So what’s the right strategy? That totally depends on a few factors. First, are you happy with your current CRM and CMS? If so, what specific types of integration do you want to have happen? What are the specific tasks and data types you want to move between the CRM and the CMS? The best way to accomplish those tasks depends primarily on your CRM, although if you are using a proprietary CMS, a hosted CMS service, or an older CMS, you might run into trouble with integration.

If you are in the process of reassessing your CRM or CMS or both, now is a very good time to think hard about how you want these two to talk with each other. I know that’s one more thing in a long list of considerations (and it’s generally more important to think about for the CRM – the CMS, if it is modern, and especially if it is open source, will provide few barriers to integration.) I’ll have follow up posts on specific examples of this integration using open source tools (on one end or the other, or both.)

{ 18 comments }

Top 10 blog posts of 2008

December 26, 2008

Here’s the top 10 list for 2008:

1) Remember when 1 MB was alot? I wrote this post back in 2005, and it is the most popular in 2008! It’s actually because someone included it in a Wikipedia Article (no, it wasn’t me.)

2) Carnival of Nonprofit Consultants on July 27th. Don’t know why this rose to the top, but the carnivals are fun to do.

3) No More Custom CMS. Where I rail against web shops that continue to suggest that people use their CMS, when it’s just not possible for one shop to replicate the robustness, features, security and upgradeability of the Open Source CMS offerings.

4) Blackbaud Buys Kintera. The proprietary consolidation of the CRM/Donation management system space continues apace.

5) The Search for Good Web Conferencing. An exploration of options with my own particular requirements in mind.

6) Google Analytics vs. Sitemeter. Wow, this post is from 2006.

7) Getting Naked: Being Human and Transparent. This blog entry from 2007 is about being open about one’s mistakes. I think it’s the word “naked” that does it. It has one of the highest bounce rates of any post on this blog.

8) What is Cloud Computing? I define it, and explore it a bit.

9) Linux Desktops? One of my frank and painful posts on the topic.

10) Cake vs. Symfony Where I explore these two PHP frameworks.

{ 0 comments }

My Top 16 tools of 2008

December 26, 2008

These span the range from tools I use every day or every week, to tools use more occasionally, but depend on. They also span the range of proprietary, SaaS, and Open Source. They are on this list because I think they are great, because they have undergone a lot of change or development this year, or because they are game-changing.

Open Source Tools

1. WordPress. I use WP pretty much everyday, between my own blogs, and helping clients maintain theirs. WP as a blogging tool rocks my world, and although I certainly could move blogging to Drupal, since I seem to be becoming somewhat of a Drupalista, it’s just not worth it. WP is clean and easy, and virtually hassle-free. There are lots of really great themes out there, and there just isn’t a reason I can find not to use it.

2. Drupal.  I’m somewhat of a latecomer to Drupal. Having been bogged down with my own open source CMS tool before 2005, then having taken a break from development, I missed out on the prime years of Drupal’s development. But now, here I am, and I’m impressed. It has become arguably the most popular open source CMS, and is a very able platform for creating all sorts of great web applications.

3. Xen. I use this everyday, although I don’t really interact with it much. I am administering and/or responsible for a couple of Virtual Private Servers that use it. Virtualization has really come into it’s own this year, and will continue to be a force to reckon with. I’m betting that in 2009, many folks will move from shared hosting to VPS servers. There are a lot of good reasons to consider this.

4. Songbird. Songbird is a brillant idea: build a music player using the Mozilla framework. Songbird was a buggy mess just a year ago, but with the recent release of 1.0, it’s absolutely an application to get to know.

5. CiviCRM. Oh what a difference a year or so makes. CiviCRM continues to mature, and is providing an interesting and important new model for nonprofit software development. It is becoming more popular, and is also highly recommended by those who use it. I’ve been getting to know it this year, and begun implementing it. I like it more and more.

6. Freemind. This is an awesome cross-platform mind mapping tool. I use it to create sitemaps, mostly, but it’s also great for brainstorming.

7. Elgg. Elgg is the open source social network management system. Install it on your own server, control your own data. Don’t use Ning, use Elgg. It finally looks like a project which will allow me to explore the strength of that platform is coming around the bend. Stay tuned.

8. MAMP. Wanna set up a easy development environment on your Macintosh without struggling with Fink or MacPorts? Use MAMP. Easy, fast, robust, and powerful.

Being a pragmatist, I do use proprietary tools, both the Software-as-a-Service, or basic desktop tool types. I use these tools because I haven’t found open source alternatives for these functions that work as well, or are as user friendly.

SaaS Tools

9. last.fm. I love last.fm. I love discovering new music, seeing what people I know are listening to, and learning more about what I listen to over time.

10. Twitter. This was the year for twitter. This was the year that nonprofits discovered twitter, and the year I integrated twitter into my workflow.

11. Evernote. I haven’t yet become an Evernote devotee, but I might. It’s an online note-saving service, with desktop and iPhone clients. It’s great to be able to take notes on my iPhone on the fly, and know they are saved, and will show up on my desktop when I want them. And it’s great to have my notes wherever I go, without bothering to sync my phone.

12. Intervals. Having tried a variety of project management and time tracking tools over the years, from the open source tools like ProjectPier (used to be ActiveCollab) and GnoTime (abysmal), as well as SaaS tools like BaseCamp, I have finally come across what is, for me, the perfect mix of project management, time tracking, and invoicing. It’s not cheap, but it works well, and saves me so much time invoicing, that it pays for itself several times over every month.

Proprietary Tools

13. Adobe Air, and applications. Adobe Air is an impressive framework for rich internet applications. I use TweetDeck, Twhirl, and the Analytics reporting suite among others.

14. Balsamiq. This Adobe Air application deserves its own entry. (I’ve been meaning to blog about it for a while.) It’s a really great tool for creating very rapid mockups of sites that you are working on. It actually is good enough as a wireframe tool.

15. Coda. Panic software makes really good stuff. Coda is a great editor for developers. I like it better than Textmate, which I know is another popular editor for developers.

16. VMWare Fusion. Even being the semi-religious Mac and Linux desktop user that I am, every once in a while I am forced to use Windows. This makes it tolerable. There’s a nice full-screen view, if I want to really feel the pain. There is also a mode called “unity” which allows you to run a Windows application in a regular Mac window. It’s kinda cool.

So what tools did you come to depend on in 2008?

{ 6 comments }