Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Forumdan daha fazla yararlanmak için, profilinizi telefon numaranız 📱 ile doğrulayın ve daha ayrıcalıklı olun 😉
    Daha fazla bilgi!

XenForo 2.3 Yenilikleri - Görüntü optimizasyonu, gelişmiş görüntü yeniden boyutlandırma ve daha fazlası!

eTiKeT™

value="{XGT}"
Yönetici
XGT Master
SMS onaylı
Katılım
4 Ara 2016
Mesajlar
9,079
Çözümler
1,037
XenForo 2.3 Yenilikleri - Görüntü optimizasyonu, gelişmiş görüntü yeniden boyutlandırma ve daha fazlası!

WebP desteği ile görüntü optimizasyonu

Başlangıçta XenForo 2.3'teki WebP desteğimizin kapsamı yalnızca kullanıcıların WebP dosyalarını yüklemelerine ve bunların satır içinde doğru şekilde görüntülenmesine izin vermekti. Format web'de daha yaygın hale geldikçe bu kendi başına olumlu bir değişiklik olurdu, ancak disk kullanımı sorununu çözmek için kendi başına pek bir şey yapmaz, bu da elbette performans üzerinde olumlu bir etkiye sahiptir.

Ancak bu yeterli değildi.

hys_4_option.png

Gelecekteki tüm resim yüklemelerini otomatik olarak optimize etmek istiyorsanız, bu seçeneği etkinleştirmeniz yeterlidir.

