/ REMP integrace Interní dokument

08 — Matice pokrytí funkcí systémy

Legenda

ZkratkaSystém
CMSFolio CMS (Ruby on Rails)
CRMREMP CRM (Nette — produkty, předplatné, platby, checkout, self-care)
ECOEcoidentita (SSO provider)
CAMREMP Campaign (Laravel — bannery, showtime)
MAIREMP Mailer (Nette — e-maily, newslettery)
SSOREMP SSO (Laravel — admin autentizace)
BEAREMP Beam (Go + Laravel — tracking, segmenty) — fáze 2

Stav pokrytí

SymbolVý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

FunkceCMSECOCRMCAMMAIStavPozná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 metadataFolio core
Tagging / kategorizaceFolio core
Plánované publikováníFolio core
Content versioningFolio core
Multi-site (HN, Respekt, …)Folio sites
API pro mobilní aplikaciREST API

2. Paywall a zamykání obsahu

FunkceCMSECOCRMCAMMAIStavPozná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

FunkceCMSECOCRMCAMMAIStavPozná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 managementREMP SSO

4. Předplatné a platby

FunkceCMSECOCRMCAMMAIStavPozná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í

FunkceCMSECOCRMCAMMAIStavPozná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)

FunkceCMSECOCRMCAMMAIStavPozná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 trackingCampaign 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

FunkceCMSECOCRMCAMMAIStavPozná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

FunkceCMSECOCRMCAMMAIStavPozná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 rateCampaign dashboard
Newsletter open/click rateMailer 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

FunkceCMSECOCRMCAMMAIStavPozná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 adminCampaign 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

FunkceProblémDoporučení
Metered paywallNení jasné zda bude, ani kde se implementuje. CRM nemá native metering.Implementovat v CMS (server-side counter per user)
Cross-site subscriptionCombo předplatné (HN + Respekt) — mapping na content_access?Definovat content_access levels per site a per combo
Gift subscriptionKdo gift vytvoří, jak se aktivuje?REMP CRM checkout
Corporate subscriptionMulti-seat licence, admin per company?REMP CRM extension
Content access audit logKdo přistupoval k jakému obsahu kdy?Beam (fáze 2)
Consent managementGDPR consent per mail type, per trackingEcoidentita scope nebo dedikovaný CMP
Notification preferences UIKde si uživatel nastaví co chce dostávat?REMP self-care / Mailer preferences, ne CMS
Mobile push notificationsMimo scope REMP, ale relevantníDedikovaný push service (Firebase)

10b. Funkce závislé na fázi 2 (Beam)

FunkceDůsledek bez Beam
Behaviorální segmentySegmentace 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 attributionNelze propojit obsah s revenue
Churn predictionNelze predikovat odchod dle engagement
Personalized recommendationsNelze bez behaviorálních dat

10c. HN.cz epics — mapování na integraci

EpicNázevRelevance pro REMPStav
01Článek – editor❌ Žádná
01bPaywall tags✅ Definuje PaywallTag model pro entitlement check🔧
02Product Definition✅ Definuje subscription types pro CRM sync🔧
03Subscriptions (REMP CRM)✅ REMP CRM = SoT, CMS = entitlement cache🔧
04Ecoidentita / Login✅ User identity pro CRM user sync🔧
05Self-care✅ UI pro subscription mgmt, volá REMP CRM API🔧
06Paywall✅ CMS paywall UI + CRM entitlement check🔧
07INT (Mobile app)⚠️ App musí ověřovat entitlement⚠️
08SEO / Schema⚠️ Schema.org markup pro paywall locked content⚠️
09Email Notifications✅ Přepojení na REMP Mailer🔧
10Admin⚠️ PaywallTag admin, newsletter authoring / handoff🔧
11-50Další epiky❌–⚠️ Nepřímý vliv

11. Souhrn připravenosti

OblastStav připravenostiBlokující?Komentář
Content management✅ ReadyNeFolio CMS funkční
PaywallTag model🔧 PlannedAno → Sprint 3Epic 01b
Ecoidentita SSO⚠️ UnknownAno → Sprint 1Blokuje user sync
REMP CRM Subscriptions🔧 PlannedAno → Sprint 3Epic 03
REMP CRM deployment⚠️ UnknownAno → Sprint 1Blokuje vše
REMP CRM API docs⚠️ UnknownAno → Sprint 1Nutné pro API contract
REMP Campaign✅ ReadyNeKód v repozitáři
REMP Mailer✅ ReadyNeKód v repozitáři
REMP SSO✅ ReadyNeInterní admin only
Platební brána⚠️ UnknownAno → Sprint 4Rozhodnutí A6
Staging environment⚠️ UnknownAno → Sprint 1Rozhodnutí 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:

  1. REMP CRM — deployment, API docs, staging
  2. Ecoidentita — funkční SSO redirect + userinfo endpoint
  3. REMP CRM — subscription types + checkout nakonfigurovaný FatChilli