Yumyoda CopWatchdog

Description

Yumyoda CopWatchdog displays police officer records — upcoming disciplinary court dates, charges, complaint and settlement history, assignment history, photos and press coverage — as cards, a sortable table and a headline-statistics widget.

The plugin is the front end of the open COPWATCHDOG system (THOTH scraper HERMES database CERBERUS_API). It does not scrape or store officer data itself: it reads from a CERBERUS_API server that you run and configure under Settings Copwatchdog Connection (API URL and API key). No data is sent anywhere else, and nothing is sent to the plugin author.

Shortcodes

  • [yumcwd_cards limit="20"] — one card per officer, sorted by upcoming court date (also orderby, order, hide_filters, filter attributes)
  • [yumcwd_table per_page="25"] — one row per court date, sortable and searchable
  • [yumcwd_officer id="1234"] — a single officer card (view="standard|compact|extended")
  • [yumcwd_funfacts] — four headline numbers: settlements paid, officers on the calendar, trials this month, top charge

Themes

Four built-in looks (Settings Copwatchdog Theme): Yumyoda (dark, mono, orange), Cyberpunk Dark, Minimal Light, Investigative — or inherit your site’s styles.

External service

This plugin communicates only with the CERBERUS_API server address you enter in its settings. Source and self-hosting instructions: https://github.com/copwatchdog

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install the zip from Plugins Add New.
  2. Activate it.
  3. Go to Settings Copwatchdog Connection, enter the URL and API key of your CERBERUS_API server, and click Test Connection.
  4. Put [yumcwd_cards] (and any other shortcode) on a page.

FAQ

Where does the data come from?

From the CERBERUS_API server you configure. The reference implementation and the scraper/ETL that feed it are published at https://github.com/copwatchdog.

Test Connection says Unauthorized / 401

The server at the URL you entered did not accept your API key. Enter the URL of your own CERBERUS_API instance and the API_KEY from its .env file.

Does the plugin phone home?

No. The only network requests go to the API URL you configured.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Yumyoda CopWatchdog” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Yumyoda CopWatchdog” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.0.2

  • Review round 2: AJAX and cron hook names carry the plugin prefix; public-field setting restricted to known keys; CSV setting sanitized cell by cell as plain text; shortcode error text escaped.

3.0.1

  • Plugin Check warnings cleared: template variables prefixed, CSV file name index validated.

3.0.0

  • Plugin-review round 1: all identifiers use the yumcwd_ / YUMCWD_ prefix (shortcodes are now [yumcwd_cards], [yumcwd_table], [yumcwd_officer], [yumcwd_funfacts]; 2.x settings migrate automatically); admin CSS/JS enqueued instead of inline; CSV upload goes through wp_handle_upload and every cell is sanitized; public REST routes enforce the Display allowlist — tax_id and email are hidden unless enabled.

2.13.2

  • Plugin URI now points to the project page (must differ from the author URI).

2.13.1

  • Passes the WordPress Plugin Check: all admin output escaped, debug logging only when WP_DEBUG_LOG is on, translator comments, input validation on the CSV upload and tab parameter, gmdate, direct-access guard in every template.

2.13.0

  • First WordPress.org-ready build: distribution package without repository files, text domain matches the plugin slug, no default API URL, fonts bundled locally instead of loaded from Google Fonts.

2.12.x

  • One card per officer sorted by court date, articles, Yumyoda theme, sort dropdown fix, secrets removed from code. See the project changelog on GitHub.