# ACE Scoring Customization

UNDER CONSTRUCTION - this is currently just a work-in-progress stash of a random collection of working notes on the hooks that are available to enable users to customize and extend the ACE Scoring tools - need to clean up and complete [DJL 24-Nov-2002]

## Customizing Race and Event Reports

TO DO: Describe the really cool stuff you can now do in ACES 4.0 by providing customized variations of the XSLT report generation specifications and the CSS style sheets for the HTML web reports so that individual organizations can customize report layout and style to suit their own "look".

Intermediate topic: Customizing the report appearance for HTML web reports. The HTML appearance properties of race and event/season scoring reports are determined by stylesheet specifications - the `.css` files in the `Reports` directory. To customize report appearance, you need to understand CSS stylesheets - related to HTML markup technology and of similar difficulty (i.e., not that hard to understand). Simply edit the style specifications to modify fonts, colors, margins, backgrounds, etc.

Advanced topic: Customizing the report structure. The report structure and contents are determined by XSLT specifications, an XML-based technology that's more complex than HTML markup but less difficult than working in a programming language.. To customize reports, create a subdirectory named `ConfigurationSettings` in your working set directory, copy the the folder `ProgramFiles/Tools/System/transforms` containing the standard report generation specifications to your working set configuration folder, and edit the specifications of your working set `transforms`.

## Start Group Code Specifications

TO DO: add description of how to add additional specifications to the `ConfigurationSettings/StartGroupCodeSpecs` directory to handle age class start order codes encoded in the `Team` field of a Split Second race data file to provide a backstop check on racer age class and identify ability-group classes such as the Far West "open seed" classes or the Intermountain men's "super seed" class.

## CSV Race Results Data Column Order Specifications

TO DO: add description of how to add additional specifications to the `ConfigurationSettings/RaceResultsImportColumnSpecs` directory to specify data column order and contents for importing CSV format race results data if the built-in set of specifications don't cover the case you've got.

## Race Data Import Bib Mapping

TO DO: add description of working set configuration option to define `ConfigurationSettings/BibNumberImportMapping.cfg`

## Race Class Synonyms and Racer Name Heuristics

TO DO: describe the race class synonym specification files in the `ConfigurationSettings` directory and how you can add entries in here to handle masters age class coding variations when loading race results data

TO DO: Describe how to use the `LastNameVariations.cfg` and `FirstNameVariations.cfg` specification files in the `ConfigurationSettings` directory to handle standard variations of spelling and form of racer names so that you don't always have to edit them when synching individual race results against the series racer list. (E.g., accept "Jim", "Jimmy", and "James" as equivalent)

## Customizing Division Racer List Management Policies

TO DO: describe working set configuration settings options for specifying permanent bib assignment ranges and series tracking bib numbers for a division racer list management policy.

`[RacerList]
managementPolicy: { farWestDivision | intermountainDivision | division | series }
managementPolicy-permanentBibsRange: firstNumber..lastNumber [, fn2..ln2]...
managementPolicy-seriesTempBibsRange: { firstNumber..lastNumber | firstNumber + } [,...]`

## Command Line Options

TO DO: Document the command line options

-rootSettings
  Specify the session roots configuration file to use. The standard roots configuration file is `ACEScoring.ini`. The roots configuration file must be stored in the `ProgramFiles` installation directory.
-sessionSettings
  Specify the session configuration file to use. The standard session configuration file is `ToolSessionSettings.ini`. The session configuration file must be stored in the tool installation directory (`ProgramFiles/Tools`).
-configSettings
  Specify the tool configuration settings file to use. The standard tool configuration file is `ToolConfigurationSettings.ini`. The tool configuration file must be stored in the tools system directory (`ProgramFiles/Tools/System`).
-splashScreen
  Optional override of the splash screen specified in the session configuration settings. Value is the pathname of the splash screen file to use.