Current design

Date: 2007-07-23

  1. Current design
    1. Hardware
    2. Software
    3. Tasks
    4. Importing raw data
    5. Complete diagram


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:




More hardware types may be needed, e.g:


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.


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.

Complete diagram