Tuesday, July 12, 2016

Configuring logging

I fixed #709. This problem was indeed caused by Django’s changed handling of the LOGGING and LOGGER_CONFIG settings. Lino no longer modifies these settings, and the lino.utils.log module is no longer used. Lino now “extends” Django’s way of configuring logging as explained in the new method setup_logging. We also have a new site attribute logger_filename.

Lino Care continued

I had a voice meeting with Annalisa which produced a nice list of new ideas for Lino Care. I summarize them in German.

  • Kompetenzen automatisch löschen, wenn Benutzer gelöscht wird.
  • Menüstruktur: “Fähigkeiten (alle)” und “Fähigkeiten (hierarchisch)” nebeneinander und im Hauptmenü unter einem Punkt “Fähigkeiten”.
  • Fähigkeiten: Referenz raus
  • Es fehlen noch viele Übersetzungen
  • Im Detail eines Produkts die Kompetenzen anzeigen.
  • “Produkte” umbenennen nach “Optionen”
  • “Produkte” ins Menü “Konfigurierung”
  • Kontakte : komplett raus
  • users.User : inherit Adressable
  • “Stars” übersetzen nach “Favoriten” bzw. “beobachtete Tickets”.
  • Uploads, Outbox und Excerpts raus

Lino Care is the first application application that uses lino_xl but does not use lino_xl.lib.contacts

Side effects:

  • It was not possible to remove an automatically installed plugin using get_apps_modifiers().

  • Moved the hide_region attribute from lino_xl.lib.contacts lino_xl.lib.countries

  • You can now manually set lino.core.actors.Actor.abstract to True when you want to hide a whole table. Usage example is lino_noi.lib.tickets.ui.MyKnownProblems which makes no sense without contacts installed. So I can simply say:

    class MyKnownProblems(Tickets):
        abstract = not dd.is_installed('contacts')

Two bugfixes which I also applied to lino_extjs6.extjs6.elems:

  • RichTextField lost is verbose_name when tinymce was installed. That’s fixed by the new line kw.update(label=field.verbose_name) in lino.modlib.extjs.elems.TextFieldElement and lino_extjs6.extjs6.elems.TextFieldElement
  • lino.modlib.extjs.elems.Panel.wrap_formlayout_elements() now does not add a Wrapper around hidden elements. That was the reason for #1039 (which had been reported in my head only).

I checked in because my manuel test via web interface seemed satisfying. TODO: adapt test suites.

Release on Oikos

I did a release on Oikos. And for their site I thought that it would be a good idea to use the officially released versions of The Lino core, The Lino Extensions Library.

I also thought that it would be a good idea to unite the version numbering of The Lino core, The Lino Extensions Library and The Lino Book. So I released version 1.7.3. of that our Trio.

And then I had a blocking bug in The Lino Extensions Library which had slipped through the test suite: TypeError: notify() takes at most 4 arguments (5 given). So I had to do a bugfix release 1.7.4 at least for The Lino Extensions Library. Now it would be a bit strange to release version 1.7.4 of the other two (The Lino core and The Lino Book) without any code change, just to have the version numbers synchronized.