WP Manifestindependent plugin directory
manifest / email / gasf-crm

GASF Email CRM & Photo Catalogue

Shared-inbox Email CRM + photo catalogue for germantampabay.com — standalone plugin, formerly GASF-Utilities modules 42/43

by German-American Society of Tampa Bay · github.com/germantampabay/gasf-crm · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/germantampabay/gasf-crm/archive/refs/heads/main.zip

Readme

GASF Email CRM & Photo Catalogue

The German-American Society of Tampa Bay's shared-inbox CRM and photo catalogue, as a standalone WordPress plugin.

Approved volunteers sign in at /email with Google or Microsoft, read and answer the club's mail, take in photo submissions, record permissions, tag people and places, and pull finished photos back out for newsletters and posters. The full design contract is in docs/EMAIL-CRM-SPEC.md. The current workflow re-platform contract is in docs/WORKFLOW-CONTRACT-PHASE1.md. Phase 4/5 hardening and rollout contract is in docs/WORKFLOW-CONTRACT-PHASE4-5.md. Phase 6 duplicate-action hardening contract is in docs/WORKFLOW-CONTRACT-PHASE6.md. Phase 7 replay-safety completion contract is in docs/WORKFLOW-CONTRACT-PHASE7.md.

History

This lived inside GASF-Utilities as modules 42/43 plus modules/email-crm/ through utilities v1.90.0, by which point it was ~18,000 lines wearing a module's clothes. This repo is that code moved, not rewritten; the 1.x history is in the utilities repo.

Layout

Path What
gasf-crm.php Plugin bootstrap: double-load guard, fallbacks for what the utilities plugin used to provide, includes.
includes/loader.php Gate, constants, config, streams, schema/rewrite upgrades.
includes/email-crm/ The CRM proper — auth, Graph sync, REST, UI, photos intake/library/upload.
includes/photo-catalog.php Taxonomies, EXIF, places, the shared people-matcher JS.
tools/check-js.js Pre-commit guard: parses the inline JS and brace-checks the inline CSS that PHP emits. PHP lint sees neither.

Working on it

Run this before every commit that touches a file emitting `

Read the full README on GitHub →