
26 Dec FHA Website Overview
This document outlines the functions of the FHA website. There are two main categories of website content on the site: “Pure” Joomla (Content Management System) articles created with built-in Joomla editor facilities, and supplemental FHA-specific content comprised of mostly PHP server-side code (about 60,000 lines of code in 250 code blocks) to access information in a MySQL relational database of unique FHA tables (~45 tables total).
Pure Joomla Content
Pure Joomla Content comes from two primary sources: The printed FHA Newsletter, and content provided by the 25 groups/organizations that have a presence (like a sub-website) on the FHA website.
Newsletter-Source Content
Each month (except August) when the newsletter is ready for printing, the Editor for the month’s newsletter forwards both the source (MS Word) and PDF versions to managers@fearringtonfha.org. Dave Krepp, the website’s Content Manager, pulls each newsletter article from the Word file and makes a Joomla article, generally retaining the title and content from the article. Dave then selects candidate articles for Front Page display (vs. News and Events Page), and schedules the Front Page and News and Events pages’s appearance, ordering, and disappearance from general view, using the Front Page Ordering and Articles Ordering pages that are among the FHA-only PHP programs. Dave has little knowledge of or interest in PHP, HTML or CSS, and does this job using the Joomla Content Editor (JCE) only for creating te new articles. His management of the site is meant to keep the Front Page and News & Events pages fresh and interesting, so visitors will keep returning to the site. (No record of individual visitors is kept, so no measurement of the effectiveness of this strategy is available.)
Groups’ Contributions
Most of the Groups websites (linked inder Groups on the top menu) have a home page, with category blog layout. The Category is a form of the Group’s name, with perhaps “Home and News” as a subcategory. One or more individuals within each group is given Publisher privileges to create content within their Category, and each receives the training needed to use the Joomla Content Editor (JCE), either by her predecessor or by the webmaster. Once trained, the groups’ representatives are responsible for all content on their respective websites. The FHA webmaster and his helpers do not provide content, although they may from time to time offer assistance in using the JCE.
THe FHA webmaster usually helps a new group establish its website by creating a logo/navigation module. See, for example, the Women of Fearrington website. This module is inserted in the Home and News subcategory description under the group name, with a, optional few lines about the group. The category description is displayed atop the Category Blog Layout page, and the logo/nav module is usually invoked atop each linked page on the site through the Modules Anywhere plug-in by entering something like this
as the first line of the article.
FHA-Specific Content
The Bulletin Board is a stand-alone function. It is more fully discussed here, so will not be descussed further in this document. It is pure FHA, with behavior that mimics a vintage 199x MS FrontPage capability. An early attempt to kill it, using the much richer phpBB functionality (seen on the current FHA website as the Forum) was rejected 3-2 by a poll taken by the previous (to this writer) website managers. So the Bulletin Board lives on, albeit with expanded capabilities like the search function and delete-own-articles.
A lot of the PHP code found on the site touches the FHA directory, either for lookups (e.g., Find People article) or maintenance (add, change,delete directory information), which is maintained on the website. (More about the FHA Directory and Handbook later).
There is a evolving template for use in creating a new PHP page on the site. It’s at /fhaphp/A_MYSQLI_TEMPLATE.php. It’s reasonably well-commented as to its internal functions and capabilities.
There are three directories with FHA-specific code in them:
- /fhaphp : For the most part this directory contains all the PHP pages that are directly embedded in Joomla articles. The articles are really only stubs with a “require_once” for the embedded article.
- /code : This directory contains PHP programs, for the most part, used to support other programs. The /code files include programs that are called using AJAX, e.g., to refresh directory listings when a user enters a new or refined search criterion or a user posts something new on the Bulletin Board. Also included here are functions (/code/func{name}.php) used by other programs in /code or in /fhaphp. Also some Javascript and CSS files.
- /newprint – Contains programs and functions related to the directory printing process
- /templates/fha – Contains the template files for the website. Note that the basis of this directory is the distributed Joomla template called Protostar. NB: When Joomla is updated, ay changes in the Protostar template files should be migrated to the FHA template, being mindful of the FHA changes, which are primarily in the index.php file, and in the user.css file (which doesn’t exist in Protostar, but contains FHA additions and overrides for the Protostar CSS).