Django Conversation
===================
A reusable Django app that provides threaded conversations between users.
Installation
------------
To get the latest stable release from PyPi
.. code-block:: bash
$ pip install django-conversation
To get the latest commit from GitHub
.. code-block:: bash
$ pip install -e git+git://github.com/bitmazk/django-conversation.git#egg=conversation
TODO: Describe further installation steps (edit / remove the examples below):
Add ``conversation`` to your ``INSTALLED_APPS``
.. code-block:: python
INSTALLED_APPS = (
...,
'conversation',
'django_libs',
)
Add the ``conversation`` URLs to your ``urls.py``
.. code-block:: python
urlpatterns = patterns('',
...
url(r'^conversation/', include('conversation.urls')),
)
Don't forget to migrate your database
.. code-block:: bash
./manage.py migrate conversation
Usage
-----
Please add the following files to your base.html
.. code-block:: html
<link rel="stylesheet" href="{% static "conversation/css/conversation.css" %}">
<script src="{% static "conversation/js/conversation.js" %}"></script>
The conversations in this app are threaded, that means a conversation is
related to one object. In this case the object is a user. So if ``user1``
starts a conversation with ``user2`` all messages between those users are
stored in one conversation (you know it, if your are e.g. a Facebook user).
This app allows another relation, so you can also add a content object to a
conversation between two users. Let's say you built a sports app. ``user1``
wants to talk with ``user2`` about a fight called ``Klitschko vs. Tyson``. They
can now start a conversation, which is also related to that fight. But, they
can also start a new conversation about other fights or talk to each other
without another relation, for sure.
If you have executed the tasks written above, the app is ready to work.
Note: The templates are based on Twitter Bootstrap (http://getbootstrap.com/).
If you don't use it, simply overwrite them.
In almost every case you want to customize stuff, add jQuery/JavaScript, add
CSS, your own templates and so on, so this app is kept very simple.
Settings
--------
CONVERSATION_MESSAGE_FORM
+++++++++++++++++++++++++
Default: None
If you want to use your own message form, you can define it here.
.. code-block:: python
CONVERSATION_MESSAGE_FORM = 'my_app.forms.MyMessageForm'
CONVERSATION_ENABLE_DIGEST
++++++++++++++++++++++++++
Default: True
You can enable digests of unread messages by running
`./manage.py send_message_digest`.
If you want to disable the digest you can set the setting to `False`.
.. code-block:: python
CONVERSATION_ENABLE_DIGEST = False
CONVERSATION_ENABLE_NOTIFICATIONS
+++++++++++++++++++++++++++++++++
Default: True
You can enable instant email notification, which are sent each time a new
message has arrived.
If you want to disable notifications you can set the setting to `False`.
.. code-block:: python
CONVERSATION_ENABLE_NOTIFICATIONS = False
User specific notification settings
+++++++++++++++++++++++++++++++++++
You can also disable notifications for single users by adding an attribute to
your user model. Name it `disable_conversation_notifications`.
Contribute
----------
If you want to contribute to this project, please perform the following steps
.. code-block:: bash
# Fork this repository
# Clone your fork
mkvirtualenv -p python2.7 django-conversation
make develop
git co -b feature_branch master
# Implement your feature and tests
git add . && git commit
git push -u origin feature_branch
# Send us a pull request for your feature branch
In order to run the tests, simply execute ``tox``. This will install two new
environments (for Django 1.8 and Django 1.9) and run the tests against both
environments.
Raw data
{
"_id": null,
"home_page": "https://github.com/khoneko/khoneko-conversation",
"name": "khoneko-conversation",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "khoneko,app,reusable,conversation,messaging,threaded",
"author": "Amin Rostami",
"author_email": "somthing4die@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/01/cc/3619652c92ac2c64e98784479809496e6de2cf8b3f548ea376d6c5a35430/khoneko-conversation-1.4.10.tar.gz",
"platform": "OS Independent",
"description": "Django Conversation\n===================\n\nA reusable Django app that provides threaded conversations between users.\n\nInstallation\n------------\n\nTo get the latest stable release from PyPi\n\n.. code-block:: bash\n\n $ pip install django-conversation\n\nTo get the latest commit from GitHub\n\n.. code-block:: bash\n\n $ pip install -e git+git://github.com/bitmazk/django-conversation.git#egg=conversation\n\nTODO: Describe further installation steps (edit / remove the examples below):\n\nAdd ``conversation`` to your ``INSTALLED_APPS``\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...,\n 'conversation',\n 'django_libs',\n )\n\nAdd the ``conversation`` URLs to your ``urls.py``\n\n.. code-block:: python\n\n urlpatterns = patterns('',\n ...\n url(r'^conversation/', include('conversation.urls')),\n )\n\nDon't forget to migrate your database\n\n.. code-block:: bash\n\n ./manage.py migrate conversation\n\n\nUsage\n-----\n\nPlease add the following files to your base.html\n\n.. code-block:: html\n\n <link rel=\"stylesheet\" href=\"{% static \"conversation/css/conversation.css\" %}\">\n <script src=\"{% static \"conversation/js/conversation.js\" %}\"></script>\n\nThe conversations in this app are threaded, that means a conversation is\nrelated to one object. In this case the object is a user. So if ``user1``\nstarts a conversation with ``user2`` all messages between those users are\nstored in one conversation (you know it, if your are e.g. a Facebook user).\n\nThis app allows another relation, so you can also add a content object to a\nconversation between two users. Let's say you built a sports app. ``user1``\nwants to talk with ``user2`` about a fight called ``Klitschko vs. Tyson``. They\ncan now start a conversation, which is also related to that fight. But, they\ncan also start a new conversation about other fights or talk to each other\nwithout another relation, for sure.\n\nIf you have executed the tasks written above, the app is ready to work.\nNote: The templates are based on Twitter Bootstrap (http://getbootstrap.com/).\nIf you don't use it, simply overwrite them.\n\nIn almost every case you want to customize stuff, add jQuery/JavaScript, add\nCSS, your own templates and so on, so this app is kept very simple.\n\n\nSettings\n--------\n\nCONVERSATION_MESSAGE_FORM\n+++++++++++++++++++++++++\n\nDefault: None\n\nIf you want to use your own message form, you can define it here.\n\n.. code-block:: python\n\n CONVERSATION_MESSAGE_FORM = 'my_app.forms.MyMessageForm'\n\n\nCONVERSATION_ENABLE_DIGEST\n++++++++++++++++++++++++++\n\nDefault: True\n\nYou can enable digests of unread messages by running\n`./manage.py send_message_digest`.\n\nIf you want to disable the digest you can set the setting to `False`.\n\n.. code-block:: python\n\n CONVERSATION_ENABLE_DIGEST = False\n\n\nCONVERSATION_ENABLE_NOTIFICATIONS\n+++++++++++++++++++++++++++++++++\n\nDefault: True\n\nYou can enable instant email notification, which are sent each time a new\nmessage has arrived.\n\nIf you want to disable notifications you can set the setting to `False`.\n\n.. code-block:: python\n\n CONVERSATION_ENABLE_NOTIFICATIONS = False\n\n\nUser specific notification settings\n+++++++++++++++++++++++++++++++++++\n\nYou can also disable notifications for single users by adding an attribute to\nyour user model. Name it `disable_conversation_notifications`.\n\n\nContribute\n----------\n\nIf you want to contribute to this project, please perform the following steps\n\n.. code-block:: bash\n\n # Fork this repository\n # Clone your fork\n mkvirtualenv -p python2.7 django-conversation\n make develop\n\n git co -b feature_branch master\n # Implement your feature and tests\n git add . && git commit\n git push -u origin feature_branch\n # Send us a pull request for your feature branch\n\nIn order to run the tests, simply execute ``tox``. This will install two new\nenvironments (for Django 1.8 and Django 1.9) and run the tests against both\nenvironments.\n",
"bugtrack_url": null,
"license": "The MIT License",
"summary": "A reusable Django app that provides threaded conversations between users.",
"version": "1.4.10",
"project_urls": {
"Homepage": "https://github.com/khoneko/khoneko-conversation"
},
"split_keywords": [
"khoneko",
"app",
"reusable",
"conversation",
"messaging",
"threaded"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b247278ed3e824f32b8ba22dbb7f058805492bd6e7b9299a3a2b0a0a0a361ca",
"md5": "817f1253da59aa839172ffcff87f2f01",
"sha256": "f9db2c5ecaf8df777331d352ccd595068876f45e630c23a8fd4ee04f57a20130"
},
"downloads": -1,
"filename": "khoneko_conversation-1.4.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "817f1253da59aa839172ffcff87f2f01",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 29233,
"upload_time": "2023-11-06T08:27:40",
"upload_time_iso_8601": "2023-11-06T08:27:40.810246Z",
"url": "https://files.pythonhosted.org/packages/1b/24/7278ed3e824f32b8ba22dbb7f058805492bd6e7b9299a3a2b0a0a0a361ca/khoneko_conversation-1.4.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "01cc3619652c92ac2c64e98784479809496e6de2cf8b3f548ea376d6c5a35430",
"md5": "4206152a71217270b0646244183eaa35",
"sha256": "75b7b416ec890f14454c3c92a44283b84d66b4d0d4f81aa4972708b75975dec7"
},
"downloads": -1,
"filename": "khoneko-conversation-1.4.10.tar.gz",
"has_sig": false,
"md5_digest": "4206152a71217270b0646244183eaa35",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19661,
"upload_time": "2023-11-06T08:27:42",
"upload_time_iso_8601": "2023-11-06T08:27:42.708341Z",
"url": "https://files.pythonhosted.org/packages/01/cc/3619652c92ac2c64e98784479809496e6de2cf8b3f548ea376d6c5a35430/khoneko-conversation-1.4.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-06 08:27:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "khoneko",
"github_project": "khoneko-conversation",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"test_requirements": [],
"tox": true,
"lcname": "khoneko-conversation"
}