Kişisel bir web günlüğü

WordPress 2.6 ile gelen Yazı Sürümleri saçmalığı

wordpressWordPress daha birkaç gün önce 2.6 sürümünü yayınlamıştı ve bu sürümde birçok güzel özellik gelmişti. O kadar ki; geliştiriciler bu yenilikleri anlatmak için bir video bile hazırlamışlar. Bu yenilikler arasında en çok dikkatimi çeken Yazı Sürümleri (Post Revisions) isimli özellik oldu. Fakat bu özellik öyle saçma bir şekilde çalışıyor ki tam manasıyla beni dumura uğrattı. Bakın neden?

Yazı Sürümleri özelliği nedir?

İlk önce bu özellik ne işe yarıyor ona kısaca değinelim. Yazı sürümleri ile, üzerinde çalıştığınız bir yazıyı her kaydedişinizde, WordPress bu yazı üzerinde değişiklikler yapılıp yapılmadığını kontrol ediyor. Eğer yazıda değişiklikler olduysa, yazının tamamını bu değişikliklerle beraber veritabanına kaydediyor. Sonuç olarak bir yazı üzerinde en son kim, ne zaman ve hangi değişiklikleri yapmış görebiliyorsunuz. Aynı yazının farklı sürümleri arasında karşılaştırma yapabiliyor ve tek bir hamlede yazının eski bir haline geri dönebiliyorsunuz.

wordpress yazı sürümleri
wordpress yazı karşılaştırma

Yazı Sürümleri özelliği neden kötü?

Aslında bu özellik çok faydalı ama WordPress geliştiricileri bunu öyle bir uygulamış ki veritabanını şişirmekten başka birşey değil. Bu özelliği incelerken farkettim ki yazıların değişik sürümleri, bizim normal yazılarımızın kaydedildiği wp_post tablosuna yeni bir satır olarak ekleniyor. Eğer bir yazıya ait 100 adet sürüm oluştuysa bu 100′ünün de tamamı bu tabloya kaydediliyor. Siz 1 yazı ekledim sanıyorsunuz ama WordPress o yazının tam 100 kopyasını da beraber kaydediyor. Bu işlem tam bir veritabanı düşmanı.


büyük hali için resmin üzerine tıklayın…

En azından WordPress geliştiricileri wp_post_revisions isminde ayrı bir tablo oluşturup, bu işlemi o tablo üzerinde yapmalıydılar. Böylece normal yazılarımızın bulunduğu wp_post tablosu gereksiz kayıtlarla kirlenmeyecek ve daha hızlı işlem görecekti. Ama bu özelliği neden böyle kötü bir şekilde uygulamışlar bilemiyorum. Bildiğim birşey varsa bu durumdan biran önce kurtulmamızdır.

Yazı Sürümleri özelliğini nasıl kapatabiliriz?

Bu özellik daha çok birden fazla yazarı olan bloglar için aslında. Blog sitenizde yazar olarak bir tek siz varsanız, yani aynı yazı üzerinde sizden başka çalışan başka bir kişi yoksa bu özelliği kapatmanız yararınıza olacaktır. Kapatmadığınız takdirde wp_post tablosu her geçen gün daha da şişecek ve web siteniz yavaşlayacaktır.

Bu özelliği kapatmak için öncelikle Google‘da araştırma yaptım ve WordPress’in kendi forumundaki Turn off "Post Revision" feature konusuna ulaştım. Bu konudan öğrendiğim kadarıyla alttaki kodu wp-config.php dosyasına eklerseniz bu özellik devre dışı kalıyor. Kendim de denedim ve bu kodun çalıştığına şahit oldum.

define('WP_POST_REVISIONS', false);

Umuyorum ki bu kod, bir sonraki WordPress sürümünde “wp-config.php” dosyasında kendiliğinden gelir. Veya yönetim panelindeki Ayarlar -> Yazma sayfasına eklenecek bir seçenekle kolayca kapatılıp açılabilir.

