====================== Tuesday, June 17, 2014 ====================== Release to PyPI? ---------------- Before starting to work on :srcref:`docs/tickets/110` I'd like to do an official release on PyPI of the current version of Lino, :ref:`welfare`, :ref:`cosi` & Co. And also :ref:`faggio`. Before this it would be good to do an upgrade for Roger who will soon reactivate. This upgrade needs a decision: (1) convert :ref:`faggio` to use :mod:`lino.modlib.excerpts` or (2) convert :mod:`lino.modlib.excerpts` to be optional? The :mod:`lino.modlib.excerpts` module seems a great concept which will be of wide use. But (1) Roger did not ask for it, (2) it is annoying for that I must now care about database migration. I must care about database migration because :mod:`lino_xl.lib.cal` and :mod:`lino.modlib.notes` *did* convert to use :mod:`lino.modlib.excerpts`. It is a bit suboptimal for the :ref:`faggio` users when :mod:`lino.modlib.courses` does *not* use it. The (2) alternative above means that I see a strategic injustice: two modules (:mod:`lino_xl.lib.cal` and :mod:`lino.modlib.notes`) *force* an application (:ref:`faggio`) to use a given new module (:mod:`lino.modlib.excerpts`). While this is okay in the given case (for Faggio it is anyway a good thing), this is fundamentally wrong. I don't yet see a solution for it. It comes because the choice of using :mod:`lino.modlib.excerpts` is done per app and not per application: All "printable" objects must inherit either from :class:`lino.modlib.excerpts.Certifiable` or from :class:`lino.mixins.printable.BasePrintable` Resolution: this conversion can wait. It is not such a big catastrophe that :class:`ml.courses.Topic` :class:`ml.courses.Course` and :class:`ml.courses.Enrolment` are still printable instead of certifiable. But I must still fix at least one problem in :ref:`faggio` which comes because I stopped to inject a `course` field into :class:`ml.cal.Event`. In fact there are more than one of these little problems in :ref:`faggio`. And then I had several phone calls which changed my priorities: no, I won't do an official release today. Because nobody asked for it, and because customers are asking for other things! Miscellaneous ------------- - `'module' object has no attribute 'PendingCourseRequests'` This message appeared in :class:`welfare.integ.CompareRequestsTable` (part of :class:`welfare.integ.ActivityReport`). And only in the Chatelet version. Because Chatelet replaces :mod:`lino_welfare.modlib.courses` by :mod:`lino.modlib.courses`. - Excerpts should never get created manually. So I set :attr:`lino.core.actors.Actor.allow_create` to False on :class:`lino.modlib.excerpts.Excerpts`. Social aids ----------- Gerd and I finally reached the :mod:`welfare.aids` module. And hit some first problems. - Error message `coercing to Unicode: need string or buffer, list found` came when trying to select a :attr:`lino.modlib.excerpts.ExcerptType.body_template`. - The `insert_layout` of :class:`welfare.aids.AidsByClient` was too minimal, the amount was missing in `detail_layout`, ... An important point is yet to do: make the templates editable through the web interface: - Replace the current `EditTemplate` action by a virtual html box with action buttons to both the `template` and the `body_template`. - For html templates, don't redirect to a webdav url but open a text editor.