Database Handicapping Software- JCapper JCapper User Customizeable HTML Report
Design Doc

   NAV LINKS  XXX R1 R2 R3 R4 R5 R6 R7 R8 R9

	  C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  C10  C11  C12

   Row 1   0*  1*  2   3   4   5   6   7   8   9   10   11   12

   Row 2      13* 14  15  16  17  18  19  20  21   22   23   24

   Row 3      25  26  27  28  29  30  31  32  33   34   35   36

   Row 4      37  38  39  40  41  42  43  44  45   46   47   48



When JCapper is run in SQL Mode, the JCapper HTML Report becomes fully customizeable by the user.

The above diagram represents the layout of a JCapper HTML Report. There are 13 Columns numbered 0 through 12. There are 4 Rows numbered 1 through 4. There are 48 user defined SLOTS numbered 1 through 48. Clicking the HTML Report Factor Setup button found on the User Sys Defs Screen will launch an interface where you can assign individual factors to specific SLOT numbers and define display attributes for each SLOT number. During a Calc Races routine, the HTML Report Builder will create the JCapper HTML Report using the report definitions that you have saved.


COL 0 - COLUMN 0 is reserved for display of pp, name of horse, and UDMs.

COL 12 - Use the slots in COLUMN 12 to display names: rider, trainer, owner, sire, and/or dam.

SLOT 0 - Reserved for PP, Name of Horse, and UDMs

SLOT 1 - Use a probability number in this slot. The program will derive an oddsline from the probability number in slot 1 and will display the resulting odds line in SLOT 13.

SLOT 13 - The program will apply a formula to the probability number in SLOT 1 and display the resulting odds line in SLOT 13.

SLOTS 2-48 These SLOTS are considered "open." Insert the factor of your choice into each SLOT. Define the display attributes of each SLOT as you see fit.

Display Attributes
Display Attributes for each open slot can be defined in the following manner:

ACTIVE - Check this box to display the current slot on the report. Uncheck the box to not display the current slot on the report. Note: To disable display of an entire row, set the Active attribute to False for every slot in the row by unchecking the Active box for each slot in the row and clicking the Save button. To redisplay a deactivated slot, simply bring that slot up for editing, check the Active box, and click Save.

Display Numeric Value - Check this box to display factor numeric value in the current SLOT. Uncheck this box to not display factor numeric value in the current SLOT.

Display Rank - Check this box to display factor rank just to the right of factor numeric value. Uncheck this box to not display factor rank.

Display as Name - Check this box to display the factor assigned to the current SLOT as text. Uncheck this box to display the factor assigned to the current SLOT in some other manner.

Header Abbr - Key in the text you wish to use as a COLUMN Header Abbreviation for the current SLOT. Max character length is 10 characters. Default until you override it by saving an entry in this field is the left most 7 characters of the factor name assigned to the current SLOT.

Font/Style - Use this drop down to select font size, bolding, color, and background-color/highlighting for the current SLOT.

When you are done, hit the SAVE button.

Editing and Saving Slot Number Attributes
Individual SLOTS can be pulled up for editing in several ways:

1. Select the SLOT number to be edited from the Slot Number selection drop down.

2. Double click the factor name in the Saved Factors List.

3. Single click the facttor name in the Saved Factors List and click the Edit button.

Once the SLOT has been pulled up for editing the attributes for that slot become visible. Change the attributes as you see fit and Save your work by clicking the SAVE button.

Best Practices
Give the LAYOUT of the HTML Report a careful look over first. Don't just haphazardly throw factors into SLOT numbers and hope for the best. THINK about what you want to see on your HTML Report and where you want to see it beforehand. THEN assign factors to SLOT numbers.

Assign factors to SLOT numbers FIRST!

THEN define and edit the display attributes for each SLOT number AFTERWARDS.

Keep in mind the design has a hierarchy:

Step 1. Assign Factors to specific SLOT numbers.

Step 2. Define/Edit and Save the Display Attributes for each SLOT number.

Display attributes don't belong to the Factor. They belong to the SLOT number. SLOT number Display Attributes don't move when you move factors around. They stay put with the SLOT number.

So if you decide to rearrange your factors: move them from one SLOT to another, or swap them out in favor of other factors you'd rather see on the report - after you are done with that step you will need to pull up each SLOT number, look at the display attributes, and edit/redefine and Save as necessary.

Making it All Fit
Avoid Column Headers that are too wide. Your browser uses the cell width of the widest data element in the Column when it renders each data cell in the column. A 10 character wide Column Header sitting atop a column containing data that is only two characters wide will make the entire Column 10 characters wide.

