MMCD website

MMCD

MMCD's construction standards lived behind a licensing system nobody could manage. We rebuilt the platform on WordPress so a purchase now provisions its own licence, and years of existing customers kept their access through the changeover.

Development Migration
Industry Education & Nonprofit
Year 2025-2026 (ongoing)

Rebuilt MMCD's platform on WordPress with custom document licensing, then migrated licence records spanning three sales systems and five years of purchases without breaking access for existing customers.

What we were solving

MMCD (Master Municipal Construction Documents Association) is a non-profit that writes and stewards the standard construction documents used by municipalities, contractors and engineering consultants across British Columbia. It funds that work by selling protected digital publications, memberships, courses and certification. All of it ran on disconnected systems: a legacy platform, manual sales records and a LockLizard document security account managed by hand.

The constraints were unusual. Every publication is protected by LockLizard DRM, and LockLizard grants a single customer one access level across all documents. Selling separate desktop, mobile, web viewer and enterprise licences to the same person was impossible out of the box. Company licence assignment was manual and slow. Thousands of historical licence holders had records scattered across a master CSV, sales logs and newer WooCommerce orders.

Success meant one platform where members log in once for memberships, documents, support and courses, where a purchase provisions its own licence, and where existing customers keep their access through the changeover.

MMCD website
MMCD website
MMCD website

How we tackled it

A WordPress-first stack instead of a SaaS patchwork

We evaluated three architectures with MMCD: a HubSpot-centred model, an Arlo-first model with a minimal site, and a WordPress-first stack. We recommended the third because it kept member data, commerce and automation in one place under MMCD's control. Paid Memberships Pro handles tiered and company memberships, WooCommerce and Stripe handle document sales, and Arlo (training events) and Zeffy (donations) connect through Zapier. The trade-off was a separate Arlo login for event registration, accepted in exchange for a far lower running cost than a SaaS CRM stack.

A custom LockLizard licensing plugin

No stable off-the-shelf plugin connects WooCommerce to LockLizard's API, so we built one, with a queue-based retry system so an API failure never blocks an order. To get around the one-access-level-per-customer limit, the plugin creates a separate LockLizard account per licence type using email aliases. MMCD can now sell desktop, mobile, web viewer, enterprise and print products to the same customer. The plugin also handles bulk purchases with CSV seat assignment, licence transfers and a self-service licence page under My Account.

The organisation layer, then the migration

The v3 release added what large member firms needed: automatic company linking by email domain, three organisation roles and a Company Dashboard where admins approve seat requests, all built so individual users noticed no change. In parallel we ran the licence migration, merging the master CSV, sales logs and WooCommerce orders into one de-duplicated import. The cutover was sequenced import first, then email, banner and popup, so no customer hit an access-denied error mid-transition.

MMCD website

What we delivered

MMCD now sells protected documents without touching the LockLizard admin console. A completed order creates the customer, grants document access and emails credentials automatically. Company admins approve their own team's seat requests instead of routing everything through MMCD staff, and licence holders manage their own seats from My Account. The platform has also become the base for new services, including digital delivery of the Certified Contract Administrator exam, now in development.

What we learned

Document DRM platforms are built for publishers, not e-commerce. LockLizard's API assumes one customer, one access level, which collides with selling several licence formats to the same buyer. Isolating entitlements behind separate provider accounts solved it, and the pattern applies wherever the upstream customer model is flatter than the client's catalogue.

The migration confirmed a rule we now apply to every cutover: never notify before you provision. A customer who follows a "your document is ready" email into an access error trusts the next email less. Import first, announce second.

MMCD website

Impact & outcomes

1,449

desktop licence records consolidated from three sales systems into one de-duplicated LockLizard import

1,029

confirmed purchasers missing from the new document found and added before cutover

Have a project in mind?
Let's chat!

Get in Touch