Skip to content

Participatory Budgeting

Julia Fredenburg edited this page Jan 23, 2018 · 6 revisions

Participatory Budgeting content is managed through multiple sites in the WordPress multisite network. PB has its own site—like other Division sites—which uses the "NYCC Participatory Budgeting" child theme (wp-nycc-pb). However, ballot items and vote sites are managed on individual Member sites.

PB Admin Role

A custom user role called "PB Admin" has access to manage PB content only. Other admin screens have been removed/hidden from PB Admins, preventing them from accessing other types of content. Central staff who manage the PB process should be assigned the PB Admin user role on the PB site and all Member sites.

The PB Cycle Process

Content management follows PB's yearly cycle:

  • Cycle Kickoff
    • To announce which Members are taking part in a new cycle (e.g. Cycle 6), a matching PB Cycle taxonomy term (e.g. "6") is created on each of those Members' sites. This will add the Members to the list of participating Members - https://council.nyc.gov/pb/participate/.
    • Set the "PB Cycle" value of pages that use the "Districts Sidebar" template to the new cycle (e.g. "6"). The template displays a list of Member sites which have a PB Cycle taxonomy term that matches the "PB Cycle" value of that page.
  • Potential Projects Announced
    • Ballot items are added on each participating Member's site.
  • Voting
    • Vote sites are added on each participating Member's site.
  • Winners Announced
    • Specific ballot items are marked as winning on each participating Member's site.
    • On the PB site, a new page with a "Cycle Results" template displays the winning projects from each District.

Ballot Items

Add ballot items in the Member site's Admin > PB Ballot. Ballot items are a custom post type. There is no single ballot item view. Instead, they appear in an archive view at /[member-site]/pb/[cycle-number]/.

Edit the content as you would a regular post. The following settings will determine how the ballot item displays:

  • PB Categories - Appears as a label in the top right corner of the ballot item. Note: Categories are a comma-separated list. So if you try to add a category that contains commas (e.g. "Arts, Culture, & Community") it will add multiple categories. You have to add the category without the commas, then edit the category in the District's Admin > PB Ballot > Categories. Or avoid using commas—e.g. "Arts/Culture/Communty."
  • PB Cycle - A custom taxonomy like tags; determines which PB cycle the ballot item is associated with. Note: This must be a numeral (e.g. "6").
  • Order - The order by which ballot items appear in lists Note: If unset, falls back to reverse chronological published date.
  • Winning Project - Before voting, leave all items set to "No." Once voting has ended, set the winners to "Yes." Note: It is assumed that voting over if one or more ballot items are set to "Yes."

Vote Sites

Add vote sites in the Member site's Admin > PB Vote Sites. Vote sites are a custom post type. There is no single vote sites view. Vote sites appear in a list alongside the ballot items (and as markers on the District's map). Vote sites are not associated with a specific PB cycle, so they can be reused in future cycles if they remain applicable (or edited/deleted if they're no longer applicable).

Edit the content as you would a regular post. The title of the the vote site should be a location name (e.g. "District Office" or "Carl Schurz Park"). The content should list the vote site's time(s), date(s), and street address (if applicable). The following settings will determine how the vote site displays:

  • Order - The order by which vote sites appears in lists. Note: If unset, falls back to reverse chronological published date.
  • Latitude & Longitude - position of the map marker PROTIP: Get the Lat/Lon by searching a place in Google Maps and copying the first two numbers after the @ in the URL, being careful not to drag the map or these numbers will change.

Member Site Cycle View

Ballot items and vote sites for a particular cycle are viewed at /[member-site]/pb/[cycle-number]/. This is a taxonomy term view for the "PB Cycle" (taxonomy-pbcycle.php). The layout of this page depends on the following conditions:

  • No Ballot Items Exist: If a PB Cycle taxonomy term exists but there are no ballot items, the page displays generic content set in the PB site's Admin > Settings > PB Options > PB Placeholder Markup.
  • Before Winners Are Announced: If no winning projects exist (every ballot item's "Winning Project" value is set to "No"), the archive has a two-collumn layout listing the ballot items alongside the vote sites.
  • After Winners Are Announced: If one or more winning project exists (a ballot item "Winning Project" value is set to "Yes"), the archive lists the "Winning Projects" followed by a list of projects that were not funded. Vote sites are no longer listed on the page (although they will appear on the map until they're unpublished).

PB Site Page Templates

Pages on the PB site can use page templates and a custom field called current_pb_cycle to pull in content from Member sites in which a matching PB Cycle taxonomy term exists.

  • Create a page on the PB site
  • Select a page template in Page Attributes > Template
  • Set PB Meta > PB Cycle to a value that matches the "PB Cycle" taxonomy term on the participating Member sites

Template: Default Template

A page on the main site using the default template will display—alongside its content—the PB Sidebar widgets.

Template: PB Districts List

A page using the "Districts List" (page-pbdistricts.php) template will display—alongside its content—a District lookup widget and a list of Districts that are taking part in a particular PB cycle.

Template: PB Results

A page using the "Cycle Results" (page-pbresults.php) template will display—below its content—a list of winning projects from a particular PB cycle.

PB Placeholder Markup

In the PB site (https://council.nyc.gov/pb/) Admin > Settings > PB Options, the PB Placeholder Markup will contain markup for generic content to display when Members are taking part in a particular cycle but have not yet announced ballot items for that cycle. This will populate the page for /[member-site]/pb/[cycle-number]/.

Creating the PB site requires some additional configuration. On the primary site's Admin > Settings > District Options, set the PB Site ID to the blog_ID of the PB site. This allows the switch_to_blog() function to fetch the PB Placeholder Markup.