A web-app intended to be used by pastoralists in managing pastures, grazing, and animals. All holdings used to the system Although in the UK and, probably, in many other countries, holdings have a unique, government issued, holding number which could rationally be used as a key, internationally we cannot rely on this. A user is a person authorised to see data on a holding. Some users (e.g. vets, farm secretaries) may be authorised to see data on many holdings. Records are not normally deleted from this system because of historical data integrity; we may want to trace the history of an animal across holdings even after a holding has ceased to be active in the system. A pasture within a holding. TODO: how should common pastures, or pastures otherwise shared between holdings, be handled? Polygon is a first-class datatype in PostGIS, but ADL does not yet support this. Solutions: 1. hack ADL to support native polygons; 2. implement our own polygon datatype; 3. work-around in override code. Generally, when pasture boundaries are changed, a pasture record should not be edited; rather it should be marked inactive, and new pasture record(s) created. Records are not normally deleted from this system because of historical data integrity; we may want to trace the history of an pasture even after pasture boundaries have been changed. Indeed, if we treat subdivisions as pastures (which would be quite sensible), active pastures in the system will change quite frequently, especially if strip-grazing is used. An animal on a holding (or which has been on a holding; the historical record is not wiped when an animal dies, is killed, or is sold) Although in the UK and, probably, in many other countries, animals have a unique, government registered, identifying number which could rationally be used as a key, internationally we cannot rely on this. The holding the animal is currently on, if any. Not 'required', since the animal may be dead, or simply moved off to a holding which is not part of the system. The user who recorded this event. Pastures affected by this event. Animals affected by this event. An image of the canvasser, so that other members of their team can recognise them. Information the canvasser supplies about themselves; an introduction. Does a canvasser record need a phone field? There is a phone field on the elector record. I suppose, for under-16 canvassers, there may be no elector record.