Centurio Systémová a modulová dokumentácia
🏛️ Architektúra platformy 🔑 Login
🏠 Všetky moduly / crm_office / Intranet a publikácie
📰

Intranet a publikácie

publishing crm_office 🛡️ RLS Protected

Stránky/News/Policies, prehľadové zverejnenie, DMS pripojenia a potvrdenie čítania.

Fachliche Bestimmung: zamestnanec intranet: oblasti (stránky) s členskými rolami, návrhy s TinyMCE-bodym, uvoľňovanie prostredníctvom DocumentCirculation (source_type=publishing_page), hlavná verzia pri vydavateľstve, opčné ak-tasky pri politikách. Pridané sú dokumenty DMS; stiahnuť prostredníctvom /api/v1/documents/{id}/download. TinyMCE vyberá odkaz/obraz z DMS.

⚡ Pracovné postupy a životné cykly

Intranetová stránka: Návrh → Objavenie → Publikácia intranet_page_lifecycle

Obsahová cesta od návrhu až po uverejnenej hlavnej verzii vrátane opcionálneho potvrdenia čítania.

sequenceDiagram Author->>PublishingAPI: POST /pages (draft) Author->>PublishingAPI: POST /pages/{id}/attachments Author->>PublishingAPI: POST /pages/{id}/submit PublishingAPI->>Circulations: create source_type=publishing_page Approver->>Circulations: complete_step approved Circulations->>PublishingAPI: publish_from_circulation Reader->>Web: GET /intranet/pages/{id}
1. DRAFT
Návrh
Prostredník vytvára stránku a vytvára HTML-body (bleach-sanitized).
Aktionen: attach_document, upload_and_attach, save_draft
2. PENDING
Na prepustenie
Začínať s publikáciou.
Aktionen: submit_for_approval
3. PUBLISHED
Úvod
publish_from_circulation nastavuje verziu majora a viditeľnosť kredy.
Aktionen: audience_filter, optional_ack_tasks
4. ACK
Potvrdenie čítania
Polity s požiadavkami vytvárajú aj prehľad pre verziu.
Aktionen: potvrdenie

🗄️ Modely údajov & Felder

PublishingAcks publishing_acks RLS Aktiv
9 Poľy / stĺpce

Tabelle publishing_acks

Feldname Typ údajov Povinnosť Schlüssel Využitie
page_id UUID Ja * FK ➔ publishing_pages.id Feld page_id
user_id UUID Ja * FK ➔ users.id Feld user_id
version INTEGER Ja * - Feld version
acknowledged_at DATETIME Ja * - Feld acknowledged_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
PublishingAttachments publishing_attachments RLS Aktiv
8 Poľy / stĺpce

Tabelle publishing_attachments

Feldname Typ údajov Povinnosť Schlüssel Využitie
page_id UUID Ja * FK ➔ publishing_pages.id Feld page_id
document_id UUID Ja * FK ➔ documents.id Feld document_id
sort_order INTEGER Ja * - Feld sort_order
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
PublishingPageVersions publishing_page_versions RLS Aktiv
12 Poľy / stĺpce

Tabelle publishing_page_versions

Feldname Typ údajov Povinnosť Schlüssel Využitie
page_id UUID Ja * FK ➔ publishing_pages.id Feld page_id
version INTEGER Ja * - Feld version
is_major BOOLEAN Ja * - Feld is_major
title VARCHAR(255) Ja * - Feld title
summary TEXT Nein - Feld summary
body TEXT Ja * - Feld body
created_by UUID Nein - Feld created_by
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
PublishingPages publishing_pages RLS Aktiv
28 Poľy / stĺpce

Tabelle publishing_pages