18 Temmuz 2008, 09:52 İnternet & Web Bugün 15 kez, toplamda ise 5,234 kez okundu.
53 yorum var
  1. Aslında dediğin gibi işe yarar bir özellik ama bu özelliğin varsayılan olarak etkin halde getirilmesi bence saçma olmuş.

  2. Kalemine sağlık, ben de bundan nasıl kurtulurum diye bakınıyordum :)

  3. Ben de bu özelliği merak ediyordum. Eskisi kadar sık yazı yazmadığımdan inceleme şansına sahip olamamıştım.

    Dediğin gibi yapıyı çok yanlış kurmuşlar. Bu konu ile ilgili kıyamet kopar yakında. Eline sağlık, güzel makale olmuş.

  4. Teşekkürler Erhan. Böyle bir özelliğin otomatik olarak açık gelmesi hakikaten saçmaydı, kapatmak en güzeli olacak.

  5. Kontrol edilemeyen güç güç değildir… den yola çıkarsak bu güzel özelliği önerdiğin şekilde yeniden düzenlemeleri daha kullanışlı olacak.

    uyarı için teşekkürler.

  6. Teşekürler.. Ben de database neden şişiyor diyordum.

  7. İyi olmuş yazdığın. Bizi arama derdinden kurtardın. Bununla birlikte bu konuya kimse dikkat etmeyebilirdi. Uyarman bile yeterli oldu. Sağ ol adaş ;)

  8. Ben teşekkür ederim arkadaşlar. Bizimkisi bir nevi amme hizmeti zaten :)

  9. Teşekkürler,kapatıyorum ben de.

  10. kapatılma imkanı sağladıkları da güzel ya olmasaydı, uğraş dur kodları yakalıycam diye. :))

  11. haklısın erhan abi. Veritabanını şişirmekten başka bir şey değil gerçekten. Wordpress sistemi zaten ağır çalışıyor; bir de böyle saçmalıkları koyunca iyice ağırlaşacak..

    Ayarlar / Yazma sekmesi altında uygun bir seçeneğin getirilmesinden yanayım ben de..

  12. Kapatılma imkanı iyi olmuş. Bu konudaki bilgilendirmeniz çok güzel. Benim bir problemim var, kapattığım zaman

    Warning: ini_restore() has been disabled for security reasons in /home/xxx/public_html/wp-includes/pluggable.php on line 1537

    bu hatayı alıyorum.

  13. @Ömer
    O hatanın yazı sürümleri ile ilgisi olduğunu sanmıyorum. Fakat hata çıktısını kapatabilirsin. “wp-includes” klasörü altındaki “pluggable.php” dosyasını aç ve 1537. satırda bulunan “ini_restore” kodunun önüne @ sembolü yerleştir. @ini_restore gibi…

  14. Tebrik ederim gerçekten başarılı bir yazı olmuş ,eksiklikleri hemen yakalamışınız.

  15. çok haklısın çok gereksiz bir iş olmuş

  16. @Erhan
    yardımın için teşekkür ederim, sorunu bu şekilde hallettim

  17. Birden fazla yazarı olan bloglar için tasarlanmış bir özellik demişsin, bende şuan 6 yazar var, kapatmak gerekli mi? Bilgilendirme için teşekkür ederim.

  18. @sesebian
    Eğer aynı yazı üzerinde ortak bir çalışma yapmıyorsanız kapatsanız iyi olur.

    Bir de “Yazı Sürümleri” özelliğinin şu amacı var. Diyelim ki bir yazı yazıyorsunuz ve yanlışlıkla yazının bir bölümü silindi. Peki bunu nasıl geri getireceksiniz? Yazı Sürümleri özelliğiyle eski haline tek tıklamayla geri dönebiliyorsunuz. Eğer bu özelliği kapatacaksınız, bu yönünü de dikkate alın.

    Kendimden örnek verirsem, ben bu özelliğe hiçbir zaman ihtiyaç duymayacağım. Hem yazılar üzerinde çalışan yalnızca benim, hem de yazılarımı önce kendi bilgisayarımda (offline olarak) yazdığım için yanlışlıkla yazının bir bölümünü silme gibi bir problemim olmaz. O yüzden bu özellik bana gereksiz geliyor.

  19. Teşekkürler, kapatıyorum hemen…

  20. Senelerdir Drupal’de olan bir özellik, Drupal’de çok daha mantıklı çalışıyor. Örneğin bir yazıyı versiyonlamak isterseniz yazıyı kaydederken seçeneklerden seçebiliyorsunuz. Gereksiz yere her yazı versiyonlanmıyor.

    Nasıl olduysa, Wordpress ekibinin acemiliğine gelmiş anlaşılan.

  21. Öncelikle eline sağlık. Bizi aramaktan taramaktan kurtaran, hem de gayet anlaşılır ve kaliteli bir yazı olmuş.

    Yazı versiyonlama, tutarlılık adına kullanılıyor. Şöyle ki Wikipedia’da yazdıysanız görmüşsünüzdür. Dökümanın geriye dönük kopyaları hep saklanır. Saklanmalıdır. Çünkü gerçek sürekli değişiyor. Bugün harika işler yapıyor denilen web servisinin yarın sorunları çıkıyor. Bakınız Altivi.

    Böylece biz genelde gidip yazıyı silip değiştirip, yeniden kaydediyoruz. Ama bazen ben orada okumuştum diye gelen yazınızı bulamıyor.

    Wordpress’te kontrollü şekilde yazılarınızı versiyonlayabilirseniz, gelen okura da bunları sunabilseniz oldukça enteresan bir yapı çıkar.

    Sesebian’da olduğu gibi çoklu yazarı olan siteler için bulunmaz bir nimet olur. Yazıya sürekli ekler yapabilirler.

    Ama şahsen bir süre kapalı kalmasından memnun olurum. Database’in şişmesi benim için çok daha ciddi bir sorun olur.

  22. Versiyonlama sistemi çok güzel, ona sözüm yok. Sadece WordPress’teki uygulama biçimini beğenmedim. Aslında Eren’in dediği şekilde (#) yani Drupal’da olduğu gibi olsaymış çok güzel olurmuş. Umarım şu anki yapıyı gelecek wp sürümlerinde çok daha mantıklı bir hale getirirler. Yorumlarınız için teşekkürler…

  23. WordPress henüz geliştirme sürecinin başında bir web yazılımı diyebiliriz. Drupal dediğiniz portal sistemi yıllardır geliştiriliyor ve kesinlikle WP’den daha kapsamlı ve kullanışlı. Yeni trendlerle popülerlik kazanan blog furyası wordpress’in yükselişinin en büyük sebebi olsa gerek.

    İnceleyenler görmüştür ki WordPress çok da ahım şahım bir PHP kodlamasına sahip değil. Hatta şunu söyleyebilirim ki bazı özellikler benim yıllar önce kullandığım tekniklerle yapılmış ve sistemi gereksiz yere yoruyor. Aynı işi çok daha hafif bir şekilde yapabiliyorsunuz. Tabi bunu zamanla öğrenip uygulayabiliyorsunuz. WP geliştiricileri de zamanla görecekler merak etmeyin :)

  24. Sağol Burhan abi…

    ben şu an itibariyle çileden çıkmış durumdaydım zaten… elimdeki 5000 yazıyı siteye taşıyasıya kadar heralde site tamamen gümleyecekti…

    benim önerime göre, bu özellik varsayılan olarak açık gelse bile bir şekilde eski revizyonları silen bir özelliğe ihtiyacı daha var…

    tabii bir de kökten kapatmaya imkan vermesi lazım…

    ayrıca bu özellik açık olsa bile otomatik kaydet özelliğinin de bir şekilde açılır veya kapanır olması lazım…

    nerdeyse dakka başı yazıyı kardediyor. ben ise bir yazıyı en az 5 dk da düzenliyebiliyorum… onu da her seferinde deneyerek düzenlediğimden en az 15 - 20 revizyon dosyası oluşuyor.

  25. Daha ilk gördüğüm anda bu tür birşey olmasından korkmuştum ama birkaç gündür dışarıda olduğum için güncelleme yapıp kontrol etmeye fırsatım olmamamıştı.

    Herşey bir yana madem ki iyi bir algoritmadan söz ediyoruz, hiç değilse üzerine düşülüp sadece değişiklikleri bir şekilde bir yerlerde tutabilirlerdi.

    Teşekkürler

  26. kodu ekLeyip bizde iptaL ettik,
    bu yazıya denk geLmeseydik, epey yazı birikirdi

  27. Pek sık sürüm güncellemem :) hatta bir sitemde halen 2.2 sürümü kurulu.
    Daha önce joomla ile birçok şeyler başarmış bir kişi olarak Wordpressi çok sade ve başarılı buluyordum. Ama son düzenlemelerle olabildiğince karmaşıklaştırıyorlar. Admin paneli daha önce bir çocugun bile yazı yayınlayabileceği kadar basitken şimdi bir sürü gereksiz şey eklemişler. Geliştikce karmaşıklaşıyor bence.

  28. Ben de iptal ettim hemen. Teşekkürler Erhan.

  29. Henüz 2.6′ya geçiş yapmadım ama test ettiğimde ilk dikkatimi çeken şey bu lagaluga olmuştu. Geçiş yapmadan bu yazını okumam iyi oldu. Teşekkürler..

  30. Hocam çok sağolasın bilgilendirdin. Ben de kapattım hemen. Tekrar teşekkür ediyorum.

  31. Wp sürümlerine artık yetişemiyorum. Her ay yeni bir sürüm çıkıyor. Ben 2.5.1 sürümünü yükledim iki gün sonra 2.6 çıktı. Gelişmeler süper ama en azında ara yükseltmeler olacağına direkt 2.7 2.8 falan gibi olsa. Şimdi 2*6 ya çıkaracam sonra iki gün sonra 2.6.1 çıkacak :) Wp coderlarını kutluyorum…

  32. Her yazı için ayrı olarak açılıp kapatılabilse, belki faydalı olabilirdi.

  33. Teşekkür ederim.İyi bir noktayı anlatmışsınız.Denedim, işe yarıyor. :D

  34. Ya bütün yazılarımı değiştirmiştim. Mysql dolmuş :D. Tüm blogu baştan kuracam. Keşke daha önceden görseydim.

  35. phpmyadmin’e 20 dakika önce giriş yaptığımda bende farkettim databasedeki şişkinliği.

  36. selam,

    birden fazla yazar için değil, birden fazla editör olan siteler için mantıklı bu özellik. Yazar’lar zaten başkalarının yazılarına müdahele edemiyorlar. Yani birden fazla yazarı, destekleyicisi olan siteler için de gereksiz. Birden fazla editör olduğunda, kim? ne zaman? neyi değiştirdi? görmek ve kontrol etmek için yararlı.

  37. Kullanışlı fakat bir o kadar da kontrol altında tutulması gereken bir özellik, ben de kapatıyorum…Yazı için teşekkürler.

  38. Teşekkürler.

  39. Teşekkür ederim ben de kendi sitemde uyguladım hemen .

  40. Biz 3-4 kişi yazıyoruz ama yine de gerekli olmadığını düşünüyorum. Bazen birbirimizin yazılarını düzenliyoruz. Yeri geliyor bir yazı 10 defa değişiyor. Her yazı böyle kaydedilirse veritabanı mı dayanır buna :)

  41. Çok büyük bir hizmet yapmışsın… Ben de arıyordum böyle bir şeyi..Çok teşekkürler.. Çok sağol..

  42. Benim böyle bir özellikten hiç haberim yoktu. (sürümünü daha yeni güncelleştirdim de.)

    Okuyunca gerekli ama gereksiz bir uygulama olduğunu öğrendim ve uygulamayı kapattım. Teşekkürler.

İçinizde kalmasın, siz de yorum yazın

Copyright © 2008 eburhan.com | Structure Theme | XHTML 1.0 | Yukarı