I will explain the each part and function of the Kalibro below. If you are looking for different version's help page, please check this page.
There is a “Quick Search” box and a list box on the left side of main window. All devices recorded in program are listed in the “List of Devices” box. Double clicking the records in the box will clear the form and fetch the data of selected device.
The list box only contains the “Registry No” of devices. When a device is created, the list is updated automatically. If you cannot see the device you added, try
CTRL+U shortcut to update the list manually.
“Quick Search” helps you to search in registry numbers if you type and press enter. Quick search will filter the devices if registry number contains or equals to search term. By clearing “Quick Search” box and pressing enter key or by clicking the cross sign in the box will clear the filter you applied and list all the registry numbers.
Note: All search operations are case-insensitive.
There are some predefined fields to create a device as can be seen from the image. Note that, registry numbers for all devices must be unique. Other than registry number, there is not any mandatory fields. If you are viewing a record or empty form, “Registry No” field becomes “readonly”.
Except “Next Calibration Date” and “Device Status” fields, all fields accept text and the character limit is not well defined by SQLite database so very long texts can be inserted if you need. Moreover, while searching, keep in mind that text fields are case-insensitive.
“Device status” field is a combobox and the values are entered by following the associated menu Operations→Add/Remove Device Status as below.
“Device Statuses” must be unique and statuses depend on your needs. There no predefined statuses, you should create them. If you do not need such a field, just do not use it, it is optional. After you save a new status or delete a status, “Device Status” combobox content is updated. Note that, if you want to delete a device status, you should change status of all devices which use that status.
“Next Calibration Date” field is an important field if you want to track the upcoming calibration dates for your devices. Kalibro uses ISO Date format (year-month-day) as default but you can change it from menu Settings→Localize→Date Format
Calendar window is enabled by clicking “calendar” icon next to “Next Calibration Date” field. After you choose date, press “Get And Close” button to set selected date in form. You can type the date without using the calendar, but you should write it in correct date format.
To see how many days are left for calibration, follow the menu Operations→Calibration Control. Lines in calibration control are colored using how many days left and devices are sorted accordingly.
This grid section is intended to be used as tracking history, comparing planned/realized dates and embedding word, pdf, excel etc. reports for calibration activity and attaching file paths (ex. calibration result reports) associated with each row. There is a popup menu for grid operations which is activated by right clicking on the grid.
“Copy” & “Paste” is to copy grid cell content to clipboard or paste clipboard content to selected cells.
Grid section has its own operations like “Save”, “Add Calibration Record”, “Delete Record”. “Save” action triggered from the popup menu only saves the grid section however “Save” in main form
CTRL+S saves both form and grid.
“Add Calibration Record” menu item or
CTRL+SHIFT+N just creates a new record in grid by assigning an ID and Registry No for row. After you fill the rest of cells or edit the cells on the grid, you must save grid content. There must be an active record on main form before creating new rows in grid.
“Date Picker” menu item creates a calendar window. After “Get And Close” button pressed, selected date is inserted into the cell on which you right clicked to open calendar.
“Open Report Store” menu item is deactivated if there is not any active record on the right clicked row of grid. When it is active, it opens a new window for attaching documents to the rows. Documents are inserted into database.
Different than “Report Store”, which embeds files in database, Kalibro also allows you to add/remove file paths to each grid row. If you drag and drop a file to the grid, file path is taken and put into “File Path” column of associated row. Under file path column, users can only see the file names (no whole path) in blue color but whole path is stored in database. When you put your mouse over file path column not empty, you can see the whole file path. This is an alternative way to store any binary file for calibration activity. Instead of dragging and dropping, users can use the “File” menu under right click menu of the grid. “File” menu allows users to attach/remove file paths and open file or open file's directory.
By using menu Operations→Save Sub Records to File or
CTRL+SHIFT+F, you can save active grid content in CSV format.
Planned Calibration Date and
Realized Calibration Date are date fields and the rest is text. You must enter the dates in the format you selected from Settings→Localize→Date Format.
Registry No columns are readonly and values are entered automatically.
Note 3: Grid row color changes after saved.
As can be seen from Grid it has a “Result” column, which different than other columns because this column's values are entered from the menu below. This menu opens a new dialog which allows to create result types like PASS/FAIL. You can enter whatever you need, it is empty at first. This enables users to select different result types from predefined values for a calibration record. There is an example below.
All the fields plus additional fields you defined are searchable. Search window is opened by “Search” button on main form. After searching, by clicking on lines of search result (if any) will make the record active on the main form. Additional fields labels changes if you label differently in “Additional Fields” window.
Reporting button is to open reporting window for the records in the search result list. Keyboard shortcuts can be seen from the “Operations” menu of search window.
You can enter any input into the fields and press Search Button. Then Kalibro searches your term in the shown fields and does case-insensitive search. If you do not use any special characters, your search term is searched whether the field contains the term and fetches the result(s) in the list below the form. If you want to do advanced search you should use special characters which are = % ; ! < > <= >= .. _
There may be some cases in which you may need some additional fields to store specific data. When there is an active record on main form, by clicking “Additional Fields” button, you can open the window. There are currently 4 different additional fields. First one is for integer values, second and third one are for text values and fourth one is for date values.
“Save” button saves both “Label Values” and “Field Values”. “Label Values” are same for all devices but “Field Values” are associated with the active device record. If you change the label values, after saving you need to close and reopen the “Addition Fields Window” to see the effect. Reporting and Searching use the label values appropriately.
Note: Clear all values from the fields and press save for deletion.
Settings are saved in
kalibro.cfg file in “config” folder of application directory. Please do not edit the file manually if you do not know how to edit python's configuration files.
Usage of Kalibro is very simple. From menu Operations→Add Device or
CTRL+N asks you if you want to create a new record. After accepting, form is cleaned and “Registry No” field becomes editable. You must save the record after you fill the fields otherwise it will not be a permanent record in database. After saved, you cannot change the registry number of the record. The only way is delete the record and create a new one.
Kalibro is able to give HTML and CSV reports. Follow the menu Operations→Reporting to open reporting. “Toggle Items” button checks or unchecks all the devices in the list. You can access reporting from “Search Window” which lets you to have reports for filtered devices. Note: Only the checked items in the list is shown in reports.
Note: Additional fields are always shown in CSV reports but in HTML reporting additional fields are shown if you enter data for those fields before reporting.
Kalibro uses SQLite as database. It is an ordinary file in application folder and named as
kalibro.sqlite. All things except settings are recorded in this file, so this is the most important file you have in Kalibro. When Database Backup setting is enabled, another file as
kalibro.sqlite.bak is created or replaced if exists. Sometimes, you should backup your database file to another location in case of data loss. You can compress your backups if you want to save some space. In future versions, internal backup will be better.
With the version 2.4b1 Kalibro supports importing data from CSV files. Please read the wikipedia page for CSV if you don't have much knowledge about the format. There are 6 different tables in kalibro database but 3 of them include vital data. 1st one is main table (holds form section data), 2nd one is subrecords table (holds grid section data) and 3rd one status table (holds status data). Important tables and their columns are listed below.
|Tables||Column 1||Column 2||Column 3||Column 4||Column 5||Column 6||Column 7||Column 8|
Columns' orders are almost same as they are seen in Kalibro's user interface (form and grid section). You can view all the tables with an SQLite editor mentioned in home page of Kalibro.
Database tables look like spread sheets with static column names and data types. It seems an easy job to import from CSV format to database however it is not very easy. Firstly, you may google to create/export CSV files from this link
Altough there are some tools on the internet to import data from CSV to other databases, I created one for Kalibro and for my other needs.
It is called csv2db-importer and it is a builtin tool (different executable) in Kalibro's application folder starting from version 2.4b1
Note: Firefox extension SQLite Manager can import from CSV and export to CSV for SQLite databases.
You should run
csv2db-importer.exe (in application directory) after exiting Kalibro, if you will import data to Kalibro. Then create a copy of kalibro.sqlite file as kalibro.test.sqlite in case of any error. You should work on “kalibro.test.sqlite” file and after successful import, you can simply rename the file.
Note: If you have never used Kalibro before, running Kalibro one time creates kalibro.sqlite database file.
There is a file called
kalibro_main.csv2db in application folder. This file holds the settings to be used in
csv2db-importer to import to main table. For other tables check files having extension .csv2db in application directory.
When you open
kalibro_main.csv2db file with
csv2db-importer, settings will ben seen as shown in screenshot. You should correctly define date/time formats, column separator, string delimiter, etc. After CSV settings are set, you should select the CSV file. In the screenshot,
main.csv file is selected as an example. Do not forget to read tool tips.
As shown in the screenshot,
kalibro.test.sqlite file is selected to import in database settings tab. Columns can be entered into grid after clicking “Get Table Definition” button assuming table name exists. If table name does not exist, it populates table names in combobox, firstly. “Get Table Definition” button does not define columns' data types, so you should set them appropriately as shown in screenshot.
As can be seen from the screenshot there are two options namely “Insert” and “Update”. “Insert” is used for creating new records in database table, “Update” is used for updating existing records. if you choose both,
csv2db-importer tries to create new record at first, if fails due to primary keys or unique constraints, it tries to update existing records. You can use only “Insert” or only “Update” per your requirements. If none of them is checked, grid in Import tab is populated as interpreted using the settings defined but import process does not import data to database. This can be used as a dry-run to test CSV and DB settings.
Finally, it is time to import. Be aware that number of columns in CSV file and number of columns defined in DB Settings tab must be equal and column order in DB Settings tab must be exactly same as the column order in CSV file. That is to say,
csv2db-importer maps the CSV columns and database columns according to the order you defined.