[Python] Proposta di progetto

Carlos Catucci carlos.catucci a gmail.com
Lun 26 Lug 2010 23:58:32 CEST


Ecco le specifiche minime


Specifiche minime per il progetto EditorWhiteboardMultiUserPython (Gillian)

1. Necessitano un editor (E) ed una whiteboard (WB) collaborativi (i
vari utenti devono poter interagire contemporaneamente).
2. I due strumenti devono essere interagenti tra loro. Se si scrivie
un testo sull'E, selezionadone una parte deve essere possibile
copiarla (in una stringa vettoriale) sulla WB posizionando la stringa
dove preferito, incluso il livello (layer sovrapposti?) rispetto ad
oggetti con cui si interseca. Viceversa una stringa selezionata sulla
WB deve essere copiabile come semplice testo nell'E.
3. Deve essere possibile, oltre al salvataggio e caricamento del file
vettoriale della WB e del file testuale dell'E, anche l'esportazione
(di entrambi) in formati quali PDF e (solo WB?) JPG o PNG.
4. Per evitare problemi con proxy/firewall etc. i dati andranno
incapsulati e trasmessi come HTTP.
5. Il progetto potrebbe essere tanto WebBased che tradizionale, non e'
un prerequisito vincolante la scelta di una strada o dell'altra.
6. Sulla WB deve essee possibile tracciare forme base (rettangoli,
linee, cerchi etc.) ridimensionabili e i cui spigolo devono poter
venire arrotondati (curve di bezier). Deve essere possibile connettre
tra loro dievrsi elementi e nel caso dsi trascini un elemento anche i
collegati devono seguirlo.
7. Se si collegano due elementi con una riga (freccia) questa deve
rimanere agganciata ad entrambi. Inoltre deve essere possibile
modificarla (curve di bezier).
8. Se si sceglie la strada del client tradizionale, non ci deve essere
un server centrale ma una lista di nodi peer tra loro. Per aggiungersi
un nuovo utente deve conoscere l'ip di uno dei nodi. Indicandolo vede
la lista dei documenti condivisi ed editati e puo' aggiungersi al ring
di nodi in peer.
9. Se si ricorre alla soluzione web sarebbe consigliato che anche qui
ogni nodo mantenesse un webserver in grado di far lavorare il singolo
client web localmente, mentre i webserver si sincronizzano tra loro.
in questo modo si crea uno strumento indipendente da un server
centralizzato, utilizzabile anche ad esempio all'interno di una lan
locale.

A parte queste specifiche strette, tutto e' definibile (tranne il nome
del progetto, omaggio al piu' grande, IMHO, Monty Python).

Domandilla: dove dite sia meglio appoggiare il tutto?

Greetings
JOKER Ltd.
-- 
Mr. Gandhi, cosa ne pensa della civiltà occidentale? - Sarebbe
un'ottima idea! ( intervista al Mahatma Gandhi )


Maggiori informazioni sulla lista Python