20161109 (Wednesday, 09 November 2016)

Lino uses websockets

Hamza and I started to work on #923. I merged a first proof of concept into master. Looks promising. Our simple test case is:

  • Run a devserver in the lino_noi.projects.team project

  • Log in as robin in one browser window and as jean in another (private) window.

  • Make sure that jean has no unseen notifications

  • In the robin window, modify a ticket reported by jean

  • As soon as you save your changes as robin, jean gets a notification alert.

Note that lino.modlib.notify now requires Django channels, so existing development installations must manually do:

$ pip install channels


When linod tried to send an email on a server with problems at SMTP level (e.g. an smtplib.SMTPConnectError), then the daemon process exited with a traceback. Now lino.core.sitre.Site.send_email() logs a warning instead.

I opened ticket #1260 in the hope of getting ideas from others. The problem is that Lino has three commands which do different things but sound similar:

Newbies often mix them up and then stumble. My first spontaneous suggestion is to rename

IOW to ‘prepare’ a project means to run initdb using the default demo fixtures (those defined in demo_fixtures).