Teraz z AI - twórz strony przez serwer MCP

Podgląd roboczy

API dostawcze zwraca wyłącznie treść opublikowaną. Trzy mechanizmy pozwalają właściwym osobom zobaczyć drafty bez otwierania drzwi wszystkim.

Publiczne odczyty zwracają treść opublikowaną i nic więcej. To właściwość API, a nie filtr, o którym Twoja aplikacja ma pamiętać - dlatego niedokończona strona nie wycieknie przez przypadek.

Znaczy to też, że zobaczenie draftu wymaga świadomego udowodnienia, kim jesteś. Są trzy drogi, dla trzech różnych osób.

1. Ciasteczko robocze - dla recenzentów

Koleżanka przeglądająca zmianę chce zobaczyć draft pod prawdziwym URL-em, bez edytora zasłaniającego widok. Route /api/draft ustawia ciasteczko przełączające publiczny route na treść roboczą:

/api/draft?secret=...&slug=/pricing

Route waliduje sekret względem CMSSY_DRAFT_SECRET, ustawia ciasteczko i przekierowuje na slug. Od tej chwili ta przeglądarka widzi drafty, dopóki ciasteczko nie zostanie wyczyszczone. Wszyscy inni dalej widzą serwis opublikowany.

2. Overlay roboczy - dla Ciebie, podczas developmentu

Dopisz ?cmssyDev=1 do dowolnego URL-a, żeby wyrenderować swój osobisty overlay roboczy:

http://localhost:3000/pricing?cmssyDev=1

To nie jest współdzielony draft. To Twoja prywatna kopia robocza - i dlatego jest bezpieczna do wypróbowania bloku, który nie jest jeszcze wdrożony: nikomu innemu podgląd się nie zmieni.

Wymaga CMSSY_API_TOKEN i jest przeznaczony do developmentu. Bez flagi dostajesz treść opublikowaną, więc pozostawienie ustawionego tokenu nie zmienia tego, co widzą odwiedzający.

3. Tryb edycji - dla edytora

Ramka edytora wysyła cmssyEdit=1 plus pasujący cmssySecret. Middleware weryfikuje parę i przepisuje na /cmssy-edit, który serwuje treść roboczą i montuje most edycyjny.

Niezweryfikowane ?cmssyEdit=1 nie robi nic. Sprawdza to smoke test, bo route podglądu ufający query stringowi to publiczny wyciek draftów z dodatkowymi krokami - zobacz testowanie.

Sekrety

  • CMSSY_DRAFT_SECRET - pilnuje mostu podglądu roboczego i trybu edycji. Dowolny losowy string; musi tylko zgadzać się z tym, co wysyła panel.
  • CMSSY_API_TOKEN - wymagany dla overlaya ?cmssyDev=1, bo odczyt czyjegoś prywatnego draftu to operacja uwierzytelniona.
  • CMSSY_REVALIDATE_SECRET - pilnuje webhooka /api/revalidate, który jest osobną sprawą: unieważnia cache po publikacji i nie odsłania draftów.

Ustaw CMSSY_ADMIN_URL, jeśli hostujesz panel u siebie; baner podglądu używa go do linku "Otwórz w edytorze".

Publikacja a cache

Publikacja to nie deploy - i nie pojawia się też automatycznie. Twój publiczny route cache'uje się według własnej wartości revalidate, więc świeżo opublikowana strona może dalej serwować starą kopię, dopóki to okno nie minie.

Webhook /api/revalidate zamyka tę lukę: cmssy woła go przy publikacji, a route unieważnia dotknięte ścieżki. Jeśli zmiana jest opublikowana, a serwis dalej pokazuje starą wersję, sprawdź ten webhook, zanim zaczniesz podejrzewać CMS-a.

Następne kroki

  • Route'y i strony - trzy kształty żądań, które obsługują te mechanizmy.
  • Testowanie - dowód, że tryb edycji dalej odrzuca niezweryfikowane żądania.
  • Tokeny API - tworzenie i ograniczanie CMSSY_API_TOKEN.