Consider using small font for display of names for rider, trainer, and/or owner.

Each race table is 675 pixels wide to facilitate printing onto 8 1/2 x 11 inch computer paper. If you decide to display names in Column 12, the page width of 675 pixels is not wide enough to support both numeric value and rank in ALL of the other 11 columns. I realize that some players want to cram as much info on the report as possible. However, the layout will realistically support only 4 or 5 columns that display BOTH numeric value and rank. If your report layout looks like a jumbled mess the very first time that you run it, consider defining all of the slots in some of your columns so that those slots display Rank ONLY. Keep in mind that when a slot is defined to display rank only - a mouse click on that slot will give you a message box showing the factor name and factor value for that slot.

Making it look nice
Right Alignment (at least I think so) makes columns of numbers with varying character lengths easier to read than Left Alignment or Middle. Also, consider using the same alignment type for every slot number in a column.

Default Report
The download comes with a default HTML Report where everything is defined and already set up for you. Hey, I didn't want you to have to start completely from scratch. Keep in mind that the default report that comes with the download was set up using the SQL Mode HTML Report Set Up Tool in the System Settings Interface. So it's completely editable by the user. You're welcome to Keep it and use it as is... or modify it as you see fit.

Here's a link so that you can see what it looks like:

It took me a little over 90 minutes (start to finish) to crank out the finished product shown from the link above. It was the very first time I'd created a report from scratch using the interface.

Here are some pointers that just might help you...

Using Notepad (or another text editor) to create a worksheet beforehand will cut the amount of time you spend on report setup considerably. Here is a link to a simple text file that I created:


Notice that my worksheet is broken out into vertical sections... and that the slot numbers within each section are shown vertically. Create that first. Then key in the factor names you want to see on your report into the appropriate slot number on your worksheet.

Once you have the worksheet completely filled in, THEN bring up the interface...

And working off of your worksheet like it's a blueprint... use the Report Setup Interface to select factors from the available factors list and move them into the appropriate slot. After you have your factors lined up inside the interface in the correct slot numbers, hit the Save button. Then edit each slot number one at a time... defining active, alignment, display type for numeric value, rank, or name, and font. Once you have the slot attributes defined for the current slot, SAVE your work for that slot. Resist the urge to run a Calc Races (single race is ideal when working on report setup) until you've at least completed your first pass slot definitions. Then run a Calc Races for a single race and look at HTML Report Two. If you need to make adjustments... and you WILL... start at slot 1 and WORK VERTICALLY... one column at a time... until that one column looks the way you want it to. Then move on to the next column until you are satisfied with the report.

Report Sorting
When JCapper is run in SQL Mode, the System Settings/System Definitions interface supports two types of report sorting:
  1. Report Level Sorting - Use the interface to control the sort order of races on the report. The program default is track/race number. You can override that by saving a SQL Expression that sorts the races on the report by any and all fields in the RaceHeadingsToday Table. For example, you can sort the races on the report by Post Time... You can also write factor constraints into your SQL Expression. For example, you can have the interface only display races where RV is >= 100... or turf only... or graded stakes only... You get to decide... it's fully up to you.
  2. Race Level Sorting - Use the interface to control the sort order of horses on the report within each race. The program default is rail position. You can override that by saving a SQL Expression that sorts the horses on the report by any and all fields in the StartersToday Table. For example, you can sort the horses within each race by JPRMLProb descending... or UPRMLProb... or MLOR3... You can also write factor constraints into your SQL Expression. For example, you can have the interface only display horses where UPRZScoreProb is >= .1500... or just the top half of the field according to one of your UserFactors... Again, it's your info. You decide what you want to see and how you want to see it.

Avoid information overload.
Before you get started THINK about what you want on your report and where you want to see it.

In my own case, the key focus is on UDM horses and value. A simple report very much like that found on the Live Play Module is perfect for me.

That said, every player is different. If you want to use the HTML Report to handicap and arrive at selections - the interface is fully capable of rendering a rich data intensive HTML Report four rows deep. If that's what you want, group like factors (such as early speed) together in one area on the report. Group another set of like factors (those that are Late Pace based for example) together in another area on the report. Do the same thing for Class, Ability From Speed Figs, Power Ratings, and human connections. Somehow (my opinion) HTML Reports become easier to read when they are laid out like that. Also, consider making like factor groups the same color. For example, early speed becomes easier to spot on a report when all of the early speed factors are rendered in blue.




Copyright 2009 JCapper Software