3309
Commento:
|
6258
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 3: | Linea 3: |
E' partito un po' per gioco da parte di alcuni membri della community il progetto "openpursuit" http://www.openpursuit.org | Da parte di alcuni membri della community, è partito un po' per gioco il progetto "openpursuit" http://www.openpursuit.org |
Linea 5: | Linea 5: |
== Introduzione == | == Il Progetto == |
Linea 7: | Linea 7: |
Il progetto consiste nel creare un database legato ad una comunita' (tipo wikipedia) dove i membri possono creare domande qualsiasi sui temi piu' disparati. | Il progetto consiste nel creare un database contenente dei quiz (testuali o multimediali). |
Linea 10: | Linea 10: |
essere milionario". | essere milionario", "sarabanda" o qualunque altro tipo di quiz. |
Linea 17: | Linea 17: |
Il database è il componente base che permette lo sviluppo di infiniti giochi su infinite piattaforme. | Ogni domanda potrà essere votata o segnalata come fuori tema e rivista/corretta da un team di utenti fidati. == Licenze == Il codice di django sarà rilasciato come GPL3. Le domande e i contenuti saranno rilasciati sotto licenza Creative Commons [[Attribuzione-Condividi allo stesso modo|http://creativecommons.org/licenses/by-sa/3.0/deed.it]]. Nel primo punto questa licenza specifica che devi dichiarare la paternita' nei modi scritti dall'autore. La nostra clausola è che se vuoi utilizzare le domande del database per una tua qualche applicazione, devi presentare in modo chiaro '''su ogni quiz''', un rimando al logo e/o al sito di openpursuit. |
Linea 22: | Linea 28: |
=== Capire le regole del gioco === | Attualmente stiamo tirando su la parte server utilizzando il framework python [[http://www.djangoproject.com/|Django]]. |
Linea 24: | Linea 30: |
Pensare a un sistema di feedback in maniera che il sito si autoregolamenti escludendo troll, domande fuori dal loro contesto, pubblicità, e scritte tipo "schemo chi legge". Come impostare il livello di difficoltà delle domande? Da questi ragionamenti dovrebbero venire le specifiche per il "datamodel" ovvero per il punto successivo! |
=== Regole del gioco === |
Linea 28: | Linea 32: |
=== Scegliere in modo opportuno il datamodel del database === Questo è il cuore di OpenPursuit, infatti l'intero progetto si basa su questo database comunitario di domande, sulla base del qualche si possono inventare un sacco di giochi. Il primo passo non sarà quindi implementativo, ma di ragionamento su come strutturare il datamodel. Forse qui chi di noi ha esperienza e competenze di informatica pura può dare un aiuto significativo. === Implementare una (o più di una) piattaforma web per sfamare il database === Qui si tratta di programmare PHP Django o quello che vi pare, e preparare un sito facile per permettere alle persone di inserire le domande. |
'''Autoregolamentazione''' Ogni utente che scarica la domanda invia un feedback per indicare se la domanda è consona o meno al contesto del tag... Ogni utente può votare ciascun quiz oppure segnalarlo come Fuori Tema. Ad un certo numero di segnalazioni la domanda passa allo stato di quarantena. Questo significa che la domanda è temporaneamente sospesa, non sarà più possibile scaricarla e prima che uno della commissione di utenti fidati la esamini. Se la domanda risulta effettivamente fuori luogo l'autore verrà prima ammonito, poi segnalato come spammer ed infine se persevera, espulso. In caso di abuso di feedback negativi, la procedura è analoga. |
Linea 54: | Linea 44: |
* i) Sito web, dove dopo la scelta dei tag di interesse, è possibile stampare un mazzo di carte con le domande, per giocare poi a tavola con il tabellone di trivial pursuit. | * i) Sito web per il gioco online in base alla scelta dei tag di interesse |
Linea 56: | Linea 46: |
* ii) Un gioco per Android, stile chi vuol essere milionario, per giocare da soli sul cellulare, magari scaricando le domande da internet...Parallelamente si vorrebbe partecipare all'Android Contest (http://code.google.com/android/adc.html) e in caso il fato vorrà che vincessimo il premio, destinare il ricavato a "ninux.org" cosi' avere un budget per realizzare un infrastruttura di rete libera e comunitaria. | * ii) Possibilita' di stampare tabellone e mazzo di carte con le domande, per giocare dal vivo. |
Linea 58: | Linea 48: |
== Note sull'implementazione django == | |
Linea 60: | Linea 49: |
Installate django e python-mysqldb, su debian : {{{ apt-get django apt-get python-mysqldb }}} In caso di problemi, controllate le specifiche di django per la versione di python-mysqldb che vuole (ne serve una abbastanza recente!). |
== Partecipa! == Cerchiamo persone che partecipino attivamente allo sviluppo del progetto, allo scopo di divertisi, fare qualcosa insieme e imparare cose nuove. In particolare cerchiamo: * Programmatori python per programmare il lato server con Django. * Persone che curino la grafica e i contenuti del sito Se vuoi partecipare, non serve che sei un esperto in materia, basta solo che hai la voglia e i presupposti per imparare entro breve queste tecnologie. Abbiamo visto che una persona motivata e con medie conoscenze di programmazione riesce a diventare operativa su Django già dopo 8 ore. Abbiamo una mailing list interna: per essere invitati potete scrivere a ziducaixao [AT] autistici.org == Note sull'implementazione in django == Installate i seguenti pacchetti: mysql-server e python-mysqldb assicurandovi di avere la versione di quest'ultimo >= 1.2.1p2. Installate django '''DAL TRUNK''' seguendo le istruzioni su http://www.djangoproject.com/download/ . Non utilizzate i pacchetti che sono pieni di bug vecchi risolti nella versione del trunk! |
Linea 72: | Linea 73: |
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk openpursuit cd djangoOp |
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/djangoOp openpursuit cd openpursuit }}} Copiate il template con le impotazioni e configuratelo secondo i parametri della vostra macchina {{{ cp settings.py.tmpl settings.py |
Linea 78: | Linea 85: |
Create il codice SQL per il vostro database: | Guardate il codice SQL che verrà creato sul vostro database: |
Linea 80: | Linea 87: |
python manage.py sql OpenPursuit_Base | python manage.py sql op |
Linea 90: | Linea 97: |
python manage.py runserver | python manage.py runserver [IP:PORTA] |
Linea 92: | Linea 99: |
Note aggiuntive: Per mandare correttamente le mail di attivazione può essere utile configurare postfix che accetta email da localhost e le inoltra su gmail. E' inoltre opportuno modificare al mano il database django_site per cambiare example.com nel vostro nome di dominio. Dovete cambiare la "colletion" del campo "messages" della tabella "auth_messages" in "utf8_unicode_ci". Altrimenti potreste avere un fastidiosissimo warning tutte le volte che utilizzate l'interfaccia di amministrazione. Installare django amf http://djangoamf.sourceforge.jp/index.php?UserManual_en Se avete l'architettura a 64 bit c'e' un bug noto. La patch è qua: [[PATCH|http://sourceforge.jp/tracker/index.php?func=detail&aid=11720&group_id=2585&atid=9591]] Puo' essere utile installare questo pacchetto {{{ python-reportlab }}} Copio il mio file /etc/apache2/sites-available/www.openpursuit.org Naturalmente è richiesto il pacchetto libapache-mod-python {{{ MaxRequestsPerChild 1 <VirtualHost *:80> ServerAdmin my__name@autistici.org ServerName www.openpursuit.org ServerAlias openpursuit.org ErrorLog /var/log/apache2/openpursuit-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/openpursuit-access.log combined <Location "/"> SetHandler python-program PythonPath "['/home/openpursuit','dir/di/django', '/home/openpursuit/djangoOp'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE djangoOp.settings PythonDebug On </Location> Alias /media/ /home/openpursuit/djangoOp/static/ <Location "/media/"> SetHandler None </Location> <Directory /home/openpursuit/djangoOp/static> Options Indexes FollowSymLinks MultiViews AllowOverride None Order Deny,Allow </Directory> </VirtualHost> }}} |
Open Pursuit
Da parte di alcuni membri della community, è partito un po' per gioco il progetto "openpursuit" http://www.openpursuit.org
Il Progetto
Il progetto consiste nel creare un database contenente dei quiz (testuali o multimediali).
Il database sarà liberamente utilizzabile per creare dei giochi tipo "trivial pursuit" o "chi vuol essere milionario", "sarabanda" o qualunque altro tipo di quiz.
Le domande inserite saranno associate a dei "tags" per cui si potrebbe pensare di giocare con gli amici rispondendo a domande classiche di sport, cultura generale ma anche reti, tecnologie wireless, nerd o altre tematiche specifiche, a seconda della serata e dei partecipanti.
Ogni domanda potrà essere votata o segnalata come fuori tema e rivista/corretta da un team di utenti fidati.
Licenze
Il codice di django sarà rilasciato come GPL3. Le domande e i contenuti saranno rilasciati sotto licenza Creative Commons http://creativecommons.org/licenses/by-sa/3.0/deed.it. Nel primo punto questa licenza specifica che devi dichiarare la paternita' nei modi scritti dall'autore. La nostra clausola è che se vuoi utilizzare le domande del database per una tua qualche applicazione, devi presentare in modo chiaro su ogni quiz, un rimando al logo e/o al sito di openpursuit.
Roadmap
Attualmente stiamo tirando su la parte server utilizzando il framework python Django.
Regole del gioco
Autoregolamentazione Ogni utente che scarica la domanda invia un feedback per indicare se la domanda è consona o meno al contesto del tag... Ogni utente può votare ciascun quiz oppure segnalarlo come Fuori Tema. Ad un certo numero di segnalazioni la domanda passa allo stato di quarantena. Questo significa che la domanda è temporaneamente sospesa, non sarà più possibile scaricarla e prima che uno della commissione di utenti fidati la esamini. Se la domanda risulta effettivamente fuori luogo l'autore verrà prima ammonito, poi segnalato come spammer ed infine se persevera, espulso. In caso di abuso di feedback negativi, la procedura è analoga.
Implementare i giochi
Al momento le idee sono:
- i) Sito web per il gioco online in base alla scelta dei tag di interesse
- ii) Possibilita' di stampare tabellone e mazzo di carte con le domande, per giocare dal vivo.
Partecipa!
Cerchiamo persone che partecipino attivamente allo sviluppo del progetto, allo scopo di divertisi, fare qualcosa insieme e imparare cose nuove. In particolare cerchiamo:
- Programmatori python per programmare il lato server con Django.
- Persone che curino la grafica e i contenuti del sito
Se vuoi partecipare, non serve che sei un esperto in materia, basta solo che hai la voglia e i presupposti per imparare entro breve queste tecnologie. Abbiamo visto che una persona motivata e con medie conoscenze di programmazione riesce a diventare operativa su Django già dopo 8 ore. Abbiamo una mailing list interna: per essere invitati potete scrivere a ziducaixao [AT] autistici.org
Note sull'implementazione in django
Installate i seguenti pacchetti: mysql-server e python-mysqldb assicurandovi di avere la versione di quest'ultimo >= 1.2.1p2. Installate django DAL TRUNK seguendo le istruzioni su http://www.djangoproject.com/download/ . Non utilizzate i pacchetti che sono pieni di bug vecchi risolti nella versione del trunk!
Scaricate i sorgenti:
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/djangoOp openpursuit cd openpursuit
Copiate il template con le impotazioni e configuratelo secondo i parametri della vostra macchina
cp settings.py.tmpl settings.py
Modificate settings.py con i parametri del vostro database
Guardate il codice SQL che verrà creato sul vostro database:
python manage.py sql op
Create le tabelle con lo schema
python manage.py syncdb
Provate con il webserver di prova
python manage.py runserver [IP:PORTA]
Note aggiuntive: Per mandare correttamente le mail di attivazione può essere utile configurare postfix che accetta email da localhost e le inoltra su gmail. E' inoltre opportuno modificare al mano il database django_site per cambiare example.com nel vostro nome di dominio. Dovete cambiare la "colletion" del campo "messages" della tabella "auth_messages" in "utf8_unicode_ci". Altrimenti potreste avere un fastidiosissimo warning tutte le volte che utilizzate l'interfaccia di amministrazione.
Installare django amf http://djangoamf.sourceforge.jp/index.php?UserManual_en Se avete l'architettura a 64 bit c'e' un bug noto. La patch è qua: http://sourceforge.jp/tracker/index.php?func=detail&aid=11720&group_id=2585&atid=9591
Puo' essere utile installare questo pacchetto
python-reportlab
Copio il mio file /etc/apache2/sites-available/www.openpursuit.org
Naturalmente è richiesto il pacchetto libapache-mod-python
MaxRequestsPerChild 1 <VirtualHost *:80> ServerAdmin my__name@autistici.org ServerName www.openpursuit.org ServerAlias openpursuit.org ErrorLog /var/log/apache2/openpursuit-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/openpursuit-access.log combined <Location "/"> SetHandler python-program PythonPath "['/home/openpursuit','dir/di/django', '/home/openpursuit/djangoOp'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE djangoOp.settings PythonDebug On </Location> Alias /media/ /home/openpursuit/djangoOp/static/ <Location "/media/"> SetHandler None </Location> <Directory /home/openpursuit/djangoOp/static> Options Indexes FollowSymLinks MultiViews AllowOverride None Order Deny,Allow </Directory> </VirtualHost>