Skip to main content

A liveblogging solution for Plone.

Project description

Life, the Universe, and Everything

A liveblog is a blog post which is intended to provide a rolling textual coverage of an ongoing event.

A liveblog is continuously updated with timestamped micro-updates which are placed above previous micro-updates.

Typical use case is the following:

  • The publisher of a news site creates a liveblog

  • Editors add micro-updates to the liveblog as the event goes on

  • Visitors of the site on the liveblog get micro-updates automatically via AJAX calls

Who is using it?

These are some of the sites using collective.liveblog:

Mostly Harmless

http://img.shields.io/pypi/v/collective.liveblog.svg https://img.shields.io/travis/collective/collective.liveblog/master.svg https://img.shields.io/coveralls/collective/collective.liveblog/master.svg

Got an idea? Found a bug? Let us know by opening a support ticket.

Don’t Panic

Installation

To enable this package in a buildout-based installation:

  1. Edit your buildout.cfg and add add the following to it:

    [buildout]
    ...
    eggs =
        collective.liveblog

After updating the configuration you need to run ‘’bin/buildout’’, which will take care of updating your system.

Go to the ‘Site Setup’ page in a Plone site and click on the ‘Add-ons’ link.

Check the box next to collective.liveblog and click the ‘Activate’ button.

Usage

After installing the package you will see a new content type available: Liveblog.

Liveblogs have title, description, image and text fields. The image field is used to set up a header on the liveblog.

https://raw.github.com/collective/collective.liveblog/master/create-liveblog.png

Now, go to the Update tab and start writing micro-updates.

A micro-update is basically a text that should optionally have a title. The date and time of the micro-update is automatically recorded for you. After publishing a micro-update you will see it on top of your liveblog before all previous micro-updates.

https://raw.github.com/collective/collective.liveblog/master/create-microupdate.png

All people viewing your liveblog will receive automatic updates every minute.

https://raw.github.com/collective/collective.liveblog/master/anonymous-view.png

Micro-updates can be viewed as separate pieces of content, using the link in their timestamp, making easy to share them in social networks.

https://raw.github.com/collective/collective.liveblog/master/microupdate.png

Many editors can update the liveblog safely. When another editor adds a micro-update you will see it automatically on your screen even if you are writing a new one.

You can delete micro-updates also. This will trigger a complete page refresh on all current viewers to avoid the displaying of invalid content in your liveblog. The page refresh will happen withing the next minute. If another editor deletes a micro-update you will see a message on your screen but no content refresh will take place. This way we avoid interrupting editors from their work.

https://raw.github.com/collective/collective.liveblog/master/remote-delete.png

Automatic updates in liveblogs are turned off if there have been no new micro-updates in the last 24 hours.

How does it work

TBD.

Share and Enjoy

collective.liveblog would not have been possible without the contribution of the following people:

You can find an updated list of package contributors on GitHub.

Development sponsored by Simples Consultoria.

Changelog

1.2b2 (2017-08-23)

  • 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). [rodfersou]

1.2b1 (2016-06-21)

  • Liveblogs are now added to the list of linkable objects in TinyMCE at installation time. [hvelarde]

  • Fix URL of AJAX call to get latest updates of a Liveblog (fixes #32). [rodfersou]

  • Liveblogs use now standard simple_publication_workflow; automatic updates in liveblogs are now turned off if there have been no new micro-updates in the last 24 hours; liveblog_workflow was removed (closes #31). [rodfersou]

  • Use absolute paths to link to micro-updates. [hvelarde]

1.1b2 (2016-05-10)

  • Micro-updates are now traversable; this allows to share them as separate pieces of content (closes #19). [rodfersou, hvelarde]

  • Use POST as request method on form used to edit micro-updates. [hvelarde]

  • A new text field to describe the Liveblog was added. [hvelarde]

  • Remove dependency on five.grok (closes #5). [rodfersou]

  • Package is now compatible with Plone 5.0 and Plone 5.1. [hvelarde]

1.1b1 (2016-04-19)

  • Update view now uses batch pagination every 20 micro-updates to reduce load time for users with Editor role (closes #10). [hvelarde]

  • Depend on plone.batching; this drops support for Plone 4.2. [hvelarde]

  • Use POST as request method on form used to add micro-updates. [hvelarde]

  • Remove referenceable extra; Archetypes is no longer the default framework in Plone 5. Under Plone < 5.0 you should now explicitly add plone.app.referenceablebehavior to the eggs part of your buildout configuration. [hvelarde]

  • The dates of micro-updates older than today were not shown in liveblogs on private and inactive states (fixes #14). [hvelarde]

1.0b3 (2014-09-20)

  • Rendering of plone.abovecontenttitle and plone.belowcontenttitle viewlets was removed from the update view. [hvelarde]

  • Add styles for responsive (closes #7). [agnogueira]

  • 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). [hvelarde]

  • 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). [hvelarde]

1.0b2 (2014-09-13)

  • An adapter listing the URLs to be purged when a Liveblog is modified was added. [ericof]

  • Refactor recent-updates view to get rid of the timestamp parameter. This way we avoid a potential source of DoS attacks. [hvelarde]

1.0b1 (2014-09-05)

  • Timestamp handling was simplified. [hvelarde]

  • Implement the Expires header on recent-updates view. This will help us control better how long the page is going to live. [hvelarde]

  • Add a workflow specific to liveblogs. The workflow defines 3 states: private, active and inactive. This way we can control when automatic refresh of micro-updates happens. [hvelarde]

  • Refresh the whole view when a micro-update has been deleted to avoid displaying invalid content. [hvelarde]

  • The header viewlet was including the html and body tags on rendering. [hvelarde]

  • Lack of id attribute on field text was preventing TinyMCE editor from loading on Plone 4.2. [hvelarde]

  • Fire ObjectModifiedEvent event on micro-updates deletion to invalidate caching on views. [hvelarde]

  • Implement handling of If-Modified-Since request header on recent-updates view. [hvelarde]

  • Markup of time tag used on automatic updates was fixed. [hvelarde]

1.0a1 (2014-09-01)

  • Initial release.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page