Technical Documentation
System Architecture Overview
The HS CRM application system is built on the LAMP (Linux-Apache-MySQL-PHP) platform. It is designed to operate with two main user interfaces: (1) a company staff-facing backend user interface, and (2) integration with a front-end company website, preferably built in Wordpress and running on the same web server as the backend system.
A key feature of HS is the ability to integrate with 3rd-party systems that perform other business functions, including Mailchimp (mass email marketing), Authorize.net (credit card and bank EFT payment services), Stripe (credit card payments), PayPal (payment services), and others.
Main Components
Assuming the web server domain directory is in a /public_html (or /www) directory,
- The HS core software, located on the web server in the /public_html/houghton directory;
- Customized versions of the core software code files, located in the /public_html/houghton_local directory;
- A single MySQL database;
- A front-end website, usually built on the Wordpress platform.
The web server is configured to execute code files (.php) by looking first in the /houghton_local directory tree, where customized versions of HS software are kept for the particular customer installation. If the code file is not found there, it defaults to the core code file from the /houghton directory tree.
Wordpress Integration Requirements
HS is designed to seamlessly integrate with Wordpress websites. The following code must be inserted at the top of the header.php file using the Appearance -> Theme File Editor from the WP dashboard:
require_once "web-header.php"; // 2022-08-02 Mark Houghton for HS: set cookies, form processing
Next you'll need a plug-in such as PHP Everywhere to be able to execute php code from within WP pages. Once the plug-in is installed and activated, you may insert a custom HS user form (such as "contact-us") by simply adding the following to your web page where you want the form to appear:
<?php include "web-form.php"; ?>
This will use values from the web-header.php code (above) and the HS database table system_web_forms to both display the form, including the reCaptcha when the user is not logged in, and handle form execution on successful user form submission.
Special Auto-Responder Code Files
HS has logic to automatically send email auto-responders using the following code files:
mail_career_thank_you.php
mail_cc_declined.php
mail_cc_declined.php.2
mail_cc_declined.php.3
mail_cc_expiring.php
mail_event_guest_link.php
mail_event_registration_instructions.php
mail_event_table_host_instructions.php
mail_event_table_host_not_found.php
mail_event_table_host_notification.php
mail_event_thanks.php
mail_event_ticket.php
mail_fundraiser_payment_notification.php
mail_fundraiser_welcome.php
mail_gifter_notification.php
mail_gift_recipient_notification.php
mail_job_filled.php
mail_passwd_reset.php
mail_payment_update_confirmed.php
mail_renew_recurring.php
mail_subscription_cancel.php
mail_subscription_start.php
mail_volunteer.php
mail_welcome.php