wiki:Üye Yazılımı Gereksinimleri

Üye Yazılımı Gereksinimleri

  1. Üyelerin Gerçekleştireceği İşlevler
    1. Sistem dernek üyelerinin ad.soyad@… biçimli e-postaları ve parola ile giriş yapmalarına izin vermeli.
    2. Sistem oluşturulan isim/parola ikililerinin başka yazılımlarda (mediawiki, mailman, htaccess, vb) kullanılabilmesine olanak sağlayacak. Sistem yaygın kullanılan (bunu tanımlamalıyız, sanırım sha1 kullanıyoruz) bir yöntemle şifreleme yapacak.
    3. Sistem, parolasını unutan kullanıcının e-posta adresine göndereceği bir doğrulama bağlantısına tıklamasıyla yeni parola üretip bunu eposta adresine göndermeli.
    4. Sistem üyenin kendi aidat ödeme bilgilerini görebilmesine olanak sağlamalı.
    5. Sistem üyenin aidat borcunu kredi kartı ile ödemesine olanak sağlamalı.
    6. Sistem üyenin fotoğrafını yüklemeye olanak sağlamalı, üyenin daha önceden bir fotoğrafı yüklüyse bunu silip yerine yeni yüklenen fotoğrafı kullanmalı.
    7. Sistem üyenin iletişim bilgilerini saklayabilmeli. Bu bilgiler iş ve ev adresi için ayrı ayrı olmak üzere: adres, semt, şehir, posta kodu, telefon, faks ve e-posta dır. Sistem üyenin tercih ettiği yazışma adresi bilgisinide tutmalıdır.
    8. Sistem üyenin diğer üyeler ile paylaşmak istediği bilgileri seçmesine olanak tanımalı.
    9. Sistem üyenin iletişim bilgilerini değiştirmesine olanak sağlamalıdır.
    10. Sistem farklı üye aidatı toplama koşullarına uyumluluk sağlamalıdır. Örnek koşullar: Derneğe giriş ücreti belirlenebilmeli, üye aidatında seneler içindeki değişikliklere izin verebilmeli. (Detaylı bilgi için eski yazılımın kodundaki [1] hesaplama yöntemleri incelenebilir.)
    11. Sistem üyenin dernekle ilgili e-posta listelerine üyelik durumlarını [listeye üye, üye değil, digest?] değiştirmesine olanak sağlamalı.
  2. Yönetici Üyenin Gerçekleştireceği İşlevler
    1. Sistem yönetim işlevlerine erişimi olan üyelerin belirlenebilmesine olanak sağlamalı.
    2. Sistem yönetim işlevlerine sadece yetkisi olan üyelerin erişmesine olanak sağlamalı.
    3. Sistem üye kayıtları içersinde ad, soyad, eposta, (...) alanlarına göre filtreleme yapmaya olanak sağlamalı.
    4. Sistem üye kayıtlarını (filtrelenmişde olabilir) ad, soyad, eposta, üye numarası, (...) alanlarına göre sıralamasını değiştirmesine olanak sağlamalı.
    5. Sistem yönetici üyenin yeni üye eklemesine olanak sağlamalı.
    6. Sistem yönetici üyenin herhangi bir üyenin üye numarası dışında tutulan tüm bilgilerini değiştirebilmesine olanak sağlamalı.
    7. Sistem yönetici üyenin herhangi bir üye kaydı altına aidat ödemesi bilgisini girmesine olanak sağlamalı.
    8. Sistem yönetici üyenin çeşitli raporlar alabilmesine olanak sağlamalı. Bu raporlar:
      1. Tüm aidat borçlarının bastırılabilecek listesi. (standlarda kullanılmak üzere)
      2. Üye resmi olmayan tüm üyelerin üye kartına girecek bilgilerinin (kart basımı için) csv olarak listesi.
      3. ...?
    9. Sistem yönetici üyenin, üyelerin üye olabileceği eposta listelerini listemeye, eklemeye, düzeltmeye, kaldırmaya olanak sağlamalı.
  3. Sistemin Kullanıcılardan Bağımsız Gerçekleştirmesi Gereken İşlevler
    1. Sistem üyenin e-posta adresindeki değişiklikleri MySQL'de tutulan Postfix'in e-posta yönlendirmeleri tablosuna işlemeli.

İşlevsel Olmayan Gereksinimler

  • Sistem hesap oturum açma (ve ...?) bilgilerini LDAP üzerinde tutmalı.
  • Su anda tum uye verileri MySQL tablolarinda tutuluyor. Cesitli bilgileri oradan alarak Mailman ve htaccess'e aktaran betikler mevcut. Mevcut verilerin ve bu betiklerin port edilmesi gerekebilir.

[1]  http://svn.linux.org.tr/svn/uyeyazilimi/branches/uyeveritabani-v2/