6832
Commento:
|
8478
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
#acl GiuseppeTerrasi:admin,read,write,revert MirkoPizii:admin,read,write,revert MiloCasagrande:admin,read,write,revert RiccardoPadovani:admin,read,write,revert PietroAlbini:admin,read,write,revert -Known:read -All:read |
## page was renamed from GruppoAsk/Hack <<Include(GruppoAsk/Header)>> |
Linea 5: | Linea 5: |
'''BOZZA, LA PAGINA SARA' MOLTO LUNGA. PIÙ AVANTI SPEZZARLA IN SOTTOPAGINE''' |
|
Linea 9: | Linea 7: |
Questa pagina contiene informazioni utili per coloro che vogliono partecipare allo sviluppo e al mantenimento del codice di chiedi.ubuntu-it.org = Come si fa = I passi sono: * Installare OSQA sul proprio computer; * Ottenere il nostro codice; * HACK! * Mandaci le tue modifiche. = Prerequisiti = * Consigliato l'uso di Ubuntu 11.10 o Ubuntu 12.04 in quanto contengono i pacchetti necessari e nella giusta versione. * Installare i seguenti pacchetti relativi a django, apache, database postgresql, subverson: {{{ sudo apt-get install python-django python-django-south python-django-openid-auth python-django-debug-toolbar python-migrate python-html5lib python-markdown python-elementtidy python-psycopg2 postgresql-9.1 libapache2-mod-wsgi subversion }}} = Database = |
Questa pagina contiene informazioni utili per coloro che vogliono partecipare allo sviluppo e al mantenimento del codice di Chiedi. Per poter sviluppare funzionalità è richiesta una conoscenza di Python e Django, mentre per modifiche al tema di HTML e CSS. = Scaricare una copia del sito in locale = Per poter mandare le modifiche è necessario avere un'istanza locale su cui effettuarle.<<BR>> Per via delle dipendenze consigliato installarlo solo su Ubuntu 12.04 LTS, in quanto i pacchetti nelle altre release non sono nella versione corretta. == Prerequisiti == Installare i seguenti pacchetti relativi a django, apache, database postgresql, subverson, bazaar, gettext: {{{ sudo apt-get install python-django python-django-south python-django-openid-auth python-django-debug-toolbar python-migrate python-html5lib python-markdown python-elementtidy python-psycopg2 postgresql-9.1 apache2 libapache2-mod-wsgi subversion bzr gettext }}} == Preparare il database == |
Linea 46: | Linea 43: |
* Impostare la password dell'utente ''postgres'': {{{ | * Creare l'utente ''osqa'': {{{ |
Linea 48: | Linea 45: |
createuser osqa | |
Linea 49: | Linea 47: |
alter user postgres with password 'la_tua_password'; | alter user osqa with password 'la_tua_password'; |
Linea 53: | Linea 51: |
createdb -O postgres osqa | createdb -O osqa osqa |
Linea 57: | Linea 55: |
= Apache = | == Configurare apache == |
Linea 65: | Linea 63: |
* Copiare il seguente Virtual Host in `/etc/apache2/site-available/ chiamandolo ''osqa'': {{{ | * Copiare il seguente Virtual Host in ''/etc/apache2/sites-available/'' chiamandolo ''osqa'': {{{ |
Linea 104: | Linea 102: |
= Deploy = * Scaricare il branch di sviluppo di Chiedi Ubuntu-it e copiarlo poi in `/var/www`: {{{ bzr branch lp:~ubuntu-it-ask/ubuntu-it-ask/dev }}} * Rinominare la cartella `/var/www/dev` in `/var/www/osqa` (nota bene: la cartella DEVE chiamarsi per forza ''osqa''). |
== Installare osqa == * Scaricare il branch di Chiedi Ubuntu-it e copiarlo poi in `/var/www`: {{{ bzr branch lp:ubuntu-it-ask }}} * Rinominare la cartella `/var/www/ubuntu-it-ask` in `/var/www/osqa` (nota bene: la cartella DEVE chiamarsi per forza ''osqa''). |
Linea 119: | Linea 117: |
'USER': 'postgresql', | 'USER': 'osqa', |
Linea 121: | Linea 119: |
'HOST': '', | 'HOST': 'localhost', |
Linea 142: | Linea 140: |
Nota sulle traduzioni: in realtà la traduzione più aggiornata è sempre [[http://bazaar.launchpad.net/~ubuntu-it-ask/ubuntu-it-ask/stable/view/head:/locale/it/LC_MESSAGES/it.po | questa]] del ramo stabile. Per applicarla seguire gli stessi passi. = Permessi = |
Nota sulle traduzioni: in realtà la traduzione più aggiornata è sempre [[http://bazaar.launchpad.net/~ubuntu-it-ask/ubuntu-it-ask/stable/view/head:/locale/it/LC_MESSAGES/it.po | questa]]. Per applicarla seguire gli stessi passi. == Assegnare i permessi corretti == |
Linea 152: | Linea 150: |
= Prova = | == Prova == |
Linea 156: | Linea 154: |
= Un passo in più = | == Un passo in più == |
Linea 162: | Linea 160: |
* Importare il [[http://wiki.ubuntu-it.org/GruppoAsk/Hack?action=AttachFile&do=get&target=forum_keyvalue.sql|seguente file]] in questo modo: {{{ | * Importare il database in questo modo: {{{ |
Linea 169: | Linea 167: |
= Hack! = E adesso? Abbiamo dei bug e delle cose che vorremmo realizzare (link a bugs e bluprint). Se hai un idea vieni in lista (mettere), dicci cosa vuoi fare e... falla! = Faccelo vedere = * Assicurati di avere scaricato l'ultima revisione del nostro repository (mettere link) * Applica le modifiche * Quindi: {{{ |
= Iniziare a sviluppare = Benissimo, ora si può iniziare a sviluppare. == Modificare il tema == Il tema di Chiedi è ben fatto, ma può essere migliorato. I files del tema si trovano in `forum/skins/light`. === Modifica dello stile === Lo stile è presente in `forum/skins/light/media`, nelle sottocartelle `styles` e `images`.<<BR>> Effettuare le modifiche ai files e controllare che non ci siano effetti inaspettati nelle pagine. === Modifica del contenuto delle pagine === Per prima cosa controllare in che file è posizionato il contenuto della pagina scelta guardando in `forum/skins/default/templates`. Poi guardare se il file è presente in `forum/skins/light/templates` e, in caso macasse, copiarlo. Effettuare poi le modifiche nella copia del file presente in `forum/skins/light/templates`. '''Mai modificare i files in `forum/skins/default/templates`'''. == Modifica del funzionamento della piattaforma == Per modificare il funzionamento della piattaforma agire sui files presenti in `forum` e `forum_modules`. = Pubblica le tue modifiche = == Caricamento su launchpad == Per prima cosa assicurati di avere scaricato l'ultima revisione del nostro [[https://code.launchpad.net/ubuntu-it-ask|repository]]. Poi caricale: {{{ |
Linea 182: | Linea 204: |
Non conosci bazaar? (mettere link a guida). Ti server una mano? Vieni in lista! (mettere link). |
== Presentazione delle modifiche == Fai una merge request via launchpad sul branch `lp:~ubuntu-it-ask/ubuntu-it-ask/stable` e scrivi in [[http://liste.ubuntu-it.org/cgi-bin/mailman/listinfo/devel-ask|mailing list]] presentando le tue modifiche. Uno o più amministratori applicheranno le modifiche sulla loro istanza locale e poi comunicheranno il risultato dei test. In caso positivo verranno caricate le modifiche sul server di test del gruppo e poi sul server di Chiedi. = Per chi vuole studiare = * Non conosci bazaar? * [[Programmazione/Bazaar|Guida su bazaar]] * [[http://wiki.bazaar.canonical.com/Scenarios|Casi d'uso]] * [[http://doc.bazaar.canonical.com/bzr.dev/en/|Guida ufficiale completa]] * Non conosci Django? [[https://docs.djangoproject.com/en/1.4/|Documentazione di Django]] * Non conosci OSQA? * [[http://meta.osqa.net/|Meta ufficiale]] * [[http://wiki.osqa.net|Wiki]] |
Introduzione
Questa pagina contiene informazioni utili per coloro che vogliono partecipare allo sviluppo e al mantenimento del codice di Chiedi.
Per poter sviluppare funzionalità è richiesta una conoscenza di Python e Django, mentre per modifiche al tema di HTML e CSS.
Scaricare una copia del sito in locale
Per poter mandare le modifiche è necessario avere un'istanza locale su cui effettuarle.
Per via delle dipendenze consigliato installarlo solo su Ubuntu 12.04 LTS, in quanto i pacchetti nelle altre release non sono nella versione corretta.
Prerequisiti
Installare i seguenti pacchetti relativi a django, apache, database postgresql, subverson, bazaar, gettext:
sudo apt-get install python-django python-django-south python-django-openid-auth python-django-debug-toolbar python-migrate python-html5lib python-markdown python-elementtidy python-psycopg2 postgresql-9.1 apache2 libapache2-mod-wsgi subversion bzr gettext
Preparare il database
Assumiamo che l'utente proprietario del database sia postgresql.
Configurare correttamente i permessi di postgresql modificando il file /etc/postgresql/9.1/main/pg_hba.conf, sostituendo le ultime righe con questo:
# "local" is for Unix domain socket connections only host all all 192.168.1.20 255.255.255.0 md5 # <- 192.168.1.20 ip tua macchina local all all peer # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 md5 #host replication postgres ::1/128 md5
Creare l'utente osqa:
sudo su postgres createuser osqa psql -d template1 -U postgres alter user osqa with password 'la_tua_password'; \q
Creare il database osqa con proprietario postgres:
createdb -O osqa osqa exit
Configurare apache
Assumiamo che il Virtual Host si chiami osqa e che la directory di installazione sia /var/www/osqa.
Assicurarsi di avere abilitato il modulo wsgi:
sudo a2enmod wsgi
Copiare il seguente Virtual Host in /etc/apache2/sites-available/ chiamandolo osqa:
WSGISocketPrefix ${APACHE_RUN_DIR} <VirtualHost *:80> DocumentRoot /var/www/osqa/ ServerName http://localhost ServerAlias http://localhost Alias /osqa/m/ "/var/www/osqa/forum/skins/" <Directory "/var/www/osqa/forum/skins"> Order allow,deny Allow from all </Directory> Alias /osqa/upfiles/ "/var/www/osqa/forum/upfiles/" <Directory "/var/www/osqa/forum/upfiles"> Order deny,allow Allow from all </Directory> Alias /admin_media/ /usr/lib/python2.7/dist-packages/django/contrib/admin/media/ <Directory /usr/lib/python2.7/dist-packages/django/contrib/admin/media> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /var/www/osqa/osqa.wsgi CustomLog ${APACHE_LOG_DIR}/osqa.access.log common ErrorLog ${APACHE_LOG_DIR}/osqa.error.log </VirtualHost>
Abilitare il virtualhost e riavviare il servizio:
sudo a2ensite osqa sudo service apache2 restart
Installare osqa
Scaricare il branch di Chiedi Ubuntu-it e copiarlo poi in /var/www:
bzr branch lp:ubuntu-it-ask
Rinominare la cartella /var/www/ubuntu-it-ask in /var/www/osqa (nota bene: la cartella DEVE chiamarsi per forza osqa).
Rinominare osqa.wsgi.dist in osqa.wsgi, quindi cambiare i path:
sys.path.append('/var/www') sys.path.append('/var/www/osqa')
modificare settings_local.py affinché rifletta la reale configurazione della propria macchina. A titolo di esempio:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'osqa', 'USER': 'osqa', 'PASSWORD': 'la_password_dell'utente_postgres', 'HOST': 'localhost', 'PORT': '', } } APP_URL = 'http://localhost' OSQA_DEFAULT_SKIN = 'light' ## <-- è il tema di ubuntu-it, quello predefinito si chiama default
Popolare il database (comandi da dare in /var/www/osqa):
sudo python manage.py syncdb --all (dire no alla richiesta di creare un super utente) sudo python manage.py migrate forum --fake
Generare le ultime traduzioni (sempre da /var/www/osqa):
cp locale/it/LC_MESSAGES/it.po locale/it/LC_MESSAGES/django.po msgfmt locale/it/LC_MESSAGES/django.po -o locale/it/LC_MESSAGES/django.mo sudo python manage.py makemessages -l it
Nota sulle traduzioni: in realtà la traduzione più aggiornata è sempre questa. Per applicarla seguire gli stessi passi.
Assegnare i permessi corretti
sudo chown -R www-data:www-data /var/www/osqa sudo chmod -R g+w /var/www/osqa/forum/upfiles sudo chmod -R g+w /var/www/osqa/log
Prova
Riavviare apache e postgres, per sicurezza per l'ultima volta e andare su http://localhost. Dovrebbe funzionare.
Un passo in più
Non indispensabile, ma se si volesse utilizzare la medesima configurazione in uso su chiedi.ubuntu-it.org:
Fare un backup della tabella di configurazione:
pg_dump osqa --clean -O -t forum_keyvalue -f mia_tabella.sql -U postgres -W
Importare il database in questo modo:
psql -U postgres osqa -W < forum_keyvalue.sql
Sync db:
sudo python /var/www/osqa/manage.py syncdb
Iniziare a sviluppare
Benissimo, ora si può iniziare a sviluppare.
Modificare il tema
Il tema di Chiedi è ben fatto, ma può essere migliorato.
I files del tema si trovano in forum/skins/light.
Modifica dello stile
Lo stile è presente in forum/skins/light/media, nelle sottocartelle styles e images.
Effettuare le modifiche ai files e controllare che non ci siano effetti inaspettati nelle pagine.
Modifica del contenuto delle pagine
Per prima cosa controllare in che file è posizionato il contenuto della pagina scelta guardando in forum/skins/default/templates. Poi guardare se il file è presente in forum/skins/light/templates e, in caso macasse, copiarlo.
Effettuare poi le modifiche nella copia del file presente in forum/skins/light/templates. Mai modificare i files in forum/skins/default/templates.
Modifica del funzionamento della piattaforma
Per modificare il funzionamento della piattaforma agire sui files presenti in forum e forum_modules.
Pubblica le tue modifiche
Caricamento su launchpad
Per prima cosa assicurati di avere scaricato l'ultima revisione del nostro repository.
Poi caricale:
bzr commit -m 'Descrivi le modifiche' bzr push lp:~tuonome/ubuntu-it-ask/tuo-repository
Presentazione delle modifiche
Fai una merge request via launchpad sul branch lp:~ubuntu-it-ask/ubuntu-it-ask/stable e scrivi in mailing list presentando le tue modifiche.
Uno o più amministratori applicheranno le modifiche sulla loro istanza locale e poi comunicheranno il risultato dei test.
In caso positivo verranno caricate le modifiche sul server di test del gruppo e poi sul server di Chiedi.
Per chi vuole studiare
- Non conosci bazaar?
Non conosci Django? Documentazione di Django
- Non conosci OSQA?