Ana içeriğe geç

Headless Delivery

Craftive, içeriği farklı frontend deneyimlerine headless delivery modeliyle aktarabilir. Bu model, içerik yönetimini sunum katmanından ayırır.

Ne sağlar?

  • Aynı içerik modeliyle birden fazla frontend deneyimi.
  • Storefront, mobil uygulama veya kampanya sayfası gibi farklı yüzeylerde tutarlı içerik.
  • Editörlerin içeriği merkezi olarak yönetebilmesi.
  • Geliştiricilerin frontend tasarımını içerik modeline göre özelleştirebilmesi.

Rendering mantığı

Frontend, sayfa yapısını ve component listesini okur. Her component tipi için uygun bir sunum belirlenir. Bu sayede içerik ekibi componentleri yönetirken frontend de tutarlı bir tasarım sistemi içinde kalır.

  1. Tenant bağlamı hostname veya güvenilir header bilgisiyle çözülür.
  2. Frontend site konfigürasyonunu ve desteklenen dil bilgisini okur.
  3. Sayfa ağacı slot ve component ilişkileriyle alınır.
  4. Her component tipi kendi renderer'ına yönlendirilir.
  5. Eksik içerik, medya veya dil varyasyonu fallback davranışıyla ele alınır.

Public delivery sözleşmesi

Craftive CMS delivery uçları ziyaretçi deneyimleri için tasarlanmıştır. Bu nedenle public delivery çağrıları kullanıcı girişi gerektirmez; ancak her çağrı yine de doğru tenant bağlamında çözülmelidir.

Tenant bağlamı genellikle yayındaki hostname üzerinden anlaşılır. Geliştirme, test veya proxy senaryolarında entegrasyon X-Tenant-Subdomain ya da X-Tenant-ID header'larından birini gönderebilir. Public frontend, farklı tenant içeriklerini tek runtime varsayımıyla karıştırmamalıdır.

Live delivery yalnızca yayına uygun içeriği göstermelidir. Editor preview ise ayrı bir admin akışıdır; preview bilgisi public ziyaretçi oturumlarında kullanılmamalı ve cache'e alınmamalıdır.

Do

  • Tenant ve dil bilgisini delivery sözleşmesinden oku.
  • Eksik içerik için kontrollü fallback tasarla.
  • Preview isteklerinde taze veri kullan.

Don't

  • Tek tenant veya sabit dil listesi varsayma.
  • Preview verisini public cache'e koyma.
  • Eksik medyayı kırık layout olarak gösterme.

Cache ve hata toleransı

Storefront entegrasyonları canlı içerikte cache kullanabilir; fakat preview veya editör oturumlarında taze veri alınmalıdır. Eksik sayfa, boş slot, eksik medya veya yayınlanmamış dil varyasyonu kullanıcı arayüzünü kırmamalıdır.

DurumÖnerilen davranış
Live yayın içeriğiCache kullanılabilir; yayın sonrası yenileme stratejisi planlanmalıdır.
Preview veya editör oturumuTaze veri alınmalı; public cache kullanılmamalıdır.
Eksik sayfaZiyaretçiye kontrollü boş durum veya 404 deneyimi gösterilmelidir.
Eksik medyaLayout korunmalı; anlamlı fallback veya alanı gizleme tercih edilmelidir.
Eksik dil varyasyonuÜrün kararına göre fallback veya boş durum uygulanmalıdır.

Entegrasyon kalitesi

İyi bir headless entegrasyon:

  • Eksik içerikte bozulmaz.
  • Uzun metinleri tasarım içinde taşır.
  • Medya yüklenemese bile anlamlı fallback sunar.
  • Dil seçimini ve yayın durumunu dikkate alır.
  • Editor preview ve live deneyimi karıştırmaz.