Here we have a number of different hardware types, with different attributs, all based on the
lintory_hardware table. That is all hardware items have the attributes in
Some attributes deserve special mention:
type_id- the type of this hardware, to allow getting all fields when the type is not known.
auto_delete- if this hardware item was not found automatically, it should not be deleted automatically.
auto_*- these are fields automatically determined from automatic probing. Sometimes it does not match what we expect. We keep a seperate copy of these, so we can tell if they have changed or not.
seend_first- when was this hardware first seen?
seend_last- when was this hardware last seen?
size- monitor size in inches.
height- I initially imagined these would be width/height in inches, but now suspect width/height in pixels would be better. Especially for LCD monitors.
used_by_id- it is theoriticially possible to have a hard disk installed in one computer, but in use by another. e.g. the block device could be shared over the network. This does not include NFS, Samba, etc, where the disk should still be marked as in use by the server computer.
total_size- total number of sectors on disk
More hardware types may be needed, e.g:
- Power supply.
- Display card.
- Processor? CPU?
lintory_license is a license that enables us to use some
lintory_license can be for many
lintory_software can have many
lintory_software_installation refers to a physical installation of
the software/license mapping optionally described in
software_id value must
software_id, if given by the
lintory_software_installation is not for a
lintory_computer, as one computer may have many
OS on a dual boot system. Similarly it is possible to swap hard disks around. Swapping the hard disk
does not swap the computers around. Any OEM licenses are still for the original computers. So
lintory_software_installation refers to a
lintory_os which is a section of a hard disk
reserved for an OS installation.
An attempt to keep track of bulk tasks that must be carried out on many cmputers. e.g. upgrade all Windows
computers to Windows SP3. Maybe this should map to the
lintory_os instead/or as well as the
This is used to keep track of a data file used to represent raw data, that hasn't been procesed, received from a computer.
There is a bit of guesswork involved in importing. Sometimes the import routine may not be able to find
a computer, in which case,
computer_id can be used to force it to chose a computer it wouldn't overwise choose,
create_computer can be set to create a new computer.
Same with the OS.
os_id can be used to force a os that wouldn't otherwise be used, and
os_create will create
a new one.
If an import has already completed,
last_attempt will have the date/time of the last attempt, and
imported will be set to the date/time if it worked correctly. Otherwise
errors will contain any
errors that occured.
os_id, if blank, are automatically filled in when determined
by the importer.
datetime contains the date/time of the data, and
format is the format used.
file points to
a file on disk containing the data.