08 — Matice pokrytí funkcí systémy
Legenda
| Zkratka | Systém |
|---|
| CMS | Folio CMS (Ruby on Rails) |
| CRM | REMP CRM (Nette — produkty, předplatné, platby, checkout, self-care) |
| ECO | Ecoidentita (SSO provider) |
| CAM | REMP Campaign (Laravel — bannery, showtime) |
| MAI | REMP Mailer (Nette — e-maily, newslettery) |
| SSO | REMP SSO (Laravel — admin autentizace) |
| BEA | REMP Beam (Go + Laravel — tracking, segmenty) — fáze 2 |
Stav pokrytí
| Symbol | Význam |
|---|
| ✅ | Plně pokryto / implementováno |
| 🔧 | Nutná implementace v rámci integrace |
| ⚠️ | Částečně pokryto / vyžaduje rozhodnutí |
| ❌ | Nepokryto / mimo scope |
| 🔲 | Fáze 2 |
1. Obsah a redakce
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Tvorba a editace článků | ✅ | — | — | — | — | ✅ | Folio core |
| Správa rubrik a sekcí | ✅ | — | — | — | — | ✅ | Folio core |
| Správa autorů | ✅ | — | — | — | — | ✅ | Folio core |
| Správa médií (obrázky, video) | ✅ | — | — | — | — | ✅ | Folio core |
| SEO metadata | ✅ | — | — | — | — | ✅ | Folio core |
| Tagging / kategorizace | ✅ | — | — | — | — | ✅ | Folio core |
| Plánované publikování | ✅ | — | — | — | — | ✅ | Folio core |
| Content versioning | ✅ | — | — | — | — | ✅ | Folio core |
| Multi-site (HN, Respekt, …) | ✅ | — | — | — | — | ✅ | Folio sites |
| API pro mobilní aplikaci | ✅ | — | — | — | — | ✅ | REST API |
2. Paywall a zamykání obsahu
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| PaywallTag na článku | ✅ | — | — | — | — | 🔧 | Epic 06, Epic 01b-paywall-tags |
| PaywallTag na sekci / rubrice | ✅ | — | — | — | — | 🔧 | Dědičnost z rubriky |
| Server-side entitlement check | 🔧 | — | ✅ | — | — | 🔧 | CMS volá CRM API |
| Content locking UI (paywall wall) | ✅ | — | — | — | — | 🔧 | Template v CMS |
| Entitlement response (has_access?) | — | — | ✅ | — | — | ⚠️ | Závisí na CRM API docs |
| Subscription type → content_access mapping | — | — | ✅ | — | — | ⚠️ | Config v CRM admin |
| Metered paywall (X článků free) | ⚠️ | — | — | — | — | ⚠️ | Rozhodnutí C4 v 07-open-questions |
| Paywall A/B testing (CTA varianty) | — | — | — | ✅ | — | 🔧 | Campaign bannery |
| Soft paywall (registrace = access) | 🔧 | ✅ | ✅ | — | — | ⚠️ | Requires Ecoidentita |
| Paywall cache (Redis) | 🔧 | — | — | — | — | 🔧 | Cache entitlement result |
3. Uživatelská identita a autentizace
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Registrace čtenáře | — | ✅ | — | — | — | ⚠️ | Ecoidentita PLANNED |
| Přihlášení čtenáře (SSO) | 🔧 | ✅ | — | — | — | ⚠️ | CMS = EGO-SSO client |
| Odhlášení | 🔧 | ✅ | — | — | — | ⚠️ | Session destroy |
| Správa profilu (email, jméno) | — | ✅ | ✅ | — | — | ⚠️ | SoT = Ecoidentita |
| Reset hesla | — | ✅ | — | — | — | ⚠️ | Ecoidentita flow |
| Social login (Google, Apple, FB) | — | ✅ | — | — | — | ⚠️ | Ecoidentita |
| User sync → CRM | 🔧 | — | ✅ | — | — | 🔧 | Po registraci/loginu |
| User ext_id mapping | 🔧 | ✅ | ✅ | — | — | 🔧 | eco_user_id = ext_id |
| Admin autentizace (REMP tools) | — | — | — | — | — | ✅ | REMP SSO (interní) |
| API token management | — | — | ✅ | ✅ | ✅ | ✅ | REMP SSO |
4. Předplatné a platby
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Katalog produktů / plánů | — | — | ✅ | — | — | ⚠️ | SoT = CRM |
| Checkout flow | — | — | ✅ | — | — | 🔧 | Epic 03 |
| Platební brána (GoPay / Stripe / …) | — | — | ✅ | — | — | ⚠️ | Rozhodnutí A6 |
| Recurring billing | — | — | ✅ | — | — | ⚠️ | Závisí na bráně |
| Subscription lifecycle (create/renew/cancel) | — | — | ✅ | — | — | 🔧 | CRM = SoT |
| Entitlement cache invalidation | 🔧 | — | ✅ | — | — | 🔧 | Webhook → Redis cache |
| Fakturace / daňové doklady | — | — | ✅ | — | — | ⚠️ | Epic 02/03 scope |
| Trial / promo kódy | — | — | ✅ | — | — | ⚠️ | CRM scope |
| Self-care (přehled, cancel, upgrade) | — | — | ✅ | — | — | 🔧 | Epic 05 |
| Refund management | — | — | ✅ | — | — | ⚠️ | CRM scope |
| Historický přehled plateb | — | — | ✅ | — | — | 🔧 | CRM scope |
5. Segmentace a cílení
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| User segments (subscriber/non/trial) | — | — | ✅ | — | — | 🔧 | CRM segment rules |
| Behaviorální segmenty (page views) | — | — | — | — | — | 🔲 | Beam (fáze 2) |
| Segment provider interface | — | — | ✅ | ✅ | ✅ | ⚠️ | CRM = provider pro CAM + MAI |
| Custom segment rules | — | — | ✅ | — | — | ⚠️ | CRM admin |
| Segment-based campaign targeting | — | — | ✅ | ✅ | — | 🔧 | CAM uses CRM segments |
| Segment-based mailing | — | — | ✅ | — | ✅ | 🔧 | MAI uses CRM segments |
6. Campaign management (bannery)
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Banner creation (HTML / šablona) | — | — | — | ✅ | — | ✅ | Campaign admin |
| A/B testování bannerů | — | — | — | ✅ | — | ✅ | Campaign core |
| Scheduling (čas, frekvence) | — | — | — | ✅ | — | ✅ | Campaign admin |
| Segment targeting | — | — | ✅ | ✅ | — | 🔧 | CRM segments → CAM |
| Page-rule targeting (URL, device) | — | — | — | ✅ | — | ✅ | Campaign rules |
| Conversion tracking | — | — | — | ✅ | — | ✅ | Campaign tracking |
| remplib.js integration v CMS | 🔧 | — | — | ✅ | — | 🔧 | Layout + user context |
| Paywall upsell banner | 🔧 | — | — | ✅ | — | 🔧 | Trigger on paywall |
| One-time display (notification) | — | — | — | ✅ | — | ✅ | API endpoint |
7. E-maily a newslettery
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Welcome e-mail (registrace) | — | ✅ | — | — | — | ✅ | EGO-SSO odesílá (vlastní SMTP) |
| Potvrzení e-mailu (změna) | — | ✅ | — | — | — | ✅ | EGO-SSO odesílá |
| Password reset (čtenář) | — | ✅ | — | — | — | ✅ | EGO-SSO scope |
| Subscription confirmation | — | — | 🔧 | — | ✅ | 🔧 | CRM trigger → MAI |
| Subscription expiring | — | — | 🔧 | — | ✅ | 🔧 | CRM trigger → MAI |
| Subscription expired | — | — | 🔧 | — | ✅ | 🔧 | CRM trigger → MAI |
| Subscription cancelled | — | — | 🔧 | — | ✅ | 🔧 | CRM trigger → MAI |
| Payment receipt / faktura | — | — | 🔧 | — | ✅ | 🔧 | CRM trigger → MAI |
| Newsletter — denní digest | 🔧 | — | ✅ | — | ✅ | 🔧 | CMS připraví obsah, CRM dodá segment, MAI odešle |
| Newsletter — autorský digest | 🔧 | — | ✅ | — | ✅ | 🔧 | CMS skládá obsah, MAI řeší delivery a subscriptions |
| Newsletter — rubrikový | 🔧 | — | ✅ | — | ✅ | 🔧 | CMS připraví obsah, CRM dodá segment, MAI odešle |
| Newsletter — breaking news | 🔧 | — | ✅ | — | ✅ | 🔧 | CMS trigger/handoff, MAI odešle |
| Subscriber management (subscribe/unsubscribe) | — | — | — | — | ✅ | ✅ | REMP-owned flow mimo CMS scope |
| Mail type management | — | — | — | — | ✅ | ⚠️ | REMP config / FatChilli; CMS pouze mapuje existující codes |
| Template management (Twig) | — | — | — | — | ✅ | ✅ | MAI admin |
| E-mail tracking (opens, clicks) | — | — | — | — | ✅ | ✅ | MAI built-in |
| Internal system e-mails (admin alerts) | ✅ | — | — | — | — | ✅ | ActionMailer (admin only) |
8. Analytics a reporting
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Page view tracking | — | — | — | — | — | 🔲 | Beam (fáze 2) |
| Real-time dashboard | — | — | — | — | — | 🔲 | Beam (fáze 2) |
| Article read time | — | — | — | — | — | 🔲 | Beam (fáze 2) |
| Subscription metrics (MRR, churn) | — | — | ✅ | — | — | 🔧 | CRM admin |
| Campaign conversion rate | — | — | — | ✅ | — | ✅ | Campaign dashboard |
| Newsletter open/click rate | — | — | — | — | ✅ | ✅ | Mailer dashboard |
| Segment size metrics | — | — | ✅ | — | — | ⚠️ | CRM admin |
| Revenue per article / author | — | — | — | — | — | 🔲 | Beam + CRM (fáze 2) |
| Conversion funnel (visit → subscribe) | — | — | — | — | — | 🔲 | Beam (fáze 2) |
9. Administrace
| Funkce | CMS | ECO | CRM | CAM | MAI | Stav | Poznámka |
|---|
| Redakční admin (články, media) | ✅ | — | — | — | — | ✅ | Folio admin |
| Produktový admin (plány, ceny) | — | — | ✅ | — | — | 🔧 | REMP CRM admin |
| User admin (čtenáři) | — | ✅ | ✅ | — | — | ⚠️ | ECO admin? CRM admin? |
| Subscription admin | — | — | ✅ | — | — | ⚠️ | Dual admin? |
| Campaign admin | — | — | — | ✅ | — | ✅ | Campaign UI |
| Mailer admin (templates, jobs) | — | — | — | — | ✅ | ✅ | Mailer UI |
| Segment admin | — | — | ✅ | — | — | ⚠️ | CRM admin |
| PaywallTag admin | ✅ | — | — | — | — | 🔧 | Folio admin |
10. Nepokryté oblasti a mezery
10a. Funkce bez jasného vlastníka
| Funkce | Problém | Doporučení |
|---|
| Metered paywall | Není jasné zda bude, ani kde se implementuje. CRM nemá native metering. | Implementovat v CMS (server-side counter per user) |
| Cross-site subscription | Combo předplatné (HN + Respekt) — mapping na content_access? | Definovat content_access levels per site a per combo |
| Gift subscription | Kdo gift vytvoří, jak se aktivuje? | REMP CRM checkout |
| Corporate subscription | Multi-seat licence, admin per company? | REMP CRM extension |
| Content access audit log | Kdo přistupoval k jakému obsahu kdy? | Beam (fáze 2) |
| Consent management | GDPR consent per mail type, per tracking | Ecoidentita scope nebo dedikovaný CMP |
| Notification preferences UI | Kde si uživatel nastaví co chce dostávat? | REMP self-care / Mailer preferences, ne CMS |
| Mobile push notifications | Mimo scope REMP, ale relevantní | Dedikovaný push service (Firebase) |
10b. Funkce závislé na fázi 2 (Beam)
| Funkce | Důsledek bez Beam |
|---|
| Behaviorální segmenty | Segmentace pouze dle subscription stavu, ne chování |
| Real-time content popularity | Žádný live dashboard pro redakci |
| A/B test cílení dle chování | Pouze dle subscription/attribute segmentů |
| Revenue attribution | Nelze propojit obsah s revenue |
| Churn prediction | Nelze predikovat odchod dle engagement |
| Personalized recommendations | Nelze bez behaviorálních dat |
10c. HN.cz epics — mapování na integraci
| Epic | Název | Relevance pro REMP | Stav |
|---|
| 01 | Článek – editor | ❌ Žádná | — |
| 01b | Paywall tags | ✅ Definuje PaywallTag model pro entitlement check | 🔧 |
| 02 | Product Definition | ✅ Definuje subscription types pro CRM sync | 🔧 |
| 03 | Subscriptions (REMP CRM) | ✅ REMP CRM = SoT, CMS = entitlement cache | 🔧 |
| 04 | Ecoidentita / Login | ✅ User identity pro CRM user sync | 🔧 |
| 05 | Self-care | ✅ UI pro subscription mgmt, volá REMP CRM API | 🔧 |
| 06 | Paywall | ✅ CMS paywall UI + CRM entitlement check | 🔧 |
| 07 | INT (Mobile app) | ⚠️ App musí ověřovat entitlement | ⚠️ |
| 08 | SEO / Schema | ⚠️ Schema.org markup pro paywall locked content | ⚠️ |
| 09 | Email Notifications | ✅ Přepojení na REMP Mailer | 🔧 |
| 10 | Admin | ⚠️ PaywallTag admin, newsletter authoring / handoff | 🔧 |
| 11-50 | Další epiky | ❌–⚠️ Nepřímý vliv | — |
11. Souhrn připravenosti
| Oblast | Stav připravenosti | Blokující? | Komentář |
|---|
| Content management | ✅ Ready | Ne | Folio CMS funkční |
| PaywallTag model | 🔧 Planned | Ano → Sprint 3 | Epic 01b |
| Ecoidentita SSO | ⚠️ Unknown | Ano → Sprint 1 | Blokuje user sync |
| REMP CRM Subscriptions | 🔧 Planned | Ano → Sprint 3 | Epic 03 |
| REMP CRM deployment | ⚠️ Unknown | Ano → Sprint 1 | Blokuje vše |
| REMP CRM API docs | ⚠️ Unknown | Ano → Sprint 1 | Nutné pro API contract |
| REMP Campaign | ✅ Ready | Ne | Kód v repozitáři |
| REMP Mailer | ✅ Ready | Ne | Kód v repozitáři |
| REMP SSO | ✅ Ready | Ne | Interní admin only |
| Platební brána | ⚠️ Unknown | Ano → Sprint 4 | Rozhodnutí A6 |
| Staging environment | ⚠️ Unknown | Ano → Sprint 1 | Rozhodnutí A2 |
Kritická cesta
Ecoidentita SSO ready ────┐
├──→ User Sync ──→ Subscription Sync ──→ Paywall ──→ Launch
REMP CRM deployed + docs ─┘
↑
REMP CRM Subscriptions ready
Tři blocker itemy musí být vyřešeny před zahájením vývoje:
- REMP CRM — deployment, API docs, staging
- Ecoidentita — funkční SSO redirect + userinfo endpoint
- REMP CRM — subscription types + checkout nakonfigurovaný FatChilli