Current design
Date: 2007-07-23
Hardware
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 lintory_table
.
Some attributes deserve special mention:
lintory_hardware
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?
lintory_monitor
size
- monitor size in inches.width
andheight
- I initially imagined these would be width/height in inches, but now suspect width/height in pixels would be better. Especially for LCD monitors.
lintory_storage
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?
Software
A lintory_license
is a license that enables us to use some
lintory_software
. A lintory_license
can be for many lintory_software
, and
a lintory_software
can have many lintory_license
.
An lintory_software_installation
refers to a physical installation of lintory_software
using
the software/license mapping optionally described in lintory_license_key
. The software_id
value must
match the software_id
, if given by the lintory_license_key
.
A 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
a lintory_software_installation
refers to a lintory_os
which is a section of a hard disk
reserved for an OS installation.
Tasks
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 lintory_hardware
?
Importing raw data
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,
or 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. computer_id
and 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.