WebBlocks CMSDokümanlarRehberlerBlogsMarkaEklentiler
Mimari · Dosya sahipliği

WebBlocks CMS frontend dosyalarını nasıl yönetir?

WebBlocks CMS, doğrudan sunulabilen tarayıcı dosyalarını paketle birlikte sağlar; siteye ait CSS ve JavaScript ise ayrı ve açık bir ad alanında kalır.

Northstar Studio sitesini ve standart CSS özelleştirme yolunu gösteren WebBlocks CMS Site Assets ekranı.
WebBlocks CMS, kuruluma ait CSS ve JavaScript dosyalarını siteye özgü standart yollarda tutar.

WebBlocks CMS, yönetim arayüzünün ve herkese açık sayfa oluşturucularının ihtiyaç duyduğu CSS ve JavaScript dosyalarını, doğrudan sunulabilen paket dosyaları olarak sağlar.

CMS sürümü tarayıcı dosyalarını içerir. Yükleyici bunları CMS'yi barındıran Laravel uygulamasının public dizinine kopyalar; web sunucusu da bu dosyaları statik dosya olarak sunar.

WebBlocks CMS, JavaScript çalışma zamanını paket sürümünün bir parçası olarak sağlar ve bakımını yapar.

Dosya sahipliği sınırına genel bakış

WebBlocks CMS, tarayıcı dosyalarını sahipliği açık üç katmana ayırır:

  1. CMS çekirdek dosyaları public/cms altında bulunur ve CMS sürümüyle değişir.
  2. Siteye özgü özelleştirmeler public/site/{site_handle}/css/site.css ve public/site/{site_handle}/js/site.js altında bulunur.
  3. Sayfaya ait dosyalar, daha dar bir ihtiyacı karşılamak için onaylanmış yerel /site/... CSS veya JavaScript dosyalarına başvurabilir.

Yollar sahipliği görünür kılar. /cms altındaki dosya ürün sürümüne, /site/{site_handle} altındaki dosya ise o kuruluma ve siteye aittir.

Paket hangi dosyaları sağlar?

WebBlocks CMS, kendi çalışma zamanı dosyalarını public/cms ad alanında tutar. Paket yükleyicisi ve webblocks-cms-assets yayınlama etiketi, pakette izlenen dosyaları host uygulamanın public köküne kopyalar.

Yönetim stilleri, herkese açık sayfa stilleri, ürün marka dosyaları ve belirli işlevleri geliştiren JavaScript kodları, bunları kullanan CMS sürümüne aittir. PHP koduyla birlikte yayımlanır ve test edilirler.

Herkese açık URL'ler normal statik URL'ler olarak kalır. Laravel'in her stil dosyasını veya betiği bir controller üzerinden sunması gerekmez. Web sunucusu mevcut dosyaları doğrudan sunarken Laravel uygulama rotalarını işler.

Bu, /cms yolunun neden yönetim rotası değil, dosya ad alanı olduğunu da açıklar. Operatör arayüzü /webadmin altında bulunur. Rota sahipliğiyle dosya sistemi sahipliğini ayırmak, yaygın Nginx kurulumlarında try_files çakışmalarını önler.

Çekirdek dosyaları ve site özelleştirmeleri farklı sahipliklere aittir

WebBlocks CMS, kuruluma ait görsel düzenlemeler için ayrı bir genişletme sınırı sağlar.

Normal görünüm ayarları yerleşik blok ayarları ve WebBlocks UI tasarım değişkenleriyle yapılır. Site özelleştirmeleri, yalnızca o siteye ait kuruluma özgü kompozisyon ihtiyaçları içindir.

CMS dosyalarının yeniden yayımlanması, siteye ait özelleştirmeleri korurken pakete ait dosyaları değiştirir. CMS çekirdeğindeki düzeltmeler CMS sürümleriyle dağıtılır.

WebBlocks CMS frontend davranışlarını nasıl sağlar?

WebBlocks CMS, yönetim iş akışları ve herkese açık sayfalardaki aşamalı geliştirmeler için JavaScript sağlar.

Sunucuda oluşturulan HTML temel katman olarak kalır. Belirli işlevlere odaklanan betikler gezinmeyi, medya görüntülemeyi, aramayı, modal pencereleri ve düzenleme akışlarını geliştirir. İsimlendirilmiş JavaScript dosyaları defer ile yüklenir; herkese açık sayfa oluşturucuları uygulama başlatmayı rastgele satır içi betiklere gizlemez.

Tarayıcı uyumluluğu, erişilebilirlik, dosya sırası, önbelleğin geçersiz kılınması ve betikler arasındaki etkileşimler WebBlocks CMS sürüm sürecinin sorumluluğundadır.

WebBlocks CMS, çalışma zamanının ihtiyaç duyduğu tarayıcı dosyalarının sahibidir ve bunları sürümlendirir.

WebBlocks CMS dosya sahipliği ilkesi

Statik dosyalar nasıl güncel kalır?

WebBlocks CMS, önbellekteki dosyaların güncel kalması için tarayıcıya sunulan dosyaları sürümlendirir.

CMS yerleşimleri, pakete ait dosya URL’lerine genellikle kurulu dosyanın son değiştirilme zamanına dayanan bir sürüm değeri ekler. Site özelleştirme dosyaları ise içerik özeti kullanır. Dosya değişince URL de değişir; tarayıcı eski önbellek kopyasını kullanmak yerine yeni sürümü ister.

Paket ayrıca WebBlocks UI çalışma zamanını sürümlenmiş yerel bir yola sabitler. Tarayıcı, CMS arayüzünü oluşturmak için canlı bir üçüncü taraf CDN’ye ihtiyaç duymaz; CMS sürümü hangi UI sürümüyle test edildiğini belirtir.

CMS sürümü neleri garanti etmelidir?

Hazır dosyalarla dağıtım modeli, CMS sürümüne somut sorumluluklar getirir:

  • kaynak değişiklikleri incelenebilir çalışma zamanı dosyaları olarak kaydedilmelidir;
  • sürüm süreci gerekli tüm dosyaların bulunduğunu doğrulamalıdır;
  • paket güncellemeleri çalışma zamanı kopyalarını güvenli biçimde eşitlemelidir;
  • kapsamlı frontend özelleştirmeleri açık özelleştirme veya eklenti sözleşmeleri gerektirir.

WebBlocks CMS çekirdeğinde tarayıcı uyumluluğu ve dosyaların eksiksiz olması paket sürümünün sorumluluğudur. Siteye özgü görünüm kuruluma aittir ve CMS çekirdeğinden ayrı kalır.

Bu dosya sahipliği sınırının önce hangi bölümünü incelemek istersiniz: yayınlama, önbelleğin geçersiz kılınması veya site özelleştirmeleri?