{ "info": { "author": "Simples Consutoria", "author_email": "produtos@simplesconsultoria.com.br", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 4.3", "Framework :: Plone :: 5.0", "Framework :: Plone :: 5.1", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: JavaScript", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Office/Business :: News/Diary", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "********\nLiveblog\n********\n\n.. contents:: Table of Contents\n\nLife, the Universe, and Everything\n==================================\n\nA liveblog is a blog post which is intended to provide a rolling textual coverage of an ongoing event.\n\nA liveblog is continuously updated with timestamped micro-updates which are placed above previous micro-updates.\n\nTypical use case is the following:\n\n- The publisher of a news site creates a liveblog\n- Editors add micro-updates to the liveblog as the event goes on\n- Visitors of the site on the liveblog get micro-updates automatically via AJAX calls\n\nWho is using it?\n----------------\n\nThese are some of the sites using ``collective.liveblog``:\n\n- `CartaCapital `_ (BR)\n- `Portal Brasil 2016 `_ (BR)\n\nMostly Harmless\n===============\n\n.. image:: http://img.shields.io/pypi/v/collective.liveblog.svg\n :target: https://pypi.python.org/pypi/collective.liveblog\n\n.. image:: https://img.shields.io/travis/collective/collective.liveblog/master.svg\n :target: http://travis-ci.org/collective/collective.liveblog\n\n.. image:: https://img.shields.io/coveralls/collective/collective.liveblog/master.svg\n :target: https://coveralls.io/r/collective/collective.liveblog\n\nGot an idea? Found a bug? Let us know by `opening a support ticket`_.\n\n.. _`opening a support ticket`: https://github.com/collective/collective.liveblog/issues\n\nDon't Panic\n===========\n\nInstallation\n------------\n\nTo enable this package in a buildout-based installation:\n\n#. Edit your buildout.cfg and add add the following to it::\n\n [buildout]\n ...\n eggs =\n collective.liveblog\n\nAfter updating the configuration you need to run ''bin/buildout'', which will take care of updating your system.\n\nGo to the 'Site Setup' page in a Plone site and click on the 'Add-ons' link.\n\nCheck the box next to ``collective.liveblog`` and click the 'Activate' button.\n\n.. Note::\n You may have to empty your browser cache and save your resource registries in order to see the effects of the product installation.\n\nUsage\n-----\n\nAfter installing the package you will see a new content type available: Liveblog.\n\nLiveblogs have title, description, image and text fields.\nThe image field is used to set up a header on the liveblog.\n\n.. figure:: https://raw.github.com/collective/collective.liveblog/master/create-liveblog.png\n :align: center\n :height: 440px\n :width: 640px\n\nNow, go to the Update tab and start writing micro-updates.\n\nA micro-update is basically a text that should optionally have a title.\nThe date and time of the micro-update is automatically recorded for you.\nAfter publishing a micro-update you will see it on top of your liveblog before all previous micro-updates.\n\n.. figure:: https://raw.github.com/collective/collective.liveblog/master/create-microupdate.png\n :align: center\n :height: 580px\n :width: 640px\n\nAll people viewing your liveblog will receive automatic updates every minute.\n\n.. figure:: https://raw.github.com/collective/collective.liveblog/master/anonymous-view.png\n :align: center\n :height: 560px\n :width: 640px\n\nMicro-updates can be viewed as separate pieces of content,\nusing the link in their timestamp,\nmaking easy to share them in social networks.\n\n.. figure:: https://raw.github.com/collective/collective.liveblog/master/microupdate.png\n :align: center\n :height: 480px\n :width: 640px\n\nMany editors can update the liveblog safely.\nWhen another editor adds a micro-update you will see it automatically on your screen even if you are writing a new one.\n\nYou can delete micro-updates also.\nThis will trigger a complete page refresh on all current viewers to avoid the displaying of invalid content in your liveblog.\nThe page refresh will happen withing the next minute.\nIf another editor deletes a micro-update you will see a message on your screen but no content refresh will take place.\nThis way we avoid interrupting editors from their work.\n\n.. figure:: https://raw.github.com/collective/collective.liveblog/master/remote-delete.png\n :align: center\n :height: 500px\n :width: 640px\n\nAutomatic updates in liveblogs are turned off if there have been no new micro-updates in the last 24 hours.\n\nHow does it work\n----------------\n\nTBD.\n\nShare and Enjoy\n===============\n\n``collective.liveblog`` would not have been possible without the contribution of the following people:\n\n- H\u00e9ctor Velarde\n- `Brendan Mitchell`_ (icon)\n\nYou can find an updated list of package contributors on `GitHub`_.\n\nDevelopment sponsored by `Simples Consultoria`_.\n\n.. _`Brendan Mitchell`: http://www.theblogicon.com/\n.. _`GitHub`: https://github.com/collective/collective.liveblog/contributors\n.. _`Simples Consultoria`: http://www.simplesconsultoria.com.br/\n\nChangelog\n=========\n\n1.2b2 (2017-08-23)\n------------------\n\n- Avoid ``AttributeError`` on transform chain caused by invalid output on ``recent-updates`` view when there are no new micro-updates available (refs. `plone.protect#64 `_).\n [rodfersou]\n\n\n1.2b1 (2016-06-21)\n------------------\n\n- Liveblogs are now added to the list of linkable objects in TinyMCE at installation time.\n [hvelarde]\n\n- Fix URL of AJAX call to get latest updates of a Liveblog (fixes `#32`_).\n [rodfersou]\n\n- Liveblogs use now standard `simple_publication_workflow`;\n automatic updates in liveblogs are now turned off if there have been no new micro-updates in the last 24 hours;\n `liveblog_workflow` was removed (closes `#31`_).\n [rodfersou]\n\n- Use absolute paths to link to micro-updates.\n [hvelarde]\n\n\n1.1b2 (2016-05-10)\n------------------\n\n- Micro-updates are now traversable;\n this allows to share them as separate pieces of content (closes `#19`_).\n [rodfersou, hvelarde]\n\n- Use POST as request method on form used to edit micro-updates.\n [hvelarde]\n\n- A new text field to describe the Liveblog was added.\n [hvelarde]\n\n- Remove dependency on five.grok (closes `#5`_).\n [rodfersou]\n\n- Package is now compatible with Plone 5.0 and Plone 5.1.\n [hvelarde]\n\n\n1.1b1 (2016-04-19)\n------------------\n\n- Update view now uses batch pagination every 20 micro-updates to reduce load time for users with Editor role (closes `#10`_).\n [hvelarde]\n\n- Depend on plone.batching; this drops support for Plone 4.2.\n [hvelarde]\n\n- Use POST as request method on form used to add micro-updates.\n [hvelarde]\n\n- Remove referenceable extra; Archetypes is no longer the default framework in Plone 5.\n Under Plone < 5.0 you should now explicitly add plone.app.referenceablebehavior to the `eggs` part of your buildout configuration.\n [hvelarde]\n\n- The dates of micro-updates older than today were not shown in liveblogs on **private** and **inactive** states (fixes `#14`_).\n [hvelarde]\n\n\n1.0b3 (2014-09-20)\n------------------\n\n- Rendering of ``plone.abovecontenttitle`` and ``plone.belowcontenttitle`` viewlets was removed from the ``update`` view.\n [hvelarde]\n\n- Add styles for responsive (closes `#7`_).\n [agnogueira]\n\n- Bylines on micro-updates now honor security settings and will be displayed to anonymous users only if they are allowed to see this information (closes `#6`_).\n [hvelarde]\n\n- Editors can now edit micro-updates; a full refresh of the view will be scheduled after editing a micro-update to avoid displaying invalid content (closes `#3`_).\n [hvelarde]\n\n\n1.0b2 (2014-09-13)\n------------------\n\n- An adapter listing the URLs to be purged when a Liveblog is modified was added.\n [ericof]\n\n- Refactor ``recent-updates`` view to get rid of the timestamp parameter.\n This way we avoid a potential source of DoS attacks.\n [hvelarde]\n\n\n1.0b1 (2014-09-05)\n------------------\n\n- Timestamp handling was simplified.\n [hvelarde]\n\n- Implement the ``Expires`` header on ``recent-updates`` view.\n This will help us control better how long the page is going to live.\n [hvelarde]\n\n- Add a workflow specific to liveblogs.\n The workflow defines 3 states: private, active and inactive.\n This way we can control when automatic refresh of micro-updates happens.\n [hvelarde]\n\n- Refresh the whole view when a micro-update has been deleted to avoid displaying invalid content.\n [hvelarde]\n\n- The header viewlet was including the ``html`` and ``body`` tags on rendering.\n [hvelarde]\n\n- Lack of ``id`` attribute on field ``text`` was preventing TinyMCE editor from loading on Plone 4.2.\n [hvelarde]\n\n- Fire ``ObjectModifiedEvent`` event on micro-updates deletion to invalidate caching on views.\n [hvelarde]\n\n- Implement handling of ``If-Modified-Since`` request header on ``recent-updates`` view.\n [hvelarde]\n\n- Markup of time tag used on automatic updates was fixed.\n [hvelarde]\n\n\n1.0a1 (2014-09-01)\n------------------\n\n- Initial release.\n\n.. _`#3`: https://github.com/collective/collective.liveblog/issues/3\n.. _`#5`: https://github.com/collective/collective.liveblog/issues/5\n.. _`#6`: https://github.com/collective/collective.liveblog/issues/6\n.. _`#7`: https://github.com/collective/collective.liveblog/issues/7\n.. _`#10`: https://github.com/collective/collective.liveblog/issues/10\n.. _`#14`: https://github.com/collective/collective.liveblog/issues/14\n.. _`#19`: https://github.com/collective/collective.liveblog/issues/19\n.. _`#31`: https://github.com/collective/collective.liveblog/issues/31\n.. _`#32`: https://github.com/collective/collective.liveblog/issues/32", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/collective.liveblog", "keywords": "plone liveblogging dexterity", "license": "", "maintainer": "", "maintainer_email": "", "name": "collective.liveblog", "package_url": "https://pypi.org/project/collective.liveblog/", "platform": "", "project_url": "https://pypi.org/project/collective.liveblog/", "project_urls": { "Homepage": "https://github.com/collective/collective.liveblog" }, "release_url": "https://pypi.org/project/collective.liveblog/1.2b2/", "requires_dist": null, "requires_python": "", "summary": "A liveblogging solution for Plone.", "version": "1.2b2" }, "last_serial": 3118700, "releases": { "1.0a1": [ { "comment_text": "", "digests": { "md5": "34bd13e7d3b6036b82e953751e5f561c", "sha256": "a85c6ffddc8cdc279dffd21dd26bc40e1295f31c8d717eaf43be9c9992ad01fb" }, "downloads": -1, "filename": "collective.liveblog-1.0a1.zip", "has_sig": false, "md5_digest": "34bd13e7d3b6036b82e953751e5f561c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63222, "upload_time": "2014-09-01T19:48:59", "url": "https://files.pythonhosted.org/packages/0c/ab/eebaf6ad26a74a4f97d285e274277b87daf47ad779f972c7d38b3f733b0b/collective.liveblog-1.0a1.zip" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "b26de7d807cc8efa6d5563e3869b3cec", "sha256": "a89897b6ed2c7867cf10f4b8b896fd7ce46e081bfc0a3ef50dde8ab8dc34003b" }, "downloads": -1, "filename": "collective.liveblog-1.0b1.zip", "has_sig": false, "md5_digest": "b26de7d807cc8efa6d5563e3869b3cec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 317575, "upload_time": "2014-09-05T13:45:09", "url": "https://files.pythonhosted.org/packages/6f/7b/a32caece7564fa97d84508618a105600e52deacb884ac01e6076656df5f8/collective.liveblog-1.0b1.zip" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "8958009b33f90aa73da4b8bf643fd3ce", "sha256": "5eb3007935d455ec600f59918634f2405f6fcf5feb403bbc4eff6011ef56e561" }, "downloads": -1, "filename": "collective.liveblog-1.0b2.zip", "has_sig": false, "md5_digest": "8958009b33f90aa73da4b8bf643fd3ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 319021, "upload_time": "2014-09-13T04:20:31", "url": "https://files.pythonhosted.org/packages/b9/f4/abe03f51c42d139135fbdad73f27c4d34dfc1afde448cc2ce06fe8568abf/collective.liveblog-1.0b2.zip" } ], "1.0b3": [ { "comment_text": "", "digests": { "md5": "a7df83566cdf80a0ac4f71e6658f7d93", "sha256": "eeaea14d846c59563448b2ece0658e0aad676c9c499cf2cca8fb5199063b08ff" }, "downloads": -1, "filename": "collective.liveblog-1.0b3.zip", "has_sig": false, "md5_digest": "a7df83566cdf80a0ac4f71e6658f7d93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 323301, "upload_time": "2014-09-20T21:22:26", "url": "https://files.pythonhosted.org/packages/f6/f6/dce2018447fecf6875e8638067bd5766f0dea6a3c2c99a6fd2355264b5a0/collective.liveblog-1.0b3.zip" } ], "1.1b1": [ { "comment_text": "", "digests": { "md5": "4214f9ac98be26a4a4d34d3872b2da5f", "sha256": "8632ada7dc7e785dc5de59018b7d4a34b3c2747d2fe413e9844a7d54385f46f7" }, "downloads": -1, "filename": "collective.liveblog-1.1b1.tar.gz", "has_sig": false, "md5_digest": "4214f9ac98be26a4a4d34d3872b2da5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37755, "upload_time": "2016-04-19T12:46:22", "url": "https://files.pythonhosted.org/packages/2e/cb/be80f5ae43171bbb60ef410a5792dab27017c4ab07c7eb26754150b8911b/collective.liveblog-1.1b1.tar.gz" } ], "1.1b2": [ { "comment_text": "", "digests": { "md5": "1a49267f3a0572beebbd506a404f0823", "sha256": "d26f5e426c742d0046984ac124de7e2a0c89891d96c5b4cb04bf4eb06fcf707f" }, "downloads": -1, "filename": "collective.liveblog-1.1b2.tar.gz", "has_sig": false, "md5_digest": "1a49267f3a0572beebbd506a404f0823", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40619, "upload_time": "2016-05-10T17:40:26", "url": "https://files.pythonhosted.org/packages/4f/14/3e9d8392f0a82527e50d041d59a371edad86de3dc6e54056a344e24bf882/collective.liveblog-1.1b2.tar.gz" } ], "1.2b1": [ { "comment_text": "", "digests": { "md5": "c316fc7bee6089b3e86602999d40f98e", "sha256": "cb7479efedfc8d9b15ac69f7995395588131ebc29df15fd57648732811efb1d4" }, "downloads": -1, "filename": "collective.liveblog-1.2b1.tar.gz", "has_sig": false, "md5_digest": "c316fc7bee6089b3e86602999d40f98e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39764, "upload_time": "2016-06-21T17:03:43", "url": "https://files.pythonhosted.org/packages/dc/b1/c16e8094a3875f77afe92b633b050d4270e376dfc8d4f5b34f5992eb3dd8/collective.liveblog-1.2b1.tar.gz" } ], "1.2b2": [ { "comment_text": "", "digests": { "md5": "664acf99de4465f72c790564036bce8d", "sha256": "badcfcbf1fe14593e6cecdabe7a33cc65f554632c257c7c5463492f57b35fe19" }, "downloads": -1, "filename": "collective.liveblog-1.2b2.tar.gz", "has_sig": false, "md5_digest": "664acf99de4465f72c790564036bce8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39949, "upload_time": "2017-08-23T21:49:50", "url": "https://files.pythonhosted.org/packages/15/6b/ec8466464b1871c8f7cc0904ab2371c29bc655e999d18a771e42014b4de3/collective.liveblog-1.2b2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "664acf99de4465f72c790564036bce8d", "sha256": "badcfcbf1fe14593e6cecdabe7a33cc65f554632c257c7c5463492f57b35fe19" }, "downloads": -1, "filename": "collective.liveblog-1.2b2.tar.gz", "has_sig": false, "md5_digest": "664acf99de4465f72c790564036bce8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39949, "upload_time": "2017-08-23T21:49:50", "url": "https://files.pythonhosted.org/packages/15/6b/ec8466464b1871c8f7cc0904ab2371c29bc655e999d18a771e42014b4de3/collective.liveblog-1.2b2.tar.gz" } ] }