Skip to content

Historie změn ​

Historie změn je vestavěný auditní protokol platformy Než zazvoní CMS, který automaticky zaznamenává každý zápis provedený v administraci: vytvoření, úpravu, publikování i smazání stránek, aktualit, kategorií, nastavení školy, přiřazení redaktorů a nahrání či smazání souborů v Knihovně médií. Přístup k historii změn má pouze hlavní správce platformy (Super Admin). Záznamy slouží ke zpětné kontrole při řešení dotazů škol a z bezpečnostních důvodů jsou v administraci určeny výhradně ke čtení.

Poznámka

Historie změn eviduje přehled událostí (kdo, kdy a jaký záznam změnil), nikoli předchozí verze textů k obnovení jedním kliknutím. Před zahozením rozpracovaných úprav nebo smazáním stránky si proto vždy zkontrolujte aktuální stav v Konceptech a publikování.

Kde to najdete ​

  1. Přihlaste se do administrace jako hlavní správce (Super Admin).
  2. V levém menu klikněte na Obsah webu.
  3. V levém panelu v části Obsah vyberte Historie změn.

Na snímku níže vidíte levý panel sekce Obsah webu, kde je Historie změn zařazená mezi typy obsahu.

Levý panel sekce Obsah webu s položkou Historie změn

Po otevření položky Historie změn se zobrazí tabulka seřazená od nejnovějších událostí po nejstarší se sloupci Vytvořeno, Akce, Název a Uživatel.

Seznam záznamů v Historii změn

Postup krok za krokem ​

1. Dohledání konkrétní úpravy v administraci ​

  1. Otevřete Obsah webu → Historie změn.
  2. Pro rychlé vyhledání zadejte do vyhledávacího pole Hledat název stránky, nadpis článku, název souboru nebo e-mail redaktora.
  3. Potřebujete-li výpis zúžit (například jen na jednu školu, konkrétní akci nebo časové období), klikněte na tlačítko Filtry nad tabulkou.
  4. Kliknutím na vybraný řádek v tabulce otevřete detail záznamu, kde uvidíte i pole Škola, Typ obsahu, ID záznamu, IP adresa a Podrobnosti.

2. Pravidelné promazávání starých záznamů (uchovávání) ​

Protože záznamy obsahují osobní údaje (e-mailovou adresu v poli Uživatel a síťovou adresu v poli IP adresa), uchovávají se v souladu s pravidly ochrany osobních údajů po dobu 365 dní. V administraci ani přes HTTP rozhraní záznamy měnit ani mazat nelze; odstraňování starších položek spouští správce serveru pomocí skriptu scripts/audit-prune.js uvnitř kontejneru cms.

  1. Připojte se na server do adresáře platformy.
  2. Spusťte promazání záznamů starších než 365 dní:
    bash
    docker compose exec -T cms node scripts/audit-prune.js --days 365
  3. Skript vypíše počet odstraněných položek a hraniční datum (např. smazáno 142 záznamů starších než 2025-10-25).
  4. V běžném provozu tento příkaz zařaďte do plánovače úloh (cron) na serveru s frekvencí jednou za měsíc (viz Aktualizace a údržba).

Pozor

Parametr --days vyžaduje číslo s hodnotou nejméně 30. Při zadání kratší doby (např. --days 7) skript odmítne záznamy smazat a skončí chybou --days musí být číslo, nejméně 30, aby nedošlo k nechtěnému vymazání čerstvé historie. Pokud parametr --days neuvedete vůbec, použije se výchozích 365 dní.

Pole a nastavení ​

Pole záznamu v Historii změn ​

PoleK čemu sloužíPovinnéTip
Akce (action)Druh provedené operace: create, update, delete, clone, publish, unpublish, discardDraft, upload.create nebo upload.delete.AnoPro nahrávání a mazání souborů v knihovně médií začíná hodnota předponou upload..
Typ obsahu (uid)Interní označení typu záznamu (api::page.page, api::post.post, api::category.category, api::school.school, api::editor.editor nebo plugin::upload.file).AnoUmožňuje odlišit, zda šlo o stránku, aktualitu, kategorii nebo soubor.
ID záznamu (targetDocumentId)Jedinečný identifikátor (documentId) upravovaného dokumentu.NeU souborů v knihovně médií zůstává prázdné, u nich sledujte ID verze.
ID verze (entryId)Interní číselné ID konkrétní verze záznamu nebo ID souboru v Knihovně médií.NeHodí se při dohledávání konkrétního nahraného souboru.
Název (title)Název stránky, nadpis aktuality, název školy či kategorie, e-mail redaktora nebo jméno souboru (zkrácené nejvýše na 255 znaků).NeHlavní pole záznamu zobrazené přímo v přehledové tabulce.
Škola (school)Zkratka (slug) školy, které se změna týká.NeU některých akcí hlavního správce a při smazání souboru (upload.delete) může být prázdné; složku smazaného souboru najdete v poli Podrobnosti.
ID uživatele (userId)Interní číselné ID účtu v administraci, který akci provedl.NeZůstává stejné i tehdy, když si uživatel později změní e-mail.
Uživatel (userEmail)E-mailová adresa přihlášeného redaktora nebo správce v okamžiku změny.NeZobrazuje se přímo jako sloupec v seznamu Historie změn.
IP adresa (ip)IP adresa zařízení, ze kterého požadavek přišel.NeZa reverzní proxy vyžaduje zapnuté nastavení TRUST_PROXY=true.
Podrobnosti (detail)Doplňující údaje ve formátu JSON.NeU upload.create obsahuje folderPath, mime a size, u upload.delete obsahuje folderPath.

Každý záznam dále obsahuje systémové časové razítko Vytvořeno (createdAt), které udává přesné datum a čas provedení akce.

Hodnoty pole Akce ​

Hodnota v poli AkceCo událost znamená
createZaložení nového záznamu (stránky, aktuality, kategorie, školy nebo přiřazení redaktora).
updateUložení změn v existujícím záznamu (tlačítko Uložit).
deleteSmazání záznamu v administraci (volba Smazat záznam).
cloneVytvoření kopie (duplikátu) záznamu (volba Duplikovat).
publishPublikování rozpracované verze na veřejný web (tlačítko Publikovat).
unpublishStažení publikovaného záznamu z veřejného webu zpět do konceptu (volba Zrušit publikaci).
discardDraftZahození nepublikovaných úprav v konceptu (volba Zahodit změny).
upload.createNahrání nového souboru do Knihovny médií (volba Nahrání souborů).
upload.deleteSmazání souboru z Knihovny médií.

Tipy a doporučení ​

  • Hromadné importy ze skriptů se do historie nezapisují: dávkové skripty spouštěné na serveru (nova-skola.sh, import-site.js, new-school.js) běží přímo nad databází mimo HTTP relaci administrace, takže Historie změn zůstává přehledná a obsahuje pouze ruční zásahy přihlášených uživatelů.
  • Zálohy mimo server chrání integritu záznamů: pravidelné denní zálohy databáze ukládejte mimo produkční server (viz Zálohy a obnova), abyste měli k dispozici neměnnou kopii historie i při řešení bezpečnostního incidentu.

Související ​