Il s'agit d'un obstacle commun lorsque vous commencez à travailler avec Umbraco et la réponse est d'utiliser ce qui fonctionne pour vous.
Cependant, il y a eu beaucoup de discussions sur les forums Umbraco sur cette chose, jetez un oeil ici:
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 chose clé à considérer est la délimitation du contenu et de code. La plupart du code de umbraco est stocké en externe à la base de données et peut donc être stocké dans Subversion ou toute autre plate-forme de contrôle de source. Par exemple, les modèles, les extensions XSLT, CSS, XSLT, etc. sont tous stockés sur le système de fichiers.
Le contenu de la page et la structure du site sont stockés dans le DB.
Il existe des zones grises, notamment le dictionnaire qui peut contenir toutes sortes de choses ainsi que du contenu.
La façon dont nous travaillons avec Umbraco est la suivante:
Nous avons un Visual Studio Web Project séparé qui contient des dossiers pour les modèles, XSLT, CSS, gestionnaires d'événements, les contrôles utilisateur, etc. Ceci est stocké dans SVN. Ensuite, lors de la construction de ce projet, les fichiers sont copiés ou compilés et copiés sur notre instance test/dev du site umbraco. Une fois les modifications approuvées, il suffit de copier les fichiers. Si vous avez besoin de synchroniser le contenu entre les instances Umbraco, vous pouvez soit utiliser Umbraco Pro (qui comprend un composant appelé Courier, qui est précisément à cet effet) ou sauvegarder votre DB et restaurer dans votre environnement de développement si nécessaire (ou même utiliser la réplication).
Nous essayons surtout d'éviter d'éditer du contenu dans l'environnement de test/dev car c'est là que la fusion du contenu sur le site en ligne peut être difficile. Cependant, parfois c'est inévitable. Nous essayons également d'éviter d'éditer des modèles, etc. via l'interface Umbraco. La réponse à votre dernière question, «devrais-je conserver mes données professionnelles dans une autre base de données», est plutôt délicate car cela dépend beaucoup de ce que vous allez faire avec les données. Si c'est le contenu qui serait le mieux stocké dans le magasin de CMS dans le CMS, cependant si c'est des données fortement relationnelles qui ne tiennent pas vraiment dans un CMS, stockez-le séparément.
Nous travaillons actuellement sur un projet dans lequel les données sont stockées dans une base de données externe et nous avons intégré une application directement dans le backend d'Umbraco.C'était une tâche non triviale (bien que saisir simplement des données via les contrôles utilisateur soit facile) et vous devriez considérer soigneusement le niveau d'effort requis pour stocker vos données en externe par rapport aux fonctionnalités intégrées du CMS et le budget/temps que vous devez jouer avec.
Si vous souhaitez utiliser le modèle Visual Studio, nous pouvons le télécharger à partir du our website.
Merci pour votre réponse. Pourriez-vous partager votre script de construction pour le déploiement de fichiers? –
Salut Niels, j'ai ajouté un lien vers le template de studio visuel que nous utilisons. Cela contient une structure de dossier exanple et des exemples d'événements post-construction (que vous devrez modifier). Il suffit de stocker cela dans SVN et éviter d'éditer le code via l'interface umbraco! –
Merci, réponse très intéressante. Deux choses dont je ne suis pas sûr ... D'abord, comment gérez-vous les types de documents? Les recréer manuellement sur le serveur de production lors de la migration? Deuxièmement, Umbraco peut-il le gérer lorsque vous ajoutez des modèles simplement en téléchargeant les nouveaux fichiers * .master sans ajouter leurs nœuds à la base de données? – efdee