Yükleme sırasında, şu anda desteklenen tüm görüntü türleri (GIF'ler hariç) WebP formatında kaydedilecekti.
Yan not: Şu anda olduğu gibi, küçük resimler, profil banner'ları ve avatarlar (ve programlı olarak ayarlanmış bir dosya adına sahip diğer her şey), temel dosya formatına bakılmaksızın .jpg uzantısıyla sunulacaktır.

Medya Galerisi ve Kaynak Yöneticisi gibi ek sistemini zaten kullanan özel içerik türleriniz varsa, bunlara yüklenen görüntüler de otomatik olarak optimize edilecektir.

Aslında, eklentiniz yüklemeleri varsayılan yaklaşımla, yani XF\Http\Uploadsınıfıyla işliyorsa, tüm yeni resim yüklemeleri otomatik olarak optimize edilecektir. Bu, yönetici varlık yükleme sistemi de dahil olmak üzere sahip olduğumuz hemen hemen her sisteme yayılır.

Bir geliştirici olarak, herhangi bir nedenle bu davranışı devre dışı bırakmak isterseniz, bunu aşağıdaki tek satırla yapabilirsiniz:

Rich (BB code):
$upload->setImageOptimize(false);

Bu, gelecekteki yüklemelerle ilgilidir, ancak çoğunuz mevcut dosyaları nasıl optimize edeceğinizi merak ediyor olacaksınız. Bu nedenle, mevcut tüm eklentilerinizi, avatarlarınızı ve profil banner'larınızı otomatik olarak yeniden oluşturabileceğinizi duymaktan memnun olacaksınız.

hys_4_rebuilds.png

Bunlar, yönetici kontrol panelinizdeki "Önbellekleri yeniden oluştur" sayfasından başlatabileceğiniz tipik yeniden oluşturmalardır.

Bu oldukça yoğun ve uzun bir süreç olduğundan, bunu tarayıcı zaman aşımı ve denetim riski olmadan çalıştırmayı tercih ederseniz, yerleşik komutlardan birini de kullanabilirsiniz:

Kod:
xf-rebuild:attachment-optimization
xf-rebuild:avatar-optimization
xf-rebuild:profile-banner-optimization

Bir geliştirici olarak, AbstractImageOptimizationJob sınıfını genişleterek kendi içerik türleriniz için destek eklemek çok kolaydır.

Bunu XenForo Topluluk forumunun bir geliştirme kopyası üzerinde zaten çalıştırdık. Bunu yaparken, dönüştürmeden önce xf_attachment_data tablosu aracılığıyla bildirilen dosya boyutu yaklaşık 40 GB idi. Dönüştürmeden sonra bildirilen dosya boyutu yaklaşık 19GB.

Bunlar önemli tasarruflardır ve performans üzerinde de olumlu bir etkisi olacaktır.


"O kadar da iyi olmayan" haberler
WebP artık tüm büyük tarayıcılar tarafından desteklenmektedir. Güncel bir tarayıcı kullanan herkes görüntüleri görüntülerken herhangi bir sorun yaşamayacaktır. Ancak, Eylül 2020'den önceki bazı Apple cihazları ve tarayıcıları WebP'yi desteklememektedir.

Özellikle, iOS 14 veya üstünü kullanıyorsanız, hiçbir sorun yoktur. Safari 14 ve üzeri de harika ancak WebP görüntülerinin görüntülenmesi için en az macOS 11 Big Sur çalıştırıyor olmanız gerekiyor.

Daha önceki tarayıcılarda, bu kullanıcılar WebP görüntülerini hiç göremeyecektir. Bozuk görüntüler olarak görüneceklerdir.

Zaman ilerledikçe, insanlar yazılımlarını ve donanımlarını güncelledikçe bu doğal olarak giderek azalan bir sorundur. Ancak bu, tüm görüntüleri WebP'ye dönüştürmeden önce farkında olmanız ve düşünmeniz gereken bir konudur.
 

Geliştirilmiş görüntü yeniden boyutlandırma​


Ceplerimize sığan kameraların giderek artan sayıda megapiksel ile fotoğraf ürettiği çağda, eminim XenForo'nun bir fotoğrafın çok büyük olduğundan şikayet ettiği bir durumla karşılaşmış olabilirsiniz. Ya dosya boyutu sınırları ya da sunucunuzun yeniden boyutlandırmasına izin verdiğimiz görüntülerin boyutuna getirdiğimiz bir kısıtlama nedeniyle.

Bu ikinci durumda, sınır varsayılan olarak en fazla 20 milyon piksel içeren görüntüler olarak belirlenmiştir. Her ne kadar src/config.php dosyasında özel bir değer belirleyerek bu sınır artırılabilse de, bu sınır on yıldan uzun bir süre önce belirlenmiştir ve en ucuz paylaşımlı barındırma bile büyük bir görüntünün yeniden boyutlandırılması için @Kier'in evine yıldırım düşmesi gibi patlamayacaktır.

However, we've increased that limit in XF 2.3 by default as follows:

PHP:
$config['maxImageResizePixelCount'] = 48000000;

Daha küçük (veya daha büyük) bir limite ihtiyacınız varsa, yukarıdakileri src/config.php dosyanıza ekleyerek ve değeri buna göre ayarlayarak yapabilirsiniz.

Bu çok küçük noktayı aradan çıkardıktan sonra, şimdi size bunun neden çok daha az önemli olduğunu açıklayayım.

XenForo 2.3 ile başlayarak, kaynaklar, medya galerisi ve diğer ekler gibi şeyler için dosya yükleme sistemine güç veren "ek yöneticisi" artık görüntüleri sunucunuza ulaşmadan önce yeniden boyutlandırabiliyor.

Maksimum genişlik/yükseklik boyutlarını ayarladıysanız, XF zaten bunları sunucu tarafında sizin için yeniden boyutlandıracaktır, ancak 2.3 ile birlikte bunları önce istemci tarafında yeniden boyutlandırmayı deneyeceğiz.

Elimde 14,026 x 14,026 piksel genişliğinde (yaklaşık 200 megapiksel!) örnek bir fotoğraf var. XF 2.2'de bunu yükleyecek olsaydım, muhtemelen dosyanın yüklenemeyecek kadar büyük olduğunu belirten bir hata alırdım. Yukarıda bahsedilen yapılandırma değerini ayarlayabilirim, ancak kullanıcılarınızın bunu yapamayacağı açık. XF 2.3'te, dosya sunucuya yüklenmeden önce JavaScript API'leri kullanılarak tamamen istemci tarafında yeniden boyutlandırılır.

Bir görüntüyü yeniden boyutlandırmak, EXIF verileri gibi gömülü meta verileri etkili bir şekilde yok ettiğinden, yeniden boyutlandırmadan önce isteğe bağlı olarak EXIF verilerini yakalayabilen yeni bir üçüncü taraf kitaplığı da ekledik. Bu, XenForo Medya Galerisi için yeniden boyutlandırılmış bir görüntü için bile galeride EXIF verilerini görüntüleyebilmemizi sağlamak için çok önemlidir.

Kullanıcılarınız için artık can sıkıcı hatalar yok ve çoğu modern cihazın gücü sayesinde, oldukça hızlıdır ve sunucuya aktarılan dosya daha küçük olduğu için genel olarak yüklemek daha az zaman alır.
 

İfadeler ve tepkiler için herhangi bir emoji kullanın​


Bu yeni özellik bazılarından biraz daha çeşitli, ancak bir tür resim içeriyor, sanırım...?

Eğer kaçırdıysanız, Kier'in tepki görüntüleri için Apple tarzı emojiler yüklediğini düşündüğünüz için affedilebilirsiniz, ancak aslında durum böyle değil.


XF 2.3 ile başlayarak, artık sadece hangi emojiyi kullanmak istediğinizi tanımlayarak özel ifadeler ve tepkiler ekleyebilirsiniz.

Bir emoji kısa kodu yazmaya başlayarak kullanmak istediğiniz emojiyi arayabilir veya hatta istediğiniz emojiyi doğrudan girmek için cihazınızdaki emoji klavyesini kullanabilirsiniz:

hys_4_reaction_emoji.png

Özel bir resim yüklemek ve hatta bir sprite kullanmak için seçeneklerin hala orada olduğunu fark edeceksiniz, ancak varsayılan tepkiler (önceden özel olarak yapılmış başparmak yukarı tepkisi dahil) artık bunun yerine emojiden çekiliyor.

Bu, emoji kullanan tepkilerin ve ifadelerin artık genellikle gönderi içeriğini etkileyen emojiStyle seçeneğine de uyacağı anlamına geliyor. Kier'in HYS gönderisindeki en büyük ipucu, yerel cihaz emojisini etkinleştirmiş olması, bu nedenle Apple stilinde işleniyorlar. Varsayılan olarak hala JoyPixels kullanıyoruz, ancak farklı stil seçeneklerinin mevcut olduğunu bilmek güzel.

hys_4_joypixels.png

hys_4_twemoji.png

Yan not: İnsanlar hala Twemoji kullanıyor mu? Şimdi ona ne diyoruz? Xemoji? Xmoji? Muskmoji? 💩moji?


hys_4_twemoji.png

İfadeler de tamamen aynı şekilde çalışır. Elbette, bazıları için bu daha az kullanışlı çünkü emoji seçiciyi sağlıyoruz ve içerik oluştururken zaten emojileri destekliyoruz.

Ancak editör seçicideki emoji seçiciyi devre dışı bırakmayı tercih ediyorsanız ve yalnızca ifadeleri görüntülemek istiyorsanız, en azından şimdi sunmak istediğiniz belirli emojileri ifadelerle eşleştirebilir, böylece kullanım için mevcut emojilerin daha küçük bir alt kümesini görüntüleyebilirsiniz.
 
Son düzenleme:
Yönetici varlık yükleyicisi için boyut değişkenleri

Şimdi, bu özellik daha çok bir geliştirme aracıdır, ancak görüntü ile ilgilidir, bu yüzden buraya uymaktadır. Bu özellik öncelikle yeni stilde kullanılmak üzere yazıldı, ancak bunu 3.0 sürümüne kadar ertelememiz gerektiğine karar verildi.

XenForo 2.2'de eklediğimiz ve (S)FTP programınızı çalıştırmadan belirli görüntüleri doğrudan yönetici kontrol paneline yüklemenizi sağlayan varlık yükleyici sistemine aşina olabilirsiniz.

Bunu zaten XenForo'da reaksiyon görüntüleri, smilie görüntüleri ve logolar gibi şeyler için stil özellikleri yüklemek için kullanabilirsiniz.

XenForo 2.3 ile başlayarak, bu özellik geliştiriciler tarafından yüklenen bir varlık için otomatik olarak çeşitli boyut varyantları oluşturmak için kullanılabilir.

İlk adım, uygulamak için gerekli bir yöntemi olan Varlığınızda AssetVariantTrait'i kullanmaktır:

PHP:
public function getAssetVariantSizeMap(): array 
{ 
   return [ 
      'image_url' => [ 
         's' => 128, 
         'm' => [512, 456] 
      ] 
  ];
}


Bu, yüklenen varlığın URL'sini tutan alanın adıyla anahtarlanan bir dizi döndürmelidir. İç dizi daha sonra varyantın boyutunu temsil etmek üzere boyut koduyla anahtarlanır. Boyut kodunun değeri bir tamsayı ise, bu varyant bir kareye yeniden boyutlandırılacaktır. Bir dizi sağlanmışsa, dizinin ilk öğesi genişlik ve ikinci öğesi yüksekliktir.

Yukarıdaki örnekte aşağıdaki dosyalar oluşturulacaktır:

data/assets/your_asset_name/your_file.png - tam boyutta yüklenen orijinal dosya
data/assets/your_asset_name/your_file - s.png - 128 piksel kareye yeniden boyutlandırılmış varlık
data/assets/your_asset_name/your_file - m.png - 512 x 456 piksele yeniden boyutlandırılmış ve kırpılmış varlık

Ayrıca, bu şekilde kullanılabilen asset_display adlı yeni bir Templater işlevi de ekledik:

HTML:
<img src="{{ base_url(asset_display($entity, 'image_url', 's')) }}" />
 
bu güncellemeye ne zaman kavuşacağız ??
 
Xenforo lisansımı güncellemedim 2.3 geldiğinde sadece şu image optimizasyonu için uzatma alıp güncelleyip diski düşüreceğim. 115GB disk kullanıyorum yani büyük ölçüde düşürecektir.
 
Güncelleme ücretsiz mi hocam. Nasıl geçis yapabilirim?
 

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.