Skip to end of metadata
Go to start of metadata

requirements reviewed, numbering closed

TABLE OF CONTENTS

Goals statements

We realize that one of the important features for any nonprofit in using a new tool is integration with existing CRM and CMS. Keeping that in mind when thinking about adding PledgeBank functionality to CiviCRM's slate of organizing tools, "PledgeBank for CiviCRM" will serve as the engine for pledges, allowing admins to use existing CiviCRM functions in tandem with newly-developed ones.

The module should use and integrate with existing CiviCRM features where possible.

List of requirements

The following lists are the required specifications for a PledgeBank module within the CiviCRM environment.

Column meaning are the following:

  • REQ_ID - requirement ID, to refer to easily from other places
  • REQUIREMENT - actual description of the requirement
  • PRI - how important given requirement is: high (need to be implemented), medium, low
  • IN_PB.COM? - whether PledgeBank.com is the place to check for verification on how given function should work
  • NDS_WRK? - whether given requirement needs some additional discussion
  • MET_SPEC? - for specification verification: when specs are finalised, we need to go through and verify that all (high priority) requirements has been considered
  • MET_IMPL? - for implementation verification: when testing final implementation, we need to go through and verify that all (high priority) requirements has been considered

REQ_ID

REQUIREMENT

PRI

IN_PB.COM?

NDS_WRK?

MET_SPEC?

MET_IMPL?

R1

Ability for CiviCRM admins (or persons given appropriate permissions) to create PledgeBank-style conditional pledges of the form "I'll do X, but only if N people do the same," with a mandatory deadline chosen by the pledge creator. All pledges in CiviCRM will be "personally identified" like they are in PledgeBank.com - e.g. "I, Firstname Lastname, will replace my refrigerator with an energy efficient mode if ...". Private pledges and PIN number functionality option aren't needed.

high

yes

no

0

0

R2

Clear branding (i.e. use of "PledgeBank for CiviCRM" as often as possible, and "PledgeBank" when needed and when linked to PledgeBank.com)

high

n/a

no

0

0

R3

PledgeBank for CiviCRM only operates in the equivalent of CiviEvent's "Online Registration" mode. It basically means that there need to be an ability to sign pledges online.

high

n/a

no

0

0

R4

PledgeBank for CiviCRM main menu shall have options at least the following options: "Find Signers," "Manage Pledges," and "New Pledge."

high

n/a

no

0

0

R5

Sending of messages, making smart groups and performing other actions on pledge signers can be done at any time using "Find Signers" and a similar interface to that for CiviEvent.

high

n/a

no

0

0

R6

Views such as "Manage Pledges" show summary information, such as the deadline, whether a pledge has succeeded/failed/finished, and how many people have signed it.

high

n/a

no

0

0

R7

Interface for CiviCRM administrator to manually edit, or disable, all the automated emails sent out by the system to signers, for success or failure. No automated emails need to have pledge-specific configurable content (e.g. "Automated Success Email to Signers", "Automated Failure Email to Signers", etc.). Automated emails can be "static" except for "tokenized" values based on other properties of the pledge (i.e. they can be handled in a site-global template and without storing content specific to the pledge).

high

n/a

no

0

0

R8

Each Pledge shall be available under simple reference address chosen by admin for each pledge as on PledgeBank.com, so pledges are at easy-to-type URLs /pledge/customref.

high

yes

yes

0

0

R9

Each Pledge shall have mandatory closing date, set by the pledge creator, after midnight server time at end of closing date the pledge closes and no longer accepts signatures.

high

yes

no

0

0

R10

Each Pledge can be set active (functioning normally) or inactive (not included anywhere apart from admin interface regardless of any other Pledge attributes).

high

n/a

no

0

0

R11

Minimal set of information required from signer to sign the Pledge consists of First Name, Last Name and Email address and „anonymity" bolean field (if true, pledge signer name is disclosed from public listings).

high

yes

no

0

0

R12

Admin should be able to embed additional sets of fields (via Profiles) into the pledge signing page to collect other info from the signer (same as for event registration).

high

n/a

no

0

0

R13

As people sign a pledge, a Drupal / Joomla user account and CiviCRM record is created.

high

n/a

yes

0

0

R14

Ability for signers to sign pledges with pre-existing CiviCRM contact records together with user framework (e.g. Drupal) accounts, or whilst creating new CiviCRM contact records together with user framework (e.g. Drupal) accounts in the process of signing. The signup form must be inline on the actual pledge page, with an anonymity checkbox (saying: "Show my name publicly on this pledge."), as on PledgeBank.com. Anonymity only refers to the fact that users visiting the site don't get to see the user's name.

