===================================== 20131226 (Thursday, 26 December 2013) ===================================== Django 1.7 will have "plugins" ------------------------------ Aymeric Augustin has implemented for Django 1.7 almost exactly what we were calling "plugins". The new feature is documented as `Applications `_. The official documentation now even contains a note about the confusing terminology for "applications" in Django. I was proud to see that Django finally realizes something I have always been preaching... and wrote `a post to django-developers mailing list `_ Aymeric gave me an advice which I liked: "Your App class contains more data. It is CMS-oriented, with stuff like site_js_snippets. You should look into inheriting AppConfig." I followed his advice and moved the "GUI" functionality from `djangosite` to :class:`lino.ad.Plugin`. Later I looked at the code and saw that Aymeric's implementation has a serious difference which I had not noticed from the documentation: `AppConfig` objects don't get instantiated *before* importing the models, but at the same time. Oops, sorry, but that's now a serious difference. One of the basic ideas of plugins (for me) is that they get loaded and instantiated *before* the settings are ready. They are part of the settings. As a consequence I could not rename my `App` class to `AppConfig` (and inherit from Django's `AppConfig` class). But the name `App` was also not really what I liked. So I renamed it to `Plugin` to avoid mixing them with `AppConfig` classes. I finally got all three user interfaces of :mod:`lino.projects.start` working. There was still a bug in :mod:`lino.modlib.events.fixtures.vor` that had been introduced by the rename of City to Place.