Questo è un ostacolo comune quando si inizia a lavorare con Umbraco e la risposta è quella di utilizzare ciò che funziona per voi.
Tuttavia ci sono state molte discussioni su forum Umbraco su questa cosa, date un'occhiata qui:
http://our.umbraco.org/forum/core/general/3619-Source-control-and-multiple-developers http://our.umbraco.org/forum/getting-started/installing-umbraco/2918-Update-an-Umbraco-website?p=0#comment11311
La cosa fondamentale da considerare è la delineazione dei contenuti e il codice. La maggior parte del codice in umbraco è memorizzato esternamente al DB e come tale può essere memorizzato in subversion o in qualsiasi altra piattaforma di controllo del codice sorgente. Ad esempio, i modelli, le estensioni XSLT, CSS, XSLT ecc. Sono tutti memorizzati nel file system.
Il contenuto della pagina e la struttura del sito sono memorizzati nel DB.
Ci sono alcune aree grigie, in particolare il dizionario che può contenere tutti i tipi di cose e contenuti.
Il nostro modo di lavorare con Umbraco è la seguente:
Abbiamo un separato Visual Studio Web Project che contiene le cartelle per i modelli, XSLT, CSS, gestori di eventi, controlli utente, ecc Questo è memorizzato in SVN. Quindi, su questo progetto, i file vengono copiati o compilati e copiati nella nostra istanza test/dev server del sito di Umbraco.
Una volta approvate le modifiche, basta copiare i file.
Se è necessario sincronizzare il contenuto tra le istanze di Umbraco, è possibile utilizzare Umbraco Pro (che include un componente chiamato Courier, che è proprio per questo scopo) o eseguire il backup del DB attivo e ripristinarlo nell'ambiente dev quando necessario (o persino usare la replica).
Proviamo per lo più a evitare la modifica del contenuto nell'ambiente test/dev poiché questo è il punto in cui unire il contenuto di nuovo al sito live può diventare complicato. Tuttavia a volte questo è inevitabile. Cerchiamo inoltre di evitare la modifica di modelli ecc. Tramite l'interfaccia di Umbraco.
La risposta alla tua domanda finale, "dovrei memorizzare i miei dati aziendali in un altro DB", è piuttosto complicata in quanto dipende molto da ciò che hai intenzione di fare con i dati. Se è contenuto che sarebbe meglio archiviare nel CMS memorizzarlo nel CMS, tuttavia se si tratta di dati fortemente relazionali che non si adattano veramente a un CMS, memorizzarlo separatamente.
Attualmente stiamo eseguendo un progetto in cui i dati sono archiviati in un DB esterno e abbiamo integrato un'applicazione direttamente nel back-end di Umbraco.Questo è stato un compito non banale (anche se è sufficiente catturare alcuni dati tramite i controlli utente) e dovresti considerare attentamente il livello di sforzo richiesto per archiviare i tuoi dati esternamente rispetto alla funzionalità integrata del CMS e al budget/tempo che devi giocare con.
Se si desidera utilizzare il modello di Visual Studio, è possibile scaricarlo da our website.
Grazie per l'ottima risposta. Ti dispiacerebbe condividere lo script di build per la distribuzione dei file? –
Ciao Niels, ho aggiunto un collegamento al modello di studio visivo che usiamo. Questo contiene una struttura di cartelle esadecimale ed esempi di eventi post build (che dovrai modificare). Basta archiviarlo in SVN ed evitare di modificare il codice tramite l'interfaccia di umbraco! –
Grazie, risposta molto interessante. Due cose di cui non sono del tutto sicuro ... In primo luogo, come gestisci i tipi di documenti? Ricreali manualmente sul server di produzione durante la migrazione? In secondo luogo, Umbraco può gestirlo quando aggiungi i modelli semplicemente caricando i nuovi file * .master senza aggiungere i loro nodi al DB? – efdee