Maximizer CRM Database Export Project Notes

This month I helped a client export data from his legacy installation of Maximizer 11 into Gmail. I’m going to post some of my process for my own future reference. Might help save you some time and frustration, too.

First, I didn’t know anything about Maximizer when I started. So I went on a treasure hunt to find where the data was kept. I would have used the backups but they weren’t current enough. After a bit of research I discovered Maximizer was using MS SQL Server and keeping the databases in the SQL Server DATA directory. Which was very handy. All I needed to do was transfer the databases from my client’s laptop to my system. Then I could export the data using MS SQL Server on my laptop. I could have used my client’s computer but I didn’t want to install MS SQL Server on his system.

  1. Each address book in Maximizer has its own database. In order to load them onto my system:
  2. I copied both the mdf and ldf database files from my client.
  3. (Using Management Studio) If you don’t have the ldf files for some reason it is possible to create the ldf using the following code I found at sqlauthority
    
    USE [master]
    GO
    -- Method 1: I use this method
    EXEC sp_attach_single_file_db @dbname='DatabaseName',
    @physname=N'C:UsersUserName...db_name.mdf'
    GO
    
  4. On my system, I created databases with the same names as the databases I copied from my client.
  5. Stopped SQL Server
  6. Deleted the newly created databases in C:Program FilesMicrosoft SQL Server……DATA.
  7. Copied the client Maximizer address book databases to the DATA directory in place of the created databases.
  8. Started SQL Server
  9. Refreshed the new database.

As far as loading the data:

  1. Once the data was loaded I was able to export the table using a SQL query (built in Management Studio) to join the People view and the email tables and export the data to a CSV file.
  2. I loaded the contact info in the CSV into my client’s Gmail account.
  3. Each Address Book loaded into a time stamped Gmail group name.
  4. All I needed to do at that point was rename the group to coincide with the Maximizer Address Book name.

This process worked really well. Very efficient.

Salesforce Explorations for Non-profits

A couple of weeks ago I started working with a local non-profit. They needed help with customizing Salesforce to keep track of their various volunteers, donors, event participants, and such. Salesforce is one of those SaaS apps I’ve been interested in getting my hands dirty learning. Perfect for both of us!

The first thing that struck me was how much access the developers have with the database. Pretty cool. At least for someone coming from a database admin/developer background. On the other hand I could see why my client found the application so confusing. There is a lot of functionality being exposed.

I did have to do some experimenting (nice to have sandboxes to play in!) Figuring out what table were being used for what data was a big one of course. And for some reason it took me a while to get myself clear on when I was looking at a field list for a page and a field list for a table.

The other confusing thing I ran into had to do with an add-on package for non-profits using tables for data that didn’t quite make sense. Auction items and values being stored in the Opportunity table. Basically, it was the result of an adaption of a database designed to support data needs for sales and marketing professionals.

I think a new table for non-profit donations might have made things clearer. It’s workable though and I don’t have a lot of hours to devote to a comprehensive customization so we’ll make it work. And I’ll just have to keep suppressing my urge to normalize the base tables and put the custom fields in new tables with easier to recognize names.

It is fun to be wading back into the world of databases! Looking forward to figuring out how they work with Quickbooks. Thankfully, Salesforce has pretty good documentation online.