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.
Su Ubuntu 12.04 LTS tutte le dipendenze sono alla giusta versione, per le release successive si consiglia l'aggiunta del PPA contenente le versioni corrette.

Prerequisiti

Installare i seguenti pacchetti relativi a django, apache, database postgresql, subversion, 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 python-oauth2client postgresql-9.1 apache2 libapache2-mod-wsgi subversion bzr gettext

Preparare il database

Assumiamo che l'utente proprietario del database sia postgresql.

Configurare apache

Assumiamo che il Virtual Host si chiami osqa e che la directory di installazione sia /var/www/osqa.

Installare osqa

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:

Utilizzare gli scripts

Abbiamo preparato una serie di scripts volti a semplificare lo sviluppo.
Essi sono stati creati da PietroAlbini, pacchettizzati da AndreaColangelo e rilasciati sotto licenza GNU-GPL v3.

Installare gli scripts

sudo add-apt-repository ppa:ubuntu-it-ask-devel/osqa-compatibility
sudo apt-get update
sudo apt-get install osqa-scripts

Configurazione iniziale

Per prima cosa modificare il file /etc/osqa-scripts/osqa-scripts.cfg affinché rifletta la propria configurazione.
Dopo copiare i files osqa.wsgi e settings_local.py in /etc/osqa-scripts/.

Utilizzo

Gli scripts richiedono i permessi di root, ma NON vanno utilizzati con sudo per via di problemi con bazaar.
Gli scripts eseguono automaticametne sudo dove necessario.

Scaricare un branch

osqa apply-branch [proprietario] [nome_branch]

Esso scarica il branch dal progetto launchpad ubuntu-it-ask (se non configurato diversamente), sostituisce i files mantenendo i files di configurazione come symlink a quelli presenti in /etc/osqa-scripts, ricompila la lingua e applica i permessi corretti.

In caso che il proprietario o il nome del branch non vengano passati verranno utilizzati i valori di default presenti nella configurazione.

Resettare il database

osqa reset-db

Esso ricrea e ripopola con i dati di default il database di OSQA.
Esso cancella tutti i dati presenti, quindi prestare attenzione

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

Preparazione del codice

Prima di caricare le modifiche è bene, oltre a testare i cambiamenti, pulire il codice.
Infatti non bisogna lasciare alcuna traccia di test o codici inutili.

È bene infatti scaricare l'ultima revisione del nostro repository e riapplicaci le modifiche, in modo da lasciare meno tracce possibili.

Caricamento su launchpad

In caso che la modifica risolve un bug utilizzare i seguenti comandi sostituendo ####### con l'id del bug:

bzr commit --fixes lp:####### -m 'Descrivi le modifiche'
bzr push lp:~tuonome/ubuntu-it-ask/fix-lp#######

Altrimenti:

bzr commit -m 'Descrivi le tue modifiche'
bzr push lp:~tuonome/ubuntu-it-ask/nome_repo

Presentazione delle modifiche

Fai una merge request via launchpad sui branch lp:~ubuntu-it-ask/ubuntu-it-ask/stable e lp:~ubuntu-it-ask/ubuntu-ask/development, poi scrivi in mailing list presentando dettagliatamente le tue modifiche.

Uno o più amministratori testeranno 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 dopo altri test sul server di Chiedi.

Per chi vuole studiare


CategoryComunita

GruppoAsk/Sviluppo (l'ultima modifica è del 01/11/2023 23.40.55, fatta da enzotib)