Moduli secondarii

Panoramica

Un modulo secondario Git permette di integrare altri progetti Git nel tuo codice, senza aver bisogno di copiare e incollare tutto il codice.

I moduli personalizzati possono dipendere da moduli appartenenti ad altri registri. Per quanto riguarda Odoo, questa funzionalità ti consente di aggiungere moduli da altri registri Git nei rami del tuo proprio registro. L’aggiunta di dipendenze nel ramo tramite moduli secondari rende più semplice la distribuzione del codice e dei server, in quanto è possibile clonare i registri aggiunti come moduli secondari nello stesso momento in cui cloni il tuo registro.

Tra l’altro, è possibile scegliere il ramo del registro aggiunto come modulo secondario e avrai il controllo della revisione desiderata. Sei tu a scegliere se aggiungere il modulo secondario ad una revisione specifica e quando aggiornare ad una revisione più recente.

In Odoo.sh, i moduli secondari danno la possibilità di utilizzare e contare su moduli disponibili in altri registri. La piattaforma individuerà l’aggiunta di moduli tramite moduli secondari nei rami e li aggiungerà automaticamente al percorso dei componenti aggiuntivi così da poter installarli nei database.

Se aggiungi registri privati come moduli secondari nei rami, è necessario configurare una chiave di sviluppo nelle impostazioni del progetto Odoo.sh e nelle impostazioni del registro. In caso contrario, a Odoo.sh non sarà permesso scaricarli. La procedura viene descritta in maniera dettagliata nel capitolo Impostazioni > Moduli secondari.

Aggiungere un modulo secondario

Con Odoo.sh (facile)

Avvertimento

Per ora è possibile aggiungere registri privati con questo metodo. Puoi comunque farlo con Git.

Su Odoo.sh, nella vista rami del tuo progetto, scegli il ramo nel quale vuoi aggiungere un modulo secondario.

Nell’angolo in alto a destra, fai clic sul pulsante Modulo secondario ed in seguito su Esegui.

../../../_images/advanced-submodules-button.png

Viene mostrata una finestra di dialogo con un modulo. Riempi i campi come segue:

  • URL registro: l’URL SSH del registro.

  • Ramo: il ramo che vuoi utilizzare.

  • Percorso: la cartella in cui vuoi aggiungere il modulo secondario per il tuo ramo.

../../../_images/advanced-submodules-dialog.png

Su Github, puoi ottenere l’URL del registro grazie al pulsante Clona o scarica. Assicurati di utilizzare SSH.

../../../_images/advanced-submodules-github-sshurl.png

Con Git (avanzato)

In un terminale, nella cartella dove viene clonato il registro Git, verifica il ramo al quale vuoi aggiungere il modulo secondario:

$ git checkout <branch>

In seguito, aggiungi il modulo secondario utilizzando il comando che segue:

$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>

Sostituisci

  • <git@yourprovider.com>:<username/repository.git> con l’URL SSH del registro che vuoi aggiungere come modulo secondario;

  • <branch> con il ramo che vuoi utilizzare nel registro in alto;

  • <path> con la cartella in cui vuoi aggiungere questo modulo secondario.

Esegui il commit e applica le modifiche:

$ git commit -a && git push -u <remote> <branch>

Sostituisci

  • <remote> con il registro al quale vuoi applicare le modifiche. Per una configurazione Git standard si tratta di origin.

  • <branch> con il ramo al quale vuoi applicare le modifiche. Molto probabilmente il ramo al quale hai applicato git checkout durante il primo step.

Puoi consultare la documentazione git-scm.com per più dettagli sui moduli secondari Git. Ad esempio, nel caso in cui vorresti aggiornare i moduli secondari per avere l’ultima revisione, puoi leggere il capitolo Pulling in Upstream changes.

Ignorare moduli

Se stai aggiungendo un registro che contiene molti moduli, forse vorrai ignorarne alcuni in caso ve ne siano alcuni installati automaticamente. Per farlo, puoi aggiungere un prefisso alla cartella del modulo secondario con un .. La piattaforma ignorerà la cartella e puoi gestire la scelta dei moduli creando collegamenti simbolici da un’altra cartella.