Statistici despre organizațiile pentru tehnologii libere¶
Introducere¶
- Ne dorim să facem o aplicație care scoate statistici despre organizațiile care promovează și crează programe libere
- Aplicația se va realiza în mai multe etape, analizând câte un format al datelor de intrare posibile
- Liste de discuții, de tip pipermail
- Pagini web de prezentare, fără restricție la format și tip
- Interfața web a programului Orgro
- Grafice
- Raport
- Recenzor nu rulează în producție pentru că ar îngreuna dezvoltarea altor proiecte ale Cetei
- În testare procesorul este utilizat la maximum și toată banda de net este folosită (ssh-ul are o întârziere de 2-3 secunde)
- Pagina de prezentare a proiectului conține, pentru fiecare etapă
- Descrierea, prezintă specificații etapei
- Parte tehnică, care conține delatii de implementare
Echipa¶
- Oamenii interesați să contribuie la acest proiect sunt
- Laurențiu Dascălu (sana) - coordonator
- Tibi Turbureanu (tct)
Etapa 1, liste de discuții¶
Organizație¶
- Informații despre membrii unei comunități
- Numărul de mesaje scrise
- Numărul de mesaje pe zi
- Rata de scriere: peste câte zile va scrie un nou mesaj
- Activ; un utilizator este activ dacă a scris cel puțin 10 mesaje, din care unul în ultimele 10 zile
- Existența organizației măsurată în număr de zile
- Numărul mediu de mesaje pe zi
- Lista și numărul de membri activi
- Informații despre programele libere promovate de organizație
- Contoare pe cuvinte magice: linux, mozilla, fedora, ubuntu, trac, firefox etc
Organizații¶
- Ce procent din totalul organizațiilor promovează o anumită tehnologie
- Distribuția organizațiilor pe număr de membri
Implementare¶
- Map-Reduce în Java cu Hadoop
- Proiectul Hadoop vine cu licența Apache, compatibilă cu GNU/GPL v3.
- Intrare: o listă cu adresele organizațiilor studiate - URL-uri
- Ieșire: informații despre organizațiile ce promovează si dezvoltă programe libere
- Rezultatele le punem într-o pagină web, care va folosi JavaScript pentru interpretarea datelor
- plot/
- index.php - afișează în diverse figuri (pie-chart, line-chart) datele agregate
- mochi, plotkit
Resurse utile¶
- Instalare Hadoop pe server-ul Cetei
- Map
- Determină informații despre o anumită listă de discuții
- Reduce
- Agreghează informațiile primite de la Map și calculează statistici la nivelul tuturor organizațiilor
Etapa 2, pagini web¶
Descriere¶
- Specificațiile utilizator sunt aceleași ca cele de la prima etapă
- Diferența este că această etapă suportă o mulțime mai mare a datelor de intrare
Implementare¶
- Folosim un crawler, spre exemplu Nutch și scoatem rezultate din ce săpăm cu el
- Lipituri (patches)
- fetcher/
- fetcher.py - script python folosit pentru analiza datelor aduse (crawled and fetched data) și scrierea informațiilor relevante în baza de date
- nutch-patch/
- deploy.sh - script folosit în urcarea datelor pe serverul Ceata
- export.sh - script folosit în exportul datelor din HDFS
- gather_info.sh - script folosit pentru rulare periodică (cron)
- run_nutch.sh - rulează Nutch-ul pentru un site
- run_orgro.sh - rulează modulul pentru analiza listelor de discuții
- run_recenzor.sh - rulează aplicația Recenzor, doar modulul de crawling bazat pe Nutch
- report/
- index.php - generează un raport pe baza datelor agregate
Resurse Utile¶
De Făcut¶
- "Vizualizare date":(
#22)
- "Teste unitare":(
#23)
- "Afișare cu buffer":(#166)
- "Adaptare Nutch":(#163 și #164) o parte din aceste tichete au fost implementate
- "Automatizarea generării rapoartelor":(#248)
Istoric¶
Disponibil și în:
HTML
TXT