Skip to content

turian/django-instantmessage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

---------------------

IM-like application for Pinax social networks (Django), that allow you
to see which friends are online and chat them

    Website:
        http://metaoptimize.com/projects/django-instantmessage
    Code:
        http://github.com/turian/django-instantmessage

Read INSTALL to learn how to install django-instantmessage in a Pinax site.
If you want to learn more about the individual applications, please
refer to the README files:
    pinax-im-dist/apps/im/README
    pinax-im-dist/apps/useractivity/README

Note that this code is designed for Pinax social networks
(http://pinaxproject.com/). This code was built against Pinax 0.7.1,
and tested on "socialproject" in Pinax 0.7.1 and 0.7.2. It might be
possible to take the two applications (pinax-im-dist/apps/im and
pinax-im-dist/apps/useractivity), and separate them into separate
distributions, for use with generic Django sites, not just Pinax ones. I
am not experienced with Django packaging, and I encourage other users
to experiment with using this code for non-Pinax Django site, and
re-releasing it.

This code was written by Sergei Lebedev
(http://www.rentacoder.com/RentACoder/DotNet/SoftwareCoders/ShowBioInfo.aspx?lngAuthorId=7183794),
is copyright (c) 2010, Joseph Turian, and is released under the MIT
License.

ISSUES:
    * If, instead of replying to the chat request, you navigate to
    another page, you lose the chat request. Then, that user cannot
    re-chat request you. But if you navigate to another page, the chat
    request window should stay.

    * If you have multiple windows open and someone chats you, only one
    window gets the chat request. Instead, they should all offer you
    the chat request. (And, if you accept or decline the chat request
    in one window, the chat request box should then disappear in all
    the windows.)

    * The Chat list should stay at the bottom of the screen, even if
    you scroll down on the page. However, if you look at a page that
    is taller than the one screen height, and you scroll down, the chat
    box will move up with the screen.

    * There's one issue with the ui code currently: user groups get
    collapsed after the userlist is updated. This is the result of having
    all templates rendered on server (which is kind of important in my
    opinion, because you don't have to modify js-code to get a different
    reprentation of something). I don't think it's critical, since most
    of the time the chatbox will be hidden from the users and hardly
    anyone will notice, but the issue is there, and I'm not sure of a
    good way to fix it.

HISTORICAL NOTE:
    If you look at this git revision:
        http://github.com/turian/django-instantmessage/commit/d8d7961a54040f1562c136ebd63ef037d371ac13
    you will see the last version of the code before we started using
    the database in the applications.

    It used to be the case that, to avoid hitting the database
    often, the original version of this code used Celery
    (http://www.celeryproject.org/), a distributed queue that sits on
    the RabbitMQ AMQP messager broker (http://www.rabbitmq.com/).

    However, it was to tricky to find bugs in the application, and seemed
    like an instance of premature optimization. So, the current version
    of the code uses the database in both apps.

About

IM-like application for Pinax social networks (Django), that allow you to see which friends are online and chat them

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published