-
Notifications
You must be signed in to change notification settings - Fork 2
Participatory Budgeting
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.
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.
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.
- For each participating Member, to show the button "Participatory Budgeting" and default PB content page on their member page go to Appearance > Menus > Custom Links > URL: /[member-site]/pb/[cycle-number]/, Link Text: Participatory Budgeting
-
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.
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."
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.
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).
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
A page on the main site using the default template will display—alongside its content—the PB Sidebar widgets.
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.
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.
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.
- Page Templates
- Excerpts
- Font Size Classes
- Foundation Components
- The Map
- Social Media Share Images
- Comments Disabled
- Front Page
- Features
- Global Top Bar
- Global Site Footer
- The Sidebar
- Council Members & Districts Page
- District Pages
- Committees
- Caucuses
- Reports
- Editor User Role
- District Options
- Member Site vs District Page
- Member Front Page
- Member Header Image
- Member Sidebar
- Changes in Office
- PB Admin Role
- The PB Cycle Process
- Ballot Items
- Vote Sites
- Member Site Cycle View
- PB Site Page Templates
- PB Placeholder Markup