November 5, 2013

Release of Colibri 1.0-beta2

by orzel
Categories: Admin, Django, Gentoo, Software
Tags: ,
Comments: 3 Comments

Time flies, and I haven’t made any release of Colibri for a long time, despite it being used in production and bug being fixed as they are found. So here it is. No shiny new feature there, it’s mostly about bug fixing, code cleaning and updating the code. More importantly:

  • Colibri now requires Django 1.6, about to be released in a few days. Chances are that it is released already if you reach this page.
  • Superusers (as in Django) now have access to all lists configuration pages and archives on the public site. They can access everything from the admin/ anyway, and it helps debugging.
  • Several encoding bugs were fixed, most notably related to utf-8 and “Subject” headers.
  • Thanks to Django-1.5 new configurable User model, we now have a clean User, relying only on the email, without any username, faked or not.
  • Don’t trust the automatic changelog, lot of things have happened under the hood and more bugs have been fixed that those cited there.

If you update from 1.0-beta1 or previous, you will need to migrate the database. Here is what need to be done

  • rename the table colibri.auth_user to colibri.emailonlyauth_user
  • delete the field username in colibri.emailonlyauth_user
  • rename the table colibri.auth_user_groups to colibri.emailonlyauth_user_groups
  • rename the table colibri.auth_user_user_permissions to colibri.emailonlyauth_user_user_permissions
  • don’t forget to run ./manage.py syncdb

Yes, I know about south or other Django migration tools. I do even use south on other Django projects. But I didn’t feel like it was necessary to add the dependency just for this.

 

As usual, you can get the code from the mercurial repository or from the File tab in the labs.


3 Comments »

  1. Eric says:

    Hi, Thomas. I have a question about Colibri.

    I am looking at the colibrid.py source, and see that sending email is done through connection.sendmail() — but I can’t find this method in django.core.mail anywhere. How does this work?

  2. Indeed, this is an undocumented internal function from Django. This is needed because all ‘official’ Django mail-related functions require the use of a Message object.

    The Django SMTP mail backend has a “connection” attribute, which is actually created by python smtplib, and we use it directly. This is not available with other backends (file, console..).

    (better use the ‘contact’ form on this website to ask me this kind of question, though).

  3. You can check django/core/mail/backends/smtp.py, method EmailBackend.open() to see where connection.connection is created, and then refer to the python documentation.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA image
*