{ "info": { "author": "Ludrao", "author_email": "ludrao@ludrao.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": ".. image:: https://img.shields.io/pypi/v/django-tellme.svg\n :target: https://pypi.python.org/pypi/django-tellme/\n\n.. image:: https://img.shields.io/github/license/ludrao/django-tellme.svg\n :target: https://en.wikipedia.org/wiki/BSD_licenses\n\n======\ntellme\n======\n\ntellme is a simple Django app that provides an easy and simple feedback button, form and admin view.\n\nFeatures\n--------\n\n* Take a screenshot of the current page.\n* The user can then highlight or black out portions of that screenshot\n* The user have to provide textual comments, (effectively giving his feedback)\n* Some additional information collected with the feedback\n * various browser information (versions, user agent, etc.)\n * user information if the user is logged in (and your site uses Django auth system)\n * the url the user provides feedback on\n* Optionally, send an email to the site admin when a feedback is posted\n* Supports localization (currently supported languages are English and French, translation contrib are welcomed!)\n* Customizable UI by redefining templates\n\nThe javascript part of this app is using feedback.js from https://github.com/ivoviz/feedback.\nfeedback.js itself use html2canvas.js (https://github.com/niklasvh/html2canvas) to make page screenshot that is sent\nwith the feedback comments.\n\nDependencies\n------------\n\nThis application depends on\n - python 3 (might work on python 2, but untested)\n - django >= 1.8 (also compatible with django >= 2.0)\n - jquery must be enabled in your pages\n - Promises polyfill for IE (including IE11!) (can use that: https://github.com/stefanpenner/es6-promise)\n\n\nQuick start\n-----------\n\n0. Install the app in your environment:\n\n.. code:: bash\n\n pip install django-tellme\n\n\n1. Add \"tellme\" to your INSTALLED_APPS setting like this:\n\n.. code:: python\n\n INSTALLED_APPS = [\n ...\n 'tellme',\n ]\n\n2. Include the tellme URLconf in your project urls.py like this:\n\n.. code:: python\n\n url(r'^tellme/', include(\"tellme.urls\")),\n\nNote: to not set a namespace here, django-tellme does it itself in its urls file.\n\n\n3. Run ``python manage.py migrate`` to create the tellme model in the database.\n\n4. Add a feedback button in your pages so that user can provide feedback\n\nFor example using bootstrap CSS this code would overlay a button, vertically aligned on the middle of the\npage, right-aligned.\n\nIn your html/template file, import the form CSS:\n\n.. code:: html\n\n \n\nIn your html/template file, inside the section:\n\n.. code:: html\n\n \n\nNote: the CSS class vertical-right-aligned is not from bootstrap, it is defined as:\n\n.. code:: css\n\n .vertical-right-aligned {\n transform: rotate(-90deg);\n transform-origin: 100% 100%;\n position: fixed;\n right: 0;\n top: 50%;\n z-index: 100;\n }\n\nIn your html/template file, in the page footer, connect that button to the feedback plugin:\n\n.. code:: html\n\n {% include 'tellme/js_inc.html' %}\n\nLook into this template file, it includes a few things that can be overridden (using the Django template {% extend %} mechanism), or simply redefined it in your page. What js_inc.html contains by default:\n\n - Load jquery plugin\n - Add CSRF automatically to all AJAX post request\n - Enable the JS feedback plugin using customizable template for each feedback step\n\nThis js_inc.html template usage is totally optional. The important part of that template is the javascript call that enables the plugin on a button:\n\n.. code:: javascript\n\n \n \n\n\n\n5. Start your site, and click the feedback button. This will pop up the feedback form. Follow the instruction, and click on **Send** when finished.\n\n\n6. Visit http://127.0.0.1:8000/admin/ to review user feedback.\n\nSome screenshots of the plugin in action\n----------------------------------------\n\nYou define the feedback button that you like. In that example it is using the page theme, and is located on the middle left-side of the screen.\n\n.. image:: images/snapshot-feedback-button.png\n :align: right\n :scale: 50 %\n\nIf a user click on it he will be able to highlight the reason of his feedback on a screenshot of the current page. He can also black out\nsensitive information, if any.\n\n.. image:: images/snapshot-highlight-blackout.png\n :align: right\n :scale: 50 %\n\nOnce finished and can review his feedback, add a comment and finalize the feedback.\n\n.. image:: images/snapshot-feedback-form.png\n :align: right\n :scale: 50 %\n\nWhen the feedback is sent, the site admin will receive an email with a link to the backoffice site that will allow him to learn about this feedback.\nOf course, he can always go to the backoffice site in order to review the different feedback later on.\n\n.. image:: images/snapshot-admin-view.png\n :align: right\n :scale: 50 %\n\n\nHow to customize the JS feedback popup UI\n-----------------------------------------\n\nEach step of the feedback popup is an HTML UI element that can be redefined. In order to define your custom UI, you simply\nhave to 'overload' the template by creating, in your own app template directory, a file with the same name as the original tellme template.\nThe feedback popup contains 4 steps + an error screen, that can be redefined. Look for the following files:\n\n - tellme/tpl-description.html\n - tellme/tpl-highlighter.html\n - tellme/tpl-overview.html\n - tellme/tpl-submit-error.html\n - tellme/tpl-submit-success.html\n\nAs an easy way to start you can copy one of the above file in your template directory and modify it incrementally. Please note that you need to keep the same directory structure (i.e. tellme/tpl-xxx.html), and that your app has to be listed first in the ``INSTALLED_APPS`` list so that it takes this modified template file instead of the original tellme template file.\n\n\nEmail notifications\n-------------------\n\nThis app can send you an email every time a feedback is posted. Currently the email is plaintext and does not contain\nthe screenshot. However it does contain a link to the admin site with the full details of that feedback.\n\nTo enable email notification, just add this line in your site ``settings.py``:\n\n .. code:: python\n\n TELLME_FEEDBACK_EMAIL = 'admin@tellme.com'\n\n\n\nImportant Notes\n---------------\n\n.. note::\n\n This app is based on feedback.js that send the feedback content using an HTTP POST method. Django uses a CSRF protection\n mechanism, that block POST request that do not contain a specific token.\n If you have not setup your page to transparently support AJAX POST here is an explanation on how to do it:\n https://docs.djangoproject.com/en/1.8/ref/csrf/#ajax\n\n.. note::\n\n This app stores screenshot as part of the feedback. Those are stored as PNG image files into your MEDIA\n directory/backend.\n For this reason you need to have MEDIA_URL and MEDIA_ROOT settings available. See here for more details:\n https://docs.djangoproject.com/en/1.8/howto/static-files/\n\n.. note::\n\n If using the email notification feature, make sure to setup your Email backend in django. More details here:\n https://docs.djangoproject.com/en/1.8/topics/email/\n\nVersion History\n---------------\nversion 0.6.5\n - Added support for Django 2+ (thx @hebertjulio and @llann)\n\nversion 0.6.4\n - Added Brazilian Portuguese translation (thx @hebertjulio)\n - Added Optional email user input, when the user is not authenticated (thx @Basiczombie)\n\nversion 0.6.3\n - Added Japanese translation (thx @salexkidd)\n\nversion 0.6.2\n - Worked around an issue with scrolled page in html2canvas\n\nversion 0.6.1\n - Minor translation fixes\n\nversion 0.6\n - Minors distribution fixes\n - Updated migrations scripts\n\nversion 0.5\n *special thanks to @llann for i18n initial support*\n\n - Added internationalization support, defaulting to English localization.\n - Added French localization\n - Added an \"include\" template to simplify usage\n - Used minified version of js libraries\n - Provided a template structure so that the UI can be customized\n\n\nImproving this app - TODO\n-------------------------\n\nThis app was developed in rush for a simple yet complete, non intrusive, feedback tool. It does lack a lot of cool\nfeatures. If you like to contribute, please do not hesitate!\n\n- Provide a customization mechanism for the email body, make it text+html.\n- Add continuous integration testing\n\nTranslations\n------------\n`Transifex `_ is used to manage translations.\n\nFeel free to improve translations.\n\nCurrently supported languages are:\n - English\n - French\n - Japanese\n - Spanish (Initiated but need help, see on transifex site above)\n - Russian (Partial, need help see on transifex site above)\n - Brazilian Portuguese\n\nYou can request to add your own language directly on Transifex.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ludrao/django-tellme", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-tellme", "package_url": "https://pypi.org/project/django-tellme/", "platform": "", "project_url": "https://pypi.org/project/django-tellme/", "project_urls": { "Homepage": "https://github.com/ludrao/django-tellme" }, "release_url": "https://pypi.org/project/django-tellme/0.6.5/", "requires_dist": null, "requires_python": "", "summary": "A simple Django app that enables user feedback.", "version": "0.6.5" }, "last_serial": 3610409, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2ffade380db7bfafbef2df18c7750e53", "sha256": "7813cbd5533c6dfa6bb39226e9649ac5233b562d013163c16093af1b9325dac2" }, "downloads": -1, "filename": "django-tellme-0.1.tar.gz", "has_sig": false, "md5_digest": "2ffade380db7bfafbef2df18c7750e53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27328, "upload_time": "2016-01-09T15:53:15", "url": "https://files.pythonhosted.org/packages/d9/b2/83d6e7b883819dd21b0798f7591f150c5f6b8ab87e2d458411f9c5b0e542/django-tellme-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "a34e310634989ee611b555225dc0799c", "sha256": "9ded9d81399a2b1ba524071504ffc7710ac2d2b2bde96fc2e8d58f6d3ba185b6" }, "downloads": -1, "filename": "django-tellme-0.2.tar.gz", "has_sig": false, "md5_digest": "a34e310634989ee611b555225dc0799c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28623, "upload_time": "2016-01-09T23:39:10", "url": "https://files.pythonhosted.org/packages/cd/a2/ab4cf356c5880f944fe178eb6f52cf622e62a4fa1d1b9958710646ca2523/django-tellme-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ad7a17225ada1529d66ed1a61aacb19e", "sha256": "a887453f2dbd3dd6e014c35c1b222708b5a47959794016214ba971a3f93188c7" }, "downloads": -1, "filename": "django-tellme-0.3.tar.gz", "has_sig": false, "md5_digest": "ad7a17225ada1529d66ed1a61aacb19e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87236, "upload_time": "2016-04-03T20:01:29", "url": "https://files.pythonhosted.org/packages/41/7f/a748e50acd025ffc12d653363740229e9d85295fa9503b4b94c188f852fc/django-tellme-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "3d640165d487a3ceee3d4ef5ae9ccb6e", "sha256": "f9fb34cbf87318803e3ca6d5b1fa03dcc4b83c10183cc40cf1aa91d5a61fe598" }, "downloads": -1, "filename": "django-tellme-0.4.tar.gz", "has_sig": false, "md5_digest": "3d640165d487a3ceee3d4ef5ae9ccb6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92013, "upload_time": "2016-04-03T20:16:46", "url": "https://files.pythonhosted.org/packages/4e/b0/a0d41c1842844d70ffbaf64bb5a379b71f05a200acd462d12708088d2c6a/django-tellme-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "bdada740e6121fea31accc6208fcd541", "sha256": "973423d13a11001e53bfb4ff213125e366bb4b3512e5566e000b877b4784d936" }, "downloads": -1, "filename": "django-tellme-0.5.tar.gz", "has_sig": false, "md5_digest": "bdada740e6121fea31accc6208fcd541", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92031, "upload_time": "2016-04-11T19:58:12", "url": "https://files.pythonhosted.org/packages/f1/3a/0a4695cd7089ff0bb69d41af26142abd463f206da232d27ec3aa2baa5eac/django-tellme-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "993842cc4f8d235b303f424cd7cc5ec5", "sha256": "20a44c48fdaa0a9d0c664b85f1b52679edfba7615fdeb12885ec3431f45971ae" }, "downloads": -1, "filename": "django-tellme-0.6.tar.gz", "has_sig": false, "md5_digest": "993842cc4f8d235b303f424cd7cc5ec5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92621, "upload_time": "2016-04-11T22:54:56", "url": "https://files.pythonhosted.org/packages/45/88/1fdf90b50ef97507562d682a1d7b7cbad247d48af9d11724d95e5141b543/django-tellme-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "0d1703af18b87adc937549b12547a5da", "sha256": "6d2f70aecfe9e32b17c09247b49b280e06173cb860ca3d395c2eb3d226acba55" }, "downloads": -1, "filename": "django-tellme-0.6.1.tar.gz", "has_sig": false, "md5_digest": "0d1703af18b87adc937549b12547a5da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93300, "upload_time": "2016-06-16T21:28:31", "url": "https://files.pythonhosted.org/packages/28/d1/7ff6d2c45f065855d0205f7842a736f7bf3a22fb2ac4c0c6091d19fb815a/django-tellme-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "41d81f3081f1b6690005f96efa09596d", "sha256": "1e4363fe80f1064f5df6c5aba550cdd4b970b1f8b9c14ec963cb557c81fb3fc1" }, "downloads": -1, "filename": "django-tellme-0.6.2.tar.gz", "has_sig": false, "md5_digest": "41d81f3081f1b6690005f96efa09596d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93538, "upload_time": "2016-06-20T22:48:09", "url": "https://files.pythonhosted.org/packages/eb/a4/2f698600c47790b9e8eaee581b2e56432f1cd9cd19d6b70f8020a58a6ab7/django-tellme-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "87e2daaf5cf826c2732297efc2062c52", "sha256": "a65259d37c9efbe3b137785bbaf12373ace801b7985a819b1f30233cf67e6f51" }, "downloads": -1, "filename": "django-tellme-0.6.3.tar.gz", "has_sig": false, "md5_digest": "87e2daaf5cf826c2732297efc2062c52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95066, "upload_time": "2016-12-27T21:20:38", "url": "https://files.pythonhosted.org/packages/05/dc/8702165d5bf5b2b28c3fc45808d95ff3eb44d2f65fbbf689a23185173814/django-tellme-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "5d910aba671f467e6e4159aded137819", "sha256": "3c5ce448b2e1e894476a9cca66419aced15388579baa9142240a8580422e87ac" }, "downloads": -1, "filename": "django-tellme-0.6.4.tar.gz", "has_sig": false, "md5_digest": "5d910aba671f467e6e4159aded137819", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96698, "upload_time": "2017-11-01T17:19:06", "url": "https://files.pythonhosted.org/packages/c9/0c/8c48ab2c5c324da753ece218e3a2774634d6ea2648bc9db2846306dfec58/django-tellme-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "2cf5f522a76dfb5b57e91df5c084e0d6", "sha256": "6e9586558a68fd3b7d8aac7b6d9465055f6bb59999fcae962aeeaa4d262eca2a" }, "downloads": -1, "filename": "django-tellme-0.6.5.tar.gz", "has_sig": false, "md5_digest": "2cf5f522a76dfb5b57e91df5c084e0d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96855, "upload_time": "2018-02-23T20:53:13", "url": "https://files.pythonhosted.org/packages/53/c3/679fcb11a1e9dae432346c430a21c2f7cb162b53617761d7ba9ed06fa760/django-tellme-0.6.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2cf5f522a76dfb5b57e91df5c084e0d6", "sha256": "6e9586558a68fd3b7d8aac7b6d9465055f6bb59999fcae962aeeaa4d262eca2a" }, "downloads": -1, "filename": "django-tellme-0.6.5.tar.gz", "has_sig": false, "md5_digest": "2cf5f522a76dfb5b57e91df5c084e0d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96855, "upload_time": "2018-02-23T20:53:13", "url": "https://files.pythonhosted.org/packages/53/c3/679fcb11a1e9dae432346c430a21c2f7cb162b53617761d7ba9ed06fa760/django-tellme-0.6.5.tar.gz" } ] }