Editor online¶
Panoramica¶
L’editor online consente di modificare il codice fonte dei build da un browser. Inoltre, offre la possibilità di aprire terminali, console Python, console Odoo Shell e Notebooks.
È possibile accedere all’editor di un build attraverso le schede rami, il menu a discesa dei build oppure aggiungendo /odoo-sh/editor al nome di dominio del build (e.g. https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Modificare il codice sorgente¶
La cartella di lavoro è composta dalle seguenti cartelle:
.
├── home
│ └── odoo
│ ├── src
│ │ ├── odoo Odoo Community source code
│ │ │ └── odoo-bin Odoo server executable
│ │ ├── enterprise Odoo Enterprise source code
│ │ ├── themes Odoo Themes source code
│ │ └── user Your repository branch source code
│ ├── data
│ │ ├── filestore database attachments, as well as the files of binary fields
│ │ └── sessions visitors and users sessions
│ └── logs
│ ├── install.log Database installation logs
│ ├── odoo.log Running server logs
│ ├── update.log Database updates logs
│ └── pip.log Python packages installation logs
È possibile modificare il codice sorgente (file sotto /src) nei build di sviluppo e staging.
Nota
Le modifiche non verranno propagate in un nuovo build, è necessario eseguire il commit nel codice sorgente se vuoi che restino attive.
Per i build di produzione, il codice sorgente è di sola lettura, perché l’applicazione di cambiamenti locali su un server di produzione non è una buona pratica.
Il codice sorgente dell’archivio Github si trova sotto /src/user;
Il codice sorgente di Odoo si trova sotto
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Per aprire un file nell’editor, fai doppio clic su di esso nel pannello di visualizzazione dei file a sinistra.
In seguito, è possibile iniziare ad apportare modifiche. Puoi salvarle grazie al menu
oppure tramite la scelta rapida da tastiera Ctrl+S.Se salvi un file Python sotto il percorso dei componenti aggiuntivi del server Odoo, Odoo lo individuerà e caricherà automaticamente in modo che le tue modifiche siano visibili immediatamente, senza dover riavviare il server manualmente.
Tuttavia, se la modifica corrisponde a dati salvati nel database, come l’etichetta di un campo o una vista, è necessario aggiornare il modulo corrispondente per applicare la modifica. È possibile aggiornare il modulo del file attualmente aperto utilizzando il menu
. Nota che il file considerato attualmente aperto è il file evidenziato nell’editor di testo non il file evidenziato nel navigatore.È anche possibile aprire un terminale ed eseguire il comando:
$ odoo-bin -u <comma-separated module names> --stop-after-init
Eseguire il commit e applicare le modifiche¶
Hai la possibilità di eseguire il commit e applicare le modifiche nell’archivio Github.
Apri un terminale (
);modifica la cartella in ~/src/user utilizzando
cd ~/src/user
;prepara il commit per le modifiche
git add
;esegui il commit delle modifiche utilizzando
git commit
;esegui il push delle modifiche utilizzando
git push https HEAD:<branch>
.
Per quanto riguarda l’ultimo comando,
https è il nome del tuo archivio Github remoto HTTPS Github (ad es. https://github.com/username/repository.git);
HEAD è il riferimento all’ultima versione di cui è stato eseguito il commit;
<branch> deve essere sostituito dal nome del ramo per il quale vuoi eseguire il push delle modifiche, molto probabilmente il ramo corrente, se si lavora in un build di sviluppo.
Nota
L’SSH Github remoto non viene utilizzato perché la chiave privata SSH non è ospitata nei contenitori del tuo build (per ovvi motivi di sicurezza) tantomento inviata tramite un agente (in quanto puoi accedere all’editor attraverso un browser web) e quindi non è possibile autenticarsi su Github utilizzando SSH. È necessario utilizzare l’HTTPS remoto dell’archivio Github per eseguire il push delle modifiche, il quale viene aggiunto automaticamente e nominato https nei Git remoti. Ti verrà richiesto di inserire username e password Github. Se hai attivato l’autenticazione a due fattori su Github, puoi creare un token personale di accesso e utilizzarlo come password. È sufficiente garantire l’autorizzazione repo
.
Nota
La cartella sorgente Git ~/src/user non viene spuntata per un ramo ma per una revisione distaccata: questo accade perché i build lavorano su revisioni specifiche invece che rami. In altre parole, significa che puoi avere più build nello stesso ramo ma su revisioni diverse.
Una volta che le modifiche sono state applicate, secondo il comportamento del push del ramo, potrebbe essere creato un nuovo build. Puoi continuare a lavorare nell’editor dal quale hai eseguito il push, in quanto avrà la stessa revisione del nuovo build appena creato ma assicurati sempre di essere nell’editor di un build che usa l’ultima revisione del tuo ramo.
Console¶
È possibile aprire console Python che sono shell interattive IPython. Uno degli aspetti più interessanti dell’utilizzo di una console Python rispetto ad una shell IPython in un terminale è la ricchezza delle possibilità di visualizzazione.
Ad esempio, puoi visualizzare le celle di un file CSV utilizzando pandas.
Puoi anche aprire una console Odoo Shell per giocare con i metodi del registro e del modello del database. È possibile anche leggere o scrivere direttamente record.
Avvertimento
In una console Odoo, le transazioni vengono effettuate automaticamente. Ad esempio, ciò significa che le modifiche ai record vengono applicate in modo efficace al database. Se modifichi il nome di un utente, questo viene modificato anche nel database. Di conseguenza, devi usare con attenzione le console Odoo nei database di produzione.
Puoi utilizzare env per richiamare i modelli del registro del database, ad es. env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
La classe Pretty
consente di visualizzare facilmente elenchi e dizionari in modo carino usando ricchezza di visualizzazione citata in precedenza.
È anche possibile utilizzare pandas per visualizzare grafici.