WebBlocks CMS, herkese açık JPEG, PNG ve WebP medya dosyalarından ürüne ait sabit bir görsel varyantları kümesi oluşturur. Editörler yalnızca özgün medya öğesini yönetmeye devam eder; oluşturulan dosyalar türetilmiş önbellek yapılarıdır ve kitaplıkta ayrı kayıtlar olarak görünmez.
Sistem varyantları
Paketin sahip olduğu media_transforms.php yapılandırması; küçük resim, kart, duyarlı içerik, hero ve sosyal varyantlarını tanımlar. Bu tanımlar CMS ürün davranışının parçasıdır. Bu sürüm, bilinçli olarak proje tanımlı varyantlar veya boyutları ve kaliteyi değiştirmeye yönelik bir yönetim ekranı eklemez.
Dönüşümler ilk kullanımda oluşturulur ve kaynak medya diskinde media/transforms/{media_id} altında saklanır. Önbellek parmak izi yalnızca dönüşümle ilgili kaynak kimliğini, boyutları, MIME verilerini, odak noktasını ve varyant tanımını içerir; editoryal meta veri değişiklikleri bunu geçersiz kılmaz. Medyayı değiştirmek veya silmek ve odak noktasını değiştirmek, eski dönüşümleri temizler. Medya düzenleme ekranı, eksik dosyaları oluşturmadan mevcut varyantları gösterir ve tüm sistem varyantlarını açıkça temizleyip yeniden oluşturabilir.
SVG ve desteklenmeyen raster biçimleri, özgün herkese açık URL'lerini güvenle kullanır. Özgün dosyaların üzerine hiçbir zaman yazılmaz. Türetilmiş dönüşüm dosyaları bağımsız editoryal içerik değildir ve aktarım ya da geri yükleme sonrasında yeniden oluşturulabilir.
Editoryal iş akışı
Görsel medyası, Medya düzenleme ekranında bir odak noktası seçici sunar. Seçilen normalize edilmiş X/Y konumu; küçük resim, kart, hero ve sosyal gibi kırpma varyantlarına yön verir. Sığdırma varyantları özgün en-boy oranını korur.
Aynı ekran her sistem varyantını önizler. Medya seçiciler küçük resim varyantını kullanırken herkese açık Görsel bloku, sığdırma varyantlarından tembel yüklenen duyarlı srcset adayları üretir.
Sığdırma varyantları en-boy oranını korur ve özgün görsel zaten istenen varyanttan daha geniş değilse doğrudan onu kullanır. Kırpma varyantları, yapılandırılmış en-boy oranına göre odak noktasının çevresinde bir kaynak kırpma alanı hesaplar. Küçük özgün görseller hiçbir zaman büyütülmez: yapılandırılmış çıktı oranı kaynağa sığacak şekilde orantılı olarak küçültülür, ardından bozulma olmadan kırpılır.
Duyarlı Görsel ve Galeri işaretlemesi ölçülen sonuç boyutlarını kullanır, adayları gerçek genişliğe göre sıralar, yinelenen URL'leri kaldırır ve en az iki farklı aday kalmadıkça srcset özelliğini kullanmaz. Galerinin sizes değeri yapılandırılmış sütun sayısını izler. Sayfa veya site sosyal görselleri, Open Graph ve Twitter meta verileri için social kırpmasını kullanır. Geçerli pakette bu blok rolleri için birinci sınıf bir Medya Kitaplığı alanı bulunmadığından card ve hero ayrılmış olarak kalır.
Depolama ve çalışma zamanı gereksinimleri
Dönüşümler PHP GD ve Laravel dosya sistemi disklerini kullanır. JPEG, PNG ve WebP üretimi ilgili GD codec bileşenine bağlıdır. Kaynak biçimi veya çalışma zamanı codec bileşeni kullanılamıyorsa herkese açık işleme başarısız olmak yerine özgün medya URL'sine geri döner.
PNG alfa kanalı korunur. Kod çözme, yeniden boyutlandırma, kodlama ve depolama hatalarında tamamlanmamış çıktı kaldırılır ve güvenli biçimde geri dönüş yapılır. ext-gd, Composer suggest altında isteğe bağlı kalır.
Operatörler uygun tüm görselleri sınırlandırılmış gruplar hâlinde yeniden oluşturabilir, tek bir kimliği hedefleyebilir veya özgün dosyalara ya da güncel dönüşümlere dokunmadan eski parmak izi dizinlerini güvenle temizleyebilir:
php artisan webblocks:media-variants:regenerate
php artisan webblocks:media-variants:regenerate --media=123
php artisan webblocks:media-variants:regenerate --prune
Oluşturma eşzamanlıdır ve bilinçli olarak kuyruk gerektirmez. Büyük kitaplıklar bir bakım aralığında yeniden oluşturulmalıdır.