Peki sayfa nasıl çalışıyor?
Sayfanın işleyişi temelde ne aradığınızı bilmenizi gerektiriyor aslında. Feed43, RSS Feed'ini yaratmak istediğiniz sayfanın kaynak kodunu size gösteriyor. Size düşen ise, bu kaynak kod içinde size göre haber niteliği taşıyan bölümlerin örüntüsünü (pattern) keşfedip, bu örüntüyü feed43'e tanıtmaktan ibaret. Bu örüntüyü bulmak çoğu zaman değilmeyeceğini öngördüğünüz kod kısımlarını belirleyerek bir mihenk taşı yaratmak, sonrasında ise o mihenk taşından sonraki kod bölümünde, güncellenen içeriği tanımlamaktan ibaret oluyor.
Örnek Kullanım
Sayfanın hemen girişinde yer alan "Create your own feed" bağlantısına tıkladığınızda sayfa sizi adım adım yönlendiriyor ama takip rahatlığı sağlayacak örnek oluşturmak amacıyla Ramize Erer karikatürlerinin peşine beraber düşelim:
1. Ramize Erer karikatürleri için RSS Feed yaratmak istiyorsak, ilk adım olarak elbette ki karikatürlerin bulunduğu sayfanın bağlantısını bilmemiz gerekir. Radikal'den tıklandığında yeni bir pencerede açılan Çizgiler bölümünün güne ait içeriğinin bağlantısı, pencerenin tepesinde yazar: http://www.radikal.com.tr/Default.aspx?aType=CizgilerGaleri&VersionID=&Date=11.11.2008&CaricatureID=8&PAGE=1
2. Şimdi www.feed43.com'a girip "Create your own feed" bağlantısına tıklama zamanıdır.
3. Artık karşımızda bir kutucuk var. 1. Adımda elde ettiğimiz bağlantıyı bu kutucuğa yapıştırıp, "Encoding" bölümü için özel bir tercihimiz yoksa, "Reload" düğmesine tıklıyoruz.
4. Kısa bir süre "Sending request to server" uyarısını gördükten sonra, sayfanın alt kısmında, "Page Source" bölümünde sayfa kaynak kodunun gösterildiğini farkedeceğiz. Burası işin en alengirli yanı. İşin bu kısmında biraz hafiyelik yapıp, ne istediğimizi bulmamız gerekiyor. Amacımızı hatırlayalım: Ramize Erer'in güzelim karikatürlerinin düzenli olarak Reader'ımıza gelmesini istiyoruz. O halde o karikatürlerin sayfa kodunun neresinde olduğunu bulmamız gerekecek. http://www.radikal.com.tr/Default.aspx?aType=CizgilerGaleri&VersionID=&Date=11.11.2008&CaricatureID=8&PAGE=1 sayfasındaki karikatürün dosya özelliklerine baktığımızda, dosya adının "fft14_mf67157.Jpeg" olduğunu görürüz. Öyleyse sayfanın kaynak kodunda "fft14_mf67157.Jpeg" ifadesinin geçtiği bölümü bulmamız ve eğer ki var ise, ifadeyi içeren kod bölümünü bir örüntü olarak feed43'e tanıtmamız gerekiyor. Bu amaçla Ctrl+F ile fft14_mf67157.Jpeg ifadesini kod içinde aratalım:
fft14_mf67157.Jpeg ifadesinin geçtiği kod bloğunu bulduk. Şimdi, bu blokta fft14_mf67157.Jpeg isimli dosyanın geçtiği kısmı belli eden bir kod parçası var mı, ona bakalım. Derdimi anlatmama dahi yetmeyecek seviyede olan HTML bilgim bana, fft14_mf67157.Jpeg dosyasını bir resim olarak görmemi sağlayan ifadenin RAD�KAL - TEHL�KEL� �L��K�LER yazısından sonra gelen IMG ifadesi olduğunu söylüyor. Bunun aradığım mihenk taşı olduğunu feed43'e belirtmek için, "Item (repeatable) Search Pattern" başlıklı kutunun içine bu kısmı sonuna {*} ekleyerek yazıp, kutunun içinde alt satıra geçmem gerekiyor:
şeklinde değiştirirsem, feed43, " ve " ifadelerinin arasındaki ifadeyi ilk değişkenim, date= ve & ifadeleri arasındaki ifadeleri ise ikinci değişkenim olarak tanımlayacaktır.
5. Nihayet "Item (repeatable) Search Pattern" kutucuğunun altında bulunan "Extract" düğmesine basıp, "Sending request to server" yazısının dinmesini bekliyoruz.
6. "Extract" düğmesinin hemen aşağısında bulunan "Clipped Data" ölümünde şu yazılar belirecek:
Bunlar, RSS feed şablonunu oluştururken, yeni karikatür adresine ait değişken olarak {%1} ifadesini, karikatürün tarihine ait değişlen olarak {%2} ifadesini kullanacağımızı söyleyen kutsal satırlardır! Artık RSS feed şablonunu oluşturmaya geçebiliriz.Item 1
{%1} = http://i.radikal.com.tr/Karikatur/2008/11/10/fft14_mf67157.Jpeg
{%2} = 11.11.2008
7. Bu kısım, feed43'deki Step 3'e karşılık gelir. "Feed Title", RSS Reader'ımızdaki aboneliğin adıdır; "Ramize Erer - Tehlikeli İlişkiler" olsun. "Feed Link" http://www.radikal.com.tr/ olsun. "Feed Description" "-" olsun; Ramize Erer diyoruz, başka söze gerek var mı! "Item Title Template" tarih -yani {%2}- olsun ki, abonelik içinde hangi karikatürün hangi tarihe ait olduğunu bilelim. "Item Link Template" {%1} -yani karikatürün linki- olsun ki ne Radikal'in ne de Ramize Erer'in hakkını yemeyelim. "Item Content Template"in içine de yazalım ki, karikatürün linkini değil kendisini görelim abonelikte.
8. "Preview" düğmesine basalım.... Ve işte!
DÜZELTME: Yukarıda oluşturduğumuz feed'in tarih bilgisi güncellenmiyordu. Bunun sebebi, ilk adımda kullandığımız kaynak sayfa adresinde Date=11.11.2008 ifadesinin olması aslında. Dolayısı ile, bu adreste bulunan "Date=11.11.2008&" ifadesini silip geriye kalan işlemleri herşey aynı kalmak üzere tekrarlarsak, feed'imiz tam da olması gerektiği gibi olacaktır.
Ramize Erer'in Tehlikeli İlişkiler'i, Piyale Madra'nın Ademler ve Havvalar'ı ile Erdil Yaşaroğlu'nun Komikaze.net'i için feed43 ile oluşturduğum ve uzun süredir (iki gün!!!) sorunsuz çalıştığını teyit edebileceğim rss feed'lerini de ortak kullanıma açalım:
Ramize Erer'in Tehlikeli İlişkiler'i: http://www.feed43.com/7457357066518858.xml
Piyale Madra'nın Ademler ve Havvalar'ı: http://www.feed43.com/4762673732222184.xml
Erdil Yaşaroğlu'nun Komikaze.net'i: http://www.feed43.com/4737528211317157.xml
Yazar: DENİZ
Aslinda ben de boyle bir seyler ariyordum. Daha once benzer birkac sey denemistim, ama bu daha ayrintili. Ilk basta mantiga uyum saglamakta zorlandim, ama sonrasinda kendime birkac tane feed yarattim. Ama feedlerin dogru calisacagindan suphem var, o nedenle paylasmadan once birkac gun denemek istiyorum. Zira benim yarattigim feedlerde (kose yazilariydi) sayfanin URL'si de her gun degisiyor. Dolayisiyla feed43.com'un o degisen URL'yi her seferince bulabileceginden kuskuluyum. Bakalim, belki akilli bir sistem kurmuslardir. Calisirsa benim de paylasacagim birkac kose yazari var :)
YanıtlaSilBu konu ilginç hale gelmeye başladı. Yazıyı yayınladıktan kısa bir süre sonra Google Reader'da Tehlikeli İlişkiler feed'inde yeni bir item belirdi. Bu başlı başına tuhaftı zira bugünün karikatürü öğleden sonra zaten ulaşmıştı! Sonra işin daha garip olan kısmını farkettim: Item'ın başında "Bugunku karikaturumu benim karikaturlerim icin bir RSS feed olusturmaya calisan Deniz Kaya'ya ithaf ediyorum. Tesekkurler Deniz, sayende dunya artik daha guzel :)" diye bir not farkettim. Gerçekten Ramize Erer'in notuysa iki ihtimalli bir durum söz konusu: 1. Ramize Erer gerçekten sevinmiştir ve samimi bir şekilde o notu yazmıştır. (Ki bu durumda nasıl kızardığımı anlatamam)
YanıtlaSil2. "RSS feed olusturmaya CALISAN" vurgusuyla, feed'in pek de başarılı olmadığına dair ince ve hoş bir nükte kullanmıştır. :) Her iki halde de Ramize Erer'in ismime ulaşacak kadar bilgi sahibi olması şaşırtır beni doğrusu. :)
O notu, feed'in edit linkini bir şekilde görmüş arkadaşlarımdan biri item template'i değiştirip bir şaka yapmak amacıyla yazmışsa, bu üçüncü bir ihtimal oluyor ve konuyu ilginçleştirmekten geri kalmıyor; zira edit linkini kimseyle paylaşmadığıma eminim. Hem zaten edit linki ulaşmış olsa bile, sitede güncelleme yapılmadığı sürece ikinci bir item'ın bugün ulaşması tuhaflığını korur.
Ah, unutmadan, sitenin güncellenmesi demişken, ilginç hadiseler zincirinin son halkasından da bahsedeyim: Radikal'in Çizgiler bölümünün sayfa tasarımını, bizim yazının yayınlanmasından kısa bir süre sonra değiştirmiş.
Neler oluyor anlamadım :?
Madem bu kadar analiz yaptın, açıklayayım. Aslında yarın sabah açıklamayı planlıyordum. Ramize Erer senin yaptıklarından haberdar olmuş mudur, olmamış mıdır, bilemiyorum, ama oraya o notu yazan benim. Tam da senin işaret ettiğin "edit linki" konusuna dikkat çekmek için yaptım bunu.
YanıtlaSilHer bir feed daha sonra değişiklik yapılabilmesi için bir bir de "edit linki"yle birlikte geliyor. Bu linki kullanarak ayarlamalarınıza ulaşıp istediğiniz değişiklikleri yapabiliyorsunuz. Ya da yeni sayfa tasarımlarına uyum sağlayabiliyorsunuz. Sorun şu: feed linkinde bulunan ID ile edit linkinde bulunan ID aynı. Yani feed linkine sahip olduğunuz herhangi bir feed43 xml'inin edit linkini kendiniz de oluşturabiliyorsunuz. feed43 bunun engellenebilmesi için biz çözüm de düşünmüş aslında, feed tanımlandıktan sonra sayfanın alt bölümünde feedi editten korumak için bir seçenek sunmuşlar. Bu seçeneği kullanarak başkalarının feed ayarlarını değiştirmesini engelleyebiliyorunuz. Neyse... Ben de senin verdiğin linki kullanarak edit linkine ulaştım, feed ayarlarının korunmadığını fark ettim ve değişiklikleri yaptım. Keşke bilgilerimizin güvenliğindeki bu türden ufak dikkatsizliklerin yol açtığı şeyler bizi bir süre düşündüren şakalardan ibaret olsa. Tam kıssadan hisse çıkaracak kıvama gelmişim ben de, alla alla...
Neyse efendim, bakalım bu feed43 benim oluşturduğum feedlerde de başarılı olacak mı, yoksa saçmalayacak mı :)
Not: Karikatürlerin birden çok kez güncellenmesinin nedeni feed43.com'un günde birden çok kez sayfaya bakıyor olması olabilir. Uzmanlar bu akşam tekrar baktığında sayfa tasarımının değiştiğini fark edip yeni bir feed hazırlamış olma olasılığı üzerinde duruyorlar. Yerseniz :D
Unutmadan: feedi şifreledim, ama bütün feedlerimin şifresi aynı olduğu için şifreyi veremiyorum. Nasıl, iyi değil mi? Artık bu feedin bakımını da üstlenmiş oluyorum sanırım. Başa gelen çekilir :)
YanıtlaSilSeni takdir ediyorum Eren :) Dogrusu feed43'un bu yonu hic dikkatimi cekmemisti simdiye kadar. Oyle bir yolla farketmemi sagladin ki herhalde on-onbes sene unutmam :)
YanıtlaSilBu arada, feed'i eski haline getireceksin, degil mi? :)
YanıtlaSilCalisirsa getiririm tabii. Bakalim :)
YanıtlaSilPiyale Madra:
YanıtlaSilhttp://www.feed43.com/radikal_piyale_madra.xml
Scott Adams/ Dilbert:
http://www.feed43.com/radikal_dilbert.xml
Bu da benim meşrebimce Ramize Erer: http://www.feed43.com/radikal_ramize_erer.xml
Ben bu Feed43'yi çok sevdim :)