CCCC - ABOUT THIS SITE

Overview
The website is maintained by and is part of the Club Administrator and Publisher (CAP) suite. CAP consists of the files that make up the website site, a Data Generator application and support utilities. Most of the system is usable via a web browser. These components are routinely tested in the latest versions of Microsoft Edge, Mozilla Firefox and Google Chrome. Support for Internet Explorer (IE) 11 has been deprecated. Earlier versions of IE are no longer supported. Some utilities run in Apache Open Office.

Website
The website is a collection of files that are connected via links. Currently the site is hosted on a Linux cPanel server at GoDaddy.com, Inc. in Scottsdale, Arizona. The site address is .

The site is written in HTML5, Javascript, and Cascading Style Sheets level 3. This breaks down as follows:

The mobile website address is and consists of the following code:

Email Links
Because the site can only use client-side code, generating emails must be done with a mailto link. If a typical email client (Outlook, Thunderbird, etc.) is installed and set as the system default email application, clicking an email link will result in that client opening a new email that will be populated with whatever data was passed by the clicked link. If no email client is available, it is possble to setup a browser to use an online email service. Examples for Gmail and Yahoo! on Chrome and Firefox are detailed below.

The following links on the CCCC website will attempt to open an email client:

  1. Home page, "CCCC via email" link.
  2. Driveline error message associated with the Treasurer Report, Membership List and Birthday pages.
  3. Membership Application.
  4. Name Tag Order Form.

Below are examples for setting up your browser to use to use an online service when no email client is installed on your laptop.

Setup Gmail to be the default email application in Google Chrome. This only works for the Chrome browser. It will not work for Firefox, Edge, Safari, etc.

  1. Click the menu icon in the upper right Chrome menu button.
  2. Settings in the dropdown menu.
  3. On the left side of the Settings page, click Advanced.
  4. Click Privacy and Security.
  5. In the Privacy and Security section click Site Settings.
  6. Scroll down and click Handlers.
  7. In the Handlers window:
    1. Allow sites to ask to become default handlers for protocols (recommended) - make sure the slider is to the right (On).
    2. There should be a sub-section "email" with mail.google.com listed. Click the menu icon of the far right of that line.
    3. Select "Set as default" in the drop-down menu.
    4. mail.google.com should now have a label below it that says "Default".
  8. Close the Settings tab in Chrome.
  9. Now when an email link on the CCCC website is clicked, a new Gmail will appear in a new tab.

Set up Yahoo mail to work with Firefox:

  1. Click the menu icon in the upper right Firefox menu button.
  2. Options in the dropdown menu.
  3. Scroll down to the Applications table in File and Applications section.
  4. Under the Content Type column, locate mailto.
  5. Click the value in the associated Action column to display the list of email services.
  6. Click Use Yahoo! Mail.
  7. Close the Firefox Options tab.
  8. Now when an email link on the CCCC website is clicked, a new Yahoo! mail will appear in a new tab.

Return on Investment (ROI)
Membership as of March 2023 would require sending 99 newletters per month. Of those, 14 members have requested the hard copy newsletter, and 85 members receive just the email. For the March 2023 newsletter, production and mailing costs amount to $41.67. Projecting over an entire year, newletter production should cost approximately $500. If all members were to opt for the paper newsletter, these costs would amount to $3365 annually.

Go Daddy charges $308 per year ($40 for .com domain, $168 for hosting and $100 for an SSL Certificate) to host the site. The savings to the club, due to members opting not to receive the paper newsletter amount to approximately $2865 per year. This gives an ROI for the website of approximately 75 days.

Hardcopy Cost Breakdown
This breakdown is for an individual newletter from the October 2023 edition. This edition required 14 newsletters. Each newletter was 12 pages (6 sheets) long. Total production costs were $35.95 for copying, $9.24 postage and $0.86 for other supplies.

Copy 12 pages (6 sheets, duplex) & staple $2.77
Label $0.011
2 Sealers $0.055
Stamp $0.66
 
Total $3.99

Data Generator
This application is used to maintain and generate the data that ultimately appears on the website. There are different sections that are used for handling different types of data. Examples include text for the President's page, records for the membership list and graphics files for the picture pages.

Data Maintenance
Member, Officer, Treasurer's Report and Event Calendar data are maintained via dedicated edit screens. These screens include validation mechanisms in order to maintain data integrity.

Article Generator
This utility formats the President's Page (PP) and Secretary's Report (SR) for the website. The articles are stored on the website as a JavaScript array. The utility reads the text of the article, and performs some preformatting (italic the word Driveline, insert JavaScript escape sequences for single and double quotes, place HTML superscripts on ordering suffixes - 1st becomes 1st, etc.) The user can then add bolding, underlines, and other formatting to the text. The article is then saved in the database to be uploaded to the website.

To insure that the PP and SR are processed correctly, the responsible officer should submit the report in any one of the following formats: Word (.doc), Rich Text Format (.rtf, use Wordpad, free with Windows), OpenDocument (ApacheOpen or Libre Office) or plain text (.txt).

Email Generator
The Email Generator is the part of the application that reads the membership list, birthdays and Treasurer's Report and organizes that data such that it can be read by the people that receive the monthly email.

The email generator performs a number of steps.

  1. Load membership list, birthdays, and Treasurer's Report data into the program.
  2. Combine all data into a website storable form.
  3. Generate a 512 bit key, and encrypt the data from the previous step by combining the key and the data using an XOR function.
  4. Save the encrypted data to a file.
  5. Upload the encrypted data to the web server.
  6. Generate an email that contains the encryption key, and send that email to the membership.

