Skip to main content

Generic app for creating events that can be shown to the user in a notifications list.

Project description

Generic app for creating events that can be shown to the user in a notifications list.

Think about Facebook. You got all kinds of events:

  • User friends / unfriends user

  • User posts a status update

  • User likes something

All these things happen to a user and they happen on a certain object in the database (his profile, a facebook page etc.).

If you wanted to create a timeline of events, you would have to query a ton of different tables, then sort them via date, which would probably be near impossible to solve via the Django ORM in a performant way.

With Django Object Events you can emit any kind of event and just drop it into the object_event table. It has a foreign key to the afected user and two more generic foreign keys: One for the object that caused the event and one for the object that the event is about.

The object that caused the event could be another user writing a comment or it could be a highscore entry reaching a certain value.

Accoring to the two examples above, the object that the event is about would be the Comment object or the Highscore object respectively. This gives you the chance to render a link to that object using it’s get_absolute_url method.

Prerequisites

You need at least the following packages in your virtualenv:

  • Django 1.4

  • South

Installation

To get the latest stable release from PyPi:

$ pip install django-object-events

To get the latest commit from GitHub:

$ pip install -e git://github.com/bitmazk/django-object-events.git#egg=object_events

Add the app to your INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'object_events',
]

Run the south migrations to create the app’s database tables:

$ ./manage.py migrate object_events

Usage

TODO

Roadmap

See the issue tracker for current and upcoming features.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-object-events-0.1.tar.gz (8.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page