Technical Documentation

From HS Wiki
Jump to navigationJump to search

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