Friday, August 2, 2019

How to find contributors?

GitHub now helps potential first-time contributors discover issues labeled with “help wanted” or “good first issue”. We must create the labels ourselves on GitHub and then post these issues.

The problem is to find and document issues. Any idea of which ticket we could publish there? I now created #3144.

But before asking for help we should invest more time into the developer’s guide.

Django migrations

This morning Tonis migrated Jane into Django migrations (with Ivo and Luc watching).

I started a new page in the Hosters Guide : Django migrations with Lino.

Lino no longer works with “Django <2.2” but requires “Django>2.2”. Which means that we will probably soon drop Python 2 support altogether. It’s the year 2019 after all. I think we must now dare to say to our customers that their next release will include the passage to Python 3, which includes the passage to Debian 10 because Debian 9 comes with a rather old Python 3.

If you now run Lino in an environment with an old Django, you get quite quickly the following error message:

AttributeError: type object 'MigrationWriter' has no attribute 'register_serializer'

In that case you know that you must run:

$ pip install -U Django

TODO:

  • Rename Site.migration_module to Site.migration_package?

  • Set Site.migration_package automatically when instantiating the SITE? Must every site have a migration package? What about the demo projects?

  • How to migrate a pre-19.8 Lino production site ?

  • Is the old system (Data migrations à la Lino) still possible at all?

Lino Casa

Lino Casa might be an interesting new project for Ivo. The basic idea is to write a management software for apartment associations (korteriühistud). Besides standard accounting features it would have:

  • A table of appartments where each appartment has

    • an owner (a contacts.Parter) who gets invoices

    • a size in square meters which is used for cost distribution

  • Automatically generate monthly sales invoices to all owners. Every appartment will probably act as invoice generator.

Ivo will now talk to managers of such associations and ask them about their needs and expectations regarding a new application.

‘AttributesImpl’ object has no attribute ‘has_key’

Oh, what is causing this failure on Travis?

How can I find a list of packages in my enviroment which would get updated with pip –update?

$ pip list --outdated