BuddyUP – dokumentace pluginu
Instalace, nastavení, administrace, front-end a shortcody
Úvod a možnosti
Tento software představuje výstup realizace výzkumného projektu TA ČR s názvem „BuddyUP! - Podpora začleňování ohrožených dětí žijících v segregovaném prostředí“, který je realizován na Fakultě sociálních studií ve spolupráci s Institutem prevence, z.s. a byl realizován za finanční podpory TA ČR.
BuddyUP je kompletní plugin pro párování mentorů, studentů a dětí a pro vedení deníků a reflexí (včetně cílů a jejich pokroku). Kombinuje administrační přehledy s front-end formuláři přes shortcody a přehledné veřejné URL.
Co umí (high level)
- Role: student/mentor/supervizor/vyučující + správa oprávnění.
- Datové typy: Deníky, Reflexe, Děti, Zpětná vazba.
- Front-end dashboard a formuláře pro studenty (WYSIWYG, přílohy, časomíra).
- Admin nástěnka + statistiky + exporty (CSV/XLS/PDF) a systémový report.
- Hezké URL pro zobrazení/úpravy (rewrite:
/denik/,/reflexe/,/cil/…).
Jak se typicky používá
- Admin nastaví role a přiřazení (mentor/supervizor/vyučující ↔ student).
- Student na webu vyplní „Moje dítě“ → cíle dítěte → plánování kategorií/dimenzí.
- Student pravidelně přidává deníky a reflexe, sleduje přehled a odkazy.
- Admin exportuje data, sleduje statistiky, řeší zpětnou vazbu.
Typické workflow
Workflow pro administrátora/garanta
- Aktivuj plugin a otevři Nastavení → Permalinky (flush rewrite pravidel).
- V BuddyUP → Nastavení vyplň kontakty (e-mail se používá i pro zpětnou vazbu).
- Vytvoř stránky pro studenty (viz sekce „Front-end“ a „Shortcody“).
- V administraci založ uživatele a přiřaď role (student/mentor/supervizor/vyučující).
- V BuddyUP → Studenti a BuddyUP → Supervizoři/Vyučující nastav párování.
- Pravidelně kontroluj Nástěnku a Statistiky, případně exportuj data.
Workflow pro studenta
- Otevři stránku s
[buddyup_dashboard]. - Vyplň
[buddyup_student_child_form](vytvoří/přiřadí se dítě). - Vyplň cíle dítěte přes
[buddyup_child_goals]. - V
[buddyup_goal_planning]doplň kategorie cílů a dimenze cílů buddyho. - Piš deníky přes
[buddyup_new_journal_form]a sleduj je v[buddyup_student_journals]. - Piš reflexe přes
[buddyup_new_reflection_form]a sleduj je v[buddyup_my_reflections]. - Podle potřeby doplň „Můj rok s buddym“:
[buddyup_child_year_review].
Příručka pro admina
Praktický tahák pro každodenní práci v administraci BuddyUP. Zaměřuje se na kontrolu dat, párování rolí a exporty.
První nastavení (1x na začátku)
- Aktivuj plugin a zkontroluj Nastavení → Permalinky.
- V BuddyUP → Nastavení vyplň kontaktní e-mail a motiv.
- Vytvoř stránky pro studenty a vlož shortcody (viz sekce „Front-end“).
- Vytvoř uživatele a nastav jejich role (student/mentor/supervizor/vyučující).
Každodenní provoz
- Kontroluj Nástěnku (nové deníky, reflexe, úkoly).
- Upravuj vazby v BuddyUP → Studenti (mentor/supervizor/vyučující).
- Spravuj děti a cíle přes Deníky / Reflexe / Děti.
- Sleduj metriky v Statistikách a řeš výjimky.
Exporty a reporty
- CSV/XLS exporty: BuddyUP → Export dat → metriky.
- PDF výstupy pro studenty: Exporty → PDF pro studenta.
- Systémový report: rychlá kontrola chyb a výpadků.
Když něco nefunguje
- Nezobrazuje se URL: znovu ulož Permalinky.
- Chybí exporty: ověř mPDF v
libs/mpdf. - Problém s rolí: zkontroluj přiřazení v adminu i u uživatele.
Příručka pro studenta
Stručný návod pro studenty, jak pracovat s deníky, reflexemi a cíli dítěte na webu (front-end).
První přihlášení
- Otevři stránku s dashboardem (typicky „Nástěnka“).
- Vyplň formulář „Moje dítě“ a zkontroluj přiřazení.
- Vyplň cíle dítěte a doplň plánování kategorií/dimenzí.
Běžná práce během roku
- Piš deníky a průběžně je upravuj.
- Vyplňuj reflexe (nejlépe po každém setkání).
- Sleduj vlastní přehled, termíny a odkazy.
- Na konci roku doplň „Můj rok s buddym“.
Co uvidíš na dashboardu
- Přehled deníků a reflexí včetně stavu rozpracovaných záznamů.
- Vizuální přehled dat v motivu vesmíru pokrývá cíle dítěte i cíle studenta: planety znázorňují jednotlivé cíle (dětské i studentské), jejich velikost ukazuje význam/naplnění, oběžné dráhy slouží jako časová osa a hvězdy zvýrazňují důležité milníky. Díky tomu je na první pohled vidět, co se daří a co ještě čeká.
- Rychlé odkazy na formuláře a výstupy.
- Kontakty na garanta a podporu.
Rychlý start
- Nainstaluj a aktivuj plugin (viz níže).
- V administraci otevři BuddyUP → Nastavení a doplň kontakty + (volitelně) hravý motiv.
- Vytvoř stránku „Nástěnka“ a vlož shortcode
[buddyup_dashboard](doporučený vstup pro studenty). - Vytvoř stránky pro práci studenta (doporučení v sekci „Front-end“ a „Shortcody“).
- Po aktivaci/změně permalinků otevři Nastavení → Permalinky (flush rewrite pravidel).
Požadavky
- WordPress: plugin je psaný pro WP 6.x (řeší kompatibilitu s WP 6.9 ohledně „conditional comments“).
- PHP: doporučeno
8.0+(kvůli funkcím jakostr_contains). - GD knihovna: volitelně pro generování timeline obrázku do PDF (pokud není dostupná, export použije fallback).
- mPDF: je součástí repozitáře (
libs/mpdf) a používá se pro PDF exporty. - Internet: některé admin grafy načítají Chart.js z CDN (viz „Statistiky“).
Instalace a aktivace
Instalace
- Nahraj složku pluginu do
wp-content/plugins/buddyup(nebo přes ZIP v administraci). - Aktivuj v Pluginy.
Co se stane po aktivaci
- Zaregistrují se role a CPT (Deníky, Reflexe, Děti, Zpětná vazba).
- Vytvoří se povinné stránky:
/karty+ podstránky/karta-buddya/karta-ditete. - Registrovaná rewrite pravidla se při aktivaci „flushnou“.
Důležité
- Pokud veřejné URL vrací 404, otevři Nastavení → Permalinky a ulož (flush rewrite).
Role a oprávnění
Role se vytváří a udržují v includes/roles.php.
| Role | Účel | Poznámka |
|---|---|---|
buddyup_student |
Vyplňuje dítě, cíle, deníky, reflexe; používá front-end. | Má capability pro editaci vlastních deníků/reflexí. |
buddyup_mentor |
Podpora studenta, čtení a editace i cizích záznamů (dle capability). | Role má rozšířené možnosti u CPT. |
buddyup_supervisor |
Garant/supervizor; širší oprávnění, párování supervizorů. | Má vlastní capability buddyup_manage_supervisors. |
buddyup_practice_teacher |
Vyučující semináře k praxi – přiřazení ke studentům. | Přiřazuje se přes admin „pairings“ stránku. |
buddyup_child |
Technická role (typicky se nepoužívá pro přihlášení). | Data dítěte jsou primárně CPT buddyup_child. |
Datový model
Custom Post Types (CPT)
buddyup_journal– deníkový zápis (autor = student), meta např. dítě, cíle, aktivity, hodnocení, časomíra.buddyup_reflection– reflexe (autor = student), meta měsíc/rok, typ (měsíční/trimestrální), doplňující otázky.buddyup_child– dítě, meta základní údaje, cíle (buddyup_goals) a roční záznamy.buddyup_feedback– zpětná vazba z front-endu (kategorie, příloha, verze pluginu).
Párování přes user meta
buddyup_child_id– přiřazené dítě ke studentovi.buddyup_mentor_id– přiřazený mentor ke studentovi.buddyup_supervisor_user_id– přiřazený supervizor ke studentovi.buddyup_practice_teacher_id– přiřazený vyučující semináře k praxi ke studentovi.
Nastavení pluginu
Admin stránka BuddyUP → Nastavení (includes/admin/settings.php) ukládá hodnoty do wp_options:
| Option | Popis |
|---|---|
buddyup_contact_person | Kontaktní osoba (např. garant). |
buddyup_contact_phone | Telefon. |
buddyup_contact_email | E-mail (používá se i pro zpětnou vazbu). |
buddyup_faculty_name | Název fakulty. |
buddyup_faculty_address | Adresa. |
buddyup_faculty_map | Odkaz na Google Maps. |
buddyup_playful_enabled | Globální zapnutí hravého motivu. |
Hravý motiv lze dočasně zapnout i bez uložení parametrem ?buddyup_playful=1 na front-endu.
Assety a vzhled
Plugin používá Bootstrap 5 + Bootstrap Icons (registrace a připojení v includes/assets.php).
Na front-endu se Bootstrap připojí jen pokud je potřeba (shortcody / vlastní URL / speciální stránky).
- Bootstrap CSS/JS: načítá se z CDN (
cdn.jsdelivr.net). - Ikony: Bootstrap Icons z CDN.
- Hravý motiv: extra CSS + „wave“ ve footeru, toggle v nastavení + preview přes query param.
Pokud web nemá přístup na CDN, je potřeba dodat lokální variantu Bootstrapu/ikon.
Administrace – přehled menu
Menu se registruje v includes/admin-menu.php (zkráceno):
BuddyUP
- Nástěnka
- Deníky (CPT)
- Reflexe (CPT)
- Mentoři
- Supervizoři
- Vyučující semináře
- Studenti
- Děti (CPT)
- Statistiky
- Export dat
- Nastavení
- Zpětná vazba (CPT)
- O pluginu
Přístup se řídí kombinací capability (např. manage_options) a role/capabilities definovaných v
includes/roles.php.
Administrace – Nástěnka
Funkce: buddyup_render_dashboard_page() v includes/admin/dashboard.php.
- Kontrola chybějících reflexí (v rámci školního roku březen–listopad).
- Seznam studentů bez přiřazeného dítěte / bez mentora.
- Poslední deníky a poslední reflexe.
- Časomíra: agregované časy z deníků (přímá práce, příprava, reflexe).
Na front-endu je dostupná přes shortcode [buddyup_dashboard].
Administrace – Funkce Rizikové signály
Funkce: buddyup_render_risk_signals_page() v includes/admin/risk-signals.php.
Slouží k rychlé identifikaci studentů, kteří mohou potřebovat zvýšenou pozornost.
Funkce rizikové signály upozorňují administrátora na potenciální problémy na základě analýzy deníků ve dvou rovinách:
1) detekce konkrétních negativních výrazů v textu deníků
2) sledování vzorců chování (neaktivita, chybějící reflexe, nízké hodnocení, stagnace cílů).
Co z toho vyčteš
- Přehled rizikových signálů (neaktivita, chybějící reflexe, nízké hodnocení, stagnace cílů).
- Skóre rizika (0–100) a trend v čase (poslední 4 měsíce).
- Odkazy na konkrétní deníky s negativními výrazy.
- Rozšířenou analýzu deníků: sentiment, témata, konzistence a nesoulad.
Jak se to hodnotí (zjednodušeně)
- Skóre je vážený součet detekovaných signálů; vyšší skóre = vyšší riziko.
- Trend ukazuje vývoj skóre po měsících (zhoršování/zlepšování).
- Sentiment je heuristika nad textem deníků (pozitivní vs. negativní výrazy).
- Konzistence sleduje krátké nebo „chudé“ záznamy (bez aktivit/časů/cílů).
- Nesoulad upozorňuje, když text popisuje pokrok, ale cíle stagnují.
Nastavení klíčových slov
- Seznam negativních slov lze upravovat přímo v této sekci.
- Klíčová slova ovlivňují detekci negativních zkušeností v denících.
Poznámka: jedná se o heuristiku, ne automatické rozhodování.
Administrace – Deníky / Reflexe / Děti (CPT)
Deníky, reflexe a děti jsou vedené jako vlastní CPT a mají standardní WP seznamy a editaci v administraci (menu položky „Deníky“, „Reflexe“, „Děti“).
- Deníky: CPT
buddyup_journal(autor = student). Mentor/supervizor může mít přístup dle capabilities. - Reflexe: CPT
buddyup_reflection(měsíc/rok, typ měsíční/trimestrální). - Děti: CPT
buddyup_child(základní údaje + cíle v metabuddyup_goals).
Front-end verze detailu a editace existují i přes rewrite URL (viz „Veřejné URL“), takže není nutné používat pouze admin editaci.
Administrace – Mentoři
Funkce: buddyup_render_mentors_page() v includes/admin/mentors.php.
- Seznam mentorů a studentů, kteří mají v user meta
buddyup_mentor_iddaného mentora. - Odkazy do seznamu studentů s předvyplněným filtrem.
Administrace – Supervizoři
Správa přiřazení student ↔ supervizor přes společnou „pairings“ stránku:
buddyup_render_pairings_page() v includes/admin/pairings.php.
- Přiřazuje do meta
buddyup_supervisor_user_id. - Přístup vyžaduje capability
buddyup_manage_supervisors.
Administrace – Vyučující semináře k praxi
Stejný mechanismus jako supervizoři (pairings), ukládá do meta buddyup_practice_teacher_id.
Administrace – Studenti
Funkce: buddyup_render_students_page() v includes/admin/students.php.
- Filtrovatelný seznam studentů (fulltext + filtr mentora).
- Detail studenta: přiřazené dítě, mentor, přehled deníků a reflexí.
- Tlačítka pro generování PDF (karta/deníky/reflexe) – viz sekce Exporty.
Administrace – Statistiky
Funkce: buddyup_render_statistics_page() v includes/admin/stats.php.
- Přehled počtů rolí a počtů záznamů (deníky/reflexe/děti).
- Časová osa posledních 12 měsíců (deníky vs reflexe).
- Rozložení aktivit, pokroku cílů a typů reflexí.
- Rozložení hodnocení a top studenti/mentoři.
Grafy načítají Chart.js z CDN. V offline prostředí grafy nemusí fungovat.
Administrace – Export dat
Stránka: includes/admin/export.php. Exportní handlery jsou v includes/exports/*.
- CSV: Deníky, Děti, Párování.
- PDF: Deníky, Děti, Párování.
- Metriky: anonymizované souhrny (CSV/XLS/PDF).
Administrace – Zpětná vazba
Zpětná vazba se ukládá jako CPT buddyup_feedback. V administraci ji najdeš přes menu položku „Zpětná vazba“
(standardní seznam příspěvků CPT).
- Vytváří se přes front-end shortcode
[buddyup_feedback]. - Obsahuje kategorii, text a volitelně přílohu (nahranou do WP Media).
- Současně se odesílá e-mail na kontaktní adresu z nastavení (fallback
admin_email).
Administrace – O pluginu
Stránka: includes/admin/about.php.
- Zobrazuje verzi pluginu, WP/PHP, URL webu a aktivní pluginy.
- Vypisuje
CHANGELOG.mda generuje kopírovatelný System Report.
Front-end – jak to funguje na webu
Front-end je postavený primárně na shortcodech (stránky ve WP) a doplněný o hezké URL přes rewrite pravidla.
Přístup je řízen rolemi (nejčastěji buddyup_student) a WordPress capabilities.
Notifikace v admin baru
- Studentům se (v období březen–listopad) zobrazuje upozornění, pokud chybí měsíční reflexe (viz
includes/restrictions.php).
Doporučené stránky ve WordPressu
- Nástěnka:
[buddyup_dashboard] - Moje deníky:
[buddyup_student_journals] - Nový deník:
[buddyup_new_journal_form](nebo legacy[buddyup_add_journal]) - Moje reflexe:
[buddyup_my_reflections] - Nová reflexe:
[buddyup_new_reflection_form](nebo legacy[buddyup_add_reflection]) - Moje dítě:
[buddyup_student_child_form] - Cíle dítěte:
[buddyup_child_goals] - Plánování cílů:
[buddyup_goal_planning] - Můj rok s buddym:
[buddyup_child_year_review] - Zpětná vazba:
[buddyup_feedback]
Veřejné URL (rewrite pravidla)
Rewrite pravidla jsou v includes/url-handlers.php:
| URL | Význam | Přístup |
|---|---|---|
/denik/{ID}/ |
Detail deníku (render mimo klasický loop). | Autor / supervizor / mentor přiřazený studentovi. |
/denik/{ID}/upravit/ |
Editace deníku na front-endu. | Uživatel s edit_post pro daný deník. |
/reflexe/{ID}/ |
Detail reflexe. | Autor / supervizor / mentor přiřazený studentovi. |
/reflexe/{ID}/upravit/ |
Editace reflexe na front-endu. | Uživatel s edit_post pro danou reflexi. |
/cil/{childId}/{index}/ |
Detail cíle dítěte (index v poli cílů). | Student/mentor/supervizor dle pravidel přístupu. |
/buddy-cil/{userId}/{index}/ |
Detail cíle buddyho (cíle studenta). | Student (vlastní) / supervizor / admin. |
/vystupy/ |
Stránka výstupů (PDF exporty z front-endu). | Přihlášený student. |
Pokud URL nefungují, proveď „flush permalinks“ (Nastavení → Permalinky → Uložit).
Shortcody
Shortcody jsou v includes/shortcodes/*. V repozitáři existují i starší soubory (legacy) se stejnými názvy shortcode;
v praxi používej preferované varianty níže.
| Shortcode | K čemu je | Role/přístup | Poznámky |
|---|---|---|---|
[buddyup_dashboard] |
Nástěnka (student: front-end dashboard; ostatní: admin přehled). | přihlášený uživatel | Doporučené umístění do hlavní stránky „Nástěnka“. |
[buddyup_student_child_form] |
„Moje dítě“ – vytvoření/úprava záznamu dítěte + kontakty. | přihlášený uživatel (typicky student) | Ukládá do CPT buddyup_child a přiřazuje přes buddyup_child_id. |
[buddyup_child_goals] |
Seznam cílů dítěte („Přání dítěte“) – editovatelné pole. | přihlášený uživatel | Ukládá do meta buddyup_goals u dítěte. |
[buddyup_goal_planning] |
Plánování: kategorie cílů dítěte + dimenze cílů buddyho. | přihlášený uživatel | Odkazuje na detail cíle přes /cil/… a /buddy-cil/…. |
[buddyup_child_year_review] |
Roční záznamy dítěte (únor–duben, květen–srpen, září–prosinec, shrnutí). | přihlášený uživatel | WYSIWYG editory, ukládá do meta u dítěte. |
[buddyup_buddy_card] |
Karta buddyho (profil + cíle buddyho + přiřazení vyučující/supervizor). | student | Součást povinných stránek vytvořených při aktivaci. |
[buddyup_student_journals] |
Seznam deníků studenta (tlačítka Zobrazit/Upravit). | student | Odkazuje na hezké URL, pokud jsou rewrite pravidla aktivní. |
[buddyup_new_journal_form] |
Nový deník (WYSIWYG, přílohy, video, cíle, aktivity, časomíra). | student | Doporučený moderní formulář (oproti legacy [buddyup_add_journal]). |
[buddyup_my_reflections] |
Seznam reflexí studenta (typ + akce Zobrazit/Upravit). | student | Preferuje URL stránky s [buddyup_new_reflection_form] pro „Nová reflexe“. |
[buddyup_new_reflection_form] |
Nová reflexe (WYSIWYG, měsíční/trimestrální otázky, validace duplicit). | student | Podporuje předvyplnění ?buddyup_month a ?buddyup_year. |
[buddyup_feedback] |
Odeslání zpětné vazby (CPT log + e-mail + volitelná příloha). | přihlášený uživatel | Adresát: buddyup_contact_email (fallback admin_email). |
[buddyup_journal_view id="123"] |
Zobrazení detailu deníku (parametr nebo „poslední deník“). | přihlášený uživatel | V praxi často nahrazeno hezkou URL /denik/{ID}/. |
Front-end – stránka „Výstupy“
Route /vystupy/ vykresluje výstupní stránku pro studenty (např. exportní odkazy). Pokud je přítomen query parametr
buddyup_pdf_export, spouští se obsluha PDF exportu.
Přístup je omezen na přihlášené studenty; jinak se vrací 403.
Exporty – přehled
Exporty běží přes admin_init hooky a reagují na konkrétní POST parametry (tlačítka v admin UI).
- CSV/PDF deníků:
includes/exports/journals-csv.php,includes/exports/journals-pdf.php - CSV/PDF dětí:
includes/exports/children-csv.php,includes/exports/children-pdf.php - CSV/PDF párování:
includes/exports/pairing-csv.php,includes/exports/pairing-pdf.php - PDF karet:
includes/exports/pdf-cards.php(mPDF + volitelně GD pro timeline obrázek)
Exporty – Metriky (CSV / XLS / PDF)
Export metrik je v includes/exports/metrics-csv.php. Je určen pro anonymizované souhrny pro evaluaci
(počty, timeline po měsících, rozložení pokroku, délka textu, agregace za studenty).
Vyžaduje manage_options.
Exporty – PDF pro studenta
Admin stránka Studenti nabízí tlačítka pro generování PDF (karta / deníky / reflexe).
Implementace je v includes/exports/student-card-pdf.php.
Nejčastější problémy
- 404 na /denik nebo /reflexe: ulož permalinky (flush rewrite pravidel).
- Nejde vytvořit deník/reflexe: zkontroluj roli
buddyup_studenta přiřazené dítě. - Grafy ve Statistikách prázdné: Chart.js se načítá z CDN – ověř přístup k internetu.
- Bootstrap bez stylů: ověř, že front-end může načíst CDN (nebo dodej lokální soubory).
- PDF export padá: ověř dostupnost mPDF knihovny v
libs/mpdfa dostatek paměti.
Technický přehled (pro vývoj)
Vstupní bod
buddyup.php– načítá moduly zincludes/a registruje activation hook pro vytvoření základních stránek.
Klíčové moduly
includes/assets.php– Bootstrap, ikony, „playful“ motiv.includes/helpers.php– helpery (URL buildery, výpočty, progress, validace časů, navigace).includes/url-handlers.php– rewrite pravidla a front-end routování.includes/frontend-handlers.php– zpracování POST z front-end formulářů (PRG redirect).includes/rendering.php– HTML rendering detailů, dashboardu, formulářů.includes/admin/*– admin stránky.includes/shortcodes/*– shortcody.includes/exports/*– exportní handlery.
Analýza funkčních požadavků
Shrnutí funkcionality pluginu BuddyUP ve formě požadavků, které lze ověřit a doložit.
Aktéři a role
- Admin/garant – správa uživatelů, párování a exportů.
- Supervizor – přehled, zpětná vazba, kontrola deníků.
- Mentor – nahlížení do deníků/reflexí studentů.
- Vyučující semináře – přiřazení ke studentům.
- Student – vedení deníků, reflexí, práce s cíli dítěte.
Hlavní procesy
- Správa rolí a přiřazení (student ↔ dítě, mentor/supervizor/vyučující ↔ student).
- Front-end formuláře pro deníky, reflexe a cíle dítěte.
- Front-end nástěnka a přehledy pro studenty.
- Detekce rizikových signálů pro admina (inaktivita, nízká hodnocení, stagnace cílů).
- Admin dashboard, statistiky, exporty (CSV/XLS/PDF).
- Zpětná vazba z front-endu a systémový report.
Funkční požadavky (výběr)
- Uživatel se rolí
buddyup_studentmůže vytvářet a upravovat své deníky a reflexe. - Deníky jsou svázané s konkrétním dítětem a cíli (meta data).
- Admin vidí rizikové signály odvozené z aktivity studenta a obsahu deníků.
- Administrace umožňuje export dat a přehled metrik.
- Systém poskytuje „hezké“ URL pro zobrazení/úpravy záznamů.
Nefunkční požadavky (výběr)
- Bezpečnost: kontrola přístupů přes role/capabilities a nonces.
- Udržitelnost: modularita (admin, shortcody, exporty, renderování).
- Kompatibilita: WordPress, standardní CPT + user meta.
Technická dokumentace
Technický popis architektury, datového modelu a rozhraní pluginu BuddyUP.
Architektura a moduly
- Vstupní bod
buddyup.phpnačítá moduly zincludes/. - Oddělení logiky: admin stránky, front-end handlery, renderování, shortcody, exporty.
- Frontend využívá vlastní URL routování přes rewrite pravidla.
Datové struktury
- CPT:
buddyup_journal,buddyup_reflection,buddyup_child,buddyup_feedback. - User meta pro párování:
buddyup_child_id,buddyup_mentor_id,buddyup_supervisor_user_id,buddyup_practice_teacher_id. - Post meta pro deníky/reflexe/cíle (podrobně v sekci „Datový model“).
Rozhraní a integrace
- Admin menu:
BuddyUP(nástěnka, CPT, párování, statistiky, exporty, nastavení). - Shortcody pro front-end formuláře a přehledy (sekce „Shortcody“).
- Rewrite URL:
/denik/{ID},/reflexe/{ID},/cil/{child}/{index},/buddy-cil/{user}/{index},/vystupy. - Exporty: CSV/PDF (mPDF), metriky a karty.
- Admin přehled „Rizikové signály“ s heuristikou nad deníky/reflexemi.
Návrhové principy
- PRG pattern u front-end formulářů (Post/Redirect/Get).
- Oprávnění přes role/capabilities, kontrola přístupu ve front-end routách.
- „Virtuální post“ pro lepší integraci s WP šablonami.
Závislosti
- Bootstrap 5 + Bootstrap Icons (CDN), Chart.js (CDN) a mPDF (lokálně v
libs/mpdf).
Programátorská dokumentace
Základní mapa kódu, entry pointů a programátorských rozhraní.
Struktura projektu
buddyup.php– bootstrap, registrace modulů a activation hook.includes/admin/*– admin stránky (dashboard, exporty, nastavení).includes/shortcodes/*– front-end shortcody.includes/exports/*– exporty CSV/PDF.includes/url-handlers.php– rewrite a template_redirect routy.includes/frontend-handlers.php– zpracování POST požadavků z front-endu.includes/rendering.php– HTML rendering detailů a formulářů.
Klíčové hooky a flow
init– registrace CPT/rolí, front-end handlery, rewrite pravidla.template_redirect– renderování detailů deníků/reflexí/cílů.admin_menu– menu BuddyUP v administraci.admin_init– uložení párování a nastavení.register_activation_hook– vytvoření povinných stránek + flush permalinks.
Ukázka programátorských rozhraní
- Shortcody:
[buddyup_dashboard],[buddyup_new_journal_form],[buddyup_new_reflection_form]aj. - Meta klíče (příklady):
buddyup_goals,buddyup_reflection_month,buddyup_time_direct_minutes. - Helpery: funkce pro práci s cíli, časem, validací a přístupem (v
includes/helpers.php).
Popis ověření funkčnosti
Doporučený postup ověření funkčnosti pro účely dokladování výsledku.
- Nainstaluj a aktivuj plugin; ověř vytvoření stránek „Karty“ a flush permalinků.
- V administraci nastav role a přiřazení (student ↔ dítě, mentor/supervizor/vyučující ↔ student).
- Ověř front-end shortcody: dashboard, formuláře deníku/reflexe, cíle dítěte.
- Ověř přístupové scénáře podle rolí (student/mentor/supervizor).
- Ověř přímé URL:
/denik/{ID},/reflexe/{ID},/cil/{child}/{index},/vystupy. - Ověř admin panel „Rizikové signály“ na testovacích datech.
- Ověř exporty CSV/PDF a funkčnost statistik.
Výstupy ověření: screenshoty, ukázkové exporty, logy případných chyb.
Videozáznam funkčnosti
Krátký záznam (3–7 min) s průchodem klíčových funkcí: přihlášení, práce studenta, kontrola v administraci, exporty.
Scénář videa (doporučeno)
- Nástěnka studenta + vytvoření deníku a reflexe.
- Detail deníku/reflexe přes „hezkou“ URL.
- Admin dashboard + statistiky.
- Export CSV/PDF a ukázka výsledku.
Veřejná dostupnost a licence
Dokumentace
- Veřejná dokumentace:
https://buddyup.osu.cz/dokumentace/
Dostupnost software
- Download:
https://buddyup.osu.cz/dokumentace/buddyup.zip
Licenční podmínky
- Licence:
Toto dílo je publikováno pod licencí Creative Commons BY-NC-SA 4.0 (Uveďte původ - Neužívejte komerčně - Zachovejte Licenci)
Verze a změny
- Changelog:
CHANGELOG.md(zobrazeno i v admin „O pluginu“).