Wednesday, July 27, 2016¶

Support for applications with responsive design¶

Cool! It is now possible to write Lino applications that use different screen layouts depending on the device they are running on. At least theoretically because the basic concepts are now implemented. I opened a new ticket #1076 for this.

The first plugin which uses this new feature is lino_xl.lib.courses (and its descendants lino_voga.lib.courses and lino_voga.projects.roger.lib.courses).

Responsive Design Support was not a very urgent feature, but it will be needed to write a good solution for #1078.

Summary of changes:

• Lino now differentiates between the “models module” and the “actors module” of a plugin.
• New dictionary rt.models contains the “actors” modules of each plugin.
• On plugins which define a design module, the models module should no longer contain actors.
• New site attributes lino.core.site.Site.design_name
• rt.get_actors_module
• Note that choicelists aren’t actors and should be in rt.models

TODO: write documentation and a concrete example.

And I fixed a bug in lino.utils.djangotest which caused one of these tests to fail when being run as part of the suite and to pass when run individually. It seems that Django does not automatically reset the current language between successive tests.