İçerikleri veritabanında değil Git'te saklamak ne anlama gelir ve bu neden ajanslar için doğru seçimdir.
AstroForge'da tüm içerikler JSON dosyalarında saklanır ve GitHub'da versiyonlanır. Bu, çoğu CMS'in benimsediği veritabanı yaklaşımından temel bir ayrışmadır.
Veritabanı tabanlı CMS'lerde içerik anlık veri olarak saklanır. Dün ne vardı, iki hafta önce başlık ne diyordu — bu soruların cevabını bulmak zordur. Yanlış bir silme işlemi genellikle geri döndürülemez.
Git'te ise her değişiklik bir commit'tir. Tarih sonsuza kadar saklanır. Yanlış bir değişiklik: git revert ile tek komutla geri alınır. Kim ne zaman ne değiştirdi: git blame ile saniyeler içinde görülür.
CMS üzerinden yapılan her kaydetme işlemi, astrocms Worker tarafından doğrudan GitHub'a commit edilir. Commit mesajı hangi sayfanın hangi bölümünün değiştirildiğini belirtir. Bu sayede:
npm run seed komutu, tüm sayfalar için JSON iskeletlerini oluşturur. Mevcut içerikler korunur, sadece eksik key'ler eklenir. Bu sayede yeni bir organism eklendiğinde tüm sayfa JSON'larına yeni key'ler merge edilebilir.
Git-tabanlı içerik yönetiminin bir dezavantajı vardır: çok yüksek frekanslı içerik güncellemelerinde (dakikada onlarca commit) GitHub API rate limit'e çarpabilir. Bu senaryo için CMS yazmaları arasında batch sistemi veya geçici KV cache kullanılabilir.
Astro SSG: Statik Sitelerin Geleceği | AstroForge Blog
2025-05-10Çok Kiracılı CMS Nasıl Çalışır? | AstroForge Blog
2025-04-18Organism Sistemi: Bileşenden Sayfaya | AstroForge Blog
2025-02-14Ajans için Template Engine Seçmek | AstroForge Blog
2025-01-30Schema Pipeline: TypeScript'ten CMS Formuna | AstroForge Blog
2024-12-20