This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Introduction

This will add those terribly “delish” little thumbs all over facebook to products of your choosing. By default, only logged in users can rate a product, and once they are logged in they can vote once (and change their vote at any time)

Installation

Your mission, should you choose to accept it is to add the package to your buildout config and rerun buildout. If you want it as a viewlet below the content title, you must follow the viewlet directions below before restarting and installing. Otherwise install immediately and then skip to the section on browser views.

Make sure you have installed or “Activated” the product if things aren’t working as expected.

Compatability

cioppino.twothumbs works with Plone 4.0, 4.1, 4.2, 4.3 and 5.0

As a Viewlet

Archetypes

Then, in the configure.zcml in the base of your product you need to tell which content types should display the thumbs. For example, with the PloneSoftwareCenter product, the configure.zcml has the lines:

<include package="cioppino.twothumbs" />
<class class=".content.project.PSCProject">
   <implements interface="cioppino.twothumbs.interfaces.ILoveThumbsDontYou" />
</class>

That little diddy would add the thumbs viewlet to the PSCProject product only. You only need to include the package 1 time but you need to add the class block for every content type you would like to show the thumbs.

Dexterity

Cioppino.TwoThumbs provides a behavior for dexterity content types. In the dexterity configuration UI, it will be listed under “Behaviors”.

You may also manually add this behavior to your type by adding the following to ../path/to/profiles/default/types/your_type.xml:

...
<property name="behaviors">
    <element value="cioppino.twothumbs.interfaces.ILoveThumbsDontYou" />
    ...
</property>
...

As a Browser View

Additionally, you can generate the widget on any content page in any place by just adding a few lines to your template:

<div tal:content="structure here/@@rate-if-you-dare"/>

Note that this ONLY works if the browser view is in context of a content type since it requires access to content object annotations.

Migration

If you used to use plone.contentratings and want to migrate to the thumbs product, there is an example in PloneSoftwareCenter. It’s pretty easy. Please see https://github.com/collective/Products.PloneSoftwareCenter/blob/master/Products/PloneSoftwareCenter/Extensions/migrateratings.py for an example.

Anonymous Voting

Anonymous voting is possible, but weak. An unique identifier is generated and set as cookie on first vote. Then the uid is used as identifier for later display/changes. To enable anonymous voting go to Plones configuration registry, search for cioppino.twothumbs.anonymous entry and edit it. Alternativly you can add your own registry.xml to your sites profile:

<?xml version="1.0"?>
<registry>
    <record name="cioppino.twothumbs.anonymousvoting">
        <value>True</value>
    </record>
</registry>

It’s easy to fake anonymous votes, so dont trust them much. A todo here is to add a captcha, which would make automated vote-faking impossible.

Bugs/Suggestions/Help

Please file bugs at https://github.com/collective/cioppino.twothumbs.

Credits

This product was initially developed at the Plone Cioppino Sprint in Bodega Bay 2011. The source code is filled with plenty of inside jokes and may only be maintainable after drinking copious numbers of Manhattans. Without the [drink] support of everyone there, this may not have been made possible. Big ups.

Changelog

2.1.1 (2016-09-12)

  • Re-release 2.1. [timo]

2.1 (2016-09-12)

  • Mv docs/HISTORY.txt -> CHANGES.rst to follow common best practice. [timo]
  • Added upgrade for Plone 5 to recognize css- and js-file. [andreasma]
  • Complete Plone 4 and Plone 5 compat using resource registries and splitted GS profiles [sneridagh]

2.0 (2016-03-09)

  • Add compatability for Plone 5. [pbauer]
  • Make visual appearance more discreet by moving the number of votes next to the thumbs and dropping the summary. Similar to the rating on youtube. [pbauer]
  • HTML render fixes. [andreasma]
  • Fix bug in like view that prevented authenticated user id from being used in votes when anonymous voting was enabled [cguardia]

1.8 (2014-11-07)

  • allow anonyoums voting if configured (registry.xml) protected by weak cookie [jensens]
  • fix duplicated ID for accessibility [simahawk]
  • fix rendering under plone 4.3 [simahawk]
  • feat: add event and triggers for content rules [Gagaro]
  • qa: add travis and coverage support [toutp]
  • qa: pep8 fixes [toutp,Gagaro,jensens]

1.7 (2013-06-04)

  • Add french translation [toutpt]
  • Make the template being ‘index’ to be customizable with zcml + browser layer [toutpt]
  • Add catalan translation [mpampols]

1.6 (2012-06-11)

  • Fix requirements for instances where dexterity is not installed [tschorr]

1.5 (2012-06-07)

  • Add support for dexterity behaviors [eleddy]
  • Fix confirmation message alignment for default plone sites [eleddy]

1.4 (2012-05-15)

  • German translation added. [jensens]
  • Added Brazilian Portuguese translation. [agnogueira]
  • Add support for Plone 3 [rochecompaan]
  • Enable use of the twotumbs widget outside the content div [rochecompaan]

1.3 (2011-09-22)

  • Turn thumbs background images into a sprite [marcosfromero]
  • Improve accessibility: non AJAX/JavaScript support [marcosfromero]
  • Improve i18n and added new Spanish translations [marcosfromero]
  • Improve feedback for anonymous users and after voting [marcosfromero]

1.2 (2011-05-27)

  • Initial i18n and Spanish translation [hvelarde]

1.1 (2011-02-15)

  • switch to absolute patch for form actions since it breaks when under the influence of rewriting [eleddy]

1 (2011-02-14)

  • Initial release [eleddy on code, spanktar on graphics]
Release History

Release History

2.1.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.1.dev0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.8

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
cioppino.twothumbs-2.1.1.zip (64.2 kB) Copy SHA256 Checksum SHA256 Source Sep 12, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting