Italiano English
Modifica History Actions

Differenze per "OpenPursuit"

Differenze tra le versioni 14 e 29 (in 15 versioni)
Versione 14 del 2008-01-01 19:53:31
Dimensione: 4627
Commento:
Versione 29 del 2009-02-20 21:09:08
Dimensione: 6258
Commento:
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 8: Linea 8:

Il database sarà liberamente utilizzabile per creare dei giochi tipo "trivial pursuit" o "chi vuol
essere milionario", "sarabanda" o qualunque altro tipo di quiz.
Linea 14: Linea 17:
Il database sarà liberamente utilizzabile per creare dei giochi tipo "trivial pursuit" o "chi vuol
essere milionario", "sarabanda" o qualunque altro tipo di quiz.
Ogni domanda potrà essere votata o segnalata come fuori tema e rivista/corretta da un team di utenti fidati.
Linea 17: Linea 19:
Il database è il componente base che permette lo sviluppo di infiniti giochi su infinite piattaforme.

== 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 24: Linea 28:
Attualmente stiamo tirando su la parte server utilizzando il framework python [http://www.djangoproject.com/ Django] e una parte client utilizzando l'SDK di [http://code.google.com/android/adc.html Android] per partecipare all'Android Contest.
In caso di vittoria, il "budget" sarà utilizzato per potenziare l'infrastruttura della rete libera e comunitaria.
Attualmente stiamo tirando su la parte server utilizzando il framework python [[http://www.djangoproject.com/|Django]].
Linea 32: Linea 34:
Ad un certo numero di feedback negativi 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 amministratori la esamini.
Se la domanda risulta effettivamente fuori luogo l'autore verrà segnalato come spammer, viceversa se sono "cazzari" quelli che hanno inviato i feedback verranno segnalati come feedbackari fasulli. Il che vuol dire che il loro feedback varrà di meno.
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 45: Linea 48:
 * iii) Un gioco per Android, stile chi vuol essere milionario, per giocare da soli sul cellulare, magari scaricando le domande da internet per poterci giocare offline.
Linea 53: Linea 56:
  * Programmatori J2ME per programmare su piattaforma ANDROID.
Linea 56: Linea 59:
Abbiamo visto che una persona motivata e con medie conoscenze di programmazione riesce a diventare operativa su Django e su Android già dopo 8 ore. Abbiamo visto che una persona motivata e con medie conoscenze di programmazione riesce a diventare operativa su Django già dopo 8 ore.
Linea 60: Linea 63:
== Note sull'implementazione django == == Note sull'implementazione in django ==
Linea 97: Linea 100:
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.
Linea 98: Linea 105:
== Note sull'implementazione Android == 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]]
Linea 100: Linea 111:
Installate eclipse e l'SDK di Android. Per la guida dettagliata andate qui: http://code.google.com/android/intro/installing.html#installingplugin
Linea 102: Linea 112:
Scaricate i sorgenti: 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
Linea 105: Linea 122:
svn co https://svn.ninux.org/svn/ninuxdeveloping/openpursuit/trunk/androidOp opgame 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>

Linea 107: Linea 160:

Aprite Eclipse, tasto destro su Package Explorer, selezionare Import.../General/Existing Projects into Workspace
Selezionata la cartella opgame che avete appena scaricato dall'SVN, date l'OK
Andate su FINISH e dovreste vedere il progetto.

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>