Newsletter Generator
The Newsletter Generator is the part of the application that creates the hard copy newsletter. Operations are as follows:

  1. NewsLetter Generation - The user picks the dataset for the month of the newsletter. The flyers that are to be included in the newsletter are picked from the list of all events, and the generation is kicked off. The newsletter template is loaded, and the various articles and information are loaded into the appropriate positions. At this point the newletter is ready for finish editing and printing. The generation process takes about 15 - 20 seconds.
  2. Label Generator - This function allows the user to generate a mailing label for each member that has requested a paper newsletter. In order to avoid waste, the user can enter coordinates of the starting label. Example: Row 5, column 2. The program will then fill in address information for each member from the starting location. The labels are immediately ready for printing.
  3. Checklist Generator - This generates a production checklist based on the newsletter that was created, and the labels that were generated. The page count determines the postage, and the label count determines the number of copies to print. Complete copier instructions are included as is a list of supplies that will be needed.

The Data Generator is a typical three-tier intranet style application.

Support Utilities
A number of client side support utilitites have been created to assist the creation of site content.

  1. Archives - Storage for past issues of the Driveline and original photos. Google Drive.
  2. OpenOffice Writer Save Macro - Handles setting the page count and saving the newsletter back to the server. OpenOffice Basic - 182 lines.
  3. Reports - Saved Reports - OpenOffice Calc.
  4. Secretary's Report Template - Saved Report - OpenOffice Writer.

Car Show Judging (Module 2)
The Car Show Judging (CSJ) module was created to speed the collection of registration data and scores during a judged car show. The application allows for an arbitrary set of awards and vehicle groupings. Security, in the form of user ids and passwords, insures against malicious altering of the scoring. Awards can be assigned to a registration manually or automatically. There is also a group of special awards that are independent of the scoring.

Registrations will be collected on laptops or tablets and scores will be collected via smartphone. If this is not possible, high speed data entry screens are available to allow data entry from paper.

A number of reports are available to allow the car show to be managed in real time. Two reports are the primary aid in this process. The Not Judged report will display any registrations where the judging is incomplete. The Awards Report will be run after all awards have been assigned and can be used as a script to announce and hand out the awards. Most reports provide a text only output to allow printing via portable ASCII printers.

CSJ is a typical three-tier intranet style application.

Club Elections (Module 3)
The Club Election (CE) module was created to manage the election of officers within an organization. The application allows for member, non-member and write-in candidates to run for each office. Ballot Issues, unrelated to the officer positions, are available for bylaw and rule changes. Security, in the form of user ids and passwords, insures against malicious altering of the voting.

Votes can be entered on laptops or tablets. If this is not possible, voting can use paper ballots and the votes will be entered via a data entry screen.

A number of reports are available to allow the election to be managed in real time. Checklist, Voter Registration and Ballot are used for organizaing the election. Vote Tally and Vote Log are used during the election. Finally the Winner Report generates a script used to announce the election winners. Some reports provide a text only output to allow printing via portable ASCII printers.

CE is a typical three-tier intranet style application.

System Diagram
Club Administrator and Publisher (CAP) System Diagram
Arrows represent the movement of data

What happens when you open the monthly email.
If your email client supports HTML email, then you will see a one line email that contains a link to a web page. If your client does not support HTML you will see additional text that explains how to copy and paste an included URL into your web browser.

In either case the encryption key (discussed above) will be sent to the referenced web page, and that web page will send the key back to your browser, where it will be stored as a cookie on your hard drive.

When the Membership List, Birthdays, or Treasurer's Report are viewed in a web browser, the JavaScript checks for the presence of the key. If no key is present, or the key is expired, then instructions about how to obtain a key will be displayed to the user. If a valid key is found, then the data will be downloaded, decrypted via the same process used to encrypt it, and displayed on the appropriate page.

However, for the average user none of this complexity really matters. The normal user, who simply wants to see all of the club information, only needs to follow the steps below:

  1. When you receive the monthly email, open it
  2. Click the "Membership List, Treasurer's Report and Birthdays" link in the email
  3. The website will appear in your browser with a message "The <month> Driveline is now online. The Treasurer's Report, Member List and Birthday pages are available. Remember to refresh your browser if you don't see the latest data."
  4. Click the OK button

Downloading the Driveline
The newsletter is also being published to a PDF file (in addition to the paper version). The PDF version is available to all members that supply an email address to the web master.

The Driveline PDF is password protected and encrypted with a 128-bit Data Encryption Standard (DES) based encryption. This prevents non-members and web-spiders from reading the file. This protection was necessary because the file contains the entire membership list, including names, addresses and phone numbers.

To access the PDF Driveline, you must be receiving the monthly email from the web master. That email contains the password for the current edition. You must also have clicked the link contained in the email. For more details about this process see above. If everything is in order, two links will appear on the in the Driveline menu: 1. Download this month's Drivline, and 2. Driveline Download Instructions. The "Driveline Download Instructions" link takes you to these instructions. A user that has not received the monthly email, will not see the links, and they will not be present on the page at all, so the links will not be retrievable via a source code view.

Finally, the Adobe Reader will need to be installed as a browser plugin. To download the Adobe Reader click here.

To open the PDF Driveline, execute the following steps:

  1. Click the "Download this month's Drivline" link. If you have pop-up blocking enabled, hold down Ctrl when clicking the link.
  2. A new window (or tab) will open
  3. You will be prompted to enter a password
  4. Enter the Driveline password provided in the monthly email
  5. If the correct password was entered, the newsletter will appear in the browser. Please note that the password is case-sensitive. So if the password is "Stingray", entering "stingray" will give an invalid password message, and the newsletter will not open.
  6. Once the Driveline appears, it can be read right on the screen, saved to your hard drive or printed using buttons on the Acrobat toolbar.

Recent Projects

Future Projects

History