Justification

If the same Django user is logged in twice on different computers simultaneously, they see each others' messages

User messages may get wiped even if they're not actually displayed to the user

High-load sites want to avoid the unneeded database or cache usage

Reasons why a standard needs to be endorsed by Django and a 3rd party app will not suffice:

The built-in implementation is broken for a large set of use cases (above); the fact that Django actively encourages this method of messaging is a bad thing

Reusable apps don't know what 3rd party system to use and hence cannot rely on providing session feedback

Existing 3rd Party Apps

There are a number of good, pre-existing applications out there that support more robust functionality, so there is no need to re-implement a solution from scratch for inclusion in Django. The existing solutions can be combined or modified to meet Django's needs. This section is meant to evaluate some of the different session/cookie message/notification engines out there for potential inclusion in Django as a contrib app. It is a work in progress so please contribute (your notification engine here) or other changes as you see fit.

Criteria

Criteria necessary for inclusion in the core:

Support message passing for anonymous users

Uses the session only as a fallback: Avoid database/cache queries if possible, but support larger messages that don't fit in a cookie (> 4kb) when needed

Don't lose messages if they're not displayed to the user (lazy message loading)