|
The Perl script Most of these are set to sensible defaults, and do not need to be changed. There are a small number, however, that you must set up. These are mainly concerned with site-specific details such as domain names and email addresses. You can edit this file locally (on your PC) using any plain text editor. Do not use Word or other word processors unless you are certain you can get it to save the file in plain text format without ANY unexpected changes e.g. to quotation etc. Alternatively if you have shell access to your web server (e.g. ssh) then you can login and edit it directly, e.g. using vi.
Sample pedserve-customize-sys.plIf you click the button below you will see a sample
#!/usr/bin/perl
# Copyright (C) 2007, Tenset Technologies Ltd.
# This file is part of the Pedserve Online Pedigree Database system, Advanced Edition. All rights reserved.
#
# You may not copy, publish, license, sell, distribute, transmit, display, perform,
# modify, reproduce, transfer or create derivative works from this file
# except without prior written permission of Tenset Technologies Ltd.
#
# You may not alter or remove any trademark, copyright or other notice from this file
# or from any web page content (HTML) that is generated by program logic in this file.
#
.
.
.
# -----------------------------------------------------------------------------------------
# Basic Setup of Site Ownership and Domain Name
# -----------------------------------------------------------------------------------------
# Name of site - for use in browser title bar etc.
# e.g. 'Arripay Online Pedigree Database'
our $custom_strSiteTitle = 'Arripay Online Pedigree Database';
# Name of the site owner, (sentence case):
# E.g. 'Colin Manning'
our $custom_strSiteOwner = 'John Smith';
# Whether the site owner is a 'his', 'her' or 'their':
# (used in generating the text of the agreement with the site owner that people must submit to)
our $custom_strSiteOwnerHisOrHer = 'his';
# Copyright statement for the data.
# This will appear in the HTML header of every page generated by the site (meta copyright).
our $custom_strCopyrightStatement =
"Database right and/or copyright in the pedigree data on this site is owned by $::custom_strSiteOwner. All rights reserved.";
# Meta keywords.
# These will appear in the HTML header of every page generated by the site. These keywords can be
# used by search engines when indexing the site. Note that in practice many search engines ignore
# these because in the past they have often been used by spammers. But you might as well set them
# to something.
# E.g. 'burmese,pedigree,database'
our $custom_strMetaKeywords = 'Burmese Online Pedigree Database';
# Meta description.
# This will appear in the HTML header of every page generated by the site (meta description).
# This is sometimespicked up by search engines when listing your site in the search results.
# It should be a sentence or 2 concisely describing the site.
# e.g. 'Arripay Burmese Pedigree Database'
our $custom_strMetaDescription = 'Arripay Burmese Pedigree Database';
# The administrator email address - this is where the system will send emails when it needs to
# contact the adminstrator e.g. to tell them about new login requests. This address is kept private
# from the users by the pedserve system; it is used when the system needs to contact the site administrator.
our $custom_strAdminEmailAddress = 'me@myisp.com';
our $custom_strAdminEmailRealName = 'John Smith';
# The 'site' email address - this will be used as the 'From' address whenever an email is sent by
# the system e.g. to a user. This address IS revealed to users. It should be the primary address that
users of the system use when contacting the site administrator by email.
our $custom_strSiteFromEmailAddress = 'burmese@pedserve.com';
our $custom_strSiteFromEmailRealName = 'Arripay Burmese Pedigree Database Admin';
# The 'site reply to' email address - this will be used as the 'ReplyTo' address whenever an email
# is sent by the system to a user. If not given, $custom_strSiteFromEmailAddress will be used instead.
our $custom_strSiteReplyToEmailAddress = '';
our $custom_strSiteReplyToEmailRealName = '';
# Signature to append to emails sent from the site to users:
# This MUST be given as a single line of text.
# e.g. "John Smith\nArripay Online Pedigree Database Administrator\nhttp://WWW.SITE.COM"
our $custom_strAdminToUserSig = "$::custom_strSiteOwner\n$::custom_strSiteTitle Administrator\nhttp://www.pedserve.com";
# Set this flag to 1 if you want all emails sent to users by the system to be bcc'd to the site admin:
our $custom_fBccUserEmailsToAdmin = 1;
# -----------------------------------------------------------------------------------------
# Server Setup
# -----------------------------------------------------------------------------------------
# Path to sendmail.
our $custom_strSendmailPath = '/usr/sbin/sendmail';
# -----------------------------------------------------------------------------------------
# Site Setup
# -----------------------------------------------------------------------------------------
# URL prefixes for the public locations of the HTML files and Perl files, AS VIEWED FROM A WEB BROWSER.
# These should start with 'http://' and should NOT end with a slash.
# When appended with a '/' and a file name, the result is the absolute URL to a .html/.pl file on the server.
# If you choose to use secure hosting with https, this is the ONLY place to set the 'hhtps' prefix
# rather than 'http' prefix.
# E.g. 'http://SITE.COM' and 'http://SITE.COM/cgi-bin'
our $custom_strURLBaseHTMLFiles = 'http://www.pedserve.com';
our $custom_strURLBasePLFiles = 'http://www.pedserve.com/cgi-bin';
# Filesystem prefix for the directory holding binary (executable) tools used by the system.
our $custom_strLocalBaseTools = '.';
# Style sheet URL.
# This is the URL of the .css file holding the styles for the pedserve system.
our $custom_strStyleSheetURL = "$::custom_strURLBaseHTMLFiles/pedserve.css";
# 'Home page' URL, menu item label, and home page description.
# The URL should be to a page external to the pedserve system, that it can use as an 'home page' link.
# This will appear in the main menu with a caption such as 'Home'.
# This feature is optional - set all variables here to the empty string to disable this.
our $custom_strHomePageURL = "$::custom_strURLBaseHTMLFiles/index.html";
our $custom_strMainMenuLabel_Home = 'Home';
# The home page description should be in lower case, and will replace xxx in text of the form 'click here to return to xxx':
our $custom_strHomePageMenuDescription = 'the home page';
# -----------------------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------------------
# The host on which the SQL database is mounted. Normally the same host on which the perl scripts are hosted.
# Do not change if you are unsure. e.g.'localhost'
our $custom_strDbHost = 'localhost';
# The name of your SQL database. This may be a name assigned by your hosting company.
# It can be pretty much anything.
our $custom_strDbName = 'MYDBNAME';
# The user name & password with which the scripts will login to the database.
# Note, these are NOT the same thing as the names/passwords that users of the Pedserve system use.
# The db user name is likely a name assigned by your hosting company.
# These should be kept secure and not revealed to ANY users.
our $custom_strDbUser = 'MYDBUSER';
our $custom_strDbPass = 'MYDBPASS';
# Login name for the administrative user.
# If you change this, you MUST ensure that you have such a user name in the users table.
# If you are going to change this, you should do so before creating the users table, and then edit the
# pedserve-createusers-sql.txt script accordingly so it will create the administrator account.
# if in doubt, DONT change this!. E.g. 'administrator'
our $custom_strDbAdministratorLoginName = 'administrator';
# Name of the default tableset. This tableset MUST exist.
# The tableset name may be at most 10 chars.
our $custom_strDefaultTableset = 'BURMESE';
# String giving the names + labels for all the table sets supported, but ONLY when there are multiple tables ('databases').
# It is a semicolon separated list of tablesetname=description pairs e.g. "BURM=Burmese;SIA=Siamese"
# The table names must be at most 10 chars.
# NOTE: operation with multiple tables requires that you do not have an 'open system' (see variable U073).
# This is because the user login mechanism is needed to select + store the tableset.
# When operating with a single table you should NOT set this up - leave empty.
our $custom_strMultipleTablesetsList = '';
# -----------------------------------------------------------------------------------------
# Security etc
# -----------------------------------------------------------------------------------------
# Set this next variable to 1 if you want to dispense entirely with logins and security - to have an 'open' system.
# Note: you must set this to 0 if you operate with multiple animal tables;
our $custom_fOpenSystem = 0;
# Name of the cookie we will store on the client browser to maintain state:
# (this should be some form of the site name, not the animal table name e.g. 'Cavaliers' as you might have
# multiple tables on the site:
# e.g. 'ArripayData'
our $custom_strCookieName = 'ARRIPAY';
# Max. number of 'suspicious' accesses permitted to a user before his login is automatically suspended.
# Note: 'suspicious' accesses are things like script pages that have been invoked with invalid parameters
# that could not possibly have been generated by the system - e.g if a hacker tries to manually fiddle with
# URL parameters, or tries to access animals with invalid animal ID's etc. Normal, 'genuine' users of the
# system will not cause any such 'suspicious' accesses.
our $custom_nSuspiciousUsageMax = 10;
# Expiry time for cookie -expressed in 'cookie' syntax. E.g. '+1h' means 1 hour.
our $custom_strCookieExpiry = '+1h';
# Expiry time for login - expressed in MySQL 'INTERVAL' syntax. E.g. '1 HOUR'
our $custom_strLoginExpiry = '1 HOUR';
# Limit period:
# This is the period against which each users 'Limit' will be measured to determine whether they
# have exceeded their usage limit. Given as in MySQL interval format.
# Typically this is set to 24 hours to give a daily limit. E.g. '24 HOUR'
our $custom_strUsageLimitPeriodSQL = '24 HOUR';
# 2nd Limit period:
# This is an optional 2nd usage limit period, which can be used to put a 2nd limit against the
# number of uses in a given period. This is intended to be used to limit isage over a longer period.
# e.g. you might want a user limited to 100 uses per day and 1000 per month. This lets them use
# their allocation in a 'burstier' way than say 30/day.
# E.g. '1 MONTH'
our $custom_strUsageLimit2PeriodSQL = '1 MONTH';
# Hard maximums to apply to the usage fields. These limit the amounts that the administrator account
# can set for any user. E.g. 1000 and 10000
our $custom_nMaxUsageLimit = 1000;
our $custom_nMaxUsageLimit2 = 10000;
# Auto-ban control.
# You can use this to cause a user to be automatically banned if more than a given
# number of accesses occur over a specified (short) period. E.g. 45 in a minute. This kind of
# access would typically denote some kind of automated data-harvester.
# To disable this, set the auto-ban threshold to 0.
our $custom_strAutoBanPeriodSQL = '10 MINUTE';
our $custom_nAutoBanThreshold = 300;
our $custom_strAutoBanPeriodDesc = '10 minutes';
# Whether to send email to site admin to inform him when a user reaches his/her usage limit.
our $custom_fNotifyAdminWhenUsageLimitReached = 1;
# Whether to send email to site admin to inform him when suspicious activity causes a user
# to be suspended.
our $custom_fNotifyAdminWhenSuspiciousUsageCausesSuspension = 1;
# Duration to maintain entries in the history table - expressed in MySQL 'INTERVAL' syntax.
# Set this to the empty string if you never want to discard entries from the history table.
our $custom_strHistoryPurgeAfter = '180 DAY';
# Duration to maintain entries in the logins table - expressed in MySQL 'INTERVAL' syntax:
# Set this to the empty string if you never want to discard entries from the logins table.
our $custom_strLoginsPurgeAfter = '730 DAY';
# Duration to maintain anonymous entries in the saved searches table - expressed in MySQL
# 'INTERVAL' syntax: Note: this is only used in an open system; in a closed system anonymous
# saved searches are automatically discarded at each login time. Set this to the empty string
# if you never want to discard entries from the saved searches table.
our $custom_strOpenSystemSavedSearchesPurgeAfter = '7 DAY';
# Whether or not the history is to be auto-purged to delete old entries.
# If this is not set, a 'Purge History' entry is added to the menu.
our $custom_fAutoPurge = 0;
# -----------------------------------------------------------------------------------------
# Which Screens Are Enabled
# -----------------------------------------------------------------------------------------
# This section lets you control which of the various screens (pages) in the system can be used.
our $custom_fEnablePage_Front = 1;
our $custom_fEnablePage_Contact_LoggedIn = 1;
our $custom_fEnablePage_Contact_LoggedOutOrOpenSystem = 1;
our $custom_fEnablePage_AnimalSubmit = 1;
our $custom_fEnablePage_AnimalSearch = 1;
our $custom_fEnablePage_AnimalDetails = 1;
our $custom_fEnablePage_FamilySearch = 1;
our $custom_fEnablePage_FamilyDetails = 1;
our $custom_fEnablePage_MatingSearch = 1;
our $custom_fEnablePage_MatingDetails = 1;
our $custom_fEnablePage_AuxSearch = 1;
our $custom_fEnablePage_AuxDetails = 1;
our $custom_fEnablePage_MyAccount = 1;
# -----------------------------------------------------------------------------------------
# Main Menu Labels
# -----------------------------------------------------------------------------------------
our $custom_strMainMenuLabel_Login = 'Login';
our $custom_strMainMenuLabel_Logout = 'Logout';
our $custom_strMainMenuLabel_Requestlogin = 'Join';
our $custom_strMainMenuLabel_Forgotlogin = 'Forgot Login';
our $custom_strMainMenuLabel_Contact = 'Contact';
our $custom_strMainMenuLabel_Agreement = 'Terms of Use';
our $custom_strMainMenuLabel_Front = 'Main Menu';
our $custom_strMainMenuLabel_Admin = 'Admin';
# -----------------------------------------------------------------------------------------
# Animal Details Page
# -----------------------------------------------------------------------------------------
# If the animal details page is enabled (see $custom_fEnablePage_AnimalDetails), these next variables
# determine which of the various 'panels' within that screen are available:
our $custom_fEnableAnimalDetails_Pedigree = 1;
our $custom_fEnableAnimalDetails_Details = 1;
our $custom_fEnableAnimalDetails_Image = 1;
our $custom_fEnableAnimalDetails_Inbreeding = 1;
our $custom_fEnableAnimalDetails_EntireRecord = 1;
our $custom_fEnableAnimalDetails_TrialMating = 1;
our $custom_fEnableAnimalDetails_Tail = 1;
our $custom_fEnableAnimalDetails_Ancestors = 1;
our $custom_fEnableAnimalDetails_SireSibs = 1;
our $custom_fEnableAnimalDetails_DamSibs = 1;
our $custom_fEnableAnimalDetails_AllSibs = 1;
our $custom_fEnableAnimalDetails_FullSibs = 1;
our $custom_fEnableAnimalDetails_LitterMates = 1;
our $custom_fEnableAnimalDetails_Children = 1;
our $custom_fEnableAnimalDetails_GrandChildren = 1;
our $custom_fEnableAnimalDetails_Families = 1;
our $custom_fEnableAnimalDetails_Matings = 1;
our $custom_fEnableAnimalDetails_AuxRecords = 1;
# If the animal details page has the 'complete record' panel enabled
# (see $custom_fEnableAnimalDetails_EntireRecord), these next variables
# determine which of the other 'panels' within that screen are displayed for the
# 'complete record'. If you use hit limits on the various search screens, you
# might want to disable those from appearing in the 'complete record', because
# these panels will be limited to only displaying the first few hits.
our $custom_fAnimalDetailsEntireRecordIncludes_Pedigree = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_Details = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_Image = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_Inbreeding = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_TrialMating = 0;
our $custom_fAnimalDetailsEntireRecordIncludes_SireTail = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_DamTail = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_AllAncestors = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_CommonAncestors = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_RepeatAncestors = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_SireSibs = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_DamSibs = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_AllSibs = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_FullSibs = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_LitterMates = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_Children = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_GrandChildren = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_Families = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_Matings = 1;
our $custom_fAnimalDetailsEntireRecordIncludes_AuxRecords = 1;
# -----------------------------------------------------------------------------------------
# Family Details Page
# -----------------------------------------------------------------------------------------
# If the family details page is enabled (see $custom_fEnablePage_FamilyDetails), these next variables
# determine which of the various 'panels' within that screen are available:
our $custom_fEnableFamilyDetails_Pedigree = 1;
our $custom_fEnableFamilyDetails_Inbreeding = 1;
our $custom_fEnableFamilyDetails_EntireRecord = 1;
our $custom_fEnableFamilyDetails_Tail = 1;
our $custom_fEnableFamilyDetails_Ancestors = 1;
our $custom_fEnableFamilyDetails_SireSibs = 1;
our $custom_fEnableFamilyDetails_DamSibs = 1;
our $custom_fEnableFamilyDetails_AllSibs = 1;
our $custom_fEnableFamilyDetails_Children = 1;
our $custom_fEnableFamilyDetails_GrandChildren = 1;
our $custom_fEnableFamilyDetails_Matings = 1;
# If the family details page has the 'complete record' panel enabled
# (see $custom_fEnableFamilyDetails_EntireRecord), these next variables
# determine which of the other 'panels' within that screen are displayed
# for the 'complete record'. If you use hit limits on the various search screens,
# you might want to disable those from appearing in the 'complete record', because
# these panels will be limited to only displaying the first few hits.
our $custom_fFamilyDetailsEntireRecordIncludes_Pedigree = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_Inbreeding = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_SireTail = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_DamTail = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_AllAncestors = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_CommonAncestors = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_RepeatAncestors = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_SireSibs = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_DamSibs = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_AllSibs = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_Children = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_GrandChildren = 1;
our $custom_fFamilyDetailsEntireRecordIncludes_Matings = 1;
# -----------------------------------------------------------------------------------------
# Mating Details Page
# -----------------------------------------------------------------------------------------
# If the mating details page is enabled (see $custom_fEnablePage_MatingDetails), these next variables
# determine which of the various 'panels' within that screen are available:
our $custom_fEnableMatingDetails_Pedigree = 1;
our $custom_fEnableMatingDetails_Inbreeding = 1;
our $custom_fEnableMatingDetails_EntireRecord = 1;
our $custom_fEnableMatingDetails_Tail = 1;
our $custom_fEnableMatingDetails_Ancestors = 1;
our $custom_fEnableMatingDetails_SireSibs = 1;
our $custom_fEnableMatingDetails_DamSibs = 1;
our $custom_fEnableMatingDetails_AllSibs = 1;
our $custom_fEnableMatingDetails_FullSibs = 1;
our $custom_fEnableMatingDetails_Children = 1;
our $custom_fEnableMatingDetails_GrandChildren = 1;
# If the mating details page has the 'complete record' panel enabled
# (see $custom_fEnableMatingDetails_EntireRecord), these next variables
# determine which of the other 'panels' within that screen are displayed for the
# 'complete record'. If you use hit limits on the various search screens, you might want to
# disable those from appearing in the 'complete record', because
# these panels will be limited to only displaying the first few hits.
our $custom_fMatingDetailsEntireRecordIncludes_Pedigree = 1;
our $custom_fMatingDetailsEntireRecordIncludes_Inbreeding = 1;
our $custom_fMatingDetailsEntireRecordIncludes_SireTail = 1;
our $custom_fMatingDetailsEntireRecordIncludes_DamTail = 1;
our $custom_fMatingDetailsEntireRecordIncludes_AllAncestors = 1;
our $custom_fMatingDetailsEntireRecordIncludes_CommonAncestors = 1;
our $custom_fMatingDetailsEntireRecordIncludes_RepeatAncestors = 1;
our $custom_fMatingDetailsEntireRecordIncludes_SireSibs = 1;
our $custom_fMatingDetailsEntireRecordIncludes_DamSibs = 1;
our $custom_fMatingDetailsEntireRecordIncludes_AllSibs = 1;
our $custom_fMatingDetailsEntireRecordIncludes_FullSibs = 1;
our $custom_fMatingDetailsEntireRecordIncludes_Children = 1;
our $custom_fMatingDetailsEntireRecordIncludes_GrandChildren = 1;
# -----------------------------------------------------------------------------------------
# User Details Page
# -----------------------------------------------------------------------------------------
our $custom_fEnableMyAccount_ChangePassword = 1;
our $custom_fEnableMyAccount_ChangeEmail = 1;
# -----------------------------------------------------------------------------------------
# Which Count Fields Are Smart-Linked To Display The Records They Are A Count For
# -----------------------------------------------------------------------------------------
our $custom_fEnableCountLink_A_PRO_COUNTCHILDREN = 1;
our $custom_fEnableCountLink_A_PRO_COUNTGRANDCHILDREN = 1;
our $custom_fEnableCountLink_A_PRO_COUNTFULLSIBS = 1;
our $custom_fEnableCountLink_A_PRO_COUNTALLSIBS = 1;
our $custom_fEnableCountLink_A_PRO_COUNTSIRESIBS = 1;
our $custom_fEnableCountLink_A_PRO_COUNTDAMSIBS = 1;
our $custom_fEnableCountLink_A_PRO_COUNTLITTERMATES = 1;
our $custom_fEnableCountLink_A_PRO_COUNTFAMILIES = 1;
our $custom_fEnableCountLink_A_PRO_COUNTMATINGS = 1;
our $custom_fEnableCountLink_A_PRO_COUNTAUX = 1;
our $custom_fEnableCountLink_F_COUNTALLSIBS = 1;
our $custom_fEnableCountLink_F_COUNTSIRESIBS = 1;
our $custom_fEnableCountLink_F_COUNTDAMSIBS = 1;
our $custom_fEnableCountLink_F_COUNTCHILDREN = 1;
our $custom_fEnableCountLink_F_COUNTGRANDCHILDREN = 1;
our $custom_fEnableCountLink_F_COUNTMATINGS = 1;
our $custom_fEnableCountLink_M_COUNTFULLSIBS = 1;
our $custom_fEnableCountLink_M_COUNTALLSIBS = 1;
our $custom_fEnableCountLink_M_COUNTSIRESIBS = 1;
our $custom_fEnableCountLink_M_COUNTDAMSIBS = 1;
our $custom_fEnableCountLink_M_COUNTGRANDCHILDREN = 1;
our $custom_fEnableCountLink_M_COUNTCHILDREN = 1;
# -----------------------------------------------------------------------------------------
# Miscellaneous Stuff
# -----------------------------------------------------------------------------------------
# The size of the search boxes on pages with advanced search forms:
our $custom_nFormConf_Search_Length_Advanced = 30;
# The size of the search boxes on pages with basic search forms:
our $custom_nFormConf_Search_Length_Basic = 60;
# No. of search terms allowed in the advanced searches:
our $custom_nSearchAdvancedTerms = 4;
# Whether a results set should automatically include fields that were used to order the results:
our $custom_fAutoDisplayOrderingFields = 1;
# Whether a results set should automatically include fields that were used to select (query) the results:
our $custom_fAutoDisplayQueryFields = 1;
# Whether a results set should automatically include fields that were used to highlight the results:
our $custom_fAutoDisplayHighlightingFields = 1;
# The size of <img> highlight tiles (ones that that have no explicit content):
our $custom_nHighlightTileWidth = 8;
# The border attribute value for <img> highlight tiles (ones that that have no explicit content):
our $custom_nHighlightTileBorder = '1';
# The size of <img> tiles, in pixels, used in the legend for background inline styles:
our $custom_nHighlightLegendTileWidth = 16;
# The #of (sample, text) column pairs to use in the legend table:
our $custom_nHighlightingLegendCols = 6;
# The (minimum) width of the screen that can 'reasonably' be expected of the users of the system.
# This is used by &pdsScaleImagePix() to scale pixel sizes.
our $custom_nScreenPixelsAssumed = 1000;
# The width (scaled pixels) of thumbnails to use in the results tables:
our $custom_nResultsThumbWidth = 80;
# Standard separator used in various places:
our $custom_htmlStdSep = '·';
# Default period coding:
our $custom_strPeriod_Default = 'm';
# Default floating point precision - #digits output after decimal point:
our $custom_nDefaultFloatPrecision = 2;
# The max. edit distance for 'fast typo' detection algorithm:
our $custom_nFastTypoMaxEditDistance = 3;
# The max. edit distance for 'levenshtein' detection algorithm:
our $custom_nLevenshteinTypoMaxEditDistance = 3;
# Whether 'sounds like' searches are to exclude exact matches in the search results:
our $custom_fExcludeExactMatchesInSoundsLikeSearches = 1;
# Date format. The following characters have special meaning:
# d - day of the month e.g. 1 or 31
# D - zero padded day of the month e,g, 01 or 31
# m - month number 1..12
# M - zero padded month number 01..12
# N - month name (in which case the month names are given by $::custom_strMonths)
# y - 2 digit year e.g. 07
# Y - 4 digit year e.g. 2007
our $custom_strDateFormat = 'M/D/Y';
our $custom_strDateFormatUI = 'MM/DD/YYYY';
our $custom_strMonths = 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec';
# -----------------------------------------------------------------------------------------
# Animal Tables Configuration Stuff
# -----------------------------------------------------------------------------------------
# Variables here specify which of the optional, but internally supported, fields
# are present in animal tables.
# Set this next variable to 1 if the animal tables have the A_TITLE field, 0
# otherwise:
our $custom_fAnimalTablesHaveTitle = 1;
# Set this next variable to 1 if the animal tables have the A_ADDITIONALTITLES
# field, 0 otherwise:
our $custom_fAnimalTablesHaveAdditionalTitles = 1;
# Set this next variable to 1 if the animal tables include the A_IMG field.
our $custom_fAnimalTablesHaveImg = 1;
# Set this next variable to 1 if the animal tables include the A_IMG_THUMB field.
our $custom_fAnimalTablesHaveImgThumb = 0;
# The length of the A_NAME field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_Animal_Name_Length = 80;
# The length of the A_SEX field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_Animal_Sex_Length = 2;
# The length of the A_TITLE field, if used:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_Animal_Title_Length = 20;
# The length of the A_ADDITIONALTITLES field, if used:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_Animal_AdditionalTitles_Length = 40;
# Set this next variable to 1 if the animal tables have the A_FID_S,A_FID_D fields
# (FID for the parents)
our $custom_fAnimalTablesHaveParentFID = 1;
# Set this next variable to 1 if the animal tables have the A_MID_S,A_MID_D fields
# (MID for the parents)
our $custom_fAnimalTablesHaveParentMID = 1;
# Set this next variable to 1 if the animal tables have the A_AID_PS,A_AID_P
# ,A_AID_MS,A_AID_MD fields (Grandparent IDs)
our $custom_fAnimalTablesHaveGrandParents = 1;
# Set this next variable to 1 if the animal tables have the A_PRO_COUNTCHILDREN
# field and you want it to appear in search results etc:
our $custom_fAnimalTablesHaveCountChildren = 1;
# Set this next variable to 1 if the animal tables have the A_PRO_COUNTGRANDCHILDREN
# field and you want it to appear in search results etc:
our $custom_fAnimalTablesHaveCountGrandChildren = 1;
# Set this next variable to 1 if the animal tables have the A_PRO_COUNTMATINGS
# field and you want it to appear in search results etc:
our $custom_fAnimalTablesHaveCountMatings = 1;
# Set this next variable to 1 if the animal tables have the A_PRO_COUNTFAMILIES
# field and you want it to appear in search results etc:
our $custom_fAnimalTablesHaveCountFamilies = 1;
# Set this next variable to 1 if the animal tables have the A_PRO_COUNTFULLSIB
# ,A_PRO_COUNTSIRESIBS,A_PRO_COUNTDAMSIBS,A_PRO_COUNTALLSIBS,A_PRO_COUNTLITTERMATES fields:
our $custom_fAnimalTablesHaveCountSibs = 1;
# Set this next variable to 1 if the animal tables have aux table count cols
# A_PRO_COUNTAUX_...) and you want them to appear in search results etc:
our $custom_fAnimalTablesHaveCountAuxs = 1;
# Names of additional fields in animals tables that are always to be fetched.
# E.g. this includes fields that are required by hookDecoratedAnimalName_MakeHTML().
# E.g. if you change hookDecoratedAnimalName_MakeHTML so that it also always
# needs the values of the A_X and A_Y user defined fields, this would be set to 'A_X,A_Y';
{
my $str = '';
&pdsSetAlwaysFetchFlds('A', $str);
}
# Recognized values for the A_SEX field in animal tables:
our $custom_strAnimalFieldSex_M = 'M';
our $custom_strAnimalFieldSex_F = 'F';
# Neuter forms of the sex values.
# If you dont user neuter forms in your database, these can safely be set to
# the empty string ''. This will speed up certain queries.
our $custom_strAnimalFieldSex_MN = 'MN';
our $custom_strAnimalFieldSex_FN = 'FN';
# -----------------------------------------------------------------------------------------
# Users Table Configuration Stuff
# -----------------------------------------------------------------------------------------
# The length of the U_TITLE field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_Title_Length = 50;
# The length of the U_FORENAME field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_Forename_Length = 50;
# The length of the U_SURNAME field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_Surname_Length = 50;
# The length of the U_LOGINNAME field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_LoginName_Length = 15;
# The length of the U_EMAILADDR field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_EmailAddr_Length = 100;
# The length of the U_PASSWORD field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_Password_Length = 15;
# The length of the U_POSTALADDR field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_PostalAddr_Length = 200;
# The length of the U_COUNTRY field:
# If you change this, you MUST also make sure that the actual field in the database
# table definition is changed too.
our $custom_nDbConf_User_Country_Length = 50;
# Names of additional fields in users table that are always to be fetched.
{
my $str = '';
&pdsSetAlwaysFetchFlds('U', $str);
}
# Min length of a login name.
# When adding users, and when users request logins, the chosen login names are
# length checked against this.
our $custom_nUserLoginName_MinLength = 5;
# Min length of a login password:
# When adding users, and when users request logins, the chosen passwords are
# length checked against this.
our $custom_nUserPassword_MinLength = 5;
# If this is non-zero, the system will check that email addresses are unique, when the administrator
# adds users to the system, and when users request logins. (The corresponding
# table column U_EMAILADDR is not unique)
our $custom_fForceUniqueUserEmailAddresses = 1;
# If this is non-zero, the system will require that an email address is supplied for new users:
our $custom_fUserEmailAddressesRequired = 1;
# -----------------------------------------------------------------------------------------
# Family Tables Configuration Stuff
# -----------------------------------------------------------------------------------------
# Set this next variable to 1 if use of family tables is entirely disabled:
our $custom_fHasFamilyTables = 1;
# Set this next variable to 1 if the family tables have the F_COUNTSIRESIBS,F_COUNTDAMSIB
# ,F_COUNTALLSIBS fields:
our $custom_fFamilyTablesHaveCountSibs = 1;
# Set this next variable to 1 if the family tables have the F_COUNTCHILDREN field
# and you want it to appear in search results etc:
our $custom_fFamilyTablesHaveCountChildren = 1;
# Set this next variable to 1 if the family tables have the F_COUNTGRANDCHILDREN
# field and you want it to appear in search results etc:
our $custom_fFamilyTablesHaveCountGrandChildren = 1;
# Set this next variable to 1 if the family tables have the F_COUNTMATINGS field
# and you want it to appear in search results etc:
our $custom_fFamilyTablesHaveCountMatings = 1;
# Set this next variable to 1 if the family tables have the F_AID_PS,F_AID_P
# ,F_AID_MS,F_AID_MD fields (Grandparent IDs)
our $custom_fFamilyTablesHaveGrandParents = 1;
# -----------------------------------------------------------------------------------------
# Mating Tables Configuration Stuff
# -----------------------------------------------------------------------------------------
# Set this next variable to 1 if use of mating tables is entirely disabled:
our $custom_fHasMatingTables = 1;
# Set this next variable to 1 if the mating tables have the M_COUNTFULLSIBS,M_COUNTSIRESIB
# ,M_COUNTDAMSIBS,M_COUNTALLSIBS fields:
our $custom_fMatingTablesHaveCountSibs = 1;
# Set this next variable to 1 if the mating tables have the M_COUNTCHILDREN field
# and you want it to appear in search results etc:
our $custom_fMatingTablesHaveCountChildren = 1;
# Set this next variable to 1 if the mating tables have the M_COUNTGRANDCHILDREN
# field and you want it to appear in search results etc:
our $custom_fMatingTablesHaveCountGrandChildren = 1;
# Set this next variable to 1 if the mating tables have the M_AID_PS,M_AID_P
# ,M_AID_MS,M_AID_MD fields (Grandparent IDs)
our $custom_fMatingTablesHaveGrandParents = 1;
# -----------------------------------------------------------------------------------------
# Inbreeding Tables Configuration Stuff
# -----------------------------------------------------------------------------------------
# Set this next variable to 1 if the inbreeding tables have the I_KC field and
# you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveKC = 1;
# Set this next variable to 1 if the inbreeding tables have the I_RC field and
# you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveRC = 1;
# Set this next variable to 1 if the inbreeding tables have the I_MAXGENSFOUND
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveMaxGensFound = 1;
# Set this next variable to 1 if the inbreeding tables have the I_FULLGENSFOUND
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveFullGensFound = 1;
# Set this next variable to 1 if the inbreeding tables have the I_COMPLETENESS
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveCompleteness = 1;
# Set this next variable to 1 if the inbreeding tables have the I_COUNTANCTOTAL
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveCountAncTotal = 1;
# Set this next variable to 1 if the inbreeding tables have the I_COUNTANCUNIQ
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveCountAncUniq = 1;
# Set this next variable to 1 if the inbreeding tables have the I_COUNTANCCMN
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveCountAncCmn = 1;
# Set this next variable to 1 if the inbreeding tables have the I_COUNTANCDUP
# field and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveCountAncDup = 1;
# Set this next variable to 1 if the inbreeding tables have the I_FRATE field
# and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveFRate = 1;
# Set this next variable to 1 if the inbreeding tables have the I_FERROR field
# and you want it to appear in search results etc:
our $custom_fInbreedingTablesHaveFError = 1;
# This string should be set to the numbers of generations of ancestors for which
# inbreeding computations are available in the database:
our $custom_strInbreedingGens = '4,8,12';
# Whether to enable the 'heat coded inbreeding highlighting' mechanism:
our $custom_fEnableHeatCodedInbreedingHighlighting = 1;
# If enabled, these set the max % for the gradient, and number of steps:
our $custom_dHeatCodedInbreedingHighlightingMax = 0.5;
our $custom_nHeatCodedInbreedingHighlightingNumSteps = 25;
# Whether to enable the 'heat coded %blood highlighting' mechanism (for ancestors):
our $custom_fEnableHeatCodedBloodHighlighting = 1;
# If enabled, these set the max % for the gradient, and number of steps:
our $custom_dHeatCodedBloodHighlightingMax = 0.5;
our $custom_nHeatCodedBloodHighlightingNumSteps = 25;
# -----------------------------------------------------------------------------------------
# Inbreeding Fields Querying and Ordering Configuration Stuff
# -----------------------------------------------------------------------------------------
# These variables control which, of the available inbreeding fields, are available for normal
# querying on, and ordering of, other records that can reference the inbreeding tables. Ie animals,
# matings and families. These are used to cut down the plethora ofinbreeding fields that would
# otherwise be including in the querying and ordering options in the major search screens.
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_KC field (if present):
our $custom_fQueryInbreedingByKC = 1;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_RC field (if present):
our $custom_fQueryInbreedingByRC = 1;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_MAXGENSFOUND field (if present):
our $custom_fQueryInbreedingByMaxGensFound = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_FULLGENSFOUND field (if present):
our $custom_fQueryInbreedingByFullGensFound = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_COMPLETENESS field (if present):
our $custom_fQueryInbreedingByCompleteness = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_COUNTANCTOTAL field (if present):
our $custom_fQueryInbreedingByCountAncTotal = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_COUNTANCUNIQ field (if present):
our $custom_fQueryInbreedingByCountAncUniq = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_COUNTANCCMN field (if present):
our $custom_fQueryInbreedingByCountAncCmn = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_COUNTANCDUP field (if present):
our $custom_fQueryInbreedingByCountAncDup = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_FRATE field (if present):
our $custom_fQueryInbreedingByFRate = 0;
# Set this next variable to 1 if you want to enable querying of animal tables
# using the I_FERROR field (if present):
our $custom_fQueryInbreedingByFError = 0;
# This string should be set to the numbers of generations of ancestors for which
# querying of inbreeding fields is provided:
# NOTE: every #gen included here MUST also be in $::custom_strInbreedingGens:
our $custom_strQueryInbreedingGens = '12';
# -----------------------------------------------------------------------------------------
# Inbreeding Fields Display Configuration Stuff
# -----------------------------------------------------------------------------------------
# These variables control which, of the available inbreeding fields, are available for normal display
# when displaying records that can reference the inbreeding tables. Ie animals, matings and families.
# These are used to cut down the plethora ofinbreeding fields that would otherwise be included in the
# display options in the major search screens.
#
# Note, this does not affect which inbreeding fields can be seen when the user selects an
# 'inbreeding analysis'. That is limited only by whatever fields are present in the inbreeding table
# in the database.
# Set this next variable to 1 if you want to enable display of the I_KC field
# in animal results tables (if present):
our $custom_fDisplayInbreedingKC = 1;
# Set this next variable to 1 if you want to enable display of the I_RC field
# in animal results tables (if present):
our $custom_fDisplayInbreedingRC = 1;
# Set this next variable to 1 if you want to enable display of the I_MAXGENSFOUND
# field in animal results tables (if present):
our $custom_fDisplayInbreedingMaxGensFound = 1;
# Set this next variable to 1 if you want to enable display of the I_FULLGENSFOUND
# field in animal results tables (if present):
our $custom_fDisplayInbreedingFullGensFound = 1;
# Set this next variable to 1 if you want to enable display of the I_COMPLETENESS
# field in animal results tables (if present):
our $custom_fDisplayInbreedingCompleteness = 1;
# Set this next variable to 1 if you want to enable display of the I_COUNTANCTOTAL
# field in animal results tables (if present):
our $custom_fDisplayInbreedingCountAncTotal = 1;
# Set this next variable to 1 if you want to enable display of the I_COUNTANCUNIQ
# field in animal results tables (if present):
our $custom_fDisplayInbreedingCountAncUniq = 1;
# Set this next variable to 1 if you want to enable display of the I_COUNTANCCMN
# field in animal results tables (if present):
our $custom_fDisplayInbreedingCountAncCmn = 1;
# Set this next variable to 1 if you want to enable display of the I_COUNTANCDUP
# field in animal results tables (if present):
our $custom_fDisplayInbreedingCountAncDup = 1;
# Set this next variable to 1 if you want to enable display of the I_FRATE field
# in animal results tables (if present):
our $custom_fDisplayInbreedingFRate = 1;
# Set this next variable to 1 if you want to enable display of the I_FERROR field
# in animal results tables (if present):
our $custom_fDisplayInbreedingFError = 1;
# This string should be set to the numbers of generations of ancestors for which
# display of inbreeding fields in animal tables is exposed:
# NOTE: every #gen included here MUST also be in $::custom_strInbreedingGens:
our $custom_strDisplayInbreedingGens = '12';
# -----------------------------------------------------------------------------------------
# Default Search Mode
# -----------------------------------------------------------------------------------------
our $custom_strDefaultSearchMode_Animal = 'b';
our $custom_strDefaultSearchMode_Family = 'a';
our $custom_strDefaultSearchMode_Mating = 'a';
# Note, this can be overridden for a specific aux record type by calling &pdsSetAuxDefaultSearchMode():
our $custom_strDefaultSearchMode_Aux = 'a';
our $custom_strDefaultSearchMode_User = 'b';
# -----------------------------------------------------------------------------------------
# Default Display Fields Keys
# -----------------------------------------------------------------------------------------
our $custom_strDefaultDisplayFldsKey_Animal = 'A_basic';
our $custom_strDefaultDisplayFldsKey_Family = 'F_basic';
our $custom_strDefaultDisplayFldsKey_Mating = 'M_basic';
our $custom_strDefaultDisplayFldsKey_User = 'U_basic';
our $custom_strDefaultDisplayFldsKey_History = 'H_basic';
our $custom_strDefaultDisplayFldsKey_Login = 'L_basic';
# Whether, upon a 'New' search, the display flds are to be reset to the default.
our $custom_fRestoreDefaultDisplayFldsUponNewResults_Animal = 0;
our $custom_fRestoreDefaultDisplayFldsUponNewResults_Family = 0;
our $custom_fRestoreDefaultDisplayFldsUponNewResults_Mating = 0;
our $custom_fRestoreDefaultDisplayFldsUponNewResults_User = 0;
our $custom_fRestoreDefaultDisplayFldsUponNewResults_History = 0;
our $custom_fRestoreDefaultDisplayFldsUponNewResults_Login = 0;
# -----------------------------------------------------------------------------------------
# Default Ordering Keys
# -----------------------------------------------------------------------------------------
# (use a value of 'x_@' for a default of 'Not ordered') (where 'x' is the table suffix)
our $custom_strDefaultOrderingKey_Animal = 'A_name';
our $custom_strDefaultOrderingKey_Family = 'F_sname';
our $custom_strDefaultOrderingKey_Mating = 'M_sname';
our $custom_strDefaultOrderingKey_User = 'U_surname';
our $custom_strDefaultOrderingKey_History = 'H_recordedat_d';
our $custom_strDefaultOrderingKey_Login = 'L_startedat_d';
# Whether, upon a 'New' search, the ordering is to be reset to the default.
# This can have a significant effect on speed in a large database if the user
# has previously switched away from the default ordering.
our $custom_fRestoreDefaultOrderingUponNewResults_Animal = 1;
our $custom_fRestoreDefaultOrderingUponNewResults_Family = 1;
our $custom_fRestoreDefaultOrderingUponNewResults_Mating = 1;
our $custom_fRestoreDefaultOrderingUponNewResults_User = 0;
our $custom_fRestoreDefaultOrderingUponNewResults_History = 0;
our $custom_fRestoreDefaultOrderingUponNewResults_Login = 0;
# -----------------------------------------------------------------------------------------
# Default Plate Keys
# -----------------------------------------------------------------------------------------
our $custom_strDefaultPlateKey_Animal = 'A_std';
our $custom_strDefaultPlateKey_Family = 'F_std';
our $custom_strDefaultPlateKey_Mating = 'M_std';
our $custom_strDefaultPlateKey_Pedigree = 'A_std';
our $custom_strDefaultPlateKey_User = 'U_std';
our $custom_strDefaultPlateKey_History = 'H_std';
our $custom_strDefaultPlateKey_Login = 'L_std';
# Whether, upon a 'New' search, the plate is to be reset to the default.
our $custom_fRestoreDefaultPlateUponNewResults_Animal = 0;
our $custom_fRestoreDefaultPlateUponNewResults_Family = 0;
our $custom_fRestoreDefaultPlateUponNewResults_Mating = 0;
our $custom_fRestoreDefaultPlateUponNewResults_User = 0;
our $custom_fRestoreDefaultPlateUponNewResults_History = 0;
our $custom_fRestoreDefaultPlateUponNewResults_Login = 0;
# -----------------------------------------------------------------------------------------
# Default Results Modes
# -----------------------------------------------------------------------------------------
our $custom_strDefaultStandardResultsModeKey_Animal = 'n';
our $custom_strDefaultStandardResultsModeKey_Family = 'n';
our $custom_strDefaultStandardResultsModeKey_Mating = 'n';
our $custom_strDefaultStandardResultsModeKey_User = 'n';
our $custom_strDefaultStandardResultsModeKey_History = 'n';
our $custom_strDefaultStandardResultsModeKey_Login = 'n';
# Whether, upon a 'New' search, the results mode is to be reset to the default.
our $custom_fRestoreDefaultStandardResultsModeUponNewResults_Animal = 0;
our $custom_fRestoreDefaultStandardResultsModeUponNewResults_Family = 0;
our $custom_fRestoreDefaultStandardResultsModeUponNewResults_Mating = 0;
our $custom_fRestoreDefaultStandardResultsModeUponNewResults_User = 0;
our $custom_fRestoreDefaultStandardResultsModeUponNewResults_History = 0;
our $custom_fRestoreDefaultStandardResultsModeUponNewResults_Login = 0;
# -----------------------------------------------------------------------------------------
# Default Highlighting Keys
# -----------------------------------------------------------------------------------------
our $custom_strDefaultHighlightingKey_Animal = 'A_@';
our $custom_strDefaultHighlightingKey_Family = 'F_@';
our $custom_strDefaultHighlightingKey_Mating = 'M_@';
our $custom_strDefaultHighlightingKey_Pedigree = 'A_@';
our $custom_strDefaultHighlightingKey_User = 'U_@';
our $custom_strDefaultHighlightingKey_History = 'H_@';
our $custom_strDefaultHighlightingKey_Login = 'L_@';
# Whether, upon a 'New' search, the highlighting is to be reset to the default.
our $custom_fRestoreDefaultHighlightingUponNewResults_Animal = 1;
our $custom_fRestoreDefaultHighlightingUponNewResults_Family = 1;
our $custom_fRestoreDefaultHighlightingUponNewResults_Mating = 1;
our $custom_fRestoreDefaultHighlightingUponNewResults_User = 0;
our $custom_fRestoreDefaultHighlightingUponNewResults_History = 0;
our $custom_fRestoreDefaultHighlightingUponNewResults_Login = 0;
# -----------------------------------------------------------------------------------------
# Max Hits
# -----------------------------------------------------------------------------------------
# The maximum number of hits/page for various searches etc:
# The default maximum number of hits/page for results that are animal records:
our $custom_nMaxHitsPerPage_Animals = 20;
# The maximum number of hits/page for ancestor reports; use -1 to show all ancestors
# located:
our $custom_nMaxHitsPerPage_Ancestors = $::custom_nMaxHitsPerPage_Animals;
# The maximum number of hits/page for tail reports; use -1 to show all ancestors
# located:
our $custom_nMaxHitsPerPage_Tail = $::custom_nMaxHitsPerPage_Animals;
# The maximum number of hits/page for sibs reports; use -1 to show all sibs located:
our $custom_nMaxHitsPerPage_Sibs = $::custom_nMaxHitsPerPage_Animals;
# The maximum number of hits/page for descendants (children etc) reports; use
# -1 to show all record located:
our $custom_nMaxHitsPerPage_Descendants = $::custom_nMaxHitsPerPage_Animals;
# The default maximum number of hits/page for results that are family records:
our $custom_nMaxHitsPerPage_Families = 20;
# The default maximum number of hits/page for results that are mating records:
our $custom_nMaxHitsPerPage_Matings = 20;
# The default maximum number of hits/page for results that are aux records:
# Note - this can be overridden for a specific aux record type by calling &pdsSetAuxMaxHitsPerPage()
our $custom_nMaxHitsPerPage_AuxRecords = 20;
# The default maximum number of hits/page for results that are user records:
our $custom_nMaxHitsPerPage_Users = 200;
# The default maximum number of hits/page for results that are history records:
our $custom_nMaxHitsPerPage_HistoryRecords = 200;
# The default maximum number of hits/page for results that are login records:
our $custom_nMaxHitsPerPage_LoginRecords = 200;
# The max. no. of derived record hits that will be shown alongside each main record in 'merged' hit list mode:
# Use -1 to include all derived records in merged mode (use carefully!)
our $custom_nMaxDerivedHitsPerPage = 10;
# The reduction factor to apply to the # 'main record' hits shown per page when derived
# records are being embedded into the hit results (hit list merged mode). To disable this, set
# it to any value less than 2. By setting it to $::custom_nMaxDerivedHitsPerPage, you keep the
# total # records shown per page to the same.
our $custom_nReduceHitsPerPageByInMergedMode = 5;
# -----------------------------------------------------------------------------------------
# Thumbnail Image Support
# -----------------------------------------------------------------------------------------
# Set this to 1 to enable the thumbnail support:
our $custom_fSmartThumbnailSupportEnabled = 1;
# Set this to 1 to enable the automatic generation of thumbnail filenames in
# the absence of explicit thumbnail filenames:
our $custom_fThumbnailFilenameCreationEnabled = 1;
# Set this to 1 to enable the use of a thumbnail image in place of a full image
# when there is no full image available, even when a full image is what was wanted:
our $custom_fNeverUseThumbnailsInPlaceOfFullImages = 1;
# Set this to 1 to enable checking for the existence of images in the local filesystem.
# With thumbnail support enabled, this lets the system intelligently choose whether
# to return a thumbnail if one exists and the context wants one.
our $custom_fImageFileExistenceChecking = 1;
# Image folder URL prefix - this is inserted in front of the filename when generating the
# src= attributes of <img> tags for non-thumbnail images. Unless this is set to the empty
# string, it should normally have a terminating slash (/). If your database does not store
# filenames of images on the local server - e.g. the A_IMG field contains complete
# URL's to image files, leave this empty.
our $custom_strURLBaseImageFiles = "$::custom_strURLBaseHTMLFiles/imgs/";
# If you have image file existence checking enabled (see custom_fImageFileExistenceChecking),
# set this next variable to be the local directory containing the images AS SEEN FROM THESE
# SCRIPTS. Ie, this is a local filesystem prefix, NOT a URL prefix. This should end with a
# slash, or be the empty string.
our $custom_strLocalBaseImageFiles = '';
# Image thumbnail folder URL prefix - this is inserted in front of the filename when generating
# the src= attributes of <img> tags for thumbnail images. Unless this is set to the empty string,
# it should normally have a terminating slash (/). If your database does not store filenames of
# images on the local server - e.g. the A_IMG_THUMB field contains complete URL's to image
# thumbnail files, leave this empty.
our $custom_strURLBaseThumbnailFiles = "$::custom_strURLBaseHTMLFiles/imgs/";
# If you have image file existence checking enabled (see custom_fImageFileExistenceChecking),
# set this next variable to be the local directory containing the image thumbnails AS SEEN FROM
# THESE SCRIPTS. Ie, this is a local filesystem prefix, NOT a URL prefix. This should end with
# a slash, or be the empty string.
our $custom_strLocalBaseThumbnailFiles = '';
# Additional prefix inserted onto the front of image filenames when generating a thumbnail
# filename. This lets you store all images, both thumbnails and full size, in the same folder,
# but differentiate between them by having thumbnails prefixed with, say 't'.
our $custom_strThumbnailFilenamePrefix = '';
# -----------------------------------------------------------------------------------------
# Pedigree Report
# -----------------------------------------------------------------------------------------
# The default #generations to show in a pedigree:
our $custom_nDefaultPedigreeGens = 4;
# Whether or not a pedigre, by default, includes a column for the self animal:
our $custom_strDefaultPedigreeIncludeSubject = 'n';
# The widths of the ancestor columns in pedigrees. This string is a semicolon-separated list
# where each entry defines the column widths for a given #generations. Each entry itself
# comprises a comma separated list of percentages.
our $custom_strPedigreeGenProportions =
'35%,65%;21%,36%,43%;14%,18%,29%,49%;15%,15%,20%,25%,25%;13%,13%,15%,15%,18%,26%;12%,12%,13%,14%,15%,14%,20%;10%,11%,12%,13%,13%,13%,14%,14%';
# The html to output in a ped for a missing ancestor:
our $custom_htmlMissingAncestor = 'Unknown';
our $custom_nPedigreeInbreedingGens = 16;
# -----------------------------------------------------------------------------------------
# Field/Form Sizes
# -----------------------------------------------------------------------------------------
# The maximum default textfield length in forms - used when the db size of a
# field is given but not the form size:
our $custom_nMaxDefaultFormTextfieldSize = 55;
# Default sizes for multi-line text fields in forms. These do not affect the
# table schemas in the database, because these are used with TEXT fields. These
# values affect the sizes of multiline text boxes in forms.
our $custom_nFormConf_MultiTextRows_Small = 5;
our $custom_nFormConf_MultiTextRows_Medium = 10;
our $custom_nFormConf_MultiTextRows_Large = 25;
our $custom_nFormConf_MultiTextCols = 80;
# -----------------------------------------------------------------------------------------
# Ancestors Report
# -----------------------------------------------------------------------------------------
# The default #generations to report in an ancestors listing:
our $custom_nDefaultAncestorsGens = 6;
# The different numbers of generations of ancestors for which an ancestors report is available.
# Include -1 if you want an 'all ancestors' entry.
our $custom_strAncestorsGens = '2,3,4,5,6,7,8';
# The default type of an ancestors report:
our $custom_strDefaultAncestorsType = 'a';
# The default type of a tail report:
our $custom_strDefaultTailType = 's';
# -----------------------------------------------------------------------------------------
# Results Modes
# -----------------------------------------------------------------------------------------
# The different numbers of cells across in grid results mode.
our $custom_strStandardResultsModeGridCols = '2,3,4,5,6,7,8';
# -----------------------------------------------------------------------------------------
# Terminology
# -----------------------------------------------------------------------------------------
# These should always be in TitleCase.
our $custom_strTerm_Animal = 'Dog';
our $custom_strTerm_Animals = 'Dogs';
our $custom_strTerm_Child = 'Puppy';
our $custom_strTerm_Children = 'Offspring';
our $custom_strTerm_Sire = 'Sire';
our $custom_strTerm_Sires = 'Sires';
our $custom_strTerm_Dam = 'Dam';
our $custom_strTerm_Dams = 'Dams';
our $custom_strTerm_MaleAnimal = 'Male';
our $custom_strTerm_MaleAnimals = 'Males';
our $custom_strTerm_FemaleAnimals = 'Females';
our $custom_strTerm_FemaleAnimal = 'Female';
our $custom_strTerm_GrandSire = 'Grandsire';
our $custom_strTerm_GrandSires = 'Grandsires';
our $custom_strTerm_GrandDam = 'Granddam';
our $custom_strTerm_GrandDams = 'Granddams';
our $custom_strTerm_Parent = 'Parent';
our $custom_strTerm_Parents = 'Parents';
our $custom_strTerm_GrandParent = 'Grandparent';
our $custom_strTerm_GrandParents = 'Grandparents';
our $custom_strTerm_GrandChildren = 'Grandchildren';
our $custom_strTerm_Mating = 'Litter';
our $custom_strTerm_Matings = 'Litters';
our $custom_strTerm_Family = 'Family';
our $custom_strTerm_Families = 'Families';
our $custom_strTerm_History = 'History';
our $custom_strTerm_HistoryRecord = 'History Entry';
our $custom_strTerm_HistoryRecords = 'History Entries';
our $custom_strTerm_Logins = 'Logins';
our $custom_strTerm_LoginRecord = 'Login Record';
our $custom_strTerm_LoginRecords = 'Login Records';
our $custom_strTerm_SireSib = "$::custom_strTerm_Sire Sib";
our $custom_strTerm_SireSibs = "$::custom_strTerm_Sire Sibs";
our $custom_strTerm_DamSib = "$::custom_strTerm_Dam Sib";
our $custom_strTerm_DamSibs = "$::custom_strTerm_Dam Sibs";
our $custom_strTerm_AllSibs = "All Sibs";
our $custom_strTerm_FullSib = "Full Sib";
our $custom_strTerm_FullSibs = "Full Sibs";
our $custom_strTerm_LitterMate = "Litter Mate";
our $custom_strTerm_LitterMates = "Litter Mates";
our $custom_strTerm_InbreedingData = "Inbreeding Data";
our $custom_strTerm_Period_LastHour = "Last Hour";
our $custom_strTerm_Period_LastDay = "Last Day";
our $custom_strTerm_Period_LastWeek = "Last Week";
our $custom_strTerm_Period_LastMonth = "Last Month";
our $custom_strTerm_Period_LastYear = "Last Year";
1;
Migrating pedserve-customize-sys.pl When Pedserve is UpdatedWhenever we update the Pedserve software, there is a good chance we will have made changes to To save you from having to 're-make' all your localized changes to the new # cd your-cgi-bin-directory # cp pedserve-customize-sys.pl pedserve-customize-sys.pl-old # cp UPDATEDFILES/pedserve-customize-sys.pl . # perl pedserve-migrate.pl pedserve-customize-sys.pl This will work so long as you have not removed any of the special comments in |
USEFUL LINKS: |
| Help Cure Cancer |
©1996-2007
Tenset Tech. Ltd
All Rights Reserved
