Animal Shelter Manager User Manual

Transcription

Animal Shelter Manager User Manual
Animal Shelter Manager User Manual
Revision 66 (ASM 2.8.7)
June 9, 2011
Foreword
Introduction
Animal Shelter Manager is a computer package designed to ease the administrative burden of managing an
animal shelter or sanctuary.
It integrates well with existing paper-based systems, and offers a whole host of features, including:
• Adoption history facilities, allowing full animal tracking
• Advanced media facilities for attaching photographs, documents, spreadsheets, videos and sounds.
• Automatic insurance number generation for pet insurer agreements
• Full reporting facilities, including auditing, financials, statistics and graphs.
• Complete double-entry book keeping system for account management.
• Flexible custom reporting allows editing, saving, emailing, embedding in documents, direct uploading
to the internet and conversion to many different word processor formats, as well as built in tools to
generate your own reports.
• Form creation facilities for instant generation of adoption paperwork, reservation cards etc.
• Web site generation to allow a wider audience to see your animals, including integration to PetFinder.com
and other major US adoption websites.
• Lost and found database facilities with intelligent matching system
• Easy-maintenance database with low resource requirements for easy backing up using backup tapes,
zip drives and CD writers.
• Owner and donation management, including UK Gift Aid support, homechecking, banned owners, etc.
• Sophisticated animal search facilities allowing staff to locate an animal within the shelter at a glance
• Low specification computers required for both server and clients with the option to use many different
operating systems and platforms
• Extensible architecture allows for easy creation of third party plugins
• Bulk mail shotting and email facilities based on filtered criteria
1
Contents
1 Getting Started
1.1 Menus and Shortcuts
1.2 Shortcut Keys . . . .
1.3 Toolbar . . . . . . .
1.4 Status Bar . . . . . .
1.5 Dates . . . . . . . .
1.6 Tables . . . . . . . .
1.7 Initial Setup . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
8
8
8
9
9
9
10
2 Animals
2.1 Find Animal Screen . . . . . .
2.2 Printing Search Results . . . .
2.3 Animal Screen . . . . . . . . .
2.3.1 Animal Details . . . . .
2.3.2 Entry Details . . . . . .
2.3.3 Vet . . . . . . . . . . . .
2.3.4 Death . . . . . . . . . .
2.3.5 Diet . . . . . . . . . . .
2.3.6 Costs . . . . . . . . . .
2.3.7 Vaccination . . . . . . .
2.3.8 Medical . . . . . . . . .
2.3.9 Media . . . . . . . . . .
2.3.10 Diary . . . . . . . . . .
2.3.11 Movements . . . . . . .
2.3.12 Log . . . . . . . . . . .
2.4 Moving and Reserving Animals
2.4.1 Retailer Movements . .
2.5 Documents . . . . . . . . . . .
2.6 Animal Name Database . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
13
13
14
14
15
16
16
17
18
19
20
20
21
21
22
22
23
3 Owners
3.1 Find Owner Screen . . .
3.2 Owner Screen . . . . . .
3.2.1 Owner Warnings
3.2.2 Owner Criteria .
3.2.3 Home Checkers .
3.2.4 Donations . . . .
3.2.5 Vouchers . . . .
3.2.6 Links . . . . . .
3.2.7 Merging Owners
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
24
25
25
26
26
27
27
27
27
4 Reservation Book
4.1 Foster Book and Retailer Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
28
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
CONTENTS
CONTENTS
5 Lost Animals
5.1 Matching Lost and Found Animals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 The Match Point System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
30
30
6 Waiting List
32
7 Vaccination/Medical Diary
7.1 Automatic Diary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Print the Vaccination Diary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Print the Medical Diary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
34
34
34
8 General Diary
8.1 Adding a New Diary Note . . . . . . . . . .
8.2 Viewing My Diary Notes . . . . . . . . . . .
8.3 Printing the General Diary . . . . . . . . .
8.4 Printing the Vets Diary . . . . . . . . . . .
8.5 Diary Tasks . . . . . . . . . . . . . . . . . .
8.5.1 Creating New Diary Tasks . . . . . .
8.5.2 Generating Diary Tasks for Animals
.
.
.
.
.
.
.
35
35
36
36
36
36
37
37
9 Accounts
9.1 Reconciliation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2 Donations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3 Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
40
40
40
10 Reports
10.1 Auditing . . . . . . . . . . . . . . . . . . .
10.2 Figures . . . . . . . . . . . . . . . . . . .
10.2.1 Animal Figures . . . . . . . . . . .
10.3 Inventories . . . . . . . . . . . . . . . . .
10.4 Litters . . . . . . . . . . . . . . . . . . . .
10.5 Movements . . . . . . . . . . . . . . . . .
10.5.1 Retailers . . . . . . . . . . . . . . .
10.6 Returns . . . . . . . . . . . . . . . . . . .
10.7 Statistics . . . . . . . . . . . . . . . . . .
10.8 Graphs . . . . . . . . . . . . . . . . . . . .
10.8.1 Financials . . . . . . . . . . . . . .
10.8.2 Movements . . . . . . . . . . . . .
10.9 Custom Reports . . . . . . . . . . . . . .
10.9.1 SQL Keys . . . . . . . . . . . . . .
10.9.2 ASK . . . . . . . . . . . . . . . . .
10.9.3 VAR . . . . . . . . . . . . . . . . .
10.9.4 Report Grouping and Calculations
10.9.5 Temporary tables . . . . . . . . . .
10.9.6 Get more reports . . . . . . . . . .
10.10Custom Graphs . . . . . . . . . . . . . . .
10.11The Local Cache . . . . . . . . . . . . . .
10.12Data Export . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
41
41
43
43
43
43
43
44
44
44
44
44
45
45
46
46
48
48
48
50
50
11 Litter Logging
11.1 How the Litter Logger Works . . . . .
11.2 Completion Procedures . . . . . . . .
11.2.1 Automatic Litter Identification
11.2.2 Manually . . . . . . . . . . . .
11.2.3 After a Specific Time Period .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
51
52
52
52
52
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CONTENTS
CONTENTS
11.2.4 Automatically with Acceptance Numbers and Litter IDs . . . . . . . . . . . . . . . . .
12 Internet Publishing
12.1 FTP Settings . . . . . . . . . . . . . . .
12.2 Internet Templates . . . . . . . . . . . .
12.3 PetFinder.com . . . . . . . . . . . . . .
12.4 Pets911.com . . . . . . . . . . . . . . . .
12.5 1-800-Save-A-Pet.com/AdoptAPet.com .
12.6 RescueGroups.org . . . . . . . . . . . .
12.7 SmartTag PETID . . . . . . . . . . . . .
12.8 AVID/PETtrac . . . . . . . . . . . . . .
52
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
56
56
57
57
57
58
58
58
13 Mail Merge Sources
13.1 Creating a Mail Merge Source . . . . . . . . . .
13.2 Integrating With OpenOffice . . . . . . . . . .
13.2.1 Mail Merge Documents with OpenOffice
13.2.2 Running the Merge with OpenOffice . .
13.3 Merging With Microsoft Word . . . . . . . . .
13.4 Bulk Emailling . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
59
59
59
60
60
60
60
14 Configuration
14.1 Lookups . . . . . . . . . . . . . . . . .
14.1.1 Breed Mappings . . . . . . . .
14.1.2 Unwanted Breeds and Species .
14.2 Additional Fields . . . . . . . . . . . .
14.3 Media Files . . . . . . . . . . . . . . .
14.4 Edit System Users . . . . . . . . . . .
14.5 System Options . . . . . . . . . . . . .
14.5.1 Accounts . . . . . . . . . . . .
14.5.2 Age Groups . . . . . . . . . . .
14.5.3 Animal Codes . . . . . . . . . .
14.5.4 Authentication . . . . . . . . .
14.5.5 Defaults . . . . . . . . . . . . .
14.5.6 Automatic Insurance Numbers
14.5.7 Search . . . . . . . . . . . . . .
14.5.8 Warnings . . . . . . . . . . . .
14.5.9 Format and Display . . . . . .
14.5.10 Database and System . . . . .
14.5.11 Remove Unwanted Fields . . .
14.5.12 Adding Multiple Animals . . .
14.6 Local Configuration Settings . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
62
62
62
62
63
63
63
64
64
65
65
66
67
67
68
71
72
73
74
74
75
15 ASM at the Command Line
15.1 Command Line Interface . . . . . . . . .
15.2 Commands . . . . . . . . . . . . . . . .
15.2.1 publishwww . . . . . . . . . . . .
15.2.2 publishpf . . . . . . . . . . . . .
15.2.3 publishpets911 . . . . . . . . . .
15.2.4 publish1800sap/publishadoptapet
15.2.5 publishrescuegroups . . . . . . .
15.2.6 publishsmarttag . . . . . . . . .
15.2.7 runreport . . . . . . . . . . . . .
15.2.8 getmediafile . . . . . . . . . . . .
15.2.9 dbfsdownload . . . . . . . . . . .
15.2.10 dbfsupload . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
76
76
76
76
77
77
77
78
78
78
78
78
78
4
CONTENTS
CONTENTS
15.2.11 dbfsdelete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16 Appendices
16.1 Custom Buttons . . . . . . . . . . .
16.2 dotasm dbfs folder . . . . . . . . . .
16.3 Importing Data From PetFinder.com
16.4 Backing up . . . . . . . . . . . . . .
16.5 Networking ASM . . . . . . . . . . .
16.6 Wordkeys . . . . . . . . . . . . . . .
16.6.1 Animal Keys . . . . . . . . .
16.6.2 Movement Keys . . . . . . .
16.6.3 Owner Keys . . . . . . . . . .
16.6.4 Donation Keys . . . . . . . .
16.7 Using Images in Documents . . . . .
16.7.1 OpenOffice . . . . . . . . . .
16.7.2 Abiword . . . . . . . . . . . .
16.7.3 Microsoft Office 2007 . . . . .
16.8 System Properties . . . . . . . . . .
16.9 Available Icons . . . . . . . . . . . .
16.10Database Tables/Columns . . . . . .
16.10.1 animal . . . . . . . . . . . . .
16.10.2 adoption . . . . . . . . . . . .
16.10.3 media . . . . . . . . . . . . .
16.10.4 dbfs . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
80
80
80
80
81
81
82
82
86
87
88
88
88
88
88
89
89
90
90
92
93
94
Chapter 1
Getting Started
The first time you start ASM, it will prompt you for your locale (a combination of the language you
speak and the country you live in). Click on the locale box to have ASM display a list of every single
language/region it knows how to handle. If yours isn’t supported, pick the one closest.
ASM will then create a new database to hold your information, stored in the .asm directory under your
home directory.
6
CHAPTER 1. GETTING STARTED
On starting ASM for the first time, you will be prompted to log in to the system. The default username
is “user” with the password “letmein”. If there are no animals in the database, ASM will remind you in the
dialog.
Once logged in, ASM’s main screen will appear. Across the top, a menu bar is used to navigate the
system. Below the menu, a toolbar is available for fast access to commonly used options.
By default, a startup page will show in the main pane, showing current diary tasks to be performed
today, and any news from the ASM website.
At the bottom of the screen, a status bar shows details of currently running tasks in the lower left corner,
and to the right of it, a progress meter shows how far the current task is from completion. A number of
status icons appear to the right of the progress meter.
The remainder of the screen space is given over to the desktop window. Animal shelter manager screens
appear in tabs inside this window.
7
1.1. MENUS AND SHORTCUTS
1.1
CHAPTER 1. GETTING STARTED
Menus and Shortcuts
You open screens in ASM by navigating and clicking on menu items. There are three types of menu in
the bar.
• Top-Level menus: These are the words you see across the very top of the menu, such as “File” and
“Diary”. These menus drop down to reveal other options.
• Sub-Menus: These are menus within the top-level menus and contain logical groupings of commands
(eg: File->Animal is a submenu, containing options relating to animal records). You can identify
submenus as they have small arrows to the right of them, indicating that they open a further menu.
• Menu Commands: These are the menu commands that actually do something. Eg: Add Animal is
a menu command - it calls up the Animal screen with a new record, ready for entry.
1.2
Shortcut Keys
Most of the menu commands can be actioned by pressing combinations of certain keys. These keys are known
as “shortcut keys” or “accelerators”. Pressing these keys is the same as navigating the menu and clicking on
them with the mouse. If a menu command has a shortcut key, it will be displayed at the side of it in the
menu. For example, the “Add Animal” option on the menu can be accessed by pressing CTRL+N - this
means you hold down the ConTRoL key and tap “N”. It is worth learning these as you will find them much
quicker to use when you are proficient with the system. Note, when running on MacOSX, ASM uses CMD
instead of CTRL for shortcut keys (the apple key).
There are a set of extra shortcut keys that apply to all screens when that application is running (all of
which have entries on the File menu):
• CTRL+R - will reload the data in a tab. For find tabs it will rerun the search, for tabs with tables
it will reload the data in the tables, for the animal and owner tabs, it will reload the data from the
database, reverting any changes you have made.
• CTRL+S - will save the contents of the current tab to the database.
• CTRL+W - will close the current tab.
1.3
Toolbar
In addition to the menus, Animal Shelter Manager offers a toolbar for certain commonly used menu
options.
If you hover the mouse over a toolbar button, it will tell you what it is for.
8
1.4. STATUS BAR
1.4
CHAPTER 1. GETTING STARTED
Status Bar
At the bottom part of the screen is the ASM status bar. The majority of it is given over to information
messages while tasks are progressing. The right hand side contains a progress meter and upto four icons.
Hovering over the icons with the mouse gives additional information. From left to right, these icons are:
• Audit information (small document icon). This displays who created and last changed the current
record on the screen.
• Database information (small database icon). This displays information on the database you are currently connected to, giving the database type and the host machine where it is running.
• User information (small user icon). This displays the name of the user you are currently logged in as.
• Locale information (the ISO two letter language code and country flag). This displays the the country/language ASM is set to use. You may right click on the icon and choose a different country/language
to switch locales. Note that while the menu and toolbar will change, any screens you currently have
open will not change languages until you close and reopen them.
1.5
Dates
It is worth mentioning early on that Animal Shelter Manager has a keyboard user interface for dealing
with dates (as well as the more usual calendar button). Every field within the system where a date is
expected, the following keyboard shortcuts can be used:
• T - Inserts today’s date (erasing any current date)
• Y - Adds one year to the current date
• M - Adds one month to the current date
• W - Adds one week to the current date
• D - Adds one day to the current date
• SHIFT + (YMWD) - Subtracts a year/month/week/day from the current date
• B - Move to the beginning of the current month
• E - Move to the end of the current month
1.6
Tables
ASM uses tables to display data throughout the application. You can sort any table in ascending order by
clicking on the column heading you wish to sort on. If you hold down SHIFT while you click the column
heading, it will be sorted in descending order instead.
9
1.7. INITIAL SETUP
1.7
CHAPTER 1. GETTING STARTED
Initial Setup
Before doing anything else with your new ASM installation, you should now perform the initial configuration
of ASM for your shelter. The steps are as follows:
1. If you want to use your own animal classifications, you can use the System->Lookups->Animal
Types to alter the standard ASM ones - ASM assumes your shelter deals with dogs and cats and wants
to differentiate between stray and abandoned animals. After doing that, select your new defaults in
the correct place on the defaults tab of the System->Options screen (See 14.5.5)
2. Go to the System->Options screen and enter your shelter’s details. You can set all of the systemwide
behaviours for ASM and control the format of generated animal codes here. See 14.5
3. Go to System->Lookups->Remove unwanted breeds and species - Remove any unwanted
breeds and species from the database that your shelter does not deal with. See 14.1.2
4. Make sure you have a word processor installed on your computer if you want to use ASM to generate
adoption paperwork, kennel cards, etc. You can tell ASM which word processor you are using on the
System->Options screen (14.5). ASM supports all versions of Open Office, Microsoft Word 2007,
Abiword and versions of Microsoft Word older than 2007 through the “Rich Text Format Compatible”
word processor option.
5. Create usernames and passwords for your shelter staff in the System->Edit System Users screen.
Once you have your own username and password, delete the default “user” user. See 14.4
10
Chapter 2
Animals
2.1
Find Animal Screen
ASM has two methods of finding animals. The default is the simple screen:
The simple search screen accepts a single search term. The toolbar at the top allows you to submit and
execute your search, open any selected animal for viewing/editing, clear the criteria field and print the search
results.
From the single search term, this screen searches all aspects of the animal, including codes, names, breeds,
microchip numbers, original owner details, media and movements. Animals are shown irrespective of where
they are (the location field displays where the animal is) or whether or not they are dead.
For example, searching for “black” would return animals with black in the name, animals that are black
in colour, animals adopted to an owner with the surname black, etc. Results are sorted by relevance, so if
the term appears in an animal’s name or code, it will be at the top of the list.
By clicking the Advanced button, you can go to a more sophisticated search screen that allows you to
search by animal location and state, age, etc.
You can change which find animal screen is shown by default under the System->Options menu (see
14.5).
11
2.2. PRINTING SEARCH RESULTS
CHAPTER 2. ANIMALS
The Advanced screen allows you to enter detailed searches for groups of animals within your database.
If you press the search button without entering any criteria, you will get a list of all animals on the shelter
who are still alive. This is because the location box defaults to “Only Animals On Shelter” - if you change
this to “(all)” you will get all animals who are still alive, wherever they are. This is because the search
automatically excludes dead animals. If you wish to include dead animals, tick the box labeled “Include
deceased”.
Once you press the search button, ASM will search through your database and check each record against
any criteria you have chosen, and return to you a list of all those that matched. For example, you could quite
easily search for all animals of species “Dog” who are still on the shelter, located in a particular location and
under 6 months old.
The criteria fields follow one of three types:
• Drop Down Boxes: You should select something from the list or the “(all)” entry to specify that you
do not want to filter by this criteria.
• Text Boxes: The system expects you to type part of a word, name or code etc. For example, typing
“ben” in the “Name” box on the find animal screen will return all animals who have “ben” somewhere
in their name - eg: Ben, Benji, Benson etc. Some boxes require numbers - the “aged between” boxes
require an animal age expressed as a year, or fraction of a year. Entering 0 in the “From Age” box and
0.5 in the “To Age” box will return animals who are six months old and younger.
• Check Boxes: Here, you are expected to tick the box to indicate a yes or no value - eg: Ticking the
“Include Deceased” box includes dead animals in your search results.
For more information about what the criteria boxes expect, hover your mouse over them.
2.2
Printing Search Results
The Print button on the Find Animal screen allows you to output the results of your last search. In fact,
Animal Shelter Manager generates an HTML report from your search results and displays it to you. Because
all reports are formatted as HTML, you can choose how they look (discussed later), email them, edit them,
mail them to people or even upload them straight to the internet.
It is possible to sort by the various columns by clicking on their names (this applies to all table views
within Animal Shelter Manager).
12
2.3. ANIMAL SCREEN
2.3
CHAPTER 2. ANIMALS
Animal Screen
The animal screen is the one you will certainly use the most often within the system. Across the top, the
animal screen has a toolbar that relates to actions that take place at the animal level. From this toolbar,
you can clone the animal to create a new one, delete the animal, generate a document and execute a diary
task.
Most importantly, you can save the current record. In a manner similar to a document, when you open
any file within Animal Shelter Manager, what you get is a personal copy of it on the screen - it is not
submitted to the database for other people to view until you explicitly save your changes, and when you do,
everything is sent. If you make changes to an animal record and forget to save it, the system will pick up on
this and ask you if you want to save, to make sure you do not lose your changes.
Below the toolbar, the animal screen is split into a number of different tabbed sections. Clicking these
tabs makes that area of the animal active. Because not all of the information is mandatory or applicable
to every animal, some of the tabs will show a graphic to highlight that they have information (the graphic
varies according to what type of data is available on that particular tab).
2.3.1
Animal Details
The animal details tab contains all the basic information about the animal, including it’s breed, species,
name, age, location within the shelter, identifying code etc.
When you create a new animal, a special option appears for “Non-Shelter Animal” (as shown in the
screenshot). Tick this box if the animal is nothing to do with your shelter, but you want to utilise ASM’s
facilities in managing vaccinations, etc. This is very useful for shelters that run their own clinics which are
open to members of the public (and of course it allows clinics and vets to run their operations with ASM
too if they don’t handle adoptions, etc). ASM will force non-shelter animals to have the non-shelter type so
that you can see from the code that the animal does not belong to the shelter.
Below the animal’s name, you can also tick a “not for adoption” flag, which enables you to hide this
animal from the internet publishers.
If the “Use Single Breed Field” option is not enabled in the system options (the default), then ASM
will display two breed fields with a “Crossbreed” flag you can set. This allows you to choose two breeds for
mixed/crossbreed animals.
13
2.3. ANIMAL SCREEN
2.3.2
CHAPTER 2. ANIMALS
Entry Details
The Entry details tab contains all the information about how the animal originally entered the shelter,
including their background history and the names of the original owner and person who brought the animal
in.
When adopting animals out, the system uses this information to track owners who have brought animals
into the shelter previously and to warn staff before adopting animals to them.
The bonded with fields allow you to specify upto two animals that this animal can be bonded to. Bonding
checks that when the animal is adopted, it is adopted with its bonded partner(s).
Most importantly, the right hand side of the screen contains the animals original date of entry to the
shelter. This date is used when generating animal figures and auditing reports.
2.3.3
Vet
The vet tab is used for entering general information about the animal’s health and the animal’s current
14
2.3. ANIMAL SCREEN
CHAPTER 2. ANIMALS
and owner’s vet. The special needs box can be used to indicate that the animal has an ongoing or permanent
health problem. Ticking this box will flag this when publishing to the internet and to services like PetFinder.
2.3.4
Death
The death tab is used for capturing information about the animal’s death if it is deceased. The most
important field is the deceased date, as a value in this field is used by the system to indicate that the animal
is dead.
In addition, an icon will be shown at the side of the death tab if the animal is dead. The animal’s location
will also appear as [Dead].
A special field “Died Off Shelter” can be set if you know a particular animal that is located off the shelter
has died. This ensures that the animal’s death is not included in the shelter’s monthly figures when reporting,
but still shows the animal as dead everywhere.
15
2.3. ANIMAL SCREEN
2.3.5
CHAPTER 2. ANIMALS
Diet
The diet tab is used for capturing information about the animal’s diet. You can set up as many different
diet types (under System->Lookups->Diets) as you like, and then log them here when the animal’s diet
changes.
2.3.6
Costs
The costs tab allows you to track costs associated with looking after an animal whilst it is in your care.
You can assign a daily boarding cost, and ASM will automatically keep track of how many days the animal
has been on your shelter and how much it has cost.
In addition, you can add cost types through the System->Lookups->Cost Types menu and allocate
costs for anything else your shelter has spent on the animal (eg: Microchipping). Vaccinations and medical
treatments have a cost field that you can set for each treatment and they will be automatically totalled up
16
2.3. ANIMAL SCREEN
CHAPTER 2. ANIMALS
at the bottom of the costs screen along with a current running cost for all time and a balance, calculated
from total costs less any donations allocated to the animal.
By default, when the animal is adopted, ASM will automatically convert the current boarding cost/time
into a separate cost record so it can be preserved.
2.3.7
Vaccination
The vaccination tab is used to track information about any vaccinations an animal requires. An animal
can have an unlimited number of vaccination records. For complicated, multi-diary procedures, see Diary
Tasks at section 8.5, covered later on.
Use the toolbar to create and modify items in the list. Note that items in the vaccination list are saved
immediately to the database when you hit the Ok button in the popup screen. You will be reminded of
outstanding vaccinations via the Vaccination Diary.
Vaccinations can also have a cost attached for use with reporting. The cost is for the individual vaccination.
17
2.3. ANIMAL SCREEN
2.3.8
CHAPTER 2. ANIMALS
Medical
The medical tab is used to track information about medical treatments an animal is receiving. It is
extremely flexible in what it can track and it can handle just about any kind of schedule. You can create
medical profiles from Diary->Medical Profiles and use these as templates for treatment records.
The upper part of the screen shows the medical record itself, when you click on one, the lower part of
the screen populates - this shows the treatment records automatically created for you by ASM as a result
of the medical record. As you complete each treatment, ASM will generate the next record in the sequence,
until there are none left and the medical record is automatically completed (unless the treatment has an
unspecified end, in which case ASM will continue to keep creating treatments until the animal dies).
You can view all outstanding medical treatments at any one time by visiting Diary->Medical Diary>Medical Book, you can also print currently outstanding treatments from here.
Medical records can also have a cost associated with them for reporting. The cost is for the whole medical
item (ie. If it’s a course of tablets, then the cost should reflect the whole cost of all treatments, it is not per
treatment).
18
2.3. ANIMAL SCREEN
2.3.9
CHAPTER 2. ANIMALS
Media
The media tab contains documents, images, videos and sounds (any type of file is allowed) that you may
embed and store with the animal. The most common use is images. Again, as it deals with a potentially
unlimited amount of information, the media tab has its own toolbar. Click the new button to attach a new
piece of media to the animal. When you attach media, it is stored with the animal and you no longer need
the original file - it is quite safe to delete it. Since images are the most common use, the file browser will
display previews of images, and if you highlight an image in the media list, a preview window will open to
the right (as shown in the screenshot) and show you the image.
If the content is not an image, you can click the view button on the toolbar to open it with its associated
application. You may also attach notes of an unlimited size to each piece of media. The web publisher can
use these notes when building a site, so you could use the notes with the image to be used for the web to
store the paragraph(s) of information about the animal.
When using the web publisher to generate animal sites, it will look for the first JPEG, GIF or PNG image
attached to the animal. If the animal does not have one, the publisher will default your sites default “no
image” picture instead (see 12). If you have multiple images attached to the animal, you can select which
one will be used for publishing by highlighting it in the list and clicking on the “Web Preferred” button.
Similarly, you can select which image will be preferred when adding images to documentation by clicking
the “Document Preferred” button.
Ticking the “Not for adoption” box on the details tab will ensure that the animal is not included in
website publishing.
Notice that when an animal has media, the tab displays a graphic, indicating there is data under this
tab.
Note also that you can grab a still from a video source if you have one of the following available (this can
be configured under Preferences->Settings)
• A Linux machine with a v4l compliant webcam and XawTV
• An IP camera that allows grabbing of stills via a URL (most Winbond based cameras have a firmware
that allows you to go to http://camera/Jpeg/CamImg.jpg to grab a still).
• Any other kind of video source that can be accessed via a program or binary. ASM can call this
program or script and pass the name of the file it would like the image saved to.
19
2.3. ANIMAL SCREEN
2.3.10
CHAPTER 2. ANIMALS
Diary
The diary tab shows a list of all diary notes relating to this particular animal. From here you can create
new diary notes, as well as modify existing ones. For more information about diary notes, see section 8.
Note, as in the example above, diary notes for dates in the future appear with a dark blue background.
2.3.11
Movements
The movement tab shows a summary of all movements that the animal has undergone. An animal can
have an unlimited amount of movements and the movement tab has its own special toolbar. From here, you
can write documents based on the movement (such as adoption and insurance forms), create new movements
and jump straight to the owner records for existing movements.
20
2.4. MOVING AND RESERVING ANIMALS
2.3.12
CHAPTER 2. ANIMALS
Log
The log tab is used for logging additional useful information. You can create as many log types as you
want under System->Lookups->Log Types. You can then create a log entry with a given type for a
date and with a comment. This is useful for keeping track of animal weights, bite reports, complaints and
anything else you can think of.
2.4
Moving and Reserving Animals
A large part of the administrative duties you will need to perform with Animal Shelter Manager revolve
around the movement and reservation of animals.
To start with, it is best to explain how the movement system works; each movement record represents
a leaving and returning transaction. You can therefore only have one (or no) active movement record at a
21
2.5. DOCUMENTS
CHAPTER 2. ANIMALS
time. ie. No more than one unreturned movement. This is because the animal cannot leave the shelter in
two different ways without being returned first.
A special exception to this is reservations - since they are not actually a movement (the animal hasn’t
gone anywhere), you can have one or more reservations as well as an open movement. You should turn
the reservation into an adoption movement when the animal is adopted and cancel any other outstanding
reservations (if it detects multiple reservations, ASM will prompt and cancel other reservations for you when
you turn one into an adoption).
Any method by which an animal leaves your shelter requires a movement record. The only exception is
death, which is handled through the animal death tab.
Some common situations are listed below, along with what you should do:
1. A new owner reserves the animal
Create a new movement record and fill out the reservation information. If there is a previous record
with a reservation on and no movement, then fill in its reservation cancelled date (unless your shelter
allows different people to reserve the same animal, in which case the system is happy to do this).
2. An owner phones up and cancels their reservation
Find the movement record and fill out the reservation cancelled date.
3. An owner adopts the animal after reservation
Find the reservation record and fill out the adoption movement information.
4. A volunteer fosters the animal
Create a new movement record and fill out a foster movement.
5. An animal is returned from fostering
Find the fostering movement and fill in the return date.
6. An animal is returned from adoption
Find the adoption movement and fill in the return date.
2.4.1
Retailer Movements
ASM has a special kind of movement called a “retailer” movement. This movement should be used if your
shelter sells animals through retailers (pet shops, etc.).
To use this, you need to create at least one owner on the system with the “Retailer” flag set. When an
animal goes to a retailer, you create a retailer movement, moving the animal to the retailer.
Animals at retailers are still classed as on the shelter for reporting purposes, however you may then use
the additional retailer reports to generate information about retailers (inventories, volumes moved, average
time, etc)
When an owner adopts the animal and the paperwork is received by the shelter, you should return the
animal from the retailer movement, create the real owner record and adopt the animal to it.
Movement records also hold a “from retailer” field, which allows you to identify a successful adoption to
an owner through a particular retailer. If an animal’s previous moment is a return from a retailer, ASM will
ask if this adoption has been done through the retailer on the previous movement. If you answer yes, ASM
will automatically set the “From Retailer” field to the previous retailer for you.
If you do not want to use this functionality, you can turn off the retailer feature under the System>Options screen.
2.5
Documents
Animal Shelter Manager has extensive document abilities for creating forms and letters. The system integrates well with a wide variety of word processors.
To create a document for use with the system, simply create the document as normal in your word processor of choice. You embed keys in your document that will be substituted with “real” data when a document
is generated. For a complete list of document keys, see 16.6. Keys follow the format “<<[Keyname]>>”.
22
2.6. ANIMAL NAME DATABASE
CHAPTER 2. ANIMALS
For example, putting the tag “<<AnimalName>>” in your document will cause it to be substituted for the
animal’s name.
A number of places in the system have generate document buttons, you can find these:
• On the main animal toolbar (creates documents with animal information)
• On the movement toolbar (creates documents with animal, owner and movement information)
• On the edit movement screen (same as movement toolbar)
• On the main owner toolbar (creates documents with owner information)
However you choose to create the document, the process is the same. You will be prompted for the document
template to use. The document templates will be stored on your site’s server, and you should put your
documents here. You can edit these from the “System->Media Files” menu option (add templates under the
“templates” directory).
Once you have selected the template, the document will be generated and opened in the appropriate
word processor, ready for editing and printing.
The document template selection screen will remain open, so you can generate a number of documents
for the same record (handy when generating adoption paperwork).
2.6
Animal Name Database
Also available on the File->Animal menu is the Animal Name Database option. This allows you to maintain
an independent list of animal names for different animal sexes (up to an unlimited amount). This is useful
in combination with the random name option on the edit animal screen for assigning names to new animals
as they enter the shelter.
23
Chapter 3
Owners
In addition to animals, Animal Shelter Manager can track information about owners. Owners represent
any person who has any contact with the shelter, be it staff member, volunteer, care officer, animal
adopter/fosterer, other shelter with more expertise where certain types of animal are transferred etc.
3.1
Find Owner Screen
The advanced find owner screen is used to search for groups of owners matching criteria. It works exactly
the same as the advanced find animal screen, however there are far less criteria as Animal Shelter Manager
needs to know far less about owners.
A number of filters can also be applied here:
• Adopters - show any owners with an adoption movement
• Animal Care Officers - show any owners with the Animal Care Officer flag set
• Banned - show any owners with the Banned flag set
• Donors - show any owners with the Donor flag set
• Fosterers - show any owners with the Fosters Animals flag set
24
3.2. OWNER SCREEN
CHAPTER 3. OWNERS
• Homechecked - show any owners with the Homechecked flag set
• Homecheckers - show any owners with the Homechecker flag set
• Members - show any owners with the Member flag set
• Not Homechecked - show any owners with the Homechecked flag not set
• Potential Adopters - show any owners with active criteria, but no adoption movements
• Retailers - show any owners with the Retailer flag set
• Shelters - show any owners with the Other Animal Shelter flag set
• Staff - show any owners with the Staff flag set
• Vets - show any owners with the Vet flag set
• Volunteers - show any owners with the Volunteer flag set
3.2
Owner Screen
The owner screen is also grouped into separate tabbed sections (similarly to the animal screen). The
screen allows you to store contact and classification information for an owner, along with donations they
make, any useful multimedia, diary notes and animal movements, etc. Facilities are also supplied to write
documents to an owner, email them from within ASM, and merge them with another owner record to correct
keying mistakes.
Note the gift aid registered flag for people in the UK, setting this will default the gift aid flag when
creating donations for this owner (they can be unticked where necessary) for tracking gift aid claims to
HMRC.
3.2.1
Owner Warnings
When you create new owner records and adopt animals to owners, the system will perform some checks for
you. Some of these require options to be set in System->Options (they are all switched on by default).
25
3.2. OWNER SCREEN
CHAPTER 3. OWNERS
• Name Check: The system will check to see if there is someone with a similar name on file to the one
you just entered. If there is, you will be shown a list of matches, with the option to view them and
prompted as to whether you want to continue.
• Address Check: The system will check to see if you have an owner on file at the same address as the
one listed. This is useful for fraudulent owners who are banned from adopting animals getting family
members to do it for them.
• Postcode Check: The system will warn the operator if they attempt to adopt an animal to a new
owner who lives in the same postcode as the animal’s original owner.
• Previous Owner Check: System will warn the operator if they attempt to adopt an animal to a
new owner with a name and address similar to someone who has brought an animal into the shelter.
• Non-Homechecked: The system will warn the operator if they attempt to adopt an animal to an
owner who has not been homechecked.
• Banned: The system will warn the operator if they attempt to adopt an animal to an owner who has
been banned from adopting animals.
3.2.2
Owner Criteria
Using the criteria tab, you can supply criteria for animals that owner is interested in adopting - it’s a cut
down version of the advanced find animal screen with just the criteria relevant for a prospective owner.
Ticking the active flag causes this owner’s criteria to be included in the list of actively searching owners.
You also need to set a date to make the criteria active, and optionally one to make it inactive if you would
like to give up looking after a period of time. To view matches for currently active owners, run the “Owner
Criteria Search” report under the Reports->Inventories.
Only one set of criteria can be held per owner.
3.2.3
Home Checkers
Animal Shelter Manager allows you to keep a list of your volunteer homecheckers in the owner database.
To use this facility, simply tick the “Homechecker” box on the detail tab, and add the areas they are willing
to check in the Areas box under the Homechecker tab.
26
3.2. OWNER SCREEN
CHAPTER 3. OWNERS
It is best to include both the area name and postal/zipcode in the box (eg: Rotherham S60). You can
then use the find owner screen to enter the name of an area you want to check by postcode or name and you
will receive a list of homecheckers who cover that area.
When marking an owner as homechecked, you can link to the owner record of the person who did the
check, and it will show up in their homecheck history.
3.2.4
Donations
ASM also allows you to track donations from individual owners here. You can use this information to produce
financial reports and graphs (as well as in your own custom reports).
Donations can have a date due as well as a date received and can be assigned a frequency. If the frequency
is anything but “One-Off”, ASM will create the next donation in the sequence when you mark the current
donation as received.
3.2.5
Vouchers
Lots of UK shelters run a voucher system to allow poorer owners on benefit cheaper access to care from their
clinics. Vouchers have an issue and expiry date, along with a cash sum. You can set up as many different
voucher types as you like to cover different areas of medical care.
The voucher tab allows you to log vouchers given to owners here.
3.2.6
Links
The links tab enables you to view every other record in the system that this owner is attached to.
3.2.7
Merging Owners
The merge button on the owner screen toolbar allows you to choose another owner record to merge into this
one. This is useful, because on occasion, users will key the same owner in twice with a slightly different name
and/or address and probably adopt an animal to them, etc.
Open the owner record that you want to merge into. Hit the merge button and choose the duplicate
owner record.
ASM will reparent all of the movements, links, media, etc from the duplicate owner onto the open one.
When it’s finished doing that, the duplicate owner record will be removed. Note that owner details are never
copied during a merge, the merge just moves all the satellite data from the selected owner to the open owner
before deleting the selected one.
27
Chapter 4
Reservation Book
The Reservation Book is a useful screen that ties together animals, owners and reservation movement records.
It allows you to see all the animals on the shelter that are currently reserved at a glance. You can also directly
edit the movement records and jump straight into the animal or owner record.
The reservation book is located under the File->Animal menu. You can also access it by holding control
and shift together and tapping the “R” key (CTRL+SHIFT+R).
The reservation book has its own toolbar across the top. From here, you can edit the highlighted
reservation, create a new one, or jump straight into the animal or owner record for the highlighted reservation.
To add a new reservation, click the New button. The standard movement screen will appear as if you
were in an animal or owner record, however you must choose both the animal and owner at the top of the
screen. When you are done, click the save button as normal.
To see your new reservation in the list, you must click the Refresh button on the reservation book screen.
4.1
Foster Book and Retailer Book
There are also additional screens called the Foster Book and Retailer Book, which look and work exactly like
the reservation book. The only difference is that the animals listed are currently on foster (or at retailers)
instead of reserved.
28
Chapter 5
Lost Animals
Animal Shelter Manager also provides a database of lost animals. This is ideal for shelters who maintain
lost and found records, where members of the public phone up to report their animal lost.
The Find Lost Animal screen works just like the other find screens within Animal Shelter Manager; you
enter criteria at the top, run the search and results appear at the bottom. You can filter lost animals by a
number of criteria, including species, area in which they were lost and lost between two dates.
You can open the Find Lost Animal screen by navigating to File->Lost and Found->Lost Animals>Find Lost Animal.
29
5.1. MATCHING LOST AND FOUND ANIMALS
CHAPTER 5. LOST ANIMALS
As with other Animal Shelter Manager screens, the Lost Animal screen is divided into tabs. Lost Animals
may also have media attached, as with regular Animal records.
The screen has its own toolbar, from which you can delete the current record, save your changes and
perform a match computation just for the current lost animal. Lost and found matching is covered later on.
The found animal screens are identical to the lost animal screens. The only difference is that certain
fields have the reverse meaning (ie. Found date instead of lost date). See the previous chapter for more
information about lost animals.
5.1
Matching Lost and Found Animals
Once you have your databases of lost and found animals, Animal Shelter Manager provides facilities to run
a match and attempt to work out if any of the animals reported found could tie up to those reported lost.
To run the match, either select the “Match Lost and Found” button on the Lost/Found toolbar, or
navigate to File->Lost And Found->Match Lost and Found Animals.
5.1.1
The Match Point System
ASM uses a match point algorithm to determine how close the match is between the lost and found animal
(or similar shelter animal, which it will also check for).
Where the system compares two user defined pieces of text (eg. Distinguishing features), the system will
represent the final score as the number of words from the lost animal field that appeared in the found animal
field, expressed as a fraction of the total points available for that field.
For example, suppose I had a lost animal with “white paws, bell” for the distinguishing features. If there
was a found animal with features “white paws, torn ear and a bell”, that would constitute a 100% match on
that particular field because every single word from the lost animal field appeared in the found animal field.
If I had a found animal with “white paws, no collar” for the distinguishing features, that would constitute
a 66% match, because the match was 2/3 words.
By default, the system scores lost/found matches in this manner (all of these point values and how many
points are required to appear can be changed in System->Options 14.5):
• 5 points - Same Species
• 5 points - Same colour
• 5 points - Same age group
30
5.1. MATCHING LOST AND FOUND ANIMALS
CHAPTER 5. LOST ANIMALS
• 5 points - Same breed
• 5 points - proportional match based on words of Area Lost/Found (ie 5 points maximum for 100%
match of all words in Area Lost being present in Area Found)
• 5 points - Postcode match
• 5 points - proportional match based on words of Distinguishing Features
• 5 points - Same Colour
• 5 points - Found within 2 weeks of being lost
It therefore follows that 45 points is a 100% overall match.
Because some of the found animal fields are not present for animals on the shelter, the following comparisons are used:
• Date Brought In is used as Date Found
• Original Owner address is used for area found
• Original Owner postcode is used for Postcode area found.
31
Chapter 6
Waiting List
Animal Shelter Manager offers you a complete replacement for your paper-based waiting list. It holds
information about contacts, the type of animal, whether the owner can afford to make a donation etc.
Most importantly, the waiting list is capable of assigning an urgency rating to entries and automatically
increasing that rating after a configurable amount of time has elapsed to ensure that a queue system can be
adhered to.
To open the waiting list screen, you can select it off the diary toolbar, navigate to File->Animal>Waiting List or press CTRL+SHIFT+W
Entries are colour coded according to how urgent they are (as you can see in the screenshot). Additionally,
you can use the highlight button to mark interesting entries in yellow for other staff members. Each item
is given a rank according to how urgent it is and how long it has been on the list. This can be used to tell
people where they are on the waiting list. The report Reports->Stats->Average Time On Waiting
List can tell you how long people are waiting on average to get their animals into your shelter.
You can effectively run separate waiting lists per species if you like (turn the option on under System>Options on the Waiting List tab) as for most shelters, whether you can take a dog isn’t affected by how
many cats you have waiting for example. With this option on, the rankings are calculated separately for
each species.
To add a new entry to the waiting list, click the new button. You will be presented with a waiting list
entry form to complete. As with other screens, press the Save button at the top to save your new record.
32
CHAPTER 6. WAITING LIST
For specific help with a particular waiting list field, hover your mouse over it for a description of what
the system expects from you.
In addition to the usual add/edit/delete buttons, the waiting list screen allows you to filter the entries
that you see according to a particular animal type, contact name fragment or urgency rating. As with other
Animal Shelter Manager tables, you may sort the entries by any column - just click the column name at the
top of the list.
If you change your filtering options, click the Refresh button to reload the list with your new filtering
options.
You may also print the current view of the waiting list by clicking the Print button on the main screen.
The system will generate a report from the entries currently shown on the screen. If you apply a sort to the
screen, this will also be reflected on your report.
As mentioned before, the urgency update period is configurable (see later chapter for configuring the
waiting list). By default, the update period is set to 14 days, so every fortnight, each waiting list entry will
advance one urgency rating until they get to “High”.
Once an entry reaches “High” it will stay there. The “Urgent” rating can only be set by users and is for
extremely high priority waiting list entries.
33
Chapter 7
Vaccination/Medical Diary
7.1
Automatic Diary
As you enter information about vaccinations and medical treatments required by and given to animals,
Animal Shelter Manager builds up a picture of vaccinations and treatments that need to be administered at
any given time.
From this information, animal shelter manager keeps an internal diary of when vaccinations and medical
treatments fall due. You can view and print this information at any time.
7.2
Print the Vaccination Diary
To view options for viewing and printing the Vaccination Diary, navigate to Diary->Print Vaccination
Diary. There are a number of options here, based on what you would like to see:
• All Animals: Will show you a list of all animals in your database (this includes animals on and off
the shelter) who require a vaccination upto and including today.
• On Shelter: Will show you a list of all animals who are still located on the shelter who require a
vaccination upto and including today.
• Off Shelter: Will show you a list of all animals who have left the shelter and require a vaccination
upto and including today. This is handy for shelters with clinics who need to track this information to
contact adopters.
7.3
Print the Medical Diary
The medical diary has just one option - print (this is because medical treatments only apply to animals
on the shelter). You can then filter on the standard diary criteria of upto today, between two dates, etc.
The medical diary lists all animals who require a treatment in the date range specified. It is intended that
shelters print this report at the start of each day (with the other diaries), tick off the entries on the printed
version and then update the computer.
ASM allows you to edit all active treatments through the medical book (Diary->Medical Diary>Medical Book)
34
Chapter 8
General Diary
The general diary is an extremely flexible diary based system that can track anything task-based in nature.
You use it to set reminders for a particular date and time.
Each user of the system has their own view into the general diary and they can monitor both diary notes
that have been issued to them by other staff members and diary notes that they have created for other staff
members.
Diary notes do not have to be set for a specific member of staff - they can be set for anything; groups of
people, the person retrieving the notes, etc.
8.1
Adding a New Diary Note
To add a new diary note to the system, click Add Diary from the Diary toolbar, navigate to Diary->Add
Diary Note or press CTRL+D
You will be presented with the diary note screen. The first thing to fill in is who the note is for. There
is a drop down list at the top of the screen, listing all the system users. This is purely to help the user - the
diary note does not have to be a system user and you are free to type anything you wish in this box (eg:
Supervisors, or All Users). What you enter in this field is what will appear on the diary note printout.
The system will default the current date and time - modify these to the ones that you want. Note that
the time field is not actually used for anything by the system, it is simply shown on the diary entry when it
is printed off.
35
8.2. VIEWING MY DIARY NOTES
CHAPTER 8. GENERAL DIARY
Enter a subject and the actual text of the diary note next. Leave the completed field blank. This field
will be the date the diary note was actioned by the person the note is for, and they should come back and
complete it when they have done whatever the diary note is for (even if it is just acknowledging that they
have read the note). If you complete this date now, the system will think the diary note is finished with and
it will never show up on any print outs.
8.2
Viewing My Diary Notes
To view all the diary notes for the current user, or created by the current user, click the View My Diary
Notes button on the Diary toolbar, navigate to Diary->View My Diary Notes or press CTRL+M
You will be given a list of all your diary notes. You may edit them to mark diary notes for you completed,
or even amend diary notes you have created for other people.
Diary notes in the future (after today), will be highlighted to show they are not yet current.
8.3
Printing the General Diary
To print off the general diary for all outstanding notes (notes upto and including today), click the Print
button on the Diary toolbar, navigate to Diary->Print Diary Notes or press CTRL+SHIFT+P
You will be shown a report of currently outstanding diary notes, grouped by who the notes are for and
sorted into date order (oldest notes will be shown at the top of the list to be done first).
8.4
Printing the Vets Diary
The Vets diary is a cross between the General Diary and the Vaccination Diary. It is highly useful for shelters
that have their own clinic or vets. The vets diary will show you a list of all general diary notes on the system,
due today (or before) that are tied to a specific animal and marked for the attention of a person named
“Vets” (Note: It only has to be assigned to the word “Vets” - it is not necessary to create a system user with
that name).
It will then mix appropriately the vaccinations from the vaccination diary (ie. Vaccinations required
today or before for animals on the shelter) and break them down by internal location (so a list of what
requires doing to each animal within each area of the shelter is produced).
NOTE: This report will not filter out diary notes for animals that are no longer on the shelter (ie. Just
because the animal has left does not mean the task doesn’t need doing). If an animal is not on the shelter for
any reason but still has an active diary note, it will be listed under the last internal location the system saw
that animal in. The animal’s logical current location will be shown beside it to inform you that the animal
is no longer on the shelter and for what reason. The vaccinations however will be filtered to only include
shelter animals. You will need to run the Vaccination Off Shelter Diary if you want this information.
8.5
Diary Tasks
In addition to the normal facilities offered by the general diary, Animal Shelter Manager allows you a special
type of diary note, called a “Diary Task”. A diary task is a group of diary notes that can be added to the
system at relative dates with variable information applicable to animals.
This sounds far more complicated than it is, so let us use an example:
Suppose your shelter runs its own clinic and they need to know when young animals need to be neutered.
The problem with a regular diary note in this scenario is that there are two reminders that need to go
together - the first is that the animal must be starved before the operation, as well as a reminder for the
operation itself.
The solution is to create a diary task with two task items - one for the starving and one for the neutering
the following day. Diary task items do not have a concept of a date - they are expressed as a day value
relative to today, called a day pivot. This is because diary tasks are templates for creating diary notes.
36
8.5. DIARY TASKS
CHAPTER 8. GENERAL DIARY
In the example above, we would create a new diary task called “Starve and Neuter”. The task would have
two items on its list (diary tasks can have an unlimited number of items); one for the starving and one for
the neutering. The day pivot on the starving will be a 0 - zero means that the system should ask the user
for the actual date to go on that task when they apply it to the animal (after all, you can book a neuter
operation for any time). The day pivot on the operation will be a 1 - because it occurs one day after the
starving. This is because diary tasks are cumulative - each one is performed in order and the day pivot is
taken relative to the date on the task that ran before it.
If we created another task for after the operation, say “Check on the animal in a week”, then we would
set the day pivot to 7, because the task comes after the operation and it should generate a reminder 7 days
from the operation.
The next thing to look at is the content of the data itself - it’s alright having a task that says “Starve
Animal” and “Neuter Animal”, but how do you know which animal? Simple, the wordkeys mentioned in 2.5
can also be embedded in the subject and note text of a diary task, to be replaced by the real thing when the
task is executed.
This means that the subject of the starve task could be “Starve <<ShelterCode>> <<AnimalName>>”
for example, which would give the note the animal’s shelter code and name in the subject line, so you knew
which animal the diary note referred to.
Even if your task has only one item, diary tasks are still handy to use because they can be called up and
attached to animals very quickly without the need for the user to type a whole new note.
8.5.1
Creating New Diary Tasks
To call up the diary task screen, navigate to Diary->Edit Diary Tasks. This function does not appear
on any toolbars. This is because editing diary tasks is something that the site administrator should do very
infrequently and normal system users should not have access to these facilities.
To add a new task, click on the new button. A screen asking for the name of the diary task will appear,
along with a list of task items below it and another toolbar. Use the task items toolbar to add, edit and
delete task items. Optionally, you can specify whether you want this diary task to be applicable to animals
or owners.
8.5.2
Generating Diary Tasks for Animals
Once you have diary tasks set up, you can execute them against an animal by simply opening the animal’s
record and clicking on the Execute Diary Task button. A popup window will appear asking you to select
37
8.5. DIARY TASKS
CHAPTER 8. GENERAL DIARY
the diary task you wish to run against the animal. Simply highlight it in the list and click ok.
If the task you have selected has any items that require a date (like the starve item in our example), you
will be prompted for the date with the name of the item that requested it (eg: Item “Starve” in Task “Starve
and Neuter” requires a date).
Appropriate diary notes will be created in the general diary and attached to the animal.
38
Chapter 9
Accounts
Animal Shelter Manager includes a full, double-entry book keeping system to manage your shelter’s accounts.
To access the accounts module, go to File->Accounts, hit the toolbar button or press CTRL+SHIFT+A
ASM will show you a list of all accounts on the system, with current balances. ASM comes preloaded
with a basic set of accounts you can use to get started. The use of Type::Name when creating codes for
accounts is just a convention, and you are free to use anything you like. It is quite a useful convention
though, as it enables you to see at a glance the account type and ASM will group accounts of the same type
together when showing you lists and dropdown boxes.
If you’ve never used a double entry book-keeping system before, the basic idea is that you have a collection
of transactions. Each transaction contains a source account and a destination account - this means that you
are always moving money from one account to another.
Accounts can be real, such as bank accounts, credit cards, loans, etc. or purely for accounting purposes
(“nominal” accounts to use the correct terminology). You create income and expense accounts to categorise
how money enters and leaves your shelter.
For example, to pay an electricity bill, you would create a transaction that takes the money from your
real current account, and moves it to your electricity expense account.
Because every transaction has two sides, this system enables you to easily see what is being spent on
electricity (for example), or how much money has been made via various income sources.
39
9.1. RECONCILIATION
CHAPTER 9. ACCOUNTS
When adding transactions, ASM already knows which account you were looking at, so it prompts you for
the other side of the transaction. You can also specify whether it is a deposit or a withdrawal to determine
which way the money is going.
9.1
Reconciliation
Reconciliation is the process of checking a real bank account statement against your computerised accounts.
It is simply a flag that you have verified the transaction. You can blanket mark all transactions reconciled
up until today’s date from the account screen as a handy shortcut.
From both the accounts and transaction list screens, you can also hold down CTRL when clicking to
select multiple transactions/accounts when deleting or marking items as reconciled.
9.2
Donations
ASM already knows about your donations and by default will save you time when entering accounts.
When you create a donation type category, ASM will automatically create a matching nominal income
account for it.
When you add a new donation to the system, ASM will automatically create a matching transaction,
taking the money from the donation type nominal account and moving it to the account of your choice (see
14.5.1, where this account can specified). The default destination account for donations is the first bank
account listed if you do not change it.
9.3
Reporting
ASM does not include accounting reports by default. Instead, you can install them by going to Reports>Get more reports from sheltermanager.com - here you will find the standard Balance Sheet and
Profit and Loss reports for the accounting system.
40
Chapter 10
Reports
Animal Shelter Manager offers some highly detailed reporting facilities that fall broadly into the following
categories.
All reports are accessed from the Reports top level-menu. Outlined here are the reports that come
installed by default with ASM. More reports can be installed from the web by going to Reports->Get
more reports from sheltermanager.com...
10.1
Auditing
• Non-Neutered Animals: Produces a report of animals on the shelter aged over six months who
have not been neutered. You may optionally select a particular species to run the report for (to avoid
getting reports of unneutered Guinea Pigs and Rabbits etc.)
• Non-Microchipped Animals: Produces a report of animals on the shelter of a chosen species who
have not been microchipped.
• Animals Without Photo Media: Prodcuces a report of animals on the shelter who do not have
photographic media attached (and hence will not be published to the web if you have the internet
plugin).
• Animals Never Vaccinated: Generates a report of animals on the shelter who have never had a
vaccination of any kind.
• Cats Not Combi-Tested: Generates a report of cats above a certain age on the shelter who have
not been combi-tested (FIV/L in the US).
10.2
Figures
• Long Term Animals: Produces a detailed report of animals who have been in the shelter longer
than three months.
10.2.1
Animal Figures
The Monthly Animal Figures report is by far the largest, most complex report that comes out of Animal
Shelter Manager. The figures report gives a complete breakdown over one month of animal inventories,
entries to the shelter and leavers, grouped by type and purpose.
The report can be generated for any month at any point in time (as long as you had data in the system,
you could run the figures report for the same month of a previous year to compare how things had changed
for example).
A word of warning though, depending on the amount of data involved and the specification of your
hardware, the average figures report takes between 5 and 10 minutes to generate.
41
10.2. FIGURES
CHAPTER 10. REPORTS
• The top few rows show animals already on the shelter for the given type or species (you can choose
under System->Options whether or not to group by type or species - note that litter figures are only
available when grouping by species since litters do not have types).
• If you have “Foster as Inventory” set in the system options, you will get a second line here to show you
the total animals currently on foster at each date.
• The first bold total shows the total number of animals on the shelter of that type/species on that day
• The next group of rows shows animals entering the shelter by different means (returned adoptions,
coming back from fostering, etc).
• The next bold total shows the total number of animals of the type/species who entered the shelter on
that day.
• The next group of rows shows animals leaving the shelter by various means.
• The next bold total shows the total number of animals of the type/species who left the shelter on that
day.
• The day total at the bottom is a repeat of the number of animals on the shelter at the top (the first
row). It does not include foster figures, unlike the first total line.
• You can manually check the figures yourself by taking the day total at the bottom, and then looking
at the column for the next day and adding the incoming animal totals, and subtracting the outgoing
animal totals - this should add up to the correct day total for the next day.
• Some summary figures are also given on the lines below to give you a readable summary of the figures
for the whole month.
42
10.3. INVENTORIES
10.3
CHAPTER 10. REPORTS
Inventories
• Shelter Inventory: Outputs total figures for every animal on the shelter, broken down by species
and their location within the shelter.
• Detailed Shelter Inventory: Identical to the Shelter Inventory, except it provides details of the
individual animals as well.
• Owner Criteria Search: Runs a listing of all owners with their criteria “active” flag set and produces
a list of matching animals for each owner.
10.4
Litters
• Animals Not Part of a Litter: Generates a list of animals aged under 6 months on the shelter who
do not form part of a litter. This is defined by their acceptance number belonging to an active litter
record.
10.5
Movements
• In/Out: Shows a detailed listing of all the animals that entered or left the shelter between two dates.
• In/Out Summary: Identical to the In/Out report, but only shows the bottom line totals without
information about the actual animals.
• Transfer In Report: Generates a detailed report of animals who were transferred into the shelter
between two dates, and including where they came from.
10.5.1
Retailers
• Volume Of Adoptions Per Retailer: Generates a detailed report of adoptions made from each
retailer on record, showing totals and money generated.
• Average Time At Retailer: Generates a report showing the average time animals spend at each
retailer before adoption.
• Retailer Inventory: Generates a report showing detailed information of each animal currently held
at a retailer.
10.6
Returns
• Animals Returned Within Six Months: Produces a detailed report of animals who were returned
to the shelter within six months of adoption (allows you to select a date range to filter the animals
down to when they were adopted).
• Animals Returned After Six Months: Functionally the same as Animals Returned Within Six
Months, except it only shows animals who were returned after six months of adoption.
• Returned Animals Report: Produces a detailed report of animals (complete with full adoption
histories) who have been returned between the two dates specified.
43
10.7. STATISTICS
10.7
CHAPTER 10. REPORTS
Statistics
• Most Common Name: Produces a report listing the number of occurrences of the most common
animal names used in the database.
• Animal Death Reasons: Produces a report listing all the reasons for which animals have died on
the shelter.
• Common Animal Entry Areas: Produces a report listing the most popular postcode areas that
animals enter the shelter from.
• Common Animal Adoption Areas: Produces a report listing the most popular postcode areas that
animals leave the shelter for adoption to.
• Average Time On Waiting List: Produces a report showing the average time an animal will be on
the waiting list before it can be accepted into the shelter based on past data.
10.8
Graphs
10.8.1
Financials
• Monthly Donations: Charts donations taken for animals brought into the shelter and adopted to
new owners over the selected year (as well as arbitrary donations).
• Monthly Donations By Species: Same as monthly donations, but only for a particular species and
does not include arbitrary donations.
10.8.2
Movements
• Monthly Adoptions By Species: Charts the number of adoptions of a particular species over a
selected year.
• Monthly Adoptions By Locations: Charts the number of adoptions of a particular species over
the different shelter locations over a selected year.
• Animal Entry Reasons: Charts the different reasons for animals entering the shelter over the selected
year.
• Animal Return Reasons: Charts the different reasons for animals being returned to the shelter over
the selected year.
10.9
Custom Reports
In addition to the stock reports provided by Animal Shelter Manager, it is possible to create your own, using
a simple language called “SQL” (short for “Structured Query Language”). SQL is a language for retrieving
and formatting information - underneath, ASM uses this language to talk to its database (Either HSQLDB,
MySQL or PostgreSQL - as the names imply, they all talk SQL).
The custom reports editing screen is located under the System menu, any reports you create will integrate
into the Reports menu. You can also use this screen to rearrange and rename standard reports and charts
in the system.
In addition to just creating queries, you can then format how the data is transformed and displayed to
you in the format of a report. Again, this is done through the use of another language - HTML (HyperText
Markup Language). This is the same language used for creating web pages on the internet. Note however that
the custom report editor has a button to automatically run your query and generate the HTML automatically
for you in a simple table format. It is worthwhile running this and then modifying the HTML afterwards.
The centre of the custom report editor holds a drop down box and a list. The drop down contains a list
of all tables in ASM and selecting one will populate the list with all the fields in that table.
For some excellent beginner tutorials on both SQL and HTML, see www.w3schools.com
44
10.9. CUSTOM REPORTS
10.9.1
CHAPTER 10. REPORTS
SQL Keys
This all seems very well, but what happens if you want to create a custom report that needs to request
specific information from the user before running - eg: To filter between two dates, or only show animals of
a particular species, etc?
ASM offers SQL preprocessor instructions to allow you to substitute system information, or information
requested from the user at report generation time.
• $USER$ - Substitutes the current user’s name. This is useful with CREATE TEMPORARY TABLE
instructions to ensure that users get their own versions of temporary tables when generating reports.
It could also be used to filter reports to only show users records they created, etc.
• $CURRENT DATE$ - Substitutes today’s date in an appropriate string SQL format for the current
database. This saves you having to use NOW() or CURRENT DATE() or various other SQL functions
specific to one database.
• $PARENTKEY$ - Substitutes the field value named in the report calling this subreport. For example, a report could pass an Animal ID as the parent key to a subreport for filtering data correctly.
When you use this key in your report SQL, ASM assumes that this report is a subreport and will not
display it on the menu.
10.9.2
ASK
Ask is quite a detailed key, which requests information from the user at generation time. The basic syntax
is this:
$ASK [DATE | [ALL]ANIMAL | LITTER | SPECIES | LOCATION | TYPE | NUMBER | STRING] [Message]$
Note that if you are substituting any kind of string value (ASK DATE or ASK STRING), you must wrap
the ASK key inside string delimiters (“ or ’) otherwise you will get SQL errors.
The types are outlined below:
• $ASK DATE message$ - requests a date from the user. A popup is displayed containing the message
and the user is given an ASM date control to use to select the date. The value substituted is the date
selected by the user in SQL string format appropriate for the database you are using.
• $ASK ANIMAL$ - requests an animal. A popup displays a list of all animals on the shelter. The
value substituted is the animal ID.
• $ASK ALLANIMAL$ - requests an animal. A popup displays a list of all animals in the database.
The value substituted is the animal ID.
• $ASK LITTER$ - requests a litter identifier. A popup displays a list of the recent, active litters on
the system. The value returned is the litter ID as a string.
• $ASK SPECIES$ - requests a species from the user. A popup is displayed containing a dropdown
of all species on the system with an additional entry for “all”. The value substituted is the ID of the
selected species, or 0 if “all” was selected (use the SQL CASE statement to adapt the WHERE clause
for all)
• $ASK LOCATION$ - requests an internal location from the user in the same manner as $ASK
SPECIES$
• $ASK VOUCHER$ - requests a voucher from the user in the same manner as $ASK SPECIES$
• $ASK DIET$ - requests a diet from the user in the same manner as $ASK SPECIES$
• $ASK TYPE$ - requests an animal type from the user in the same manner as $ASK SPECIES$
45
10.9. CUSTOM REPORTS
CHAPTER 10. REPORTS
• $ASK NUMBER message$ - requests a numeric value from the user. A box is popped up containing
the message and the user is given a standard text box to enter the number in. They will not be allowed
to continue until a valid number is entered. The value returned is the number.
• $ASK STRING message$ - requests a string value from the user (eg: Name, Address, etc.). A box
is popped up containing the message and the user is given a text box to enter the string in. The value
substituted is the string.
10.9.3
VAR
VAR works just like ASK, the only difference is that instead of substituting the value into the SQL, it stores
it to a variable name. You can then substitute the variable multiple times in your SQL.
$VAR <varname> [DATE | [ALL]ANIMAL | LITTER | SPECIES | LOCATION | TYPE | NUMBER | STRING] [Message]$
The VAR tag should appear in your SQL before you reference the variable created. The variable is substituted
with $@varname$
This example shows a list of animals of a selected species brought in after the given date. The species
and broughtinafter variables could be reused as many times as we like.
SELECT
$VAR species SPECIES$
$VAR broughtinafter DATE The date the animals were brought in after$
AnimalName, DateBroughtIn
FROM animal
WHERE SpeciesID=$@species$
AND DateBroughtIn >= ’$@broughtinafter$’
10.9.4
Report Grouping and Calculations
In addition, ASM allows you to do a number of transformations to the output HTML. You define a number
of “blocks” to your reports. Anyone who has used a reporting tool (eg: Microsoft Access or Crystal) will
recognise these.
• $$HEADER ... HEADER$$ - The topmost section of the report should be entered here.
• $$FOOTER ... FOOTER$$ - The bottom most section of the report should be entered here.
• $$BODY ... BODY$$ - The main section of your report where the detail goes.
• $$GROUP <field> .. GROUP$$ - Optional grouping level. If you want to group by a particular
field in the formatted output, you should add a group block. Within the group block you must also
define a $$HEAD and $$FOOT section.
For example, to group on the OwnerName field:
$GROUP_OwnerName
$HEAD
<h2>$OwnerName</h2>
$FOOT
<p>Number of owners with name ’$OwnerName’: {COUNT.OwnerName}</p>
ASM also offers a number of calculation instructions you may use in group $$FOOT blocks and the main
$$FOOTER block. These are:
• {SUM.<field>[.round]} - Calculates the total of a given field for a group. Optionally, you can
specify the number of decimal places to round to.
46
10.9. CUSTOM REPORTS
CHAPTER 10. REPORTS
• {COUNT.<field>} - Calculates the number of records in a group (the field is ignored)
• {AVG.<field>[.round]} - Calculates the average of a group, based on the total of the field and the
number of records. Optionally, you can specify the number of decimal places to round to.
• {MIN.<field>} - Shows the smallest value for a given field in a group
• {MAX.<field>} - Shows the largest value for a given field in a group
• {FIRST.<field>} - Returns the first value for a given field in a group
• {IMAGE.<animalid>} - Returns the name of an image in the local cache (and retrieves it) for
the picture for the given animal ID field. Animal IDs can be a $FIELD from the selected data. If
no picture could be found for the animal, “nopic.jpg” is returned instead, so you can supply your own
default picture.
• {LAST.<field>} - Returns the last value for a given field in a group
• {PCT.<field>.<value>[.round]} - Returns the percentage of rows in the group where field <field>
matches value <value>. Optionally, you can specify a number of decimal places to round to. Eg:
{PCT.Sex.1.2} Would show the percentage of male animals in the group, rounded to 2 decimal places.
• {SQL.<sql command>} - executes the SQL and outputs the value of the first field. Eg: {SQL.SELECT
COUNT(*) FROM animal}. This tag is also available in the $$BODY block and can be used in conjunction with the field tags to produce a subquery. Eg: Suppose you wanted to show the number of
movements attached to a particular animal without doing a group query with an inner join to adoption.
You could just use {SQL.SELECT COUNT(*) FROM adoption WHERE AnimalID = $ID}
• {SUBREPORT.<title>.<parentkey>} - executes the custom report with [title] and with the
[parentkey] being the name of a field from the current report data to pass down to the subreport.
The report output is embedded in the current report. You can use the $PARENTKEY$ field in the
subreport to access this value for filtering your data. Note that you can nest reports to an unlimited
depth.
Here is an example report to show all animals currently on the shelter, with their picture, grouped by their
internal location and giving totals for each.
SQL:
SELECT
animal.ID, animal.AnimalName, animal.ShelterCode,
internalLocation.LocationName
FROM animal
INNER JOIN internallocation ON
animal.ShelterLocation = internallocation.ID
WHERE animal.Archived = 0
ORDER BY internalLocation.LocationName
HTML:
$$HEADER
HEADER$$
$$GROUP_LocationName
$$HEAD
<h2>$LocationName</h2>
<table>
<tr>
<th>Name</th>
47
10.10. CUSTOM GRAPHS
CHAPTER 10. REPORTS
<th>Code</th>
<th>Picture</th>
</tr>
$$FOOT
</table>
<p><b>Total at $LocationName: {COUNT.AnimalName}</b></p>
GROUP$$
$$BODY
<tr>
<td>$AnimalName</td>
<td>$ShelterCode</td>
<td><img src={IMAGE.$ID} width=300 height=200 /></td>
</tr>
BODY$$
$$FOOTER
FOOTER$$
10.9.5
Temporary tables
Often, it is difficult to get all the information you need to generate a report together in one single query.
ASM’s custom report editor allows you to enter multiple SQL instructions, separated by a semi-colon (;)
This works just like any SQL console editor.
You can use this feature to create temporary tables of information and populate them with multiple
queries. The only stipulation ASM makes is that the last query in your set MUST be a SELECT query
(returning the results of the temporary table).
ASM will automatically detect your usage of CREATE TEMPORARY TABLE and clean them up for
you, so you do not need to add “DROP TABLE x” queries.
Eg: This simple query set will aggregate all the animal names into a separate table which can then be
output by a custom report:
CREATE TEMPORARY TABLE tt$USER$ ( aname varchar(50) );
INSERT INTO tt$USER$ (aname) SELECT AnimalName FROM animal;
SELECT * FROM tt$USER$
Note the use of the $USER$ SQL tag to make sure the temporary table is unique for each user. The ASM
custom report editor is capable of syntax checking all queries and autogenerating the correct HTML from a
multi-query set.
10.9.6
Get more reports
The last option on the Reports menu is “Get more reports from sheltermanager.com ...”. This option takes
you to a screen that will check the ASM website for additional custom reports. They will be automatically
filtered to only include reports that match your locale and are not already installed. You can simply highlight
one and hit the install button to add it to your installed reports. Once installed, you can edit and modify
the report like any other custom report.
10.10
Custom Graphs
Custom graphs work just like the custom reports. The difference is that instead of generating HTML, you
just put the word “GRAPH” (without the speechmarks) in the HTML box to indicate you want ASM to
draw a graph instead. All the SQL keys, including $ASK and $VAR are still supported in the normal way.
ASM will dissect the results of the query in the following way to generate a graph:
48
10.10. CUSTOM GRAPHS
CHAPTER 10. REPORTS
1. Each row in your result data becomes a point on the X axis
2. The first column in each row is assumed to contain the name used for the label on the X axis. Only
string data should be used for the first column.
3. Each subsequent column is assumed to be a piece of data at that point on the X axis (and thus gives
the Y axis its scale). Only numeric data can appear in columns after the first one.
4. The fieldname of each column after the label column is used to denote the data on the legend.
For example, this SQL will produce a graph that shows the amount of donations from animal movements
each year. Following our scheme, the Year column being first is the X axis label, TotalAmount is the first
datapoint for that item on the X axis.
SELECT
YEAR(DateReceived) AS Year,
SUM(ownerdonation.Donation) AS TotalAmount
FROM ownerdonation
WHERE MovementID > 0
GROUP BY YEAR(DateReceived)
ORDER BY Year
Would produce data that might look something like:
Year
2004
2005
2006
2007
TotalAmount
59840.00
61893.00
51039.10
55984.00
And in turn, a graph that looks like:
Note that the graphs use a relative scale, interpreted from the data. If all of your column data is the
same value, then the graph will not display because it has no variance.
49
10.11. THE LOCAL CACHE
10.11
CHAPTER 10. REPORTS
The Local Cache
Whenever a report is generated in Animal Shelter Manager (or a document/form is generated for an animal/owner/movement), a copy is kept locally on the machine in an area called the “Local Cache”.
At any time, you can view the local cache and recall reports and documents, simply by navigating to
Preferences->View Local Cache. From here, you can view any of the documents in the cache - useful
for many situations, eg: Where you printed off a document and gave it to someone else and need to refer
back to it.
The cache toolbar allows you to remove either individual or all documents from the cache at any time.
Animal Shelter Manager does not remove anything from the cache automatically by default, so it is up to
at least one user to empty it occasionally.
10.12
Data Export
Custom reports can also be used to export data. By navigating to System->Export Custom Report Data,
you can select one of your custom reports and have the data used to generate it sent to a CSV file instead of
output as a report. You can also have ASM automatically open the data in whatever your operating system
has associated with CSV files.
50
Chapter 11
Litter Logging
Animal Shelter Manager allows you to track litters as they are born (or come into) the shelter. These
facilities are used particularly for generating animal figures.
11.1
How the Litter Logger Works
The litter logger is accessible from File->Animal->Litter Logger or pressing CTRL+SHIFT+L.
The main screen shows you a list of all currently active litters on the shelter (you can optionally tick the
“Include Expired” box to see litters that have expired and are less than 12 months old). A litter is deemed
active whilever any of the animals who were part of it are still on the shelter or it has an expiry date later
than today.
If an animal is returned from adoption who was part of an expired litter, the litter will not be resurrected.
The litter holds information about how many animals collectively made it up, who the mother was (if
known), what species of animal the litter is and any comments.
51
11.2. COMPLETION PROCEDURES
11.2
CHAPTER 11. LITTER LOGGING
Completion Procedures
Depending on your shelter’s practices, there are three different ways of completing a litter (indicating that
all the animals in it have left the shelter and it should not be included in figures any more).
11.2.1
Automatic Litter Identification
By default, ASM has a system option enabled called “Automatic Litter Identification”. This means that any
new litters you create will be automatically assigned a unique identifier.
A button is available on the edit animal toolbar allowing you to assign an animal to a litter. This
populates the Litter ID field on the animal to show that it is part of the litter.
Once this is done, you don’t need to do anything further, as ASM will watch for the animals leaving the
shelter and automatically complete the litter for you.
This method is the most recommended and works in the exact same manner as the “acceptance numbers”
method outlined below.
They are in fact the same, differing only in terminology - acceptance numbers only apply to RSPCA
shelters in the UK, litter IDs are generic for any shelter. Note that while ASM will default the litter ID as a
number when you create a new one, the litter ID can in fact be alphanumeric and you could use codenames
or anything more meaningful as a litter ID (as long as it is unique).
As far as ASM is concerned, acceptance numbers and litter IDs are exactly the same thing and changing
a configuration option (Automatic Litter Identification) determines what ASM will call the field on screen.
11.2.2
Manually
The most difficult method, you must periodically check the litter records and enter the completion date
accordingly for litters that have gone. This can be extremely inaccurate and is not recommended. It is here
purely so that shelters can use litter facilities if they are unable to use the other methods.
11.2.3
After a Specific Time Period
You may optionally specify a date at which the litter will automatically become invalid.
11.2.4
Automatically with Acceptance Numbers and Litter IDs
Under this method, the system will check all the animals in the litter daily and the moment the last one has
left the shelter through a means other than fostering (if the “Foster animals are shelter inventory” option is
52
11.2. COMPLETION PROCEDURES
CHAPTER 11. LITTER LOGGING
on), the litter will be cancelled. This method is 100% accurate and once you have entered the litter, you do
not have to do anything else - the system will take care of it.
From the litter logger main screen, you can highlight a litter and call up all the animals in that litter.
The litter logger main screen will also show you how many of the litter animals are currently left on the
shelter.
This method works best when employed with the “after a specific time period” option, so you create the
litter and give it a timeout date (when all the animals in the litter will be too old to constitute a litter ASM will default this date for you as 6 months when you create a new litter). This way, the litter will expire
on the day the last animal is adopted out, or the timeout date - whichever comes first.
Note, some shelters book in mother and litter together on the same acceptance number/Litter ID - the
system can cope with this quite happily as animals under 6 months old are automatically excluded when
using the acceptance number scheme.
53
Chapter 12
Internet Publishing
The system can generate websites for you, showing the animals currently up for adoption. The sites produced
are fully compliant to X/HTML standards and can be completely customised and branded to suit you.
In addition, the site includes a generated index, which allows visitors to search the animals available.
The site produced is pure HTML with optional Javascript and will work perfectly well in hosted, free
webspace, allowing you to publish your available animals over the worldwide web for no cost whatsoever.
The site requires no costly server side extensions, such as PHP, Servlets, ASP etc.
To generate your web site, navigate to Internet->Publish Animals Available for Adoption. You will then
be presented with the publish screen.
There are many options you can set to choose what appears on the output, and how the output is
generated.
54
CHAPTER 12. INTERNET PUBLISHING
• Include Reserved Animals: By default, the system does not include animals if they are currently
reserved by someone. Tick this box to include reserved animals in the available list.
• Include Cruelty Case Animals: Ticking this box will include cruelty case animals on the list. By
default, they are not included.
• Include Animals without an image: Ticking this box will include animals that don’t have photo
media. Animals with no photo will look for a special picture “nopic.jpg”. You can upload a placeholder
picture with that name to your webspace for animals with no picture.
• Exclude Animals Aged Under: This box is to prevent puppies and kittens who are too young
being included in the list of available adoptions. You may choose an age limit on animals that appear.
By default, the system excludes animals less than 1 year old (52 weeks).
• Animals Per Page: Here, you may select how many animals you would like shown on a page on the
site before the system should generate a new one. By default, the system shows 20, however the more
animals you put on a page, the longer the page takes to load. In pilot sites, they preferred 5 per page
to ensure that things stayed fast for 56k modem users.
• Upload All Images: Ticking this box will have the publisher upload all the images for each animal
where available. They will be named sheltercode-X.jpg (X increments for each image). The first image
will be the image flagged as web preferred.
• Force Reupload Of Animal Images: Ticking this box will tell the publisher to reupload images
for all the animals published. Normally, ASM will not upload an image it has previously uploaded to
save bandwidth. If you’ve changed the web preferred image for an animal after a publish, you’ll need
to set this option to make sure the updated image is sent.
• Upload Directly to the Internet: Ticking this box will cause the publisher to upload your site
directly to the internet as it is building it. For this to work, the system needs to know the FTP
settings issued to you by your ISP (see next section). You must also be connected and online.
• Generate Javascript Database: The site search facilities require a Javascript database, indexing
the available animal records. If you wish to include search facilities, make sure this box is ticked.
• Generate thumbnail images: The publisher will create thumbnails of all the animal images. Thumbnail images are 70 pixels along the longest side and have the same name as the animal image, but are
prefixed with tn . You can use tn $$WebMediaFilename$$ in a template to get the thumbnail image
for the current animal.
• Scale Images: Modern digital cameras can take very high quality images - so much so that they
could take a very long time for users to download (particularly for people with modems). Also, if your
shelter’s connection to the internet is over a modem, it could take a long time for the site to upload.
This box allows you to reduce the size of your images to scaled JPEGs with the resolutions specified.
By default, the internet publishing template shows images at 320x200 in the user’s browser, so it is
best to set the scale option here to match (using this will not degrade the quality noticeably and can
reduce your file size by as much as 3,000% !). By default, the system does not scale your images. If
your images are smaller than the scale you set them to here, the system will intelligently increase the
size (while attempting to retain the quality) to ensure that the images are a good size, and that all
images on your site are of the same size and quality.
• Include Animals In Location: You may well not want to include animals who are in a certain
location (particuarly if you have a quarantine bay or clinic, etc.) - simply untick the boxes for the
internal locations you do not wish animals to appear from. By default, all locations are ticked.
• Style: ASM can support multiple templates when publishing. It will discover which templates are
available and list them here for you to choose. You can create your own by copying an existing one in
the media /internet folder and modifying it.
55
12.1. FTP SETTINGS
12.1
CHAPTER 12. INTERNET PUBLISHING
FTP Settings
To take advantage of the automatic uploading facilities, you will need to know your FTP settings. These are
issued to you by your ISP when you get an account with them. The most important thing is the FTP Host
- this is an address that uniquely identifies the FTP server on the internet. Typically, it starts with ftp. eg: ftp.btinternet.com. However, this is only convention, and they can be called anything. If you cannot get
hold of this, you may also use the FTP server’s IP Address (if you know it).
You will need a user name and password for your FTP account (typically the same as your logon to your
ISP to get onto the internet through dial up networking if you are a modem user).
Animal Shelter Manager also lets you choose the FTP port (a virtual socket number for communication),
however, it is extremely rare that an FTP server runs on anything but port 21 - certainly for ISPs hosting
space, so you are safe generally to leave this value at 21.
The final item is the webspace root. If you have not uploaded any kind of site previously, simply leave
this blank. This field can contain a relative path to a directory on the remote FTP server where you would
like to put your site. Useful if you do not want your site uploaded to the root of your FTP space.
For more information about FTP contact your ISP or system administrator.
To enter these settings in Animal Shelter Manager, navigate to Internet->FTP Settings
12.2
Internet Templates
ASM comes with three different internet templates - “plain”, “rss” and “sm.com”.
plain produces very simple HTML output - just the animal’s picture and a few details in a list.
rss produces XML output for interpreting by an RSS feed reader.
sm.com is much more advanced, using CSS hover elements and javascript to do image substitution for
icons and other tricks.
You can edit these templates (look in the /internet directory of the System->Media Files section) and
add your own new ones if desired - as far as ASM is concerned, a template is just a another folder in that
internet folder.
An internet template is split into three files:
• pih.dat: The header file - this is output for each page before any animal records.
• pif.dat: The footer file - this is output for each page after all the animal records.
• pib.dat: The body file - this is output for each animal record and has keys to pull bits of data from the
database and the animal’s image. The keys available are those available for the animal document (see
wordkeys in the appendix at the end of this document) and are enclosed in $$ - eg: $$ShelterCode$$
will output the animal’s shelter code.
A number of special keys are allowed in the pih.dat and pif.dat files that pull information from other areas
of the system. These are:
• $$ORGNAME$$ - Becomes your organisation’s name
• $$ORGADDRESS$$ - Your organisation’s address
• $$ORGTEL$$ - Your organisation’s telephone number (all of these org fields can be found under
System->Options)
• $$ORGEMAIL$$ - Your email address (this is taken from System->Configure Email)
• $$USER$$ - Substitutes the current system user, including their real name
• $$DATE$$ - The current date
• $$TIME$$ - The current time
• $$DATETIME$$ - The current date and time
56
12.3. PETFINDER.COM
CHAPTER 12. INTERNET PUBLISHING
• $$VERSION$$ - The ASM version
• $$NAV$$ - The page navigation bar generated by the publisher
• $$TOTAL$$ - The number of animals output by the publisher
12.3
PetFinder.com
In addition to creating standalone websites with animals up for adoption, ASM can also integrate with
PetFinder.com and upload your animals for adoption directly to your account with them.
You will need to go to Internet->PetFinder->PetFinder Settings first. Here, you should enter the URL
to the PetFinder FTP server (ASM defaults members.petfinder.com - as it is at the time of writing), along
with the shelter Id given to you by PetFinder.com and your password. All you need to do then is choose
Publish to PetFinder.com in place of the normal internet publisher. The options for filtering animals are the
same (see previous section for reference).
Note that if you have created new Species or Breeds within ASM, you will need to map them to the
available PetFinder options using the “PetFinder Species Mapping” and “PetFinder Breed Mapping” options
under the PetFinder Publish menu.
If you have some that are not mapped, ASM will prompt you to do this when you attempt to publish.
The “upload all images” option will upload all animal media images, naming them CODE-X.jpg (starting
at 1 for the web preferred media). PetFinder will automatically handle this and display all your images with
the animal.
IMPORTANT: You have to let PetFinder know that you are using ASM to upload your data via the
configuration page for your shelter on their website. If you don’t do this, your upload animal information
will not appear on the PetFinder site.
12.4
Pets911.com
In addition to creating standalone websites with animals up for adoption, ASM can also integrate with
Pets911.com and upload your animals for adoption directly to your account with them.
You will need to go to Internet->Pets911->Pets911 Settings first. Here, you should enter the URL to the
Pets911 FTP server, along with the user name given to you by Pets911.com, your password and the source
ID for your uploaded data (also supplied by Pets911.com). All you need to do then is choose Publish to
Pets911.com. The options for filtering animals are the same (see previous section for reference).
12.5
1-800-Save-A-Pet.com/AdoptAPet.com
In addition to creating standalone websites with animals up for adoption, ASM can also integrate with 1800-Save-A-Pet.com (now known as AdoptAPet.com) and upload your animals for adoption directly to your
account with them.
You will need to go to Internet->AdoptAPet.com->AdoptAPet.com Settings first. Here, you should
enter the hostname of the Save-A-Pet FTP server (typically autoupload.adoptapet.com), along with the user
name given to you by AdoptAPet.com and your password. All you need to do then is choose Publish to
AdoptAPet.com. The options for filtering animals are the same (see previous section for reference).
In addition, the first time you run this publisher, it will create a file called “saveapet mappings.txt” in
your .asm folder - this is the mappings file (what becomes the import.cfg sent to AdoptAPet.com) and if you
wish to translate any of your breeds, species, types or colours to match the AdoptAPet.com standard set,
you can do it here. The default file created by ASM maps the default ASM lookups to AdoptAPet.
If you have mapped the colours and wish to include them, you will need to tick the “Include Colors”
checkbox when publishing (or use the includecolors command line argument).
57
12.6. RESCUEGROUPS.ORG
12.6
CHAPTER 12. INTERNET PUBLISHING
RescueGroups.org
In addition to creating standalone websites with animals up for adoption, ASM can also integrate with
RescueGroups.org. They run a service at www.petadoptionportal.org that allows updating of multiple online
services (including Facebook and Petsmart). See their website for information on which services they update.
You will need to go to Internet->RescueGroups.org->RescueGroups.org Settings first. Here, you should
enter the hostname of the RescueGroups.org FTP server (typically ftp.rescuegroups.org), along with the
shelter ID and password given to you by RescueGroups.org.
Once you’ve done that, you can choose the Publish to RescueGroups.org menu item. The options for
filtering animals are the same as for the other publishers.
The “upload all images” option will upload all animal media images, naming them CODE-X.jpg (starting
at 1 for the web preferred media). ASM will only include upto 4 images as RescueGroups.org do not support
more than this.
Note: The RescueGroups.org publisher uses the PetFinder breeds and species mappings so you should
make sure that you have PetFinder mappings for all your breeds and species before using the publisher (the
publisher will give an error message if any species or breeds do not have mappings).
12.7
SmartTag PETID
ASM can integrate with SmartTag PETID, a company that supply collar tags to shelters for free in the US.
Each tag has a unique number on it and if your locale is set to US and you have SmartTag PETID Settings
in your database, you can enter tag information in fields on the animal details screen.
When you publish to SmartTag, ASM finds all animals with a SmartTag that have been adopted and
sends their information (along with owner info and a picture) to SmartTag so they can be identified in the
event they are lost.
12.8
AVID/PETtrac
If you are based in the UK and use microchips supplied by AVID for their PETtrac database, you can have
ASM submit registrations for you when animals are adopted. You will need to complete your organisation
information under the PETtrac/AVID tab on the System->Options screen.
The movement screen has a “Register with PETtrac” button at the top and clicking it will take you to a
pre-completed webform with the information ready to send to AVID. Click the “Submit Registration” button
to send it.
58
Chapter 13
Mail Merge Sources
You can create mail merge data sources quickly and easily for integration directly into OpenOffice and
Microsoft Word. From these applications you can then print off bulk letters, send bulk emails or save
individual document files.
13.1
Creating a Mail Merge Source
A mail merge source is simply a database file containing the information you would like to use to generate
multiple letters. If you are using OpenOffice, you can use it to filter the source beyond that produced by
Animal Shelter Manager.
To create a mail merge source, navigate to Mail Merge.
Initially, ASM does not come preloaded with any, however by going to Reports->Get more reports
from sheltermanager.com, you can install mail merge sources (they appear in the list with the type “Mail
Merge”.
When executing a mail merge, you will be prompted to create a CSV file, or send bulk emails. You will
want to create a CSV file if you intend to use a wordprocessor to create printed letters.
The files are always named <source>.csv (CSV is a text-based file of comma separated values). The mail
merge tool will prompt you for a location to save the file to.
Note: You can also generate a mail merge source from the Find Owner screen by performing a search
and hitting the “Mail Merge” button to produce a source from the results of the find.
13.2
Integrating With OpenOffice
These instructions apply to versions 1.x and upwards of OpenOffice.
To integrate your merge source with OpenOffice, you will need to register it as a data source. Open a
new, empty document in OpenOffice and click on the Tools menu. Now click on “Data Sources” to bring up
the list of known data sources.
Enter the name first - you may call it anything you like, however for ease, use the name of the source in
Animal Shelter Manager. For the type, select “Spreadsheet” from the drop down box. Click the browse button
below to pop up an open dialog. You should then find the datasource file in the mailmerge subdirectory of
your asm/temp directory and select it.
Now, click on the tables tab. You will be prompted with the OpenOffice text convert screen. OpenOffice
is intelligent enough to understand csv files and you can safely click the Ok button in the top right corner.
You will be returned to the data source manager screen. Simply click Ok now as you have successfully
set up your mail data source.
59
13.3. MERGING WITH MICROSOFT WORD
13.2.1
CHAPTER 13. MAIL MERGE SOURCES
Mail Merge Documents with OpenOffice
Now that your source is set up, you can create as many different documents as you like within OpenOffice
to utilise them.
Create a new document, or open an existing one you would like to adapt. Pull down the “Insert” menu
and select “Fields”, followed by “Other”.
Select the “Database” tab and highlight “Form Letter Field” on the left. You should now see all your data
sources on the right in tree form. Expand the one you would like to use, and simply double click on fields to
embed the placeholders in your document (these placeholders will be replaced with real data when you run
the merge).
TIP: While this screen is open, double-click ALL the fields you intend to use and then move them around
in your document later. This is much easier than coming back to this screen repeatedly for each field.
13.2.2
Running the Merge with OpenOffice
Once you have a document that you are happy with, make sure it is saved. To run the merge, bring up the
data sources window by pressing F4 on the keyboard. Your datasources will be listed down the left hand
side. Expand the one you want to use (you may be prompted for the text import again - simply click Ok).
Expand the Tables section and highlight “Sheet1”. Your data will be displayed on the right hand side.
To initiate a merge, click on the “Form Letter” button. It appears on the data toolbar second from the
right and looks like three envelopes stuck together.
You may now choose how to merge. You can write emails (by selecting “Electronic” and selecting “Email”
as the field). Generate printed documents by using the printer, or generate individual copies of this document
for each entry by selecting “File”.
13.3
Merging With Microsoft Word
These instructions apply to versions 6.0, 95, 97, 2000 and XP of Microsoft Word.
To integrate your mail merge source with Microsoft Word, simply open Word with an empty new document. Pull down the Tools menu and select “Mail Merge”. Word allocates data sources per document (as
opposed to OpenOffice, which allocates data sources applicable to all documents).
Word will now prompt you through a three-step process, where you must either open an existing document
or turn the current document into a mail merge document (you may choose from Form Letters, Address
Labels etc.)
Step two prompts you to get the data source - simply find the csv file in your mailmerge directory and
select it. Note that by default Word will not show the csv files in it’s dialog - make sure you drop down the
file type list and select “All Files (*.*)”
If you used an empty document, Word will prompt you to select mail merge fields to use. You can insert
these placeholders into your document by dropping down the “Insert Merge Field” button that has appeared
on the merge toolbar.
When you are happy, make sure you save your document. To run the merge, go back to Tools->Mail
Merge and select “Merge” under step 3.
Word will generate a new document containing a new copy of your original document for each entry in
the data for you to print and save.
The Word document you have created will always rely on your data source, so should you change it
(generate a new one from Animal Shelter Manager), you can simply open the document again and rerun the
merge.
13.4
Bulk Emailling
In addition, Animal Shelter Manager allows you to bulk email any mail merge source directly - all you need
is access to a SMTP (Simple Mail Transport Protocol) email server. ALL ISPs (with the exception of AOL)
grant you this facility. If you are an AOL user, you will need to install a mail transport yourself.
60
13.4. BULK EMAILLING
CHAPTER 13. MAIL MERGE SOURCES
All ASM needs to know is the return address you would like stamped on the outgoing emails and the IP
address/hostname of the SMTP server to use (usually smtp.<your ISP name>.com). Set these in System>Options (under the Email tab)
At the end of mail merge source generation, you will be asked if you want to create a file based source
for other programs, or bulk email all the addresses in the source. If you choose the latter, ASM will pop up
its own internal email client with a list of fields available in the source so you can customise the email for
each individual user by using the mail merge keys.
61
Chapter 14
Configuration
To configure all areas of the system, you need to look under the top-level System menu.
14.1
Lookups
The lookups menu expands a submenu of lookups. These are small, standard databases used throughout the
system for values such as breeds, species, colours, etc.
Normal Shelter Manager user interface rules apply (a list will appear with a toolbar of command buttons
for adding, editing and deleting).
14.1.1
Breed Mappings
The breed mappings option allows you to map breeds to different species. When you create animals, the list
of breeds will be filtered according to which species you have selected.
14.1.2
Unwanted Breeds and Species
A further option (Remove Unwanted Breeds and Species) on the lookups menu allows you to remove the
default breeds and species that ASM installs with according to what animals your shelter deals with.
ASM will show all categories of animals it currently has breed and species data for. You can simply untick
the boxes for categories you are not interested in and hit ok. You can return to this screen subsequently and
any items you removed will disappear from the list.
ASM will ensure that no breeds/species from a category have been used before removing that category.
This means that if you (for example) had an animal with species dog in your database, or an animal marked
as any of the dog breeds, then unticking the “dogs” box on this screen will have no effect to prevent damaging
your data.
62
14.2. ADDITIONAL FIELDS
14.2
CHAPTER 14. CONFIGURATION
Additional Fields
You can customise the fields available on the animal and owner screens. This screen allows you to declare
additional fields that will appear under an “Additional” tab on the screen.
Fields have a name, a label, a tooltip, a type and a display index.
The name cannot contain spaces and is used for referencing the data in document generation - you can
use a <<FIELDNAME>> tag to add these additional values to your documents.
The label is what will appear on the screen at the side of the field, the tooltip text will appear when you
hover your mouse over the control on screen.
The display index determines the order your fields are output to the tab and which field the cursor moves
to when you press the TAB key on the screen.
If you selected a field type of “lookup”, then the use the “Lookup Items” field to supply some values for
the dropdown list. These should be pipe-separated, eg: Item 1 | Item 2 | Item 3
Once a field has been added and used on animal records, it cannot be deleted for data integrity reasons
(although you can rename any field and change its type).
For example, to add a new field to the animal screen to say whether the animal has been tested for kennel
cough, create a new additional field and enter the following values:
• Name: KennelCough
• Label: Kennel Cough Tested?
• Tooltip: Tick this box if the animal has been tested for kennel cough
• Type: Yes/No
• Link: Animal
• DisplayIndex: 0
The new field will appear under the Additional tab on the animal screen.
You will be able to reference it in generated animal documentation with the <<KennelCough>> key.
Data for these fields is stored in the “additional” table in the database, the LinkID field holds the animal
or owner ID (with LinkType being 0 for animal and 1 for owner).
14.3
Media Files
ASM utilises a virtual filesystem driver to store media inside the database. To gain access to these files, use
the media interface located under System->Media Files. This interface allows you to navigate the media
files and upload/download files and directories to and from your local filesystem.
14.4
Edit System Users
You may create, edit and delete system users from here. It is recommended that every person who uses
Animal Shelter Manager have their own login and user name (when a user is finished, they should navigate
to File->Login Again to prepare the system for the next user) - simply to make sure that people do not
get other people’s work attributed to them on the audit trails.
Whilst editing a user, you can choose absolutely everything that user may do within the system by
checking the appropriate boxes.
63
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
If you set an owner record for the user, they will be forbidden from opening that owner record. The
idea is to prevent them from viewing their own record. You can also set the user permission to forbid them
opening any owner record with the “Staff” flag if you wish to lock a user from opening any staff records.
14.5
System Options
The main System->Options page allows configuring of the general preferences within Animal Shelter
Manager.
The shelter details tab allows you to enter contact information for your shelter. This is used with reporting
and internet publishing.
The mapping service tab allows you to specify a URL for a mapping service to use when looking up the
location of owners. The default is Google Maps. ASM will use the address field and the postcode (or zipcode
for US users) when searching.
The lost and found tab allows you to assign your own point weightings to the different kinds of matches
used when generating the lost and found match report, as well as determine how many points are need for
a match to be included.
The word processor tab allows you to choose which word processor you want to use. Typically, this will
be either OpenOffice, Microsoft Office 2007 or Rich Text Format Compatible (works with Microsoft Word
before 2007).
The waiting list tab allows an update period to be configured here. Simply specify in days the interval
between updates (how often a waiting list entry is bumped up the urgency ratings until it reaches “High”).
Another option is available to select the default waiting list urgency - this is the default start value given
to new waiting list entries. You can also choose hold separate rankings for species on the waiting list. This
makes sense if your shelter takes dogs and cats for example and whether you can take a cat is independent
of how many dogs are on the shelter.
The movement tab allows a number of days to be set to automatically cancel reservations. If an animal
is reserved for this period of time and it does not result in an adoption (or any kind of movement), ASM
will automatically cancel the reservation for you after this time.
The costs tab allows you to specify a default daily boarding cost for new animals (this value can be
modified on the animal’s cost tab). You can also set whether to convert the boarding cost to a fixed cost
record when the animal is adopted (this is the default behaviour) and which cost type that should be booked
to.
14.5.1
Accounts
ASM contains a full double entry accounting package. The options here are:
• Current accounting period starts: If you wish to use accounting periods, put the start date in
here. By enabling the show account totals for current period option, the totals shown on the account
screen will only include transactions from this date or later.
• Donation destination account: When ASM creates a matching donation transaction, it will use
the donation type to find the income account to use. The destination account here denotes where the
money will be moved to. If you do not set one, ASM will use the first bank account on file.
• Donation/Account mappings: In addition to the default donation destination account, you can
specify optional mappings, so that when ASM receives a donation of a particular type, it uses the
specified destination account for it when creating the matching accounting transaction.
• Disable Accounts Functionality: Ticking this box will cause ASM to remove all accounts related
menu entries/buttons so that users do not see it, and you will not be using ASM to manage your
accounts.
• Creating donations and donation types creates matching accounts and transactions: When
you create a new donation type, or log a new donation against an owner/animal, ASM will automatically
64
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
create a matching account in the accounts system if one does not exist, and a matching transaction.
It is suggested that you leave this option on, even if you have disabled accounts functionality in case
you wish to use it in future.
• Only show account totals for the current period: If this option is set, when you view the main
accounts screen, totals will be calculated for the current accounting period (other wise, totals are for
all transactions in the accounts for all time).
14.5.2
Age Groups
It is possible to categorise your animals by their age in ASM. This is useful when generating adoption
paperwork and you don’t have an exact date of birth for the animal. Instead, ASM can specify one if its
groups, using the AgeGroup wordkey (or animal.AgeGroup field in custom reports).
This tab allows you to choose the threshold for each grouping, as well as the grouping name. By default,
anything under 6 months (0.5 years) is classed as a Baby, anything under 2 years is Young Adult, under 7
years is Adult and over that is Senior.
14.5.3
Animal Codes
ASM allows you to choose the format that animal codes will be automatically generated in. ASM internally
stores two codes for each animal, the “normal” code, unique among all animals and the “short” code. The
short code does not have to be unique and is used by staff wanting to quickly identify animals in conversation.
The defaults are TYYYYNNN (the first letter of the animal type, followed by the year it was brought to
the shelter, followed by a number unique within that year for that type of animal) for the normal code and
NNT for the shortcode (a unique number within the year for the animal’s type, followed by the type).
You can build and use any format string you like, using the following tokens:
• YYYY - The year the animal was brought into the shelter (4 digits)
• YY - The year the animal was brought into the shelter (2 digits)
• MM - The month the animal was brought into the shelter
• DD - The day the animal was brought into the shelter
• T - The first letter of the animal’s type
• UUUUUUUUUU - (10 digits) a unique number representing the animal (this number will never be
used for another animal), padded to 10 digits. If the number overflows, more digits will be used.
• UUUU - (4 digits) a unique number representing the animal (this number will never be used for another
animal), padded to 4 digits. If the number overflows, more digits will be used.
• NNN - (3 digits) a number representing the animal, which is unique within the year brought in for the
animal’s type and padded to 3 digits. If the number overflows, more digits will be used.
• NN - A number representing the animal, which is unique within the year brought in for the animal’s
type. No padding is done.
Here are some examples:
• YYYYMMDD-NNN-T (an ISO date, followed by a unique number/type within the year). Eg: 20080520001-D
• TUUUUUUUUUU (the animal’s type, followed by a unique number for the animal) - Eg: U0000003412
65
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
If you change the coding formats when you already have animals on file using a different format, those
animals will be ignored when creating new codes and multiple codes can co-exist.
Any values you put in your codes other than these tokens (such as punctuation or other letters) will not
be substituted and will be retained in generated codes. For example, the format NNN:21:T will produce
001:21:D for the first dog of the year.
If you do not want ASM to supply codes to your animals (you will have to manually enter them yourself),
you need to set both coding formats (regular and short) to blank strings and untick all of the boxes under
“Coding System”. In addition, some further options can be set on this tab:
• Show short shelter codes on screens and reports: This option tells ASM to display the short
code throughout the application instead of the main shelter code.
• Default shelter code for new animals: Setting this option will cause ASM to automatically
generate a shelter code when you create a new animal.
• Hide short shelter codes on the animal details screen: Setting this option will make ASM hide
the short shelter code field at the top left of the animal details screen. It does not stop ASM generating
short codes behind the scenes, it just stops them being visible on the screen.
• Enforce animal codes entered by users conform to the selected animal coding scheme:
Setting this option will cause ASM to try and reparse animal codes when saving an animal - if it fails,
it will not allow saving of the animal’s record until a valid code is generated or set by the user.
• Once assigned, codes cannot be changed: Setting this option will make ASM lock the shelter
code fields, as well as the type and brought in date once an animal record has been saved for the first
time. This is to guarantee that once an animal code has been handed out, it cannot be changed.
14.5.4
Authentication
ASM offers a number of authentication methods (ways to allow users to log onto the system). For all of
them, ASM will always need a user entry in the system users table, these methods simply allow different
ways to verify the user.
Operating System
If you choose this method, ASM will look at the username of the person logged into the operating system.
It will then attempt to find a user in it’s own database with the same name. If one is found, the user is
automatically logged in with no login screen. This is an appropriate method to use if you have a hot-desk
type setup where people log into different machines.
WARNING: If you select this method and don’t have a matching ASM/Operating system
user you will not be able to log into ASM. You can clear this setting by opening a SQL tool on your
database and running “DELETE FROM configuration WHERE ItemName LIKE ’AutoLoginOSUsers’;”
Database
This is the default. ASM will store a hashed version of a each user’s password in a database table and
prompt for a username/password on startup. This method is suitable for shelters where many people may
use one machine and each user needs a different login.
LDAP
ASM can also use an LDAP server to authenticate your users. ASM will prompt for a username and password
on startup and will then search the LDAP tree for an entry matching the username entered. If it finds one,
it will then attempt to bind to the tree as that user, using the password supplied. As ever, a matching ASM
user must exist in the database.
The LDAP fields asm needs are:
66
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
1. LDAP URL: This is the URL to the ldap server, typically something like ldap://server/, you can
supply a port as normal (eg: If you have an ActiveDirectory domain you’d like to use for authentication
on port 3268 - ldap://server:3268/). You can also use ldaps:// for SSL enabled LDAP connections.
2. LDAP User: The DN of a user allowed to conduct searches of the LDAP tree.
3. LDAP Password: The password for the user allowed to conduct searches of the LDAP tree.
4. LDAP DN: The base DN to conduct searches from when looking for users - eg: ou=Users,dc=example,dc=com
5. LDAP Filter: The search filter to use when locating users. The {0} token will be replaced by the
username the user enters when attempting to login. For example, “(cn={0})”, to locate a user with a
cn matching the username. ActiveDirectory users should use “(sAMAccountName={0})”.
WARNING: If you supply an LDAP URL and don’t have an LDAP server, you will not be
able to log in to ASM. You can clear LDAP settings by opening a SQL tool on your database and running
“DELETE FROM configuration WHERE ItemName Like ’LDAP%’;”
14.5.5
Defaults
This screen allows configuration of the system defaults. These defaults are used to select starting values
when finding and creating animals.
• Mark new animals as not for adoption: Setting this option will cause ASM to automatically tick
the “not for adoption” box when creating new animals. This is an extra precaution - by forcing users
to untick the box when necessary, no animal can be accidentally published.
• Default today as the reservation date for new movements: Setting this option will cause ASM
to automatically default the reservation date to today when a new movement record is created.
• Prefill new media notes with animal comments: Setting this option will cause all new media
descriptions to default to the animal comments. This is handy for website generation as you can base
the animal’s description on the comments already there. You can use the button next to the animal
comments field on the animal details to copy the comments to the web preferred media record.
• Default to advanced find animal screen: If ticked, the find animal screen will appear in advanced
mode by default.
• Default to advanced find owner screen: If ticked, the find owner screen will appear in advanced
mode by default.
• Automatically attach generated documents as media: If ticked, the attach document checkbox
will also be ticked by default when you generate a document from a template.
• Default today as the brought in date for new animals: If ticked, the date brought in field
(under the entry tab) of new animals will default to today.
• Default original filename as notes when attaching media: If ticked and the notes are blank,
the media notes will be set to the original filename when attaching media.
14.5.6
Automatic Insurance Numbers
If you have an agreement with a pet insurer, Animal Shelter Manager can accept a range of numbers under
this tab and allow you to assign them to adoptions as they are made.
Simply fill in the start/end/next values and tick the box to ensure you are using automatic numbers.
When you next adopt an animal, a button will appear at the side of the insurance number on the movement
screen, allowing you to assign an insurance number to that adoption.
67
14.5. SYSTEM OPTIONS
14.5.7
CHAPTER 14. CONFIGURATION
Search
The find animal and owner columns boxes allows you to specify which columns are used on the find animal
screens and in what order they appear. The waiting list columns box operates similarly.
A comma separated list of field names should be given here. You can also use additional field names for
your custom fields.
Animal Fields:
• AnimalTypeID
• AnimalName
• BaseColourID
• SpeciesID
• BreedName
• CoatType
• Markings
• ShelterCode - the code (or shortcode depending on configuration)
• AcceptanceNumber - the acceptance number or Litter ID depending on configuration
• DateOfBirth
• AgeGroup
• DeceasedDate
• Sex
• IdentichipNumber - Microchip number
• IdentichipDate - Microchip date
• TattooNumber
• TattooDate
• Neutered
• NeuteredDate
• CombiTested - FIV/L tested?
• CombiTestDate - FIV/L test date
• CombiTestResult
• HeartwormTested
• HeartwormTestDate
• HeartwormTestResult
• FLVResult
• Declawed
• HiddenAnimalDetails
68
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
• AnimalComments
• ReasonForEntry
• ReasonNO
• DateBroughtIn
• EntryReasonID
• HealthProblems
• PTSReason - Free form deceased reason box
• PTSReasonID - Death category dropdown box
• IsGoodWithCats
• IsGoodWithDogs
• IsGoodWithChildren
• IsHouseTrained
• IsNotAvailableForAdoption
• HasSpecialNeeds
• ShelterLocation
• Size
• RabiesTag
• TimeOnShelter
• DaysOnShelter
• AnimalAge
Owner Fields:
• OwnerTitle
• OwnerInitials
• OwnerForeNames
• OwnerSurname
• OwnerName
• OwnerAddress
• OwnerTown (the city for US users)
• OwnerCounty (the state for US users)
• OwnerPostcode (the zipcode for US users)
• HomeTelephone
• WorkTelephone
• MobileTelephone (cellphone for US users)
69
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
• EmailAddress
• IDCheck (a flag whether the owner has been homechecked)
• Comments
• IsBanned
• IsVolunteer
• IsHomeChecker
• IsMember
• MembershipExpiryDate
• MembershipNumber
• IsDonor
• IsShelter
• IsACO
• IsStaff
• IsFosterer
• IsRetailer
• IsVet
• IsGiftAid
• HomeCheckAreas
• DateLastHomeChecked
• HomeCheckedBy
• MatchAdded
• MatchExpires
• MatchActive
• MatchSex
• MatchSize
• MatchAgeFrom
• MatchAgeTo
• MatchAnimalType
• MatchSpecies
• MatchBreed
• MatchBreed2
• MatchGoodWithCats
• MatchGoodWithDogs
• MatchGoodWithChildren
• MatchHouseTrained
• MatchCommentsContain
70
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
Waiting List Fields:
• Rank
• SpeciesID
• DatePutOnList
• OwnerName
• OwnerAddress
• OwnerTown
• OwnerCounty
• OwnerPostcode
• HomeTelephone
• WorkTelephone
• MobileTelephone
• EmailAddress
• AnimalDescription
• ReasonForWantingToPart
• CanAffordDonation
• Urgency
• DateRemovedFromList
• DateOfLastOwnerContact
• ReasonForRemoval
• Comments
14.5.8
Warnings
• Warn on close if an animal has no pending vaccinations: All animals should need a vaccination
at some point, even if it is just an annual booster. Ticking this box will make the system warn you if
you close an animal record that has no vaccination scheduled.
• Warn when adopting to a non-homechecked owner: If the owner record does not have them
down as homechecked, the system can warn you if you try to adopt an animal to them.
• Warn when adopting to a banned owner: The system can warn you if you try to adopt an animal
to an owner who has been marked as banned.
• Warn when adopting to an owner in the same postcode as the original owner: Self explanatory.
• Warn on multiple reservations: If set, the system will warn you if you attempt to reserve the same
animal to different owners.
• Warn and cancel additional reservations when an animal is adopted: Setting this option will
cause all outstanding reservations on an animal to be automatically cancelled when it is adopted.
71
14.5. SYSTEM OPTIONS
CHAPTER 14. CONFIGURATION
• When entering new owners, check for similar names: Setting this option will force ASM to
check new owner names as you enter them and let you know if you are entering an owner that is
potentially already on the system.
• When entering new owners, check for similar addresses: Setting this option will force ASM to
check new owner addresses as you enter them and let you know if you are entering an owner that is
potentially already on the system.
• Warn when adopting to an owner that has brought an animal in: The system can check and
warn you if you attempt to adopt an animal to an owner who looks like an owner who brought an
animal in. This is a loose check based on name and address.
14.5.9
Format and Display
• Show internal location as logical location: Useful for animal searches and the main screen. If
an animal has left the shelter (or is dead), instead of showing the last known internal location, you
will be shown the logical location. This is useful in (all location) searches, as you can see immediately
whether an animal is on the shelter, and if so, where.
• Group the animal figures report by species instead of type: This causes the monthly animal
figures report to separate animals by their species instead of their type (ie. By what they are instead
of what the shelter classifies them as).
• Hide original owner information when printing animal records: Some shelters like to use the
print animal report as a cage card, since it contains every piece of info about the animal. However,
with the original owner information on there, unscrupulous people could try to “reclaim” animals they
want to adopt by posing as the original owner. This option hides the original owner and brought in by
information.
• Highlight animals under 6 months, reserved or dead on reports: Setting this option will cause
any report that displays an animal’s name to highlight it if the animal is under 6 months old, reserved
or dead. Animals under six months are shown in blue italics, dead animals are shown in red and
reserved animals are shown in bold. This allows you to quickly highlight puppies/kittens and reserved
animals on inventories etc. This option only applies to the built in reports, and not custom reports
that you add to the system.
• Don’t filter the list of breeds according to selected species: Normally, ASM will filter the list
of breeds when you change species. Breeds are mapped to a single species (or available to all species)
through the System->Lookups->Breed Mappings screen. If you enable this option, ASM will just show
all breeds and allow you to select one, regardless of the selected species. Up until version 2.6.0, ASM
did not filter the list of breeds and this was the default behaviour.
• When adding animals, show most popular breeds at the top of the dropdown: Setting this
option will have ASM track the most popular breeds your shelter deals with and put them at the top
of the breed list when adding new animals. It incurs a small performance penalty and is disabled by
default.
• Don’t show media thumbnails on animal or owner screens: Setting this option prevents ASM
displaying thumbnail images on the detail pages of the animal and owner screens. This can improve
performance slightly on slower database connections.
• When printing reports, don’t scale to match page width: Normally, when printing reports,
ASM will try and scale them to match the width of the paper. Turning this option on tells ASM not
to do that and allows you to manually set the width of your reports via HTML tags.
72
14.5. SYSTEM OPTIONS
14.5.10
CHAPTER 14. CONFIGURATION
Database and System
• Use optimistic record locking: Prevents two users from editing the same record at the same time.
If you choose not to use this, database saves will be slightly faster, but a “who saves last wins” situation
will occur if two people are editing the same record.
• Case sensitive searching: Tells ASM that you want case to matter when searching for animals and
owners. If case sensitive is on, then searching for “steve” won’t find owners called “Steve”. This option
has another use - some locales can break the insensitive comparison, causing nothing to be found when
searching for special characters, enabling this option allows the use of special characters in searches for
non-English locales.
• Use Automatic Litter Identification: Setting this option will cause ASM to automatically assign
an ID to newly created litters, and allow a litter ID on animal records (replacing the acceptance
number field, which was only useful to UK RSPCA shelters). A button appears on the edit animal
screen, allowing users to assign an animal to an active litter.
• Foster animals are shelter inventory: Setting this option will make ASM treat fostered animals
as if they are on the shelter (with appropriate visual output to show they are fostered). Note that this
option will not take effect until you restart ASM.
• Cache active animals: Setting this option will cause ASM to cache all on shelter animals on startup.
This speeds up opening of the animal edit screen considerably if your database is on a slower internet
link. Stale cache data is updated every 10 minutes.
• Lazily load animal data: Setting this option will make ASM only load information on animal tabs
when the tab is clicked instead of in the background once the screen opens.
• Don’t auto archive animal records on exit: By default, when you close ASM, it will scan all
the animal files on record and update various records to make sure that various copies of internal
records are correct. This is only really necessary if another process has modified the database that
ASM doesn’t know about, or you book out adoptions more than a day in advance. If you don’t do
either of these things, you can turn this feature off and save some time when closing the program.
You can manually force auto archiving by selecting it from the menu under System->Database
Tools->Auto Archive Animal Records
• Disable retailer functionality: If ticked, ASM will hide all of the functionality related to retailers
(a system where pet shops adopt animals on behalf of the shelter). This will not take effect until you
restart ASM.
• Disable accounts functionality: If ticked, ASM will hide all of the functionality related to the
accounting package (ASM contains a full, double entry book keeping system to track shelter accounts).
• Use a single breed field for animals: Setting this option will make ASM only display a single
breed field on the animal details screen. This is the norm for UK shelters, where animals are either
pedigree or a crossbreed (a “Crossbreed” breed can be added to the lookup). Without this option set,
ASM allows for two breed fields and a crossbreed indicator so that mixed breed type animals can be
recorded (this is typical for US shelters).
• Don’t show the startup page: By default, ASM shows a startup page with today’s diary notes and
the latest news from the ASM website. This option disables it.
• Keep a full audit trail: Ordinarily, ASM keeps a note of the person who created a record and
who last changed it. If you set this option, ASM will also keep a full history of who created and
changed records in the system, but most importantly, who deleted records and when. This audit trail
can be analysed with the audit trail reports, available from Reports->Get more reports from
sheltermanager.com
73
14.5. SYSTEM OPTIONS
14.5.11
CHAPTER 14. CONFIGURATION
Remove Unwanted Fields
• Remove the town/county (city and state) fields from the owner screen: Setting this option
will prevent ASM from presenting the user with additional fields to store the city and state information.
These are handy for group owner searches, but not all shelters want or need them and prefer to keep
the complete address in the address box.
• Remove the coat type field from the animal screen: If ticked, ASM won’t display the coat
type dropdown on the animal editing screen. For some shelters, keeping coat types is unnecessary
(particularly for those that keep reptiles and birds!), so you can disable it here.
• Remove the microchip fields from the animal screen: If ticked, ASM won’t display the microchip
indicator, number and date fields. For shelters that don’t keep microchipped animals (eg: Reptiles and
birds).
• Remove the tattoo fields from the animal screen: If ticked, ASM won’t display the tattoo
indicator, number and date fields. Useful for shelters that don’t keep animals with ear tattoos.
• Remove the spay/neutered fields from the animal screen: If ticked, ASM won’t display the
neutered/spayed flag and date. Useful for shelters that keep animals that do not require neutering
(small mammals, birds, reptiles, horses, etc).
• Remove the declawed field from the animal screen: If ticked, ASM won’t display the declawed
flag. Useful for shelters that don’t keep cats, or for countries where declawing is illegal (such as the
UK).
• Remove the heartworm test fields from the animal screen: If ticked, ASM won’t display the
heartworm test fields. Useful for shelters with animals that do not require heartworm tests.
• Remove the Combi/FIV/L test fields from the animal screen: If ticked, ASM won’t display
the Combi test or FIV/FLV test fields (depending on your locale).
• Remove the “Good With...” and Housetrained fields from the animal screen: If ticked,
ASM won’t display the good with cats/dogs/children and housetrained fields. Useful for shelters that
don’t keep cats and dogs.
• Remove the Litter ID/Acceptance Number field from the animal screen: If ticked, ASM
won’t display the Litter ID or Acceptance Number field at the top of the details screen. If your shelter
does not track litters, or is not a UK RSPCA shelter, you can turn this off and save some space on the
screen.
• Remove the Bonded With fields from the entry details screen: If ticked, ASM won’t display
the fields that allow an animal to be marked as bonded with other animals (bonding is particularly
common with rescues that deal with rabbits and is the recommendation that pairs of animals are
adopted together).
14.5.12
Adding Multiple Animals
ASM allows you to bulk add more than one animal at a time - this is useful if booking in a litter of kittens and
puppies for example. You can access this functionality under File->Animal->Add Animals or pressing
CTRL+SHIFT+S
• Show breed field(s) when adding multiple animals: Allow entry of a breed with multiple animals.
• Show colour when adding multiple animals: Allow entry of a specific colour when creating
multiple animals.
• Show location when adding multiple animals: Allow entry of an internal location when creating
multiple animals.
74
14.6. LOCAL CONFIGURATION SETTINGS
CHAPTER 14. CONFIGURATION
• Show Litter ID when adding multiple animals: Allow a litter ID (or Acceptance number if
automatic litter identification is disabled) to be chosen when creating multiple animals.
14.6
Local Configuration Settings
Additionally, a number of options can be set with relation to the local machine.
To enter the local configuration screen, go to Preferences->Settings.
The options on this screen are as follows (NB: Wording may differ slightly for US locale):
• System Locale: The locale Animal Shelter Manager should use. This determines what language ASM
uses for screens, along with the date format and currency symbol. The menu items will not change
language until you restart ASM.
• Look and Feel: The look and feel of the application. Default uses whatever the VM defaults is,
Native Platform makes ASM fit in with your native environment UI, Metal uses the Java Metal look
and feel, Metal for GTK is Metal but fixed for Linux/GTK users to use better fonts and less bold.
• Video Capture Method: What method ASM will use for capturing video stills on the add media
screen. ASM supports either the vgrabbj command line tool for Linux/v4l webcams, HTTP retrieval
for IP cams and calling an external command line tool to grab the image. In the latter case, ASM will
pass the name of the desired output file to the command line tool.
• Video Capture Command/URI: If capture method is HTTP, you should enter an http:// (or other
appropriate URL, FTP will also work) here to grab the image from. Otherwise, this should be the full
path to the program that will do the capture.
• Button Hotkeys: If selected, ASM will use push buttons instead of toolbar buttons and assign each
a letter. Pressing ALT and this letter pushes the button instead of you having to click it with your
mouse.
• Start Maximised: If selected, ASM will start up in a maximised window. If this option is not set,
ASM will start in an 1024x768 frame.
• Use Internal Report Viewer: If selected, ASM will display reports in child windows alongside
forms. Otherwise, ASM will spawn your external web browser for using reports
• Only Allow One ASM Instance: If selected, ASM make sure that it cannot be opened more than
once on the local machine. It does this by writing to a lockfile at $HOME/.asm/lock
• Show Updates: If selected, ASM will check the website for new updates on startup and notify the
user if a new version is available for download.
• Auto-Logout: If a number other than zero is supplied here, ASM will automatically log the current
user out after this many minutes of inactivity (activity is defined as opening a tab).
• HeartbeatInterval: The number of milliseconds between heartbeat calls to the database (ASM
sending the database a quick job to do to keep the connection open - this is useful for hosted databases).
75
Chapter 15
ASM at the Command Line
15.1
Command Line Interface
ASM offers a powerful command line interface to integrate with your operating system. This allows you to
perform actions non-interactively and without the need for a graphical user interface.
It is possible to automate the creation of reports and publishing to the internet at present.
15.2
Commands
All commands start with a call to the ASM command line tool “asmcmd”. On UNIX machines, you can
simply type “asmcmd” at a terminal to see it working. Windows users will have a batch file named “asmcmd.bat” in their C:\Program Files\Asm folder. Therefore for Windows, you must prefix all commands with
“C:\Progra˜1\Asm\asmcmd.bat”. Eg: C:\Progra˜1\Asm\asmcmd.bat <command> [options]
15.2.1
publishwww
The publishwww command invokes the internet publisher. It accepts the following options:
• includecase: Includes cruelty case animals
• includereserved: Includes reserved animals
• includefosters: Includes fostered animals
• includewithoutimage: Includes animals without an image
• excludeunder=<weeks>: Excludes animals under <weeks> age from the set
• style=<style>: Looks for a directory called <style> in the DBFS /internet folder and uses the
pib/pif/pih.dat files in there instead. If you use“.” for the style name (the default), it uses pib/pif/pih.dat
in the /internet folder. From v2.2.0 the styles available are “sm.com” or “plain” - the “.” style will not
work from ASM v2.2.0
• animalsperpage=<number>: The number of animals to display per HTML page generated
• uploaddirectly: Upload directly to your webspace
• uploadall: Upload all of the animal’s images in the format sheltercode-X.jpg
• forcereupload: Force reuploading of animal images
• generatejavascriptdb: Generate the JavaScript database - required for the search page
• thumbnails: Generate 70 pixel thumbnail images for all animal images with a tn prefix
76
15.2. COMMANDS
CHAPTER 15. ASM AT THE COMMAND LINE
• ftproot=<root>: Overrides the system set FTP Root Directory from the publisher settings. This
allows you to publish animals to different areas of your FTP space with different critera
• ftphost=<host>: Overrides the system set FTP Host
• ftpuser=<user>: Overrides the system set FTP user
• ftppass=<password>: Overrides the system set FTP password
• scaleimages=<scale>: Sets image scaling from the following values. 1 = No Scaling, 2 = 320x200, 3
= 640x480, 4 = 800x600, 5 = 1024x768, 6 = 300x300, 7 = 95x95
• order=<order>: Sets the ordering of published animals. 0 = longest on shelter first, 1 = newest first,
2 = alphabetical by name
• limit=<limit>: Sets how many animals to output, 0 = all matching animals.
• extension=<extension>: Sets the file extension to use for pages. The default is html, but if you have a
webserver that requires PHP or another scripting language in the header block, specify a new extension
with this option.
• includelocations=<locations>: Includes animals in the locations specified. Note that you specify
locations as a name or a valid part of the name. If you need to use spaces, substitute them for the
percentage symbol (%).
Example:
asmcmd publishwww includecase includereserved excludeunder=8
animalsperpage=10 uploaddirectly generatejavascriptdb scaleimages=2
style=sm.com includelocations=Top%Block,Bottom%Block
Note that if you omit any of the values, they are defaulted to the same values you see on the publish screen
normally. Omitting the “includelocations” option will cause ASM to assume all locations.
Important Note: DOS does not allow the equals sign to appear in an argument (since it is the DOS
variable delimiter). You should substitute the colon “:” for the equals sign on Windows platforms. Eg:
asmcmd publishwww excludeunder:8 scaleimages:2 style:sm.com
includecase includereserved includewithoutimage
15.2.2
publishpf
This command is identical to publishwww, except it publishes to Petfinder.com. The following options are
not valid for publishpf:
generatejavascriptdb, uploaddirectly, animalsperpage.
15.2.3
publishpets911
This command is identical to publishpf, except it publishes to Pets911.com. The following options are not
valid for publishpets911:
generatejavascriptdb, uploaddirectly, animalsperpage, uploadall.
15.2.4
publish1800sap/publishadoptapet
This command is identical to publishpf, except it publishes to 1-800-Save-A-Pet.com/AdoptAPet.com. The
following options are not valid for publish1800sap:
generatejavascriptdb, uploaddirectly, animalsperpage, uploadall.
However, an additional option “includecolors” is allowed for this publisher, to include colour information
for the animals. You will have to map your set of colours to the adoptapet.com standard ones in your
import.cfg file.
77
15.2. COMMANDS
15.2.5
CHAPTER 15. ASM AT THE COMMAND LINE
publishrescuegroups
This command is identical to publishpf, except it publishes to www.petadoptionportal.org (a portal site run
by rescuegroups.org). The following options are not valid for publishrescuegroups:
genearatejavascriptdb, uploaddirectly, animalsperpage, uploadall.
15.2.6
publishsmarttag
This command causes ASM to send any outstanding animals that have been adopted recently with a SmartTag PETID to SmartTag for their records.
15.2.7
runreport
This command will execute the report with the given title. Note that this only applies to custom reports
and they must be non-interactive - ie. They cannot request values from the user. Attempting to run an
interactive custom report will result in an error.
The report output is piped to STDOUT. This means you can redirect it to a file of your choice in a script
and then take further action (NB: This works for both Windows and UNIX).
Example:
asmcmd runreport Custom%Inventory > file.html
Runs the report named “Custom Inventory” and saves it to “file.html”.
15.2.8
getmediafile
This command allows you to retrieve a media file from the dbfs at the command line. You need to supply
the ID of the media record containing the file you want. The file is saved to the current directory with the
name on the media record.
Example:
asmcmd getmediafile 28
Retrieves the media file named in the media record with ID 28.
15.2.9
dbfsdownload
This command allows you to retrieve any file or directory from the dbfs at the command line. You need
to specify the DBFS directory and name of the file/directory you want. The file/directory will be saved to
the current directory. DBFS Directories should be specified absolutely (starting with a slash) from the root
of the filesystem. Any filenames containing spaces should be enclosed in quotation marks (eg: “Adoption
Form.doc”)
Examples:
asmcmd dbfsdownload /reports head.dat
asmcmd dbfsdownload /templates AdoptionForm.doc
asmcmd dbfsdownload / internet
Note that you should put quotes around any directory or file names containing spaces.
15.2.10
dbfsupload
This command allows you to store any file or directory in the dbfs at the command line. You need to specify
the target DBFS directory and local path to the file or directory you want to store (absolute or relative).
DBFS Directories should be specified absolutely (starting with a slash) from the root of the filesystem.
Examples:
78
15.2. COMMANDS
CHAPTER 15. ASM AT THE COMMAND LINE
asmcmd dbfsupload /reports head.dat
asmcmd dbfsupload /templates C:\users\jim\new_form.rtf
asmcmd dbfsupload /internet mynewstyle
Note that you should put quotes around any directory or file names containing spaces. If a file or directory
exists with the same name as the file/directory to upload, ASM will remove it first (it will not merge the
two).
15.2.11
dbfsdelete
This command allows you to delete any file or directory from the dbfs at the command line. You need to
specify the target DBFS directory and name of the file or directory you want to delete. DBFS Directories
should be specified absolutely (starting with a slash) from the root of the filesystem.
Examples:
asmcmd dbfsdelete /templates Oldform.odt
asmcmd dbfsdelete /templates Microchip_Forms
79
Chapter 16
Appendices
16.1
Custom Buttons
ASM allows you to add additional buttons to the animal, owner and movement forms. You can use these to
integrate to other systems and add useful shortcut commands.
You will need to create a file called “custom.properties” in the .asm folder in your home directory.
An example button definition would look something like:
animal.button.1.tooltip = My Button
animal.button.1.action = http://myserver/page.cgi?<<ShelterCode>>
animal.button.1.icon = actions-Medical-24.png
animal.button.1.hotkey = m
The action can either be an HTTP URL (in which case, it will be opened in the internal viewer if appropriate),
or a command to execute. Animal or Owner wordkeys can be used as shown to substitute values in the
command to run.
The icon has to be one from the ASM res directory. A full list of these can be found at 16.9.
You can use the owner. prefix for owner buttons and the movement. prefix for movement buttons.
Increment the number after “button.” for each button you create in the file.
16.2
dotasm dbfs folder
You may want to set the custom.properties mentioned above on a system wide basis for users (or some of
the other settings configured through files in the .asm folder).
If you create a folder called “dotasm” at the root level under System->Media Files, you can put any files
there that you would like to appear in the .asm folder of any client machine (they will download them each
time ASM starts).
16.3
Importing Data From PetFinder.com
ASM can import animal data from the SQL extracts sent out by PetFinder.com. The extract files are
actually the latter part of a SQL INSERT statement and look like this:
(8519600,’Dog’,’M’,’Shepherd’,’Adult’,’DogName’,’SC543’,’L’,’F’,
’Some info about the dog.’,’*’,’hasShots,altered’,’2007-05-29’, ,
’2009-05-24 21:30:07’,NULL,’X’,’Shepherd’, ,123,NULL);
ASM can read these files and create basic animal records from them. You can find this option under System>Database Tools->PetFinder Import.
80
16.4. BACKING UP
16.4
CHAPTER 16. APPENDICES
Backing up
If you are using ASM’s built in, local database, then backing up is simple. All you need to do is copy the
files prefixed with localdb in $HOME/.asm
For Windows XP, this is C:\Documents and Settings\User\.asm, for Windows Vista and 7, C:\Users\User\.asm
You can restore by copying those files back to their original location.
16.5
Networking ASM
If you have a local area network (LAN) at your shelter, you can share your database across the network and
allow multiple ASM clients to use it. Designate one of your ASM machines as the server (whichever suits
you) and make sure you have opened ASM at least once on the machine to make sure the database has been
fully created.
Now, start the ASM Database Server process. For Unix/Mac users, you need to start the run hsqlserver.sh
script (for Mac users, this is inside the ASM.app directory). Windows users, use the “ASM Local Database
Server” shortcut, found on the Start Menu and inside the Animal Shelter Manager folder.
A successful database server startup looks like the following:
Once the server is running, you can reopen ASM on the server machine and verify that everything is
working correctly.
To get the other machines on your network talking to your server, install ASM on them, then when
prompted for the database hit the Scan button. ASM will search for (and after a short wait) and find your
database server and fill in the details for you. You can then hit Ok to connect. If you have a large network,
or are familiar with hostnames and IP addresses and know where to find your server machine, then you can
fill in the hostname and save the time scanning.
81
16.6. WORDKEYS
CHAPTER 16. APPENDICES
If your client machines already had local databases of their own, you can use the Preferences->Switch
Database menu option to bring up the select database dialog and then hit scan.
Note that once you have linked a client to the server, the client will not start in future until the server is
running.
If you would like to network ASM across the internet, and have access from anywhere with a web browser,
then database accounts are available for a small fee from http://www.sheltermanager.com
16.6
Wordkeys
The following wordkeys are available in different areas of the system when generating documents from templates. Wordkeys should be placed in your templates, wrapped in double angle-brackets. Eg: <<AnimalName>>
16.6.1
Animal Keys
Animal keys are available for documents generated from the animal details and movement tab of the animal
screens.
• ShelterCode - The animal’s shelter code
• ShortShelterCode - The shortened version of the shelter code
• Age - The animal’s age in readable form (eg: “5 years and 6 months”)
• AnimalComments - The animal comment box
• HealthProblems - The health problems field
• AcceptanceNumber - The acceptance number
• AddressOfPersonBroughtAnimalIn - The full address of the person who brought the animal in
• AnimalName - The animal’s name
• AnimalTypeName - The animal’s type
• BaseColourName (BaseColorName for US users) - The animal’s colour
• BreedName - The animal’s breed. If the “Use single breed field” option is not set and the animal is a
crossbreed, ASM will output the this field as “Breed 1 / Breed 2” to indicate that the animal is a cross
of two breeds.
• InternalLocation - The animal’s location within the shelter
• CoatType - The animal’s coat type
• AnimalComments - The animal comments box
• AnimalCreatedBy - The user who created the animal record (AnimalCreatedByName for full user
name)
• AnimalCreatedDate - The date the animal record was created
82
16.6. WORDKEYS
CHAPTER 16. APPENDICES
• DateBroughtIn - The date the animal was first brought to the shelter
• MonthBroughtIn - The month the animal was first brought to the shelter
• DateOfBirth - The animal’s date of birth
• EstimatedDOB - The word (estimated) if the estimated date of birth flag is ticked on the animal, or a
blank string if not.
• AgeGroup - The animal’s age group (the defaults are Baby, Adult, Young Adult and Senior). These
can be configured under the System->Options screen.
• DisplayAge - If the EstimatedDOB flag is set, outputs the age group, if not, outputs a string representation of the animal’s age.
• DisplayDOB - If the EstimatedDOB flag is set, outputs the age group, if not, outputs the animal’s
date of birth.
• DeceasedDate - The date the animal died (if applicable)
• Declawed - “Yes” if the animal has been declawed
• AnimalID - The animal’s internal ID number
• BondedWith - A list of the names and codes of animals this one is bonded with
• MicrochipNumber - The animal’s microchip number
• Microchipped - “Yes” if the animal has been microchipped
• MicrochipDate - The date the animal was microchipped
• Tattoo - “Yes” if the animal has an identifying tattoo
• TattooNumber - The tattoo number
• TattooDate - The date the tattoo was applied
• CombiTested (FIVLTested for US users) - “Yes” if the animal has been combi-tested (or FIV/L testing
for the US)
• CombiTestDate (FIVLTestDate for US users) - The date of the test
• CombiTestResult (FIVResult for US users) - The test result - Positive or Negative.
• FLVResult - The result of the FLV test - Positive or Negative
• HeartwormTested - “Yes” if the animal has been heartworm tested.
• HeartwormTestDate - The date of the test
• HeartwormTestResult - The result - positive or negative
• HiddenAnimalDetails - The hidden details box
• AnimalLastChangedBy - The user who last changed the animal record (AnimalLastChangedByName
for full user name)
• AnimalLastChangedDate - The date record was last changed
• Markings - The markings box
• NameOfOwnersVet - The owner’s vet box
83
16.6. WORDKEYS
CHAPTER 16. APPENDICES
• NameOfPersonBroughtAnimalIn - The name of the person who brought the animal into the shelter
• TownOfPersonBroughtAnimalIn (CityOfPersonBroughtAnimalIn for US users) - The town the person
who brought the animal into the shelter lives in
• CountyOfPersonBroughtAnimalIn (StateOfPersonBroughtAnimalIn for US users) - The county the
person who brought the animal into the shelter lives in
• NumberInLitter - If this animal is part of a litter, the number of animals in that litter.
• HasSpecialNeeds - “Yes” if the animal has the box ticked for special needs on the vet tab
• Neutered - “Yes” if the animal has been neutered/spayed (usually called “altered” or “fixed” in the US)
• NeuteredDate - The date the animal was neutered
• OriginalOwnerAddress - The address of the animal’s original owner
• OriginalOwnerName - The name of the animal’s original owner
• OriginalOwnerTown (OriginalOwnerCity for US users) - The town of the animal’s original owner
• OriginalOwnerCounty (OriginalOwnerState for US users) - The county of the animal’s original owner
• OriginalOwnerPostcode (OriginalOwnerZipcode for US users) - The original owner’s post/zipcode
• OriginalOwnerSurname (OriginalOwnerLastName for US users) - The original owner’s surname
• OriginalOwnerForenames (OriginalOwnerFirstNames for US users) - The original owner’s forenames
• OriginalOwnerInitials - The original owner’s initials
• OriginalOwnerTitle - The original owner’s title
• OriginalOwnerHomePhone - The original owner’s home phone number
• OriginalOwnerWorkPhone - The original owner’s work phone number
• OriginalOwnerMobilePhone - The original owner’s mobile phone number
• OriginalOwnerEmail - The original owner’s email address
• CurrentOwnerName - The name of the animal’s current owner
• CurrentOwnerAddress
• CurrentOwnerTown (CurrentOwnerCity for US users)
• CurrentOwnerCounty (CurrentOwnerState for US users)
• CurrentOwnerPostcode (CurrentOwnerZipcode for US users)
• CurrentOwnerHomePhone
• CurrentOwnerWorkPhone
• CurrentOwnerMobilePhone
• CurrentOwnerEmail
• PostcodeOfPersonBroughtIn (ZipcodeOfPersonBroughtIn for US users) - The post/zipcode of the person who brought the animal in.
• RabiesTag - The animal’s rabies tag
84
16.6. WORDKEYS
CHAPTER 16. APPENDICES
• GoodWithCats - “Yes/No/Unknown”
• GoodWithDogs - “Yes/No/Unknown”
• GoodWithChildren - “Yes/No/Unknown”
• HouseTrained - “Yes/No/Unknown”
• EntryCategory - The entry category of the animal
• ReasonForEntry - The reason the animal was brought to the shelter
• ReasonNotBroughtByOwner - The reason (if any) that the animal was not brought in by the owner
• Sex - The animal’s sex
• Size - The animal’s size
• SpeciesName - The animal’s species
• ReclaimedDate - The date (if applicable) that the animal was reclaimed by its owner
• MostRecentEntry - The date the animal most recently entered the shelter (if it was returned from an
adoption or fostering for example)
• MostRecentMonthEntry - The month the animal most recently entered the shelter
• TimeOnShelter - A readable string showing the time the animal has spent on the shelter (from the last
time it entered), eg: 4 weeks.
• NoTimesReturned - The number of times the animal has been returned to the shelter
• HasValidMedia - “Yes” if the animal has a photo flagged for website generation
• WebMediaFilename - The filename of the animal’s preferred picture
• WebMediaNotes - The notes box to accompany the picture
• WebMediaNew - “Yes” if the animal has not been published via the web publishing tool
• WebMediaUpdated - “Yes” if the notes on the media for the animal have been edited since the animal
was last published via the web publishing tool
• AnimalOnShelter - “Yes” if the animal is on the shelter
• AnimalIsReserved - “Yes” if the animal has been reserved
• VaccinationNameX - Where X is a number, indexing the vaccination records for the animal, the name
of the vaccination (eg: Booster)
• VaccinationRequiredX - The date the vaccination is required
• VaccinationGivenX - The date the vaccination was given
• VaccinationCommentsX - The vaccination comments box
• VaccinationNameLastX - Where X is a number, indexing the vaccination records for the animal from
most recent first, the name of the vaccination (eg: Booster)
• VaccinationRequiredLastX - The date the vaccination is required
• VaccinationGivenLastX - The date the vaccination was given
• VaccinationCommentsLastX - The vaccination comments box
85
16.6. WORDKEYS
CHAPTER 16. APPENDICES
• MedicalNameX - Where X is a number, indexing the medical treatment records for the animal, the
name of the medical treatment
• MedicalFrequencyX - How often the treatment is given (eg: Monthly)
• MedicalNumberOfTreatmentsX - The total number of treatments
• MedicalStatusX - The treatment status (eg: Active)
• MedicalDosageX - The treatment dosage
• MedicalStartDateX - The date treatment started
• MedicalTreatmentsGivenX - How many treatments the animal has had
• MedicalTreatmentsRemainingX - How many treatments are remaining
• MedicalCommentsX - The medical comments
• DietNameX - Where X is a number, indexing the diet records for the animal, the name of the diet
• DietDescriptionX - Where X is a number, indexing the diet records for the animal, the diet description
• DietDateStartedX - The date the diet started
• DietCommentsX - Any comments on the diet
• DietNameLastX - Where X is a number, indexing diet records from the most recent first, the name of
the diet
• DietDescriptionLastX - Where X is a number, indexing diet records from the most recent first, the diet
description
• DietDateStartedLastX - The date the diet started
• DietCommentsLastX - Any comments on the diet
16.6.2
Movement Keys
Movement keys are available for documents generated from the movement tab of the animal/owner screens.
Since movements tie together animals and owners, all of the animal and owner keys are also available for
movement documents.
• AdoptionID - The adoption number
• AdoptionDate - The date of the adoption
• ReservationDate - The date the animal was reserved (if it’s a reserve record)
• ReturnDate - The date the animal was returned from this movement
• FosteredDate - The date the animal was fostered (if applicable)
• TransferDate - The date the animal was transferred (if applicable)
• MovementDate - The date the animal was moved (whatever the type)
• MovementType - The movement type (eg: Adoption, Foster, Transfer, etc)
• AdoptionNumber - The adoption number
• AdoptionDonation - The amount donated for the adoption
• AdoptionCreatedBy - The user who created the movement record (AdoptionCreatedByName)
86
16.6. WORDKEYS
CHAPTER 16. APPENDICES
• AdoptionCreatedDate - The date the movement was created
• AdoptionLastChangedBy - The user who last changed the movement (AdoptionLastChangedByName)
• AdoptionLastChangedDate - The date the movement was last changed
• InsuranceNumber - If your shelter insures animals as they are adopted, the insurance number
16.6.3
Owner Keys
Owner keys are available for documents generated from the owner and movement screens, they are also
available for documents generated from the donation tab.
• OwnerTitle
• OwnerInitials
• OwnerForenames (OwnerFirstNames for US users)
• OwnerSurname (OwnerLastName for US users)
• OwnerComments
• OwnerCreatedBy (OwnerCreatedByName)
• OwnerCreatedDate
• HomeTelephone
• OwnerID
• IDCheck - “Yes” if the owner has been homechecked
• OwnerLastChangedDate
• OwnerLastChangedBy (OwnerLastChangedByName)
• OwnerAddress
• OwnerName
• OwnerTown (OwnerCity for US users)
• OwnerCounty (OwnerState for US users)
• OwnerPostcode (OwnerZipcode for US users)
• WorkTelephone
• MobileTelephone
• OwnerEmail
• MembershipNumber
• MembershipExpiryDate
87
16.7. USING IMAGES IN DOCUMENTS
16.6.4
CHAPTER 16. APPENDICES
Donation Keys
Donation keys are available for documents generated from the donation tab. Keys for the owner making the
donation are also present and if the donation is linked to an animal, animal keys are also present.
• DonationID
• DonationType
• DonationDate - The date the donation was received
• DonationDateDue - If the donation is a recurring payment, the date it is due
• DonationAmount
• ReceiptNum - If you issue receipts for donations, the receipt number
• DonationComments
• DonationCreatedBy (DonationCreatedByName)
• DonationCreatedDate
• DonationGiftAid - (en GB only), if the donation qualified for gift aid
• DonationLastChangedBy (DonationLastChangedByName)
• DonationLastChangedDate
16.7
Using Images in Documents
ASM can include the animal’s main picture with any generated template if you are using OpenOffice, Abiword
or Microsoft Office 2007.
16.7.1
OpenOffice
For OpenOffice, insert the placeholder.jpg image in your template where you would like the animal’s picture to
appear (go to Insert->Picture->From File and pick placeholder.jpg from the Program Files/ASM/data/media/templates
directory).
You can size the image as you want it to appear and add any effects.
16.7.2
Abiword
For Abiword, insert the placeholder.jpg image in your template where you would like the animal’s picture to
appear (go to Insert->From File and pick placeholder.jpg from the Program Files/ASM/data/media/templates
directory).
You can size the image as you want it to appear and add any effects. Right click on the image and pick
“Image” from the popup menu. Then, go to the title field, and enter the word “media”. This allows ASM to
find the image you want to be substituted for the animal’s picture.
16.7.3
Microsoft Office 2007
Insert the placeholder.jpg image in your template where you would like the animal’s picture to appear (go
to the Insert options on the ribbon, then click Picture, then From File and pick placeholder.jpg from the
Program Files/ASM/data/media/templates directory).
Size the image as you want it to appear, add any effects necessary.
88
16.8. SYSTEM PROPERTIES
16.8
CHAPTER 16. APPENDICES
System Properties
Certain system properties can be set that change the behaviour of ASM at the system level. These do not
have options in the user interface as they are not things user should generally be changing or aware of.
To set these, they need to placed after the call to Java when ASM starts up.
For Windows, you will need to edit the asm.bat file in Program Files\ASM. Eg:
C:\Program Files\ASM\Java\bin\java.exe -Dasm.log.debug=true -cp (etc.)
For Linux/Unix, you’ll need to edit the run.sh bash script in the asm directory (it can be found in /usr/share/asm
for Debian packages).
For MacOSX, you’ll need to use the terminal application and edit the asm script in ASM.app/Content/MacOS
The system properties are:
• -Dasm.log.debug=true - Enables additional debug logging in $HOME/.asm/asm.log. Also, turns on
various advanced options, such as the System->Database Tools->Database Copy facility to allow moving an ASM database between different types/servers, The System->Database Tools->Database Update tool for running batch scripts and facilities to run the Java garbage collector.
• -Dasm.fontsize.textarea=[size] - Changes the size of the font in text area fields (these are the large edit
boxes on various screens). Set [size] to a font size in points.
• -Dasm.shellexecute=internal - Normally, ASM will figure out if the OS knows how to open the correct
program for a file. If you set this system option to “internal”, ASM will let you keep a separate list
of filetypes and what program to open them with. A “Configure File Types” menu option will appear
under the Preferences menu to allow editing of them.
16.9
Available Icons
The following icons are available when creating custom buttons (see 16.1):
89
16.10. DATABASE TABLES/COLUMNS
CHAPTER 16. APPENDICES
16.10
Database Tables/Columns
16.10.1
animal
The animal table holds a row for each animal on the system. Various denormalised fields at the end are used
to track the current movement, whether the animal is on shelter, etc. These are useful for writing reports.
Name
Type
ID
INTEGER
AnimalTypeID
AnimalName
NonShelterAnimal
INTEGER
VARCHAR
INTEGER
CrueltyCase
INTEGER
BondedAnimalID
BondedAnimal2ID
BaseColourID
SpeciesID
BreedID
Breed2ID
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
BreedName
VARCHAR
CrossBreed
INTEGER
Description
A unique, incrementing number that identifies
this record
Link to the animaltype table
The animal’s name
1 if the animal is a non-shelter animal (kept out
of figures)
1 if the animal is a cruelty case (all 0/1 fields link
to lksyesno table)
Animal ID of bonded animal 1 (or 0)
Animal ID of bonded animal 2 (or 0)
Link to the basecolour table
Link to the species table
Primary breed (link to the breed table)
Secondary breed (same as primary if not
crossbreed)
Name of breed in form breed1 / breed2 if
crossbreed
1 if animal is a crossbreed
90
16.10. DATABASE TABLES/COLUMNS
CHAPTER 16. APPENDICES
Name
CoatType
Markings
ShelterCode
ShortCode
UniqueCodeID
Type
INTEGER
VARCHAR
VARCHAR
VARCHAR
INTEGER
YearCodeID
INTEGER
AcceptanceNumber
DateOfBirth
AgeGroup
DeceasedDate
VARCHAR
TIMESTAMP
VARCHAR
TIMESTAMP
Sex
Identichipped
IdentichipNumber
IdentichipDate
Tattoo
TattooNumber
TattooDate
Neutered
NeuteredDate
CombiTested
INTEGER
INTEGER
VARCHAR
TIMESTAMP
INTEGER
VARCHAR
TIMESTAMP
INTEGER
TIMESTAMP
INTEGER
CombiTestDate
CombiTestResult
TIMESTAMP
INTEGER
FLVTestResult
HeartwormTested
HeartwormTestDate
HeartwormTestResult
Declawed
HiddenAnimalDetails
AnimalComments
OwnersVetID
INTEGER
INTEGER
TIMESTAMP
INTEGER
INTEGER
VARCHAR
VARCHAR
INTEGER
CurrentVetID
INTEGER
OriginalOwnerID
BroughtInByOwnerID
INTEGER
INTEGER
ReasonForEntry
VARCHAR
ReasonNO
VARCHAR
DateBroughtIn
EntryReasonID
HealthProblems
PutToSleep
PTSReason
PTSReasonID
TIMESTAMP
INTEGER
VARCHAR
INTEGER
VARCHAR
INTEGER
91
Description
Link to lkcoattype table
Distinguishing features field
The animal’s shelter code
The short version of the shelter code
The next UUU code can be generated by doing
MAX(UniqueCodeID)
The next NNN code is MAX(YearCodeID) for
matching brought in year and type
The acceptance number/Litter ID
The animal’s date of birth
The animal’s age group based on date of birth
Date the animal died, if null the animal is still
alive
Link to the lksex table
1 if the animal is microchipped
The animal’s microchip number
The date the animal was microchipped
1 if the animal has an ear tattoo
The animal’s tattoo number
The date the animal was tattooed
1 if the animal has been neutered/spayed
The date the animal was neutered/spayed
1 if the animal has been combi tested (FIV/L
tested for US locale)
The date of the combi/FIV/L test
The combi result or FIV result for US (link to
lksposneg table)
The FLV result for US locale
1 if the animal has been heartworm tested
Date of the heartworm test
The result (link to lksposneg table)
1 if the animal has been declawed
Hidden animal comments
The animal’s comments
Link to the owner’s vet (owner table, 0 for no
value)
Link to the current vet (owner table, 0 for no
value)
Link to the original owner (owner table)
Link to the owner who brought the animal in
(owner table)
Freeform text, reason animal was brought to
shelter
Freeform text, reason original owner didn’t bring
the animal in
The date the animal was brought into the shelter
Reason for entry (link to entryreason table)
Health problems box on Vet tab
1 if the animal was euthanised
Freeform text, reason the animal died
Euthanasia category - link to deathreason table
16.10. DATABASE TABLES/COLUMNS
CHAPTER 16. APPENDICES
Name
IsDOA
IsTransfer
Type
INTEGER
INTEGER
IsGoodWithCats
IsGoodWithDogs
IsGoodWithChildren
IsHouseTrained
IsNotAvailableForAdoption
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
HasSpecialNeeds
ShelterLocation
INTEGER
INTEGER
DiedOffShelter
INTEGER
Size
RabiesTag
Archived
ActiveMovementID
INTEGER
VARCHAR
INTEGER
INTEGER
ActiveMovementType
INTEGER
ActiveMovementDate
ActiveMovementReturn
HasActiveReserve
MostRecentEntryDate
TIMESTAMP
TIMESTAMP
INTEGER
TIMESTAMP
TimeOnShelter
VARCHAR
DaysOnShelter
DailyBoardingCost
INTEGER
FLOAT
AnimalAge
RecordVersion
VARCHAR
INTEGER
CreatedBy
CreatedDate
LastChangedBy
LastChangedDate
VARCHAR
TIMESTAMP
VARCHAR
TIMESTAMP
16.10.2
Description
1 if the animal was dead on arrival to the shelter
1 if the animal was a transfer from another
animal shelter
Link to the lksyesnoun table for yes/no/unknown
Link to the lksyesnoun table for yes/no/unknown
Link to the lksyesnoun table for yes/no/unknown
Link to the lksyesnoun table for yes/no/unknown
1 if the animal should not be included for
publishing as adoptable
1 if the animal has special needs
Location on shelter (link to internallocation
table)
1 if the animal died off shelter (won’t be included
on figures reports)
animal’s size (link to lksize table)
The rabies tag field
1 if the animal is off shelter now
Link to the adoption table for the latest
movement for this animal
Link to lksmovementtype for the current
movement type
The current movement date
The current movement’s return date
1 if the animal has an open reservation
The most recent entry date - either
DateBroughtIn or ActiveMovementDate
Readable time spent on shelter (eg: 1 year, 3
months)
Number of days spent on shelter
The cost of one days board on shelter for this
animal
Readable animal age (eg: 1 year, 3 months)
For optimistic locking, each save increments this
lock value
Name of user that created this record
Date this record was created
Name of user that last changed this record
Date this record was last changed
adoption
The adoption table holds a row for each movement attached to an animal/owner.
Name
Type
Description
ID
INTEGER
AdoptionNumber
VARCHAR
AnimalID
OwnerID
INTEGER
INTEGER
92
A unique, incrementing number that identifies
this record
A unique string identifying this movement
(defaults to adoption.ID)
Link to the animal table
Link to the owner table
16.10. DATABASE TABLES/COLUMNS
CHAPTER 16. APPENDICES
Name
RetailerID
Type
INTEGER
OriginalRetailerMovementID
INTEGER
MovementDate
MovementType
TIMESTAMP
INTEGER
ReturnDate
TIMESTAMP
ReturnedReasonID
INTEGER
InsuranceNumber
VARCHAR
ReasonForReturn
ReservationDate
Donation
VARCHAR
TIMESTAMP
FLOAT
ReservationCancelledDate
TIMESTAMP
Comments
RecordVersion
CreatedBy
CreatedDate
LastChangedBy
LastChangedDate
VARCHAR
INTEGER
VARCHAR
TIMESTAMP
VARCHAR
TIMESTAMP
16.10.3
Description
Link to the owner table for a retailer (0 for no
retailer)
Link to another movement in this table for an
original movement to retailer that started this
adoption
The date the animal moved
Link to the lksmovementtype table for the type
of animal movement
The date the animal came back to the shelter
from this movement (or null for not returned)
Link to the entryreason table for reason for
return
If your shelter does short term insurance when
adopting, the policy number
Free text, the reason the animal was returned
For reservation movements, the reservation date
A total of all donations attached to this
movement
If this is a reservation and it has been cancelled,
the date it was cancelled
Movement comments
Optimistic lock flag
User who created this record
Date this record was created
User who last changed this record
Date this record was last changed
media
The media table holds a row for each piece media attached to an animal, owner, etc.
Name
Type
Description
ID
INTEGER
MediaName
VARCHAR
MediaNotes
VARCHAR
WebsitePhoto
INTEGER
DocPhoto
INTEGER
NewSinceLastPublish
INTEGER
UpdatedSinceLastPublish
INTEGER
LastPublished
TIMESTAMP
LastPublishedPF
TIMESTAMP
LastPublishedAP
TIMESTAMP
93
A unique, incrementing number that identifies
this record
The name of the file within the dbfs table always [media.ID].extension
The notes accompanying the media file (used as
description when publishing)
1 if this is the preferred photo of an animal for
use on the web
1 if this is the preferred photo of an animal for
use with generated documents
1 if this media record was created after the last
time a publish was done
1 if this media record was updated after the last
time a publish was done
The date this record was last published to the
web
Date this record was last published to
PetFinder.com
Date this record was last published to
AdoptAPet.com
16.10. DATABASE TABLES/COLUMNS
CHAPTER 16. APPENDICES
Name
LastPublishedP911
Type
TIMESTAMP
LastPublishedRG
TIMESTAMP
LinkID
INTEGER
LinkTypeID
INTEGER
Date
RecordVersion
TIMESTAMP
INTEGER
16.10.4
Description
Date this record was last published to
Pets911.com
Date this record was last published to
RescueGroups PetAdoptionPortal.org
The ID of the record in the table this media is
linked to
Link to lksmedialink table to determine linked
table
Date this record was created
Optimistic lock flag
dbfs
The dbfs table holds a row for each file stored in ASM’s database.
Name
Type
ID
INTEGER
Path
VARCHAR
Name
VARCHAR
Content
LONGTEXT
Description
A unique, incrementing number that identifies
this record
The path to this file in the dbfs. All paths start
with / to denote root (just like Unix)
The filename (matches media.MediaName for
media entries)
The file contents. File contents are Base64
encoded.
94
Index
1-800-Save-A-Pet.com, 57
A
Abiword, 88
Acceptance Numbers, 52
Accounts, 39, 64
additional buttons, 80
Additional Fields, 63
Address Check, 26
AdoptAPet.com, 57
Age Groups, 65
Animal Codes, 65
Animal Death Reasons, 44
Animal Details, 13
Animal Entry Reasons, 44
Animal Figures, 41
Animal Keys, 82
Animal Name Database, 23
Animal Screen, 13
Animals Never Vaccinated, 41
Animals Not Part of a Litter, 43
Animals Returned After Six Months, 43
Animals Returned Within Six Months, 43
Animals Without Photo Media, 41
ASK, 45
Authentication, 66
Auto-Logout, 75
Automatic Insurance Numbers, 67
Available Icons, 89
Average Time At Retailer, 43
Average Time On Waiting List, 44
AVG, 47
B
Banned, 26
Breed Mappings, 62
breeds, 62
Bulk Emailling, 60
C
care officer, 24
Cats Not Combi-Tested, 41
colours, 62
Command Line Interface, 76
Common Animal Adoption Areas, 44
Common Animal Entry Areas, 44
Configuration, 62
Costs, 16
COUNT, 47
CSS, 56
$CURRENT DATE$, 45
Custom Graphs, 48
Custom Reports, 44
D
Data Export, 50
Database, 66
Database Tables/Columns, 90
Dates, 9
day pivot, 36
dbfsdelete, 79
dbfsdownload, 78
dbfsupload, 78
Death, 15
deceased date, 15
Defaults, 67
Detailed Shelter Inventory, 43
Diary, 20
Diary Tasks, 36
Died Off Shelter, 15
Diet, 16
document keys, 22
document template, 23
Documents, 22
Donation Keys, 88
Donations, 27
dotasm, 80
E
Entry Details, 14
F
Find Animal Screen, 11
Find Owner Screen, 24
FIRST, 47
Foster Book, 28
found animal, 30
FTP, 56
G
General Diary, 35
Get more reports, 48
95
INDEX
getmediafile, 78
H
Home Checkers, 26
HSQLDB, 44
HTML, 44
I
IMAGE, 47
images, 19
Images in Documents, 88
Importing Data From PetFinder.com, 80
In/Out, 43
Internal Report Viewer, 75
Internet Publishing, 54
IP Address, 56
ISP, 56
L
LAST, 47
LDAP, 66
Links, 27
Litter IDs, 52
Litter Logging, 51
Local Cache, 50
Log, 21
Long Term Animals, 41
Lookups, 62
Lost Animals, 29
M
Mail Merge, 59
Match Point System, 30
Matching Lost and Found Animals, 30
MAX, 47
Media, 19
Media Files, 63
Medical, 18
Medical Diary, 34
medical treatments, 18
Menu Commands, 8
Merging Owners, 27
Microsoft Office 2007, 88
Microsoft Word, 60
MIN, 47
Monthly Adoptions By Species, 44
Monthly Donations, 44
Most Common Name, 44
Movement, 20
movement, 21
Movement Keys, 86
movement record, 22
MySQL, 44
N
Name Check, 26
INDEX
Networking, 81
Non-Homechecked, 26
Non-Microchipped Animals, 41
Non-Neutered Animals, 41
Non-Shelter Animal, 13
O
OpenOffice, 60, 88
Operating System, 66
Owner Criteria, 26
Owner Criteria Search, 26, 43
Owner Keys, 87
Owner Warnings, 25
Owners, 24
P
$PARENTKEY$, 45
PCT, 47
PetFinder.com, 57
Pets911.com, 57
pib.dat, 56
pif.dat, 56
pih.dat, 56
Postcode Check, 26
PostgreSQL, 44
Previous Owner Check, 26
Printing Search Results, 12
publish1800sap, 77
publishadoptapet, 77
publishpets911, 77
publishpf, 77
publishrescuegroups, 78
publishsmarttag, 78
publishwww, 76
R
Report Grouping, 46
Reports, 41
reservation, 21
Reservation Book, 28
Retailer Book, 28
Retailer Inventory, 43
Retailer Movements, 22
Returned Animals Report, 43
rss, 56
runreport, 78
S
Shelter Inventory, 43
Shortcut Keys, 8
Single Breed, 13
sm.com, 56
species, 62
SQL, 44, 47
SQL Keys, 45
96
INDEX
INDEX
staff member, 24
Status Bar, 9
Sub-Menus, 8
SUBREPORT, 47
SUM, 46
System Locale, 75
System Preferences, 64
System Properties, 89
T
Tables, 9
Temporary tables, 48
Toolbar, 8
Top-Level menus, 8
Transfer In, 43
U
Unwanted Breeds and Species, 62
up, 81
urgency, 33
$USER$, 45
Users, 63
V
Vaccination, 17
Vaccination Diary, 34
VAR, 46
Vet, 14
Vets Diary, 36
Video Capture Method, 75
video source, 19
Volume Of Adoptions Per Retailer, 43
volunteer, 24
Vouchers, 27
W
Waiting List, 32
webspace, 56
Winbond based cameras, 19
word processor, 23
Wordkeys, 82
X
XawTV, 19
97