WP Manifestindependent plugin directory
manifest / events / training-meeting-tracker

Training Meeting Tracker WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

WordPress plugin that displays the DACH training team's meetings on a WordPress page, sourced from GitHub issues.

★ 2stars
12release downloads
v0.1.2latest · 5mo ago

Install

Download training-meeting-tracker-0.1.2.zip From the v0.1.2 release on GitHub, May 24, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/rfluethi/training-meeting-tracker/releases/download/v0.1.2/training-meeting-tracker-0.1.2.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin that displays the DACH training team's meetings on a WordPress page. The data source is a JSON file generated by a GitHub Action from the issues in the team repository.

Features

  • Shortcode [training_meeting_tracker] with attributes show_upcoming, show_in_progress, show_past, years.
  • Upcoming meetings: every issue without the Erledigt label whose date lies in the future (date, time, link to issue).
  • Meetings in progress: every issue without the Erledigt label whose date already passed. This is the minutes pipeline.
  • Past minutes: every issue with the Erledigt label, grouped by year.
  • Date format on the frontend: DD.MM.YYYY.
  • Settings page under Settings, Training Meeting Tracker.
  • Transient cache with configurable duration, fallback to last good response on error.
  • Full i18n (source strings in English, German translation de_DE included).
  • Cleans up its own data on uninstall.

Quick start

  1. Download the ZIP from the Releases page and install it under Plugins, Add New, Upload Plugin.
  2. Activate the plugin.
  3. Open Settings, Training Meeting Tracker, and verify the JSON URL. Default is https://raw.githubusercontent.com/rfluethi/learn-wp-dach-team/data/sitzungen.json.
  4. Place the shortcode [training_meeting_tracker] on a page.

Shortcode

[training_meeting_tracker]
[training_meeting_tracker show_upcoming="true" show_in_progress="true" show_past="true" years="3"]
Attribute Default Values Meaning
show_upcoming true true or false Show the Upcoming meetings block.
show_in_progress true true or false Show the Meetings in progress block.
show_past true true or false Show the Past minutes block.
years all all or integer Number of years shown in the past block (newest first).
show_next (none) true or false Legacy alias for show_upcoming.

Requirements

  • WordPress 6.4 or newer
  • PHP 7.4 or newer

Architecture

The plugin uses a slim two-component setup:

  1. Team GitHub repository (rfluethi/learn-wp-dach-team): a GitHub Action reads every issue with the sitzung label, parses the title date and the body fields (Veranstaltung:, Uhrzeit:) plus the Erledigt label, and writes a sitzungen.json file (schema v2, three lists) to the data branch.
  2. This plugin: fetches the JSON via wp_remote_get, validates the schema, caches the result as a transient, and renders the shortcode.

The plugin does not talk to the GitHub API directly. It only reads a static JSON file. This avoids token maintenance and rate limit concerns.

File overview

training-meeting-tracker/
  training-meeting-tracker.php    Plugin header, bootstrap, constants
  uninstall.php                   Cleanup on uninstall
  readme.txt                      wp.org format readme
  includes/
    class-tmtracker-plugin.php          Bootstrap class
    class-tmtracker-fetcher.php         HTTP, cache, schema validation
    class-tmtracker-renderer.php        HTML rendering, date formatting
    class-tmtracker-shortcode.php       [training_meeting_tracker]
    class-tmtracker-settings.php        Settings API, clear cache
  assets/css/frontend.css         Frontend styles (prefix tmtracker-)
  languages/
    training-meeting-tracker.pot
    training-meeting-tracker-de_DE.po
    training-meeting-tracker-de_DE.mo
  tests/                          Lightweight PHP tests (run-tests.php)
  bin/build-zip.sh                Local ZIP builder

Development

# Install dev dependencies
composer install

# Run the linter
composer lint

# Auto-fix where possible
composer lint-fix

# Run tests
php tests/run-tests.php

# Build local ZIP (same filter as the release workflow)
bin/build-zip.sh                    # version taken from the plugin header
bin/build-zip.sh 0.1.0-rc1          # version given explicitly
# Output: dist/training-meeting-tracker-<version>.zip

CI runs PHPCS (WordPress Coding Standards) and Plugin Check on every push. Pushing a v* tag triggers the release workflow, which builds the ZIP and attaches it as a GitHub release asset. Details in the release process section of docs/Developer.md.

Documentation

Four documents, each for a different audience:

Document For whom
docs/Architecture.md System overview from issues through action and JSON to plugin and frontend. Good entry point.
docs/Developer.md Developers: code structure, classes, local toolchain, release process.
docs/Operations.md Maintainers: troubleshooting, cache maintenance, schema migration, rollback.
docs/User-Guide.md Team members without a code background. How to maintain meeting issues.

History

This plugin is the successor of an earlier internal plugin ("Learn DACH Sitzungen"). That plugin has been retired and its repository removed.

License

GPL-2.0-or-later.

Releases

3 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v0.1.2 latest
May 24, 2026 5mo ago
training-meeting-tracker-0.1.2.zip
6
May 24, 2026 5mo ago
training-meeting-tracker-0.1.1.zip
3
May 24, 2026 5mo ago
training-meeting-tracker-0.1.0.zip
3
A grade

Security

Training Meeting Tracker 0.1.2 · audited by WP Registry

No security issues found.

Audited release
0.1.2
Findings
none
Worst severity
—
Content hash
bebe4952d7a02c170e0a4798…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.