The Challenge
The American Chiropractic Association is the largest professional organization representing doctors of chiropractic in the United States, with thousands of members organized across dozens of committees, councils, and governance bodies. ACA needed an enterprise-grade website that allowed members to log in with their existing association credentials, access a searchable directory of thousands of fellow professionals, submit forms for everything from award nominations to travel reimbursements, and view protected governance documents, all based on their specific role in the organization. The site also needed to be manageable by non-technical staff for day-to-day content updates.
Our Solution
FatLab built acatoday.org as a full-scale membership platform with seamless login integration. Members sign in with their existing association credentials and are automatically granted access to the content and tools their role permits: committee members see committee resources, board leaders see governance documents, and general members see member benefits.
A custom member management system keeps thousands of professional records in sync with ACA's association management platform through regular imports, powering searchable directories for committees, councils, and member groups. 43 web forms handle the full range of organizational workflows, from board nominations and award applications to scholarship submissions and travel reimbursements. The editorial team gets flexible page-building tools and content management capabilities to handle day-to-day updates independently.
What We Built
- Seamless member login using existing association credentials, with no separate passwords to remember
- Searchable member directories for committees, councils, and professional groups
- A member management system keeping thousands of records in sync with the association's CRM
- 43 web forms handling awards, nominations, travel reimbursements, scholarships, and more
- A secure document library with access restricted by organizational role
- A custom advertising system with performance tracking
- 17 flexible page layouts and editorial tools for independent content management
Project Overview
The American Chiropractic Association (ACA) advocates for the chiropractic profession at the federal level, provides educational resources, and supports thousands of members through a complex organizational structure of committees, councils, and governance bodies. Their website isn't a typical association presence with a few pages and a blog. It's an enterprise application serving as the digital hub for the entire organization.
ACA engaged FatLab to build and support two mission-critical websites: the primary member platform at acatoday.org and a public-facing provider directory at handsdownbetter.org that connects patients with qualified chiropractors. The primary site handles member authentication federated with Cobalt and Microsoft Dynamics, a member directory of thousands of professionals synced from the CRM, 43 Gravity Forms covering everything from board nominations to travel reimbursements, a secure document library, an events system, and an advertising platform with impression tracking.
CRM Integration and Single Sign-On
The most architecturally significant aspect of this project is how WordPress integrates with ACA's enterprise CRM stack. ACA manages its membership through Cobalt, an association management platform built on Microsoft Dynamics, and every member interaction on the website needs to flow through that system without friction.
Cobalt + Microsoft Dynamics SSO Integration
ACA's thousands of members authenticate through a single sign-on chain that connects WordPress to Cobalt's Microsoft Dynamics-based identity provider via SAML 2.0. When a member logs in on acatoday.org, miniOrange handles the SAML handshake with Cobalt, which validates credentials against Microsoft Dynamics. Profile data, membership status, and group assignments flow back through SAML assertions, and WordPress creates or updates a local account with the appropriate role, all without storing a single member password.
The miniOrange Groups Integrator maps SAML attributes returned by Cobalt to WordPress Groups, automatically controlling role-based content access. Committee members, council officers, and board leadership each see only what their organizational role permits. When membership status changes in Cobalt, those changes propagate to WordPress on the next login, so no manual user management is required.
The member directories work differently from the authentication flow. ACA's Cobalt plan doesn't expose a real-time API for bulk directory data, so FatLab built a custom CSV import pipeline as a workaround. Staff export member data from Cobalt and upload it through a 5-step import wizard in WordPress that validates, processes, and distributes 70+ columns per record across multiple relational tables (member records, committee assignments, council positions, and photo associations) with a complete audit trail of every change. The directories then display this imported data through a set of custom shortcodes with AJAX-powered search and pagination.
Technical Implementation
Custom Plugin: ACA Functions (v2.1.1)
The ACA Functions plugin is the operational backbone of the platform, managing thousands of member records across 15 custom database tables:
| Table | Purpose | Records |
|---|---|---|
| wp_aca_members | Core member records (30+ fields each) | Thousands |
| wp_aca_committees | Committee definitions | 30+ |
| wp_aca_member_committees | Member-to-committee assignments | 400+ |
| wp_aca_councils | Council/governance structures | 30+ |
| wp_aca_member_councils | Member-to-council assignments | 800+ |
| wp_aca_member_photos | Photo attachment mappings | 100+ |
| wp_aca_custom_groups | Dynamic member groupings with filter rules | 4 |
Each member record stores 30+ fields, including name, credentials, contact information, license details, membership type and status, join and expiration dates, and directory preferences.
Cobalt CSV Import System
Because Cobalt's plan doesn't provide a real-time API for directory data, FatLab built a 5-step import wizard that processes the full complexity of ACA's member data from Cobalt CSV exports:
- Upload - CSV file selection with validation (up to 50MB)
- Validate - Structure validation with sample data preview, checking required fields, date formats, and data types
- Import - Batch processing with real-time progress bar (50-500 records per batch, memory-optimized to stay under 80% threshold)
- Results - Success/failure summary with downloadable error report
- Manage - Browse and search imported data, verify results
The import system processes 70+ CSV columns per record: 30 member fields, plus up to 9 committee slots and 11 council slots (6 columns each). Committee and council data is denormalized from the flat CSV into proper relational records across multiple tables.
Member Directories
The plugin registers three shortcodes that query the CSV-imported data to build member directories entirely within WordPress:
- Committee directories - Display committee members with configurable fields, positions, and contact information
- Council directories - Display council members with subtypes and governance roles
- Custom group directories - Display dynamically filtered member groups based on membership type, status, credentials, or state
All directories use AJAX-powered search and pagination with real-time member loading, and respect member opt-out preferences for privacy. This approach decouples the directory display from Cobalt entirely. The directories are fast, self-contained, and don't depend on external API availability.
Content Architecture
The custom theme is built on UnderStrap with Bootstrap 4, featuring 17 flexible content layouts powered by ACF Pro with 31 field groups. The site manages content across 5 custom post types:
| Content Type | Count | Purpose |
|---|---|---|
| Blog Posts / News | 900+ | Organizational news and advocacy updates |
| Pages | 300+ | Structured content with flexible layouts |
| Events | 120+ | Conferences, webinars, and advocacy dates with calendar integration |
| Testimonials | 37 | Member experiences feeding into carousel components |
| Secure Documents | 17 | Governance materials with server-level access protection |
| Advertisement Groups | 20 | Campaign placements with impression and click tracking |
Gravity Forms: 43 Active Forms
Gravity Forms handles a remarkable breadth of organizational workflows:
- Awards & Nominations (13 forms) - Member of the Year, Outstanding Service, Excellence in Leadership, chapter awards
- Volunteer & Leadership Applications (10 forms) - Board member, nominating committee, task force, and steering committee applications
- Travel & Reimbursement (4 forms) - House of Delegates and Board of Governors travel forms with PDF generation via Gravity Forms PDF Extended
- Scholarships (3 forms) - Community Leadership, Diversity/Equity/Inclusion, and Research Leadership awards
- Member Engagement - Capitol Hill debriefings, membership contact forms, expo registration
Advanced Search
The site replaces WordPress's default search with Relevanssi, configured with hundreds of indexed documents, fuzzy matching for typo tolerance, 5x title boost weighting, and ACF field indexing that searches across custom field content.
Plugin Stack
The site runs 36 active plugins, each earning its place given the complexity of ACA's requirements:
| Category | Key Plugins | Role |
|---|---|---|
| Custom | ACA Functions, miniOrange Groups Integrator | Member directory, CRM import, Cobalt/Dynamics SAML group mapping |
| Content Management | ACF Pro + 5 add-ons, Classic Editor | 31 field groups with flexible page builder |
| Forms | Gravity Forms, GF PDF Extended, GF Notification Attachments | 43 forms with PDF generation |
| Authentication | miniOrange SAML 2.0 SSO, User Role Editor | SAML federation with Cobalt/Dynamics, custom role management |
| Search | Relevanssi | Advanced search with fuzzy matching and ACF indexing |
| SEO | Yoast SEO Premium, Redirection | Search optimization, 53 redirect rules |
| Media | Envira Gallery, TablePress, FileBird Pro | Rich media management with 60 data tables and an organized media library |
| Admin | Admin Columns Pro, Adminimize, Simple History | Customized admin views for managing thousands of records |
| Mailgun | Transactional email delivery |
Security and Infrastructure
With thousands of member records and sensitive organizational data flowing through the platform, FatLab implemented multiple layers of protection:
- SAML SSO - No passwords stored in WordPress for member accounts
- .htaccess document protection - Server-level blocking of direct access to files in the secure documents directory
- Directory opt-out flags - Members control their visibility in public directories
- Nonce verification on all AJAX operations with prepared SQL statements for every database query
- Capability-based access - Plugin admin functions restricted to administrators
- Import audit trail - Every Cobalt CRM sync operation is logged with timestamps, record counts, and error details
FatLab hosts the platform on dedicated cloud infrastructure with Breeze page caching, Imagify image optimization, and 2GB of memory, all necessary given the demands of batch-importing thousands of records and processing 70+ column CSVs. FatLab's WordPress support team provides proactive monitoring, security patching, and rapid response to keep ACA's member platform running without interruption.
Results and Impact
This platform demonstrates FatLab's capacity for enterprise-scale WordPress development. SAML single sign-on federates WordPress authentication with Cobalt and Microsoft Dynamics, giving thousands of members a seamless login experience. A custom plugin manages member records across 15 database tables, a 5-step import wizard processes 70+ column Cobalt exports in memory-optimized batches, and 43 Gravity Forms cover the full spectrum of organizational workflows. The editorial team builds pages with 17 flexible content layouts and 8 shortcodes, while Admin Columns Pro and Adminimize keep the admin experience manageable at scale. Over four years of continuous partnership, FatLab has maintained the platform with proactive hosting, security, and development support.
Results
- Thousands of member records managed through custom plugin with CRM synchronization
- Thousands of WordPress user accounts authenticated via SAML SSO
- 43 Gravity Forms handling the full spectrum of organizational workflows
- Thousands of published content items across posts, pages, events, and directories
- Server-level document protection preventing unauthorized access to governance materials
- 4+ years of continuous partnership with proactive hosting, monitoring, and development