high

n/a

yes

0

0

R15

Instead of CiviEvent's "Public Participant Listing," names of signers are shown publicly to anyone, unless the "show my name publicly on this pledge" box was unchecked (default should be set to checked). Only the number of anonymous signers is shown: there is one row that says "132 people who did not want to give their name", you can see it e.g. down the bottom of

http://www.pledgebank.com/First1000

. Public participant listing is placed on same page as pledge description and signup.

high

yes

no

0

0

R16

Public pledge signing page sequence should be the following: Pledge Signing Page (information about the pledge is presented, signer enters information - at least name and email - this is the pledge page itself) -> Confirm Page - saying to check signer's signup credentials -> Thank You - redirects to pledge page, with a flash at the top saying it is created (signed) and you can send it to your friends etc..

high

yes

no

0

0

R17

Customization of style and look of a pledge to the main users via the normal template system, as for CiviEvent.

high

n/a

no

0

0

R18

Picture or video embedded in pledge page (does CiviCRM already have facility for that kind of thing?) CiviCRM can support upload of images for use in fixed places in a template (Contribution page Premiums is an example of this). Alternative approach is to create a section of the Pledge Info/Signing page where the content comes from user generated HTML markup via a rich text editor. This could include images referenced via URL. I think the "more details" section of the pledge may as well be such rich text edited HTML.

low

n/a

no

0

0

R19

Signing is a double-opt-in process. In other words, pledge signing is valid only when done with confirmed email. The first time given email is used, it needs to be confirmed. For further pledge signing occurences with the same email address, no additional confirmations are required.

high

yes

no

0

0

R20

If somebody signs up after the pledge is successful, but before the closing date is reached, then they should be shown any messages that have been already sent to signers by the pledge creator. This just means that the page they are shown once they have signed a pledge should contain the text of any email sent to other pledge signers prior in time to the user signing.

high

n/a

no

0

0

R21

Display on the pledge page, for each non-anonymous signer, if they say they have done the pledge. Show the total number of anonymous ones who say they have.

medium

yes

no

0

0

R22

Automated success mechanism which kicks in when enough people sign a pledge to change its status from 'accepting signatures' to 'successful.' 'Enough' is determined by reaching given number of signers for the pledge.

high

n/a

no

0

0

R23

We might need a mechanism for two kinds of pledges - one added on behalf of specific person in the organisation, and another one on behalf of organisation itself. It will make the wording of the pledge sentence different.

high

n/a

yes

0

0

R24

