Pour mon contrôle de source, je développe des modules dans leur propre projet. Cela contient le code du module, le code de test, le code du fournisseur de données (le cas échéant) et tout autre élément. Ceci est vérifié dans le contrôle de source comme n'importe quel autre projet. Notez que le projet de module ne contient aucun lien vers un site Web DNN spécifique et que les références DNN sont faites dans le projet dans un répertoire "bin" commun qui référence votre build cible. Par exemple, dans mon dossier de projets, j'ai \ bin460, \ bin480, \ bin510, \ bin520, etc. Chacun de ces dossiers contient un ensemble de binaires pour une version DNN spécifique. De cette façon, vous pouvez construire contre une version particulière, mais tester contre toute version que vous aimez.
Le problème avec la source contrôle d'un module en place dans une DNN installation est - parfois pas tout le code du module est facilement isolé sous un répertoire parent seul - ne prête pas bien à une approche du module PA - pas facile de déplacer le projet vers une version DNN différente pour le développement ou le test - source de commande de la solution DNN facile à utiliser par inadvertance, en particulier avec des solutions de contrôle de source VS intégrées.
Cette approche se compile rapidement car vous n'essayez pas de compiler l'ensemble du projet. Pour le déploiement de test, j'ai un script de construction qui copie les différentes parties du module dans un site Web cible. Cela peut être fait via la compilation (lier le script de construction) ou juste après que vous avez eu une compilation réussie dans une fenêtre cmd. Mon script de build a un switch d'environnement 'cible', de sorte que je peux dire 'dnn520' pour déployer la build à mon installation de test dnn520. Notez que vous devez d'abord créer manuellement la configuration du module avant que cela fonctionne, mais ceci est un effort ponctuel et vous pouvez utiliser la fonction d'exportation pour créer votre manifeste de module .dnn. Pour construire votre paquet de module, investissez le temps dans un script complet qui va prendre les différentes parties de votre répertoire source, et les zipper dans un paquet d'installation.Conservez toutes les parties de votre dossier de contrôle source et copiez-les dans un répertoire temporaire, puis exécutez un utilitaire zip de ligne de commande (j'utilise une ancienne version de pkzip) pour l'empaqueter dans un fichier installable.
Les avantages de cette approche est la suivante: - séparation du code du module de code installé - moyen simple de ne garder que le code du module de contrôle de code source (ne doivent exclure tout le code du site) - capacité à rapidement tester des modules dans différentes versions DNN - Script d'emballage vous permet de construire rapidement et facilement une nouvelle version d'un module pour l'installation de test/déploiement
les inconvénients sont - ne peuvent pas utiliser la magie bouton vert « go » dans VS (devoir attacher manuellement le débogueur) - plus de temps d'installation que de développer en place
La police des meilleures pratiques n'a pas mis en place de lignes directrices pour cela. Je suivrais ce que les gens de DNN suggèrent. –