Feldname Typ údajov Povinnosť Schlüssel Využitie
site_id UUID Ja * FK ➔ publishing_sites.id Feld site_id
page_type VARCHAR(48) Ja * - Feld page_type
status VARCHAR(48) Ja * - Feld status
title VARCHAR(255) Ja * - Feld title
slug VARCHAR(255) Ja * - Feld slug
summary TEXT Nein - Feld summary
body TEXT Ja * - Feld body
pinned BOOLEAN Ja * - Feld pinned
requires_ack BOOLEAN Ja * - Feld requires_ack
published_version INTEGER Nein - Feld published_version
draft_version INTEGER Ja * - Feld draft_version
published_at DATETIME Nein - Feld published_at
published_by UUID Nein - Feld published_by
circulation_id UUID Nein FK ➔ document_circulations.id Feld circulation_id
ism_policy_id UUID Nein - Feld ism_policy_id
audience_kind VARCHAR(48) Ja * - Feld audience_kind
audience_roles JSONB Ja * - Feld audience_roles
audience_unit_ids JSONB Ja * - Feld audience_unit_ids
audience_user_ids JSONB Ja * - Feld audience_user_ids
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PublishingSiteMembers publishing_site_members RLS Aktiv
8 Poľy / stĺpce

Tabelle publishing_site_members

Feldname Typ údajov Povinnosť Schlüssel Využitie
site_id UUID Ja * FK ➔ publishing_sites.id Feld site_id
user_id UUID Ja * FK ➔ users.id Feld user_id
role VARCHAR(48) Ja * - Feld role
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
PublishingSites publishing_sites RLS Aktiv
18 Poľy / stĺpce

Tabelle publishing_sites

Feldname Typ údajov Povinnosť Schlüssel Využitie
name VARCHAR(255) Ja * - Feld name
slug VARCHAR(128) Ja * - Feld slug
description TEXT Nein - Feld description
is_active BOOLEAN Ja * - Feld is_active
default_approver_ids JSONB Ja * - Feld default_approver_ids
default_audience_kind VARCHAR(48) Ja * - Feld default_audience_kind
default_audience_roles JSONB Ja * - Feld default_audience_roles
default_audience_unit_ids JSONB Ja * - Feld default_audience_unit_ids
navigation JSONB Ja * - Feld navigation
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata

🔌 Úvodné body (UI & API)

Art Metód Koniec / cesta Titel & Zweck Uprava
⚡ REST API DELETE /api/v1/publishing/pages/{page_id}/attachments/{document_id}
detach_document
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API GET /api/v1/publishing/dms-search
dms_search
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API GET /api/v1/publishing/feed
publishing_feed
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API GET /api/v1/publishing/pages/{page_id}
get_page
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API GET /api/v1/publishing/pages/{page_id}/attachments
list_attachments
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API GET /api/v1/publishing/sites
list_sites
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API GET /api/v1/publishing/sites/{site_id}/members
list_members
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API GET /api/v1/publishing/sites/{site_id}/pages
list_site_pages
Semantic binding: inventory_only; mutation=False
publishing
⚡ REST API PATCH /api/v1/publishing/pages/{page_id}
update_page
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API PATCH /api/v1/publishing/sites/{site_id}
update_site
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API POST /api/v1/publishing/pages
create_page
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API POST /api/v1/publishing/pages/{page_id}/ack
acknowledge_page
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API POST /api/v1/publishing/pages/{page_id}/attachments
attach_document
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API POST /api/v1/publishing/pages/{page_id}/submit
submit_page
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API POST /api/v1/publishing/pages/{page_id}/unpublish
unpublish_page
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API POST /api/v1/publishing/sites
create_site
Semantic binding: operator_surface; mutation=True
publishing
⚡ REST API PUT /api/v1/publishing/sites/{site_id}/members
set_member
Semantic binding: operator_surface; mutation=True
publishing
🖥️ WEB-UI GET /intranet
Intranetové kroky
Prehľad filtrovaný pre publikum
Standard
🖥️ WEB-UI GET /intranet/pages/{id}/edit
Úprava stránok
Prílohy TinyMCE + DMS
Standard
⚡ REST API POST /api/v1/publishing/pages/{id}/submit
Na prepustenie
Začína sa pohybovať
Standard

🛡️ Regulatory & Compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Prehľadateľnosť
  • Auditné vydavanie.príspevok_*
  • Zároveň sa uplatňuje aj na účely článku 2 ods. 1 písm. a) nariadenia (EÚ) č. 575/2013.
Vymedzené moduly:
➔ circulations ➔ documents ➔ tasks