20140207 (Friday, 07 February 2014)

Production upgrade without release

Yesterday I did an upgrade of a production site. Do I need to do something before continuing development of the master branch in order to mark this moment in history?

I used to do this by doing an official sdist and release on PyPI, but that’s always a bunch of useless work.

I mean that when I will do my next upgrade on that production site, then I’d like to have a way to step back all code projects to this version in case of emergency. But without needing to write down the revision hashcode of each project before doing my general pull.

I though that I can use tags to do something similar. I read some git docs (gittutorial, git-tags) and then ran the following command:

$ pp git tag 20140206

Will this be enough? Future will show me…

GuestStates.accepted

Occasionally I stumble over the following problem:

The GuestStates.accepted workflow state is an interesting special case because it exists only when a given “workflow module” has been imported. More concretely, Renamed “Lino Faggio” to “Lino Voga” doesn’t know this guest state, but Lino Welfare does.

Currently this causes problems when generating the api doc for lino.modlib.reception.

Anwesenheitsbescheinigungen

Cool! Prinzipiell funktioniert es jetzt: wir haben jetzt eine neue Kolonne “Default for” in der Liste der Bescheinigungsarten. Dort wird ein Modell ausgewählt. Ih erstelle eine Bescheinigungsart “Anwesenheitsbescheinigung”, die dort “cal.Guest” reingesetzt kriegt. Wenn ich jetzt (in egal welcher Ansicht) auf einem cal.Guest auf “Bescheinigung ausstellen” klicke, dann erstellt er das Dokument und zeigt es an. Ohne weitere Zwischenfragen.

Jetzt fehlt nur noch der langweiligere Teil: die Vorlagen und die Demo-Datenbank müssen angepasst werden.

Browser extensions

Started research for docs/tickets/96.

After this I decided to remain with Java for some time because websockets is another huge and dynamic chapter of web history, and because DavLink and eidreader work perfectly, the only problem being Java who doesn’t always allow them to work.

Code changes: