• IT
betterdocs-cat-icon 1-svg

Qualcosa è andato storto?

Condividi con noi la tua opinione per migliorare la nostra documentazione.

    Getting Started

    • Introduzione Instant Developer Cloud
    • Composizione della piattaforma
    • Struttura dei progetti
    • La programmazione relazionale
    • Apprendere l’uso di Instant Developer Cloud

    Struttura di un'applicazione

    • Introduzione (applicazione e sessione)
    • Le videate
    • Classi e librerie
    • Risorse e CSS
    • I pacchetti
    • Programmazione asincrona

    Struttura del database

    • Introduzione (struttura del database)
    • Definizione degli schemi relazionali
    • Scrittura di query ed esecuzione di comandi
    • Gestione dei database nel cloud
    • Il Cloud Connector

    Document Orientation

    • Introduzione Document Orientation
    • Definire Documenti e Collection
    • Utilizzo dei documenti
    • Estensione dei documenti

    Datamap

    • Introduzione Datamap
    • Creazione di liste di documenti
    • Modifica dei documenti con videate di dettaglio
    • Datamap innestate e ricorsive

    IonicUI

    • Introduzione IonicUi
    • Le pagine IonicUI
    • Definire il contenuto delle pagine
    • Il page controller
    • Il metodo app.popup
    • Videate come elementi visuali
    • Personalizzazione di IonicUI
    • Configurazione dei ruoli e degli accessi

    Pannelli e Griglie

    • Introduzione (Pannelli e Griglie)
    • Anatomia di un pannello
    • I pannelli a runtime

    Web API e file system

    • Introduzione Web API
    • Il file system
    • Consumare Web API
    • Esporre Web API
    • Web API in formato OData
    • Utilizzare Web API Instant Developer Foundation
    • Web API in formato OpenAPI

    Sincronizzazione

    • Introduzione sistema di sincronizzazione
    • Scambio di messaggi in tempo reale
    • Document Orientation Remota
    • Sincronizzazione del database offline

    Debugging e Test

    • Introduzione Debugging e Test
    • Strumenti e tecniche di debug
    • Test automatico delle applicazioni

    Traduzioni

    • Introduzione (traduzioni)
    • Processo di traduzione
    • Funzionamento del framework di localizzazione
    • Localizzazione di numeri e date

    Integrazioni di componenti esterni

    • Introduzione (integrazioni di componenti esterni)
    • Integrazione di componenti JavaScript
    • Integrazione di librerie di back-end
    • Integrazione di un plugin Cordova

    Launcher e Pubblicazione

    • Introduzione Launcher
    • I plugin nativi
    • Test delle applicazioni nei launcher
    • Pubblicazione sugli store
    • Configurazioni per gli store
    • Fase di build e di invio
    • Gestione dell’applicazione

    Analitiche e Feedback

    • Introduzione Analytics e Feedback
    • Installazione ed uso di Analytics
    • Raccolta dei feedback degli utenti

    Server di Produzione

    • Introduzione server di produzione
    • I server di Instant Developer Cloud
    • I server My Cloud
    • I server Self Managed
    • Tabella comparativa

    Cloud Connector

    • Cos’è il Cloud Connector
    • Installazione Cloud Connector
    • Configurazione
    • Installazione come servizio
    • Esempio di utilizzo
    • Controllo remoto
    • Note

    Team Works

    • Perché non basta GitHub?
    • Team Works: concetti base
    • Organizzazione del lavoro consigliata
    • Risoluzione dei problemi relativi a Team Works
    • Domande sull’utilizzo di Team Works

    Manuale PWA

    • Cos’è una PWA?
    • Creazione di una PWA su Instant Developer Cloud
    • Life Cycle
    • Installazione PWA
    • Funzionalità
    • Plugin
    View Categories

    Organizzazione del lavoro consigliata

    Contenuti
    • La copia master
    • I fork
    • Conferma del lavoro
    • Esecuzione di un merge o fetch
    • Fork relativo a rilasci in produzione
    • Modifiche dei file di risorse

    La copia master #

    È la copia di progetto in cui verranno consolidate tutte le modifiche, sia quelle effettuate in locale che quelle in arrivo dai fork. Solitamente la copia master è gestita dal responsabile delle release, una persona in grado di valutare la bontà del codice proprio e di quello dei collaboratori.  

    È certamente possibile lavorare direttamente sulla copia master, che così non deve essere una versione staccata dalle altre. Per lavorare sulla copia master è consigliabile:

    • Quando si devono effettuare modifiche semplici che vengono confermate all’interno della singola giornata di lavoro, è possibile farle direttamente sul branch master.
    • Se si intendono effettuare modifiche più complesse, è consigliabile usare un branch specifico. Quando la modifica è conclusa bisognerà effettuare il merge di tale branch sul master.
    • Prima di effettuare qualunque operazione di commit è necessario controllare le modifiche tramite la visualizzazione delle differenze.
    • Prima di effettuare qualunque operazione di merge di branch o di pull request è necessario controllare le modifiche che verranno apportate tramite il pulsante Mostra differenze (show incoming).

    I fork #

    Sono le copie derivate dal master da sviluppatori che collaborano al progetto insieme con il responsabile delle release. Quando si effettua un fork, verrà copiata solo la versione confermata del branch master della copia master. È quindi possibile effettuare un fork solo dopo aver eseguito almeno un commit sulla copia master.

    Per lavorare sui fork è consigliabile seguire queste regole:

    • Prima di iniziare una unità di lavoro, effettuare l’operazione di fetch per allinearsi al master. Siccome non esiste alcun commit nel fork che non sia stato già comunicato al master in precedenza, l’operazione di fetch non può evidenziare alcun conflitto. In caso di nascita di conflitti, vedere il paragrafo Risoluzione dei problemi.
    • Eseguire il lavoro e confermare spesso. Si consiglia di non lasciare passare più di una giornata lavorativa senza effettuare un commit.
    • Prima di effettuare qualunque operazione di commit è necessario controllare le modifiche tramite la visualizzazione delle differenze.
    • Quando le modifiche sono terminate con successo sarà possibile inviarle al master tramite il pulsante Crea Pull Request. Il gestore del progetto master verrà avvisato automaticamente via mail.
    • Prima di ripartire con una nuova unità di lavoro, effettuare nuovamente l’operazione di fetch. Occorre tenere presente che, se la pull request precedente non è ancora stata accettata, è possibile che vengano evidenziati conflitti non ancora risolti.

    Conferma del lavoro #

    Ogni volta che il lavoro attuale può essere confermato è consigliabile effettuare un commit, l’ideale è quello di confermare il lavoro fatto entro la giornata di lavoro. 

    Prima di effettuare il commit è necessario verificare le differenze per essere coscienti di quello che si sta marcando come lavoro concluso. In questa fase è consigliabile:

    • Eliminare il codice commentato.
    • Eliminare i console.log usati per il debug.
    • Aggiungere eventuali commenti per rendere chiaro il codice agli altri sviluppatori (o a se stessi dopo qualche tempo).
    • Controllare di non aver inserito metodi troppo complessi, eventualmente rendendo il codice più modulare.
    • Verificare di non aver violato regole costruttive o di stile.

    Esecuzione di un merge o fetch #

    L’operazione di merge avviene nella copia master al momento dell’accettazione di una pull request, oppure in tutte le copie quando si tratta di unire un branch a quello master. L’operazione di fetch è simile; la sola differenza è che viene utilizzata in un fork per recuperare i nuovi commit.

    L’operazione di merge deve avvenire come segue:

    • Se il codice che si intende accettare è complesso o “delicato”, si consiglia di effettuare un backup della copia master prima di iniziare il merge.
    • Si inizia l’operazione di merge tramite il pulsante Pull Request o Merge dalla dashboard.
    • Si verificano le modifiche in entrata tramite il pulsante Mostra differenze (show incoming).
    • Se le modifiche sono accettabili, si procede accettando la Pull Request, altrimenti si rifiuta la Pull Request.
    • Se l’operazione di merge genera dei conflitti, si aprirà la pagina di gestione conflitti in cui dovrai decidere se mantenere le proprie modifiche, quelle della controparte oppure entrambe. Dopo aver risolto tutti i conflitti il progetto viene salvato e lo stato del branch confermato (commit).
    • A questo punto è necessario controllare la correttezza del progetto effettuando almeno una operazione di compilazione al fine di controllare che:
      • Il codice del progetto sia corretto
      • Non siano presenti metodi duplicati
      • Non siano presenti errori introdotti dall’operazione di merge.

    Per quanto riguarda l’operazione di fetch, come già indicato in precedenza, si consiglia di effettuarla dopo aver inviato il proprio lavoro tramite una pull request.

    Fork relativo a rilasci in produzione #

    Al momento dell’installazione in produzione può essere comodo effettuare un fork del progetto in modo da avere una versione identica a quella rilasciata. In questo modo se si devono effettuare delle correzioni sulla versione rilasciata, sarà possibile farle nel fork relativo. 

    Se tali modifiche devono poi essere riportate nel master, basterà effettuare una pull request verso il master. È invece vietata qualsiasi operazione di fetch, che renderebbe allineato il fork al master anziché alla versione installata.

    Modifiche dei file di risorse #

    I file di risorse caricati nel progetto tramite upload vengono gestiti da teamworks come un blocco unico. Se essi vengono modificati contemporaneamente su più copie del progetto (master o fork), l’ultimo branch di cui si esegue il merge vince sugli altri: solo l’ultima copia di cui è stato fatto il merge entra a far parte della copia master.

    Se quindi viene effettuato l’upload di un file di testo, oppure di tipo javascript client, anche se viene modificato tramite l’IDE, esso verrà sempre gestito come risorsa di tipo file e cioè come blocco unico. In questi casi è necessario organizzare le modifiche al file per essere certi che solo un programmatore alla volta le esegua, altrimenti alcune di esse potrebbero andare perse.

    sBa4CqI0Z7H0QtSWMPSpPr5VH1JrY5cPC2oo1DQ15nrZn8OB GrW8mld4ntEGt6dLdaaataG07oN 6gNzF28vaVTlT6HduPe5VWFYiFfwN2ij3bDayqMrX3hvgAL3tYPHuF4XlO9EQk1INNtBNvnQw Instant Developer

    Risorse caricata come file

    Ti è stato utile?
    Aggiornato il 5 Marzo 2024
    Team Works: concetti baseRisoluzione dei problemi relativi a Team Works
    Contenuti
    • La copia master
    • I fork
    • Conferma del lavoro
    • Esecuzione di un merge o fetch
    • Fork relativo a rilasci in produzione
    • Modifiche dei file di risorse

    Caratteristiche

    • Perché Instant Developer
    • IDE e Ambiente di Sviluppo
    • Pubblicazione Web & Mobile
    • Software Life Cycle & DevOps
    • Database, Integrazione, Sync
    • Collaboration & Workflow

    Soluzioni

    • Freelance
    • Software House
    • Company IT
    • Casi di successo
    • Applicazioni Sviluppate

    Azienda

    • Chi Siamo
    • Contatti
    • Lavora con noi

    Risorse

    • Documentazione
    • Risorse e Tutorial
    • Blog
    • Starter Kit
    • Pricing
    • Inizia Ora
    Crea un account e Inizia Gratis
    • Seguici su Twitter
    • Seguici su Facebook
    • Seguici su LinkedIn
    • Seguici su YoutTubeSeguici su YouTube
    Questo sito è protetto dalla tecnologia reCAPTCHA Enterprise e si applicano l'Informativa sulla privacy e i Termini di servizio di Google.
    Google Policy | Termini
    © Pro Gamma - p.iva, c.f. e iscr. Camera di Commercio Bologna 01985091204 - Sede legale Via D'Azeglio, 51 40123 Bologna - Italia Pro Gamma Instant Developer® è un marchio registrato.
    Privacy Policy | Cookie Policy
    • IT