Friday, March 20, 2015

I started to work on a number of “minor” problems discovered with Gerd two days ago.

A new plugin: “Plausibility”

The StrangeClients table was definitively too slow in real life. I finally did what I had been meditating for some time and wrote a whole new plugin lino.modlib.plausibility. I chose the name “plausible” (in the meaning of “credible”, “logical”, “consistent”, “tenable”).

So Lino now has a generic infrastructure for handling this kind of problems. The basic idea is to store the messages in a temporary table instead of running the checks “live” each time when somebody requests to see them.

Users now see in their menu a new command “My plausibility problems”, and I guess that they will be asking “What does Lino know about my problems?” In German we should maybe rather use “Meine Aktenkontrollliste” instead of “Meine Plausibilitätsprobleme”.

  • lino.modlib.plausibility.models.Problem

  • lino.modlib.plausibility.models.CheckPlausibility

  • lino.modlib.plausibility.choicelists.Checker

  • lino.modlib.plausibility.choicelists.Checkers

  • check_plausibility (later renamed to checkdata

Added new utility function lino.core.utils.gfk2lookup(). This code was until now in AbstractTable.get_filter_kw, but moved it to lino.core.utils because it is of general interest, and especially now used by Checker.update_problems.

I wanted a progress bar for check_plausibility and discovered Kenneth Reitz’s clint. Cool!

New tested document Checking for data problems in Lino Welfare.

Similar clients

The algorithm for finding similar clients is not yet good enough. For example if we have two duped clients “Albert Bruno GONZALES” and “Albert GONZALES”, then SimilarPersons for the first client does not show the other.

New module lino_welfare.modlib.similar_clients.

Our famous fictive dupe client Dorothée Demeulenaere-Dobbelstein no longer has a birth_date and a national_id.