Success mechanism (runs after meeting pledge's conditions) will a) trigger an automated mail to the pledge creator telling them of the success, and providing them with a link to a page where they can send an email to the signers of the pledge.

high

n/a

no

0

0

R25

Success mechanism (runs after meeting pledge's conditions) will b) trigger an automated mail to all the signers telling them that their pledge has been a success, telling them to wait for further contact from the pledge creator.

high

n/a

no

0

0

R26

Success mechanism (runs after meeting pledge's conditions) will c) show on the pledge that it is successful, although not stop new sign-ups.

high

n/a

no

0

0

R27

Automated failure mechanism which kicks in when the closing date is reached and mails all signers (and the pledge creator) to tell them that their pledge has failed.

high

n/a

no

0

0

R28

Wording of default confirmation email when you sign up should be tightly about signing the pledge, with a simple easy link to confirm.

high

n/a

no

0

0

R29

Get (default) text for emails from PledgeBank source code

https://secure.mysociety.org/cvstrac/dir?d=mysociety/pb/templates/emails

high

n/a

no

0

0

R30

Automatic survey emails to signers of successful pledges N weeks after the pledge deadline to ask signers on whether they followed through with their pledge. Ideally this text would be customisable per pledge, with a default that is sent out if the admin doesn't customise it. "N weeks" value should default to 4, and it would be ideal if a pledge admin could customise it, or manually trigger sending it.

medium

n/a

no

0

0

R31

PledgeBank for CiviCRM should offer a page that will provide the ability for answering Yes/No for question described in R30.

medium

n/a

no

0

0

R32

Admin might want to DISABLE each of automated emails to signers (separately), so they can instead send a custom email using CiviMail. This is a per pledge setting.

medium

n/a

no

0

0

R33

CiviContribute linked to the survey, so admin has option of saying "you have to pay $X via CiviContribute before you are marked as having done your pledge". This feature (and the one below) imply a different approach to evaluating if someone has "done their pledge". Without this feature, pledge completion is "trust-based" - I say "I've done it". Also, we could do this for anonymous.

medium

n/a

yes

0

0

R34

CiviEvent linked to the survey, so admin has option of saying "you have to join a CiviEvent in a certain category before you are marked as having done your pledge"

medium

n/a

yes

0

0

R35

Cascading pledge functionality, in which a pledge is made once but is replicated automatically when a signer in a new place signs up (see

http://www.pledgebank.com/electionwatch07

for an example)

low

yes

no

0

0

R36

Comment on a pledge (does CiviCRM have facility for doing that at the moment?)

low

yes

no

0

0

R37

Include the "Tell a Friend" facility like in CiviEvent.

high

yes

no

0

0

R38

Allow orgs to translate pages to other languages using the same methods Amnesty currently does for the rest of CiviCRM, or new improvements to that in v2.1. Amnesty need it to use the functionality

high

n/a

yes

0

0

R39

Appropriate location (just country and latitude/longitude of pledge) functions from CiviEvent, so can use with Mapping Provider.

low

n/a

no

0

0

R40

Ability to "ping back" to PledgeBank.com to let users of that site be aware that people are making pledges on other websites using PledgeBank for CiviCRM. This is an option the administrator has during pledge creation, described as "marketing your pledge for free on PledgeBank.com." Properties of each pledge sent to PledgeBank.com are: site / organisation code (maybe just domain?), URL, pledge title, any geographic information (ie country and location if it is given), total signers required, number of signers at the time of query, closing date. Is the "ping back" triggered by events (e.g. create new pledge, update pledge configuration, etc.)? Or is there a periodic cron job which collects all active pledges and their properties and sends the data set over? or ?? A periodic cron job is definitely best here, as we want to keep polling to see if a pledge it especially large or popular. So perhaps a normal ping triggered by events (as there has to be some way of PledgeBank knowing about the site), but with a URL to go back and get updates. Does PledgeBank.com have a defined API / web-service for CiviCRM to use to pass this data? No. You can make up whatever (preferably simple REST-like) interface.

high

n/a

no

0

0

R41

Inclusion of a provision to send stats from the pledges operating within PledgeBank for CiviCRM to the back-end of PledgeBank.com (at the discretion of the pledge administrator)

high

n/a

no

0

0

R42

PledgeBank for CiviCRM administrator needs to be able to import the list of pledge signers.

low

n/a

no

0

0

RMVD

Creation of arbitrary unique identifiers, also distinguished by language versions, for each distinct pledge in CiviCRM to identify pledgers so that they can be grouped, analyzed, tracked and communicated with

n/a

n/a

n/a

0

0

RMVD

TOO GENERAL: Integration with CiviMail, CiviEvent, CiviContribute, and CiviMember to "outsource" functionality

n/a

n/a

n/a

0

0

RMVD

TOO GENERAL: Ability to integrate with CSS and stylesheet/templates of existing installations easily

n/a

n/a

n/a

0

0

RMVD

DUPLICATE: Automatic emails to signers of successful pledges N weeks after the pledge deadline to survey signers on whether they followed through with their pledge

n/a

n/a

n/a

0

0

RMVD

DUPLICATE: Ability (dictated by the administrator) to "ping back" to PledgeBank.com to let users of that site be aware that people are making pledges on other websites using PledgeBank for CiviCRM

n/a

n/a

n/a

0

0

RMVD

DUPLICATE: Ability for CiviCRM admin to customize pledges with uploaded images, text, links, and three to four neutral templates to enable integration with existing campaign sites

n/a

n/a

n/a

0

0

RMVD

DUPLICATE: Ability for system to automatically notify the signers via email when a pledge succeeds/fails, and to notify the creator via email when a pledge succeeds (with a note and functionality to email signers with next steps)

n/a

n/a

n/a

0

0

RMVD

DUPLICATE: Ability for CiviCRM admins to email signers at any point before the pledge deadline

n/a

n/a

n/a

0

0

RMVD

REPLACED OTHER REQ: Ability to function in all languages in which PledgeBank currently functions (as of March 2008: English, Welsh, Belarusian, German, Spanish, Esperanto, French, Italian, Dutch, Portuguese, Russian, Ukrainian, Chinese) with the ability to function in additional languages as they are added to PledgeBank.com

high

yes

no

0

0

RMVD

TOO GENERAL, IN OTHER REQS „Ability for CiviCRM admins to monitor pledge timeline (deadline, success/failure) and to email updates to pledge signers" AND „Ability for CiviCRM admins to receive "update" emails with statistics on pledges (including pledge timeline and sign-up rate graph)" AND „Ability for CiviCRM admins to receive "update" emails with statistics on pledges including pledge timeline and sign-up rate graph (graph already exists)"

low

no

no

0

0

Labels
  • None

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.