Skip to content

Commit

Permalink
Modifiche all'appendice. Inserite file di licenza e autore
Browse files Browse the repository at this point in the history
  • Loading branch information
20 committed Mar 19, 2012
1 parent 85a599a commit 24277b8
Show file tree
Hide file tree
Showing 10 changed files with 517 additions and 64 deletions.
2 changes: 2 additions & 0 deletions AUTHORS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Copyright (C) 2012 Vincenzo Tozzi
* under GNU Free Documentation License (see LICENSE.txt)
19 changes: 0 additions & 19 deletions Appendici/AppendiceA.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,6 @@ \chapter{Listato del codice}
\label{AppendiceA}
\lhead{Appendice A \emph{Listato del codice}}

% \lstset{frame=tb,
% language=Python,
% aboveskip=3mm,
% belowskip=3mm,
% showstringspaces=false,
% columns=flexible,
% numbers=none,
% numberstyle=\tiny\color{gray},
% keywordstyle=\color{blue},
% commentstyle=\color{dkgreen},
% stringstyle=\color{mauve},
% breaklines=true,
% breakatwhitespace=true
% tabsize=2
% basicstyle={\scriptsize\ttfamily},
% morekeywords={models, lambda, forms, =}
% multicols=2
% }

\section{gitannex}

\subsection{gitannex/admin.py}
Expand Down
2 changes: 1 addition & 1 deletion Capitoli/Capitolo2.tex
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ \subsection{Kerberos}
prevede un entità terza di fiducia chiamata Key Distribution Center
(KDC).

\subsection{Django}
\subsection{Django}\label{Django}
Django è un framework, scritto in Python, per lo sviluppo rapido di
applicazioni web, anche conosciuto come ``\emph{The web framework for
perfectionists with deadlines}''\footnote{``Il framework web per i
Expand Down
78 changes: 46 additions & 32 deletions Capitoli/Capitolo4.tex
Original file line number Diff line number Diff line change
Expand Up @@ -48,23 +48,24 @@ \section{Sistema di pubblicazione e diffusione di contenuti

\section{Archivio multimediale}
L'archivio multimediale locale della comunità è un \emph{repository
git-annex} che viene gestito tramite il portale comunitario, sia per
la pubblicazione che per la visualizzazione dei contenuti. L'accesso
diretto ai dati è comunque garantito essendo i dati salvati in chiaro
sul disco. Inoltre è possibile interagire con i dati attraverso
l'ampio universo di applicazioni e librerie di \emph{git}. In
particolare il prototipo utilizza la struttura dei metadati di
\emph{git} per mantenere traccia del responsabile della pubblicazione
di un contenuto. L'operazione di \emph{commit} coincide in effetti con
la pubblicazione di un contenuto, e il \emph{committer} con l'utente
che lo pubblica. I metadati, invece, relativi al contenuto
multimediale in se, quali autore, tipo di licenza, data di creazione,
possono essere memorizzati all'interno del file seguendo gli standard
esistenti come il \emph{Dublin Core}\footnote{``Il Dublin Core è un
sistema di metadati costituito da un nucleo di elementi essenziali
ai fini della descrizione di qualsiasi materiale digitale
accessibile via rete informatica'', tratto da Wikipedia:
\url{http://it.wikipedia.org/wiki/Dublin_Core}.}.
git-annex} (vedi \ref{git-annex}) che viene gestito tramite un
portale comunitario, sia per la pubblicazione che per la
visualizzazione dei contenuti. L'accesso diretto ai dati è comunque
garantito essendo i dati salvati in chiaro sul disco. Inoltre è
possibile interagire con i dati attraverso l'ampio universo di
applicazioni e librerie di \emph{git}. In particolare il prototipo
utilizza la struttura dei metadati di \emph{git} per mantenere traccia
del responsabile della pubblicazione di un contenuto. L'operazione di
\emph{commit} coincide infatti con la pubblicazione di un contenuto, e
il \emph{committer} con l'utente che lo pubblica. I metadati, invece,
relativi al contenuto multimediale in se, quali autore, tipo di
licenza, data di creazione, possono essere memorizzati all'interno del
file seguendo gli standard esistenti come il \emph{Dublin
Core}\footnote{``Il Dublin Core è un sistema di metadati costituito
da un nucleo di elementi essenziali ai fini della descrizione di
qualsiasi materiale digitale accessibile via rete informatica'',
tratto da Wikipedia:
\url{http://it.wikipedia.org/wiki/Dublin_Core}.}.

Un aspetto importante per l'archivio multimediale sono le operazioni
di sincronizzazione. Gli strumenti basati su \emph{git} ereditano la
Expand All @@ -74,18 +75,21 @@ \section{Archivio multimediale}
sistemi di archiviazione di massa, caratteristica utile nella fase di
creazione di un nuovo nodo, per cui la prima sincronizzazione via rete
potrebbe richiedere giorni. I trasferimenti comunque avvengono, nel
caso di \emph{git-annex}, tramite il protocollo \emph{rsync}, che
gestisce eventuali interruzioni, evitando costose ritrasmissioni.
caso di \emph{git-annex}, tramite il protocollo
\emph{rsync}\footnote{\emph{rsync} è uno programma libero per il
trasferimento rapido e incrementale di file, disponibile su
\url{http://rsync.samba.org/}.}, che gestisce eventuali
interruzioni, evitando costose ritrasmissioni.

\subsection{git-annex}
\subsection{git-annex}\label{git-annex}
\emph{git-annex}\footnote{\emph{git-annex} è un programma che estende
le funzionalità di \emph{git} ed è disponibile su
\url{http://git-annex.branchable.com}.} permette la gestione di file
con \emph{git}, senza la necessità di aggiungere il file dentro
\emph{git}. Anche se può sembrare paradossale, è utile quando si ha a
che fare con file molto grandi che \emph{git} attualmente non può
gestire facilmente per limitazioni dovute a memoria, tempo o spazio
nel disco.
le funzionalità di \emph{git} nel gestire file di grandi dimensioni,
disponibile su \url{http://git-annex.branchable.com}.} permette la
gestione di file con \emph{git}, senza la necessità di aggiungere il
file dentro \emph{git}. Anche se può sembrare paradossale, è utile
quando si ha a che fare con file molto grandi che \emph{git}
attualmente non può gestire facilmente per limitazioni dovute a
memoria, tempo o spazio nel disco.

Anche senza mantenere traccia del contenuto del file, avere la
possibilità di gestire i file con \emph{git}, di spostarli e cancellarli su un
Expand Down Expand Up @@ -125,16 +129,26 @@ \subsection{git-annex}
\item scaricamento selettivo dei contenuti
\item gestione della fiducia dei \emph{repository}
\item gestione del numero di repliche minimo
\item vari \emph{backend} per le chiavi (SHA, WORM)
\item vari \emph{backend} per i contenuti/valori (bup, rsync, web, S3)
\item vari \emph{backend} per le chiavi (SHA\footnote{Secure Hash
Algoritm, (SHA), è un algoritmo usato in sistemi chiave/valore
dove le chiavi vengono calcolate tramite una funzione
crittografica del valore}, WORM\footnote{L'algoritmo WORM
identifica i file in base a nome, dimensione e data di modifica.})
\item vari \emph{backend} per i contenuti/valori (BUP\footnote{BUP è
un sistema per il \emph{backup} ad alta efficienza disponibile su:
\url{https://github.com/apenwarr/bup}.}, rsync, web,
S3\footnote{Amazon Simple Storage Service, (S3) è un infastruttura
per la memorizzazione di dati totalmente ridondante, disponibile
su: \url{aws.amazon.com/}.})
\end{itemize}

\section{Portale Comunitario}
Il portale locale deve dare accesso ai principali servizi locali della
comunità. Per lo sviluppo è stato scelto l'uso di un framework basato
su Python, \emph{Django}, che consente un'integrazione flessibile e
avanzata con altri sistemi grazie alle numerose librerie disponibili
quale, ad esempio, quella per l'autenticazione LDAP.
su Python, \emph{Django} (vedi \ref{Django}), che consente
un'integrazione flessibile e avanzata con altri sistemi grazie alle
numerose librerie disponibili quale, ad esempio, quella per
l'autenticazione LDAP.

Per l'installazione del framework e del modello base del prototipo di
portale comunitario è stato creato uno \emph{script} mentre, per
Expand Down
18 changes: 10 additions & 8 deletions Capitoli/Capitolo5.tex
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,17 @@ \chapter{Conclusioni e sviluppi futuri}
accedere a siti terzi, tramite messaggi
istantanei\footnote{Un'implementazione pubblica di questo sistema è
disponibile sul sito: \url{http://openid.xmpp.za.net/}.}. In questo
senso il trio LDAP, XMPP e OpenID coprirebbe le necessità di servizi
federati rispettivamente ``desktop'', ``client'' e ``web oriented''.
senso il trio LDAP, XMPP e OpenID potrebbe offrire una buona struttura
per servizi federati rispettivamente ``desktop'', ``client'' e ``web
oriented''.

Nel frattempo il prototipo realizzato costituisce un primo passo, e la
prova su campo è un passaggio fondamentale per testare le reali
capacità e i limiti che sussistono. La distribuzione di file di grandi
dimensioni, oltre ai limiti di banda, comporta un notevole uso di
spazio su disco. È necessario quindi imporre dei limiti, ad esempio,
sulle dimensioni massime dei file accettate dal sistema.
Per quanto riguardo il prototipo, la parte implementata costituisce un
primo passo, e la prova su campo è un passaggio fondamentale per
testare le reali capacità e i limiti che sussistono. La distribuzione
di file di grandi dimensioni, oltre ai limiti di banda, comporta un
notevole uso di spazio su disco. È necessario quindi imporre dei
limiti, ad esempio, sulle dimensioni massime dei file accettate dal
sistema.

Da implementare o migliorare nelle prossime versioni:
\begin{itemize}
Expand Down
Loading

0 comments on commit 24277b8

Please sign in to comment.