El sistema está pensado bajo una arquitectura cliente/servidor. De un lado disponemos de un servidor de archivos que alberga una colección de documentos en formatos digitales; y del otro, tenemos un número indeterminado de clientes, que podrán hacer búsquedas en el servidor y acceder a los resultados por medio de una red privada virtual (VPN).
Server side:
Client side :
Un primer diagrama orientativo de los objetos que intervienen en el sistema
En un principio se plantea el uso de las siguientes herramientas/tecnologías para desarrollar el proyecto::
Durante el desarrollo del proyecto nos basaremos en cuatro principios sobre los que vamos a ir iterando hasta finalizar el proyecto. Estas fases o principios son planificación, diseño, desarrollo y pruebas.
Actualmente nos encontramos aún en fase de planificación (aunque ya en este documento se describen también posibles soluciones para el diseño).
En esta fase lo mas importante es la confección de las “Historias de usuario”. Se trata de breves frases escritas por el artista (no más de tres líneas), en las que se describe una prestación o un proceso sin ningún tipo de tecnicismo. En el primer apartado de este documento he tratado de transcribir lo que se habló en la primera reunión de planificación pero Daniel debería hecharles un vistazo para completarlas si es necesario.
Estas historias de usuario servirán para realizar la planificación de “releases”. Entendiendo que debemos empezar por un sistema básico y funcional que iremos ampliando en cada “release”.
A continuación podemos pasar a la propia planificación de la próxima (o primera) release del proyecto. Poniendo en orden las historias de usuario que faltan por desarrollar. Deberá ser el artista quien dicte el orden de las historias de usuario, y los desarrolladores quienes estimen el tiempo que les llevaría idealmente en desarrollarlo.
En este sentido y también a raíz de lo hablado en la reunión de planificación, considero que en la primera “release” se desarrollaran la primera de las “historias de usuario” del “Server side” y la primera de las del “Client side” descritas en el primer apartado de este documento. De esta forma tendremos en poco tiempo un sistema de mínimos funcional a partir del que ir desarrollando nuevas funcionalidades.
TODO:
config file amb “shared_folders” , “NFS/SMB” , “port” , etc …
afergir metodes :: get_tagcloud, get_count, add_tag, inject etc … (alguns amb crides al sistema altres via dbus)
autodiscover Avahi PythonPublishExample
async
TODO:
autodiscover Avahi PythonBrowseExample
afergir metodes :: get_tagcloud, get_count, add_tag, inject etc …
shared-tracker-client-gui.py shared-tracker-client-gui.glade
TODO:
adaptar gui i sequencia de “calls al tracker” al sistema de “tracker-search-tool.c”
escaneja per avahi i munta el shared folder via gvfs-bin
real async (threads)
gui per a tagejar i injectar metadata
Heredamos de la v0.1 un sistema cliente/servidor bien definido, asentado y testeado. Aún así la v0.1 no se puede considerar totalmente funcional, para la v0.2 quedan pendientes algunos detalles importantes a nivel de interacion en la interfaz gráfica del cliente. Además, de las historias de usuario pendientes de la Planificación v0.1 assignamos para la siguiente release las que se detallan a continuación::
Server side:
Client side :
Continuamos exactamente con el mismo diseño de la version 0.1.
TODO:
injeccio de metadata
async ¿?
TODO:
injeccio de metadata
real async (threads) ¿?
shared-tracker-client-gui.py shared-tracker-client-gui.glade
TODO:
injectar metadata
flecos de la interficie ::
eines que faciliten la feina de catalogació humana ::
La release v0.2 no se considerará terminada sin haber realizado un plan exaustivo de pruebas a dos niveles ::
De estos tests saldrán tareas para assignar a la siguiente release.
python-samba smbfs? python-medusa python-gtk2 python-avahi python-dbus python-glade2 python-xdg python-gobject gvfs-bin tracker-utils?
origen-texto: msdoc
destino-texto: pdf
opcion1 : abiword
abiword --to=pdf test.doc
opcion2 : openoffice
http://www.togaware.com/linux/survivor/Convert_MS_Word.html /usr/bin/oowriter -invisible "macro:///Standard.Module1.ConvertWordToPDF(/usr/src/shared-tracker-svn/conversors/test/pdf2/index.html)" /usr/bin/oowriter -invisible "macro:///Standard.Module1.ConvertWordToPDF(/usr/src/shared-tracker-svn/conversors/test/pdf2/test.doc)"
origen-video: cualquiera
destino-video: QuickTime
Video: h264, yuv420p, 360x270 [PAR 0:1 DAR 0:1], 25.00 tb(r) Audio: mpeg4aac, 44100 Hz, stereo
origen-audio: cualquiera
destino-audio: mp3
Audio: mp3, 44100 Hz, stereo
configuration: –enable-libmp3lame –enable-libtheora –enable-libvorbis –enable-libfaad –enable-gpl –enable-pthreads –enable-libgsm –enable-libx264 –enable-libamr-nb –enable-libamr-wb –disable-debug –enable-shared –enable-nonfree
apt-get install libfaad-dev libx264-dev libmp3lame-dev libtheora-dev libvorbis-dev libgsm1-dev
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2 tar -jxvf amrnb-6.1.0.4.tar.bz2 cd amrnb-6.1.0.4 ./configure --prefix=/usr make make install
cd .. wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2 tar -jxvf amrwb-7.0.0.1.tar.bz2 cd amrwb-7.0.0.1 ./configure --prefix=/usr make make install
cd ../ffmpeg-0.5 ./configure --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libfaad --enable-gpl --enable-pthreads --enable-libgsm --enable-libx264 --enable-libamr-nb --enable-libamr-wb --disable-debug --enable-shared --enable-nonfree make make install cp /usr/local/lib/libav* /usr/lib/ ???