Customization-checklist

From VPOIDS Documentation

System Customization

When installing a new AFIDS instance, there are a number of steps which need to be completed to customize the instance for an organization.

Logo images

Three logo images are required:

  1. The logo for the upper right corner of each page. The dimensions are roughly 163 x 97 px.
    • The file is: /web/images/bg-logo.gif. If you want to change the name or file type, edit /web/css/org.css.
  1. The logo for the footer of each page. The dimensions are roughly 97 x 37 px.
    • The file is: /web/images/bg-footer-logo.gif. If you want to change the name or file type, edit /web/css/org.css.
  1. The logo which is used in PDF files. Ideally this is an eps file, or a 300 dpi bitmap roughly 175 x 260 px.
    • The file location is: /web/reports/lib/images/ and the name is specified in the /web/reports/lib/pdf_functions.php file. If you're using an eps file, you can use one file and it will be scaled when the pdf is created. If you're using a bitmap, you may want to create multiple sizes and specify them separately in the pdf_functions.php file.

Create the public header

For public facing forms, which are forms that don't require login to AFIDS, the goal is generally to make these page look like they are a part of the organization's home page. AFIDS has a public header which can be used to replicate the look of the organization's page, even though the page is on the AFIDS server. The organization's webmaster needs to provide the html, css and graphics files necessary to match the frame of the organization's site.

This file is /apps/frontend/templates/_headerPublic.php

Update the css file

Update the org.css file with the dimensions of the new logo images and the background color for the logo block, if appropriate.

This file is located in /web/css

Instance-specific files

/apps/frontend/config/app.yml. This file is described below. It contains organization information and configuration settings for the system.

/apps/frontend/config/settings.yml. This file does not generally need to be modified.

/apps/frontend/config/view.yml. This file does not generally need to be modified.

/config/databases.yml. Contains the database user and logon information. This was configured when your system was set up.

/web/css/all.css. Generally should not need to be modified, as all the organization specific css is in org.css.

/web/images. This is the location for the organization's logo files.

/web/reports/all.css. For the reports generator pages. Generally should not need to be modified, as all the organization specific css is in org.css.

/web/reports/xsl_templates/settings.xsl (contains organization specific information that's used in reports)

/web/reports/config.php Contains database connection and path information used by the reports generator.

/web/reports/pdf_functions.php Defines the page headers for pages that are generated as pdf files, which includes the organzation's logo and in some cases other organization specific information.

/web/batch_processes

  • Definition file as well as the documents in the xslroot

Config file

The main application configuration file contains information about the organization which is used throughout the system:

  • mail: postmaster@palservices.org
  • name: Patient Airlift Services
  • webmaster_email: webmaster@palservices.org
  • postmaster_email: postmaster@palservices.org
  • member_info_name: Member Coordinator
  • member_info_email: info@palservices.org
  • requester_info_email: info@palservices.org
  • coordination_name: Coordination Staff
  • coordination_email: info@palservices.org
  • orders_email: orders@palservices.org
  • postmaster_name: Postmaster
  • webmaster_name: Webmaster
  • support_email: webmaster@angelflightwest.org
  • organization_acronym : PALS
  • organization_name: Patient Airlift Services
  • organization_address_1: 120 Adams Blvd.
  • organization_address_2: Farmingdale, NY 11735
  • organization_home_page: http://www.pals.org
  • organization_phone: (516) 300-1660
  • organization_hotline: (888) 818-1231
  • organization_fax: (631) 755-2184
  • airport_ident: This is the ident of the airport which is used as a default in the system.
  • cancel_reasons: { Self: 'By us', Weather: 'Weather', Passenger: 'Passenger', 'Other Agency': 'Other Agency', Requester: 'Requester', 'No Pilot': 'No Pilot', Mechanical: 'Mechanical', 'Data Entry Error': 'Data Entry Error', 'Weather Other Leg': 'Weather Other Leg', 'No Pilot Other Leg': 'No Pilot Other Leg'}
  • flight_statuses: { 'Command Pilot':'Command Pilot', 'Orientation Complete':'Orientation Complete','Verify Orientation':'Verify Orientation','Non-pilot':'Non-pilot','Ground Angel':'Ground Angel','Mission Assistant':'Mission Assistant' }

If you offer premium(s) when a member joins, enter them here. Premium sizes can also be applied for example, if the premiums are garments.

  • premium_choices: { '1':'Hat'}
  • premium_sizes: []

If your organization does not offer premiums, leave the array empty and the question will not be displayed on the form:

  • premium_choices: {}
  • premium_sizes: {}

minimum_age: 18 If this age is set, the application form presents a warning to the user that a guardian must co-sign the application, which requires follow-up from the office.


If your organization charges a membership fee, enter yes here, otherwise no.

  • To Disable Membership Fee, change the turn_off variable value to 'yes'
   #To Enable Membership Fee, change the turn_off variable value to 'no'
   #This is for the New Membership
   membership_fee: { turn_off: 'no' }

If your organization charges a fee to renew membership, enter yes here, otherwise no.

  • o Disable Membership Fee, change the turn_off variable value to 'yes'
   #To Enable Membership Fee, change the turn_off variable value to 'no'
   #This is for the Renewal Membership
   renewal_membership_fee: { turn_off: 'no' }
  • Map center. Provide an airport which will be the default center for map displays.

settings.xsl

	<!--  Define variables -->
	<xsl:param name="webmasterEmail">webmaster@angelflightwest.org</xsl:param>
	<xsl:param name="postmasterEmail">postmaster@angelflighteast.org</xsl:param>
	<xsl:param name="memberInfoEmail">missions@angelflighteast.org</xsl:param>
	<xsl:param name="requesterInfoEmail">missions@angelflighteast.org</xsl:param>
	<xsl:param name="ordersEmail">missions@angelflighteast.org</xsl:param>
	<xsl:param name="postmasterName">Postmaster</xsl:param>
	<xsl:param name="webmasterName">Webmaster</xsl:param>
	<xsl:param name="organizationAcronym">AFE</xsl:param>
	<xsl:param name="organizationName">Angel Flight East</xsl:param>
	<xsl:param name="organizationAddress1">1501 Narcissa Road</xsl:param>
	<xsl:param name="organizationAddress2">Blue Bell, PA 19422</xsl:param>
	<xsl:param name="organizationHomePage">http://www.angelflighteast.org</xsl:param>
	<xsl:param name="organizationAFIDSHomePage">http://afids.angelflighteast.org</xsl:param>
	<xsl:param name="organizationPhone">215-358-1900</xsl:param>
	<xsl:param name="organizationHotline">800-383-9464</xsl:param>
	<xsl:param name="organizationFax">215-358-1999</xsl:param>
	<xsl:param name="organizationEfaxEmail">fax@angelflighteast.org</xsl:param>
	<xsl:param name="organizationEfaxNumber"></xsl:param>
	<xsl:attribute-set name="organizationLogo">
		<xsl:attribute name="src"><xsl:value-of select="concat($organizationAFIDSHomePage,'')"/></xsl:attribute>
		<xsl:attribute name="height"></xsl:attribute>
		<xsl:attribute name="width"></xsl:attribute>
		<xsl:attribute name="alt"><xsl:value-of select="$organizationName"/></xsl:attribute>
	</xsl:attribute-set>
	<xsl:param name="defaultBaggageWeight">25</xsl:param>
	<xsl:param name="defaultBaggageDesc">normal</xsl:param>
	<xsl:param name="organizationWingID">102</xsl:param>
	<xsl:param name="newApplicationPremium">1</xsl:param>
	<xsl:param name="newApplicationFee">50.00</xsl:param>
	<xsl:param name="renewalApplicationFee">1</xsl:param>
	<xsl:param name="newApplicationMinHours">250</xsl:param>
	<xsl:param name="newApplicationMinHoursHandling">1</xsl:param>	<!-- 1 = allow user to continue, 0 = do not allow user to continue -->
	<xsl:param name="newApplicationTShirtOption">0</xsl:param>
	<xsl:param name="newApplicationSpouseMembership">1</xsl:param>
	<xsl:param name="renewalPremiumAmount">150</xsl:param>
	<xsl:param name="renewalPremiumDesc">Pressurized Pen</xsl:param>
	<xsl:param name="renewalPremiumSKU"></xsl:param>
	<xsl:param name="dobWarningMessage">1</xsl:param>
	<xsl:param name="orgUsesLiabilityFields">0</xsl:param>
	<xsl:param name="orgTracksInsuranceDate">0</xsl:param>

	<!--  For mission requests -->
	<xsl:param name="organizationUsesPassengerRequester">0</xsl:param>
	<xsl:param name="passengerRequesterID">0</xsl:param>

	<!--  Hardcoded Colors for mission types not found in the missionTypes table -->
	<!--  The stored procedure missionsAvailable also has this value hardcoded -->
	<xsl:param name="campBgColor">#80FF80</xsl:param>

System emails

Edit the text of the emails which are sent through the system. These are accessible from the reference menu for users with the administrator role.

Page content

Edit the text of the page content used in various places in the system, such as the member application form. These are accessible from the reference menu for users with the administrator role.

Reference tables

Organizations may wish to change the records in these reference tables:

  • Airlines
  • Referral sources
  • Member class
  • Passenger type
  • Mission type

These can be edited in AFIDS from the reference menu by any use with the Admin role.

Define wings

If the organization is planning to use wings, then the wing_id field must be populated for each airport. This is used when an user searches missions by wings, for example. Wings are also assigned to zip codes for the assignment of wing to new members when their application is processed.

If the organization wishes to define wings, they should provide a definition of their wings to their technical contact. This can be in the form of a list of states, or counties, or zip codes.

Define territory by zip code

When an individual applies online to become a member, the application process can screen applicants by their zip code to determine if they should be able to apply for the organization, or be referred to another organization. The linking organization id in the zip code table defines this.

If the organization wishes to define territory, they should provide a definition of their territory and the territory of each of the referral organizations to their technical contact. This can be in the form of a list of states, or counties, or zip codes.

Documents that need to be converted to templates

  • Waiver form which is attached to the itinerary form
  • Medical release which is available for faxing to the physician
    • reports/xsl_templates/medRelease.xsl and medRelease_print.xsl

Waiver forms which are attached to itinerary forms

These files are attached to itinerary forms when they are sent by email:

/bulk-email-attachments/waiver_normal.pdf'; /bulk-email-attachments/waiver_normal_spanish.pdf'; /bulk-email-attachments/waiver_organ_english.pdf';

TODO: Make these file names configurable in app.yml

Documents that need to be uploaded for attaching

TBD

Reports that are organization specific

Some reports have organization specific information, or are specific to an organization.

  • Year End Summary report. The template for this report (yearEndReport_print.xsl) is generic, but it has some language in it the organizations may want to customize.

Set up batch processes

AFIDS has a system for handling routine, periodic tasks which are run on an automated schedule. The processes are defined in an xml file, and the tasks are run through cron tasks. Some tasks have output, for example, sending an email with a list of available missions. Some take care of internal housekeeping, like updating database tables. Where output is required, the formatting of the output is done in xsl templates.

The modifications necessary include updating the xml file with the process definitions, and updating or creating any of the xsl template files which govern the output.