[Gelistirici] paketler arayüzü kararları

Oğuz Yarımtepe oguzy at comu.edu.tr
9 Mayıs 2007 Çar 20:50:14 EEST


Selam,

Uygulamayı geliştirmeden önce bir takım kararlar aldım. Danışayım, paylaşayım, 
sorayım.

Meren'in olması gerekenleri belirten listedeki epostası, şenlik ve jabberdeki 
konuşmalarımızı dikkate alarak sırayla gideyim.

* Tüm veriler arasında arama özelliği

Tüm verilerin içine yama, paketçi, bağımlılıklar girdiğinden kendi tablolarıma 
verileri yazacağım. Yama bilgisi almak için pspec.xml dosyalarını okuyacağım 
(pisi api ile bunu alamadım), alacağım bir bilgi de paketin source kısmındaki 
name bilgisi olacak. paketin adından hareketle pspec dosyasındaki bilgileri 
kendi tablolarıma yazmayı düşünüyorum. Yazacağım bilgileri pisi api ile 
almayı düşünüyorum. 

Şöyle tablolarım olsun diye düşünüyorum:

DepoUpdate(lastupdatetime, lastedittime) -- bunu en son anlattım

DepoAdıPackages(name, reponame, summary?, description?, isa, partof, 
archieveaddr, builddep, builddepversion) (devel, contrib ve 2007 için ayrı 
ayrı toplam 3 tablo)

Bu tablodaki name'i yabancı anahtar alıp ona bağlı 3 tablo daha düşündüm:

Packager(name, email)
Patch(filename)
Package(conflicts, provides, requieres, runtimedep, componentdep?)
History(updatetype, date)

Burada bir iki konu var aklıma takılan. summary ve description kısımlarına 
gerek var mı yok mu diye düşünürken aklıma ingilizce arama yapılıp 
yapılamadığı sorusu takıldı. pisi sr messaging bir sonuç döndürmeyince 
yapılamıyor dedim. Bir ihtimal summaryeng descriptioneng gibi iki alan 
koymak, pspec dosyasından o kısımları eklemek ve ingilizce aramada bundan 
yararlanmak, Türkçe de ise zaten var olan pisi apinin search'ünden 
yararlanmak. Bu nokta danışmak istediğim noktalardan biri. 

Diğeri, componentdependency kısmı. İkilik paketle ilgili Conflicts, 
RuntimeDep, Provides ve Requires bilgileri yanında bunu da göstermeli miyim?

Bir diğeri ArchieveAddress kısmı var pspeclerde, kaynak adresini veren. Bunu 
da alsam ve sayfada bunu da göstersem diyorum. pisi api ile bu bilgiyi de 
alamadım.

Yukarıdaki tablolar ile paketçi, tarihe göre paket (son eklenen paketleri 
tipine göre veya şu-şu tarihler arasında depoya eklenenleri göster), 
bağımlıklara göre (örn. derleme bağımlılığı şu olan paketleri göster), yama 
(yama dosyalarının isimlerinde geçen stringleri aratıcam) aramaları yapmak 
mümkün. 

* RSS

Her depo için şunları içeren bir xml kaynağı yayınlansın diye düşündüm:

* Güvenlik yükseltmeleri: paketin adı, sürümü, güvenlik yükseltmesini yapan 
paketçi ve summary kısmı
* Yeni eklenen paketler: paket adı, paketçisi, summary kısmı
* Yenilenen paketler: Bunlar da hata düzeltmelerini ve iyileştirmeleri 
kapsayacak ama bunları nasıl tespit edip ayrırım konusunda genel bir çözümüm 
yok. 

Yeni eklenen paketleri bulmak için düzenli çalışan bir programa gereksinimim 
olacak (yapacağı DepoUpdate tablosunu güncellemek olacak, Django uygulaması 
çalışırken yeni eklenen paket bilgisini veya son yapılan düzenlemeyi buradaki 
tarihe göre bulabilir). Uygulamanın bir kısmı düzenli çalışıp tabloları 
güncellerken django kısmı da oradan veriler alıp gösterecek. 

* transparan dil desteği: Bu da olacak

Paketlerle ilgili mümkün olduğunca çok bilgi göstermek istiyorum. Meren'in 
söylediği gibi installedsize, packagesize bilgilerini de pisi api ile 
göstermeyi planlıyorum. 

isa ve partof kısımlarını da tabloda sakladığımdan app:gui olanları göster, 
app:networking olanları bir sırala demek mümkün olacak. 

İşte böyle. Durumu netleştirelim, ben de en geç haftaya kodlamasına 
başlıyayım. 

Yorumlar, öneriler?
-- 
Oğuz Yarımtepe
Çanakkale Onsekiz Mart Üniversitesi
Bilgisayar Mühendisliği
http://www.yarimtepe.com



Gelistirici mesaj listesiyle ilgili daha fazla bilgi