Not Logged In

django-activitysync 0.2.2

Fast, easy, and extensible social activity aggregation for Django projects

Django-activitysync is an easy to use social activity aggregator for Django
projects.

It can be used to store and display activity from a range of social networks
(such as Twitter, Reddit, Google Reader, etc). Unlike other utilities for
accessing and displaying activity, django-activitysync separates rendering
from activity updating. All activity information is stored in the project’s
database using Django models, providing great performance for page requests.
Updating activities happens through a Django management command, which can
be automated by using a utility like cron.

Add provider settings to settings.py (dependent on which providers are added).
For ease of use and organizational purposes, all settings for providers should
be stored in the ACTIVITYSYNC_SETTINGS dictionary. Settings required for
built-in providers are:

Usage

Fetching and creating activity items

Once configuration is completed, run the included management command
to fetch activities for the configured providers:

python manage.py updateactivities

The command will print out all new activities to the command line. All
activity items are stored with a unique guid value, so this command can
be run as often as needed without worrying about creating duplicate values.
In a production site, this command likely would be added to the crontab (or
other scheduler) to run fairly often (such as every 30 minutes).

There are a few options available for the management command.

Use the --send-result option to send an email to the site admins
(controlled by the Django ADMIN setting) with the newly added activities
(no email is sent if there are no new items):

python manage.py updateactivities --send_result

Use the --dry-run option to output the items to the console, but not
actually create items in the database:

python manage.py updateactivities --dry-run

Using activity items

Activity items can be accessed like any other model using Django’s ORM. Here
is a quick example of getting all published activity items (fetched items
default to public, but can be hidden by modifying the item in the Django
admin site):

Django-activitysync also provides a template tag for displaying items:

{% load activitysync_extras %}
{% render_activities activities %}

The render_activities template tag will pass the object list and
MEDIA_URL values to the template activitysync/activities_tag.html.
The project comes with a sample template that will be used by default, or you
can use it as a basis for your own. A second template tag,
render_activities_with_date_headers renders the activity list along with
date headers for each unique day encountered.