AAPC Member Directory

We handled YourMembership API Integration for The American Association for Political Consultants. The end-result was a self-hosted member directory that comprised of data from YourMembership.

We were brought in, by another agency, when their WordPress developer suddenly vanished. We saw the project through to the end and provided on-going support after initial development was completed.

Serviced Provided

Work We Performed:

  • YourMembership API Integration
  • Custom Plugin Development
  • Front-End Development (HTML/CSS/JS)
  • Back-End Programming (PHP)
  • MySQL Database Administration

Included Functionality

Project Consists Of:

  • Custom Search
  • Custom Filter
  • AJAX for Search Results
  • Custom Database Tables
  • Automated Data Sync

Pre-Development Insight

The Problem We Faced!

AAPC was looking to import member data from YourMembership to house a custom member directory. Design files were provided, which needed to be converted into functional templates. Client required data to automatically sync between WordPress and YourMembership.

The filters used, for searching members, was not hard coded and were housed on YourMembership. AAPC requested that member data be parsed to produce filters dynamically. This request was to prevent the need of using a developer when filters were inevitably altered.

Custom Database Solution

As we imported member data, we stored the data within custom MySQL database tables.  The reason for this is that it was more efficient to do a “fresh” import each time the data was to be updated.  We decided that a custom post type would have presented us with challenges that the budget wouldn’t have allowed for.

Custom Search / Filtering

When importing member data, there wasn’t a way to separately obtain data that was to be used as a filter (within the search feature).  We created a custom script that would parse member data to obtain all of the filters we needed to use, which is re-populated each time a fresh import (of members) is performed.

AJAX Search Functionality

The client wanted their search feature to work without having to reload the page when data changes.  We created custom AJAX functionality that would send data to the back-end of the website and return data based on that input.  We added in extra code to ensure the “back” button worked effectively – which doesn’t normally happen with AJAX.

MySQL Full-Text Search

WordPress natively uses InnoDB Tables (for MySQL), which generally doesn’t support queries to search through a table.  MySQL 5.6 introduced Full-Text Indexes into InnoDB.  We perform all of our work on an up-to-date system, so we used the Full-Text Search without thinking.  Luckily, the client was more than willing to update MySQL.

Parsing Member Data

Parsing data is one of the biggest tasks when integrating an API to import data into another system.  The data isn’t formatted in the same way a system may accept data.  For this, a custom script is needed to parse through the data to ensure data is imported properly.

Companies and Employees

One of the elements that required parsing was that all of the member data was for individuals, not separated by a company.  For this we had to parse member data to separate company data from employee data and ensure employees were assigned to the right company.

Defining the Project Scope

On every project, even if we are handed a defined scope, we dig into the client’s goals and define the project scope ourselves.  The reason for this is that we want to make sure we have considered every possibility, ever angle, and in what ways a project could go sideways.  When you work with us, you work with a company that plans strategically – for optimal results.

Plug-n-Play

While the plugin contains design elements unique to AAPC, the plugin was designed to be dropped into any WordPress installation and would run effectively.  Generally, we work on plugins on our own staging environments and need to ensure our work can be quickly installed on the client’s live website (after extensive testing).

Our Thoughts!

API Integration projects have quickly become a favorite of mine. When you are presented with a new API, half the fun is exploring what the API is capable of and how it works. In order to complete the client’s objective, this discovery period has to not only be quick but also be thorough.

While this was our first YourMembership API project, we accomplished the client’s goals and met all of their deadlines. This project was done in partnership with another agency, but we welcome any association looking to have YourMembership integrated for a self-hosted member directory.

Christopher Ervin

Technical Director,Excidium Tech, LLC

Excidium Tech