Bonjour à tous,
Je viens d'envoyer le fichier zip des sources du module à David qui va le mettre en ligne rapidement. Le but de ce post est de vous faire gagner du temps pour l'installation. Donc, suivez pas à pas de qui suit et tout devrait bien se passer !
J'ai fais le choix d'utiliser DNN 4.4.1 AVEC SOURCES, vous devrez en faire autant au moins pour votre première installation. De plus, compte tenu que j'ai converti les projets au format WAP vous devez IMPERATIVEMENT posséder VS2005 complet (pas Web Express) et avoir appliqué le SP1. Allez c'est parti !
- Installez dnn dans c:\DotNetNuke_2. Nommez votre répertoire virtuel DotNetNuke_2 dans IIS. Soit les noms qu'indique la documentation officielle !
- Vérifiez le bon fonctionnement de dnn et appliquez les packs de langue dnn fr-FR.
- Téléchargez le PA de WWStore et intallez-le, idem pour le pack de langue fr-FR du module et le script SQL de traduction des statuts. Préparez votre boutique en suivant les indications de David.
- Vous avez maintenant une instance de dnn et de WWStore 02.00.04 en état de fonctionnement. Ceci fait, fermez votre naviguateur.
- Téléchargez les sources et ouvrez le zip.Vous allez trouver deux répertoires :Website et WWStore_02.00.04_Install
- Faites glisser WWStore_02.00.04_Install dans c:\DotNetNuke_2\Website
- Depuis le zip, double-cliquez sur Website puis DesktopModules. Vous allez trouver un répertoire WWStore et les deux fichiers de la solution (WWStore.sln et WWStore.suo).
- Faites glisser les trois éléments dans c:\DotNetNuke_2\Website\DesktopModules et confirmez l'écrasement des fichiers existants.
- Fermez le zip, vous n'en avez plus besoin. Double-cliquez sur c:\DotNetNuke_2\Website\DesktopModules\WWStore.sln pour ouvrir la solution.
Maintenant vous avez la même configuration que la mienne. Sauf que pour des raisons de multi-partitions, mon disque est en fait non pas C: mais G:. Alors vous risquez d'avoir des références en erreur dans les différents projets de la solution (20 au total, dnn exclu). Donc, vérifiez les références de chacun des projets. Elles sont de deux types, celles qui pointent vers les dll de dnn (DotNetNuke, CountryListBox, Microsoft.ApplicationBlocks.Data, etc.) et celles qui font référence à un ou plusieurs projets de la solution (DotNetNuke.WWStore.xxx). Traitez tous les projets dans l'ordre suivant de préférence à cause des références entre projets :
- DotNetNuke.WWStore.Providers
- DotNetNuke.WWStore.Components
- DotNetNuke.WWStore.Admin
- DotNetNuke.WWStore.Admin.SqlDataProvider
- DotNetNuke.WWStore.Providers.Address.DefaultAddressProvider
- DotNetNuke.WWStore.Providers.Address.DefaultAddressProvider.SqlDataProvider
- DotNetNuke.WWStore.Customer
- DotNetNuke.WWStore.Customer.SqlDataProvider
- DotNetNuke.WWStore.Cart
- DotNetNuke.WWStore.Cart.SqlDataProvider
- DotNetNuke.WWStore.Cart.PayPalProvider
- DotNetNuke.WWStore.Cart.EmailProvider
- DotNetNuke.WWStore.Cart.AuthorizeNetProvider
- DotNetNuke.WWStore.Catalog
- DotNetNuke.WWStore.Catalog.SqlDataProvider
- DotNetNuke.WWStore.WebControls
- DotNetNuke.WWStore.Providers.Shipping.DefaultShippingProvider
- DotNetNuke.WWStore.Providers.Shipping.DefaultShippingProvider.SqlDataProvider
- DotNetNuke.WWStore.Providers.Tax.DefaultTaxProvider
- DotNetNuke.WWStore.Providers.Tax.DefaultTaxProvider.SqlDataProvider
Si vous avez des erreurs (petit triangle jaune sur la référence), notez son nom puis supprimez la. Pour les références à dnn, ajouter une référence via l'onglet Parcourir en pointant sur le répertoire c:\DotNetNuke\Website\bin et ajouter la dll du même nom que supprimée précédemment. Pour les références à un projet de la solution (DotNetNuke.WWStore.xxx), sélectionnez le projet via l'onglet Projets (évidemment). TOUT DE SUITE APRES, allez sur la page de propriété pour la référence que vous venez d'ajouter et définissez la propriété Copie locale à false.
Reste le dernier projet qui est en fait votre instance de dnn. Comme je suis sur G:\DotNetNuke\Website, il devrait logiquement être en erreur. Si c'est le cas, supprimez le projet de la solution. Allez sur Fichier, Ajouter, Site Web existant..., sélectionnez Système de fichiers, pointez sur C:\DotNetNuke_2\Website et cliquez sur Ouvrir. Encore un petit effort nous y sommes presque ...
Maintenant faites clic droit sur le projet de dnn et sélectionnez Pages de propriétés.
- Dans les Références (encore) vérifiez celles qui pointent vers les projets de la solution (DotNetNuke.WWStore.xxx), leur type devrait être BIN. Si c'est le cas, supprimez toutes les références commençant par DotNetNuke.WWStore. Puis cliquez sur Ajouter un référence, via l'onglet Projets sélectionnez tous les projets commençant par DotNetNuke.WWStore. Vos références sont maintenant de type Projet avec Mise à jour automatique.
- Allez maintenant sur la page Générer, dans Action de démarrage (F5) sélectionnez l'option Ne pas générer. Dans Action de génération de solution, décochez Générer le site Web dans le cadre de la solution.
- Allez ensuite sur la page Options de démarrage, dans Action de démarrage sélectionnez Utiliser la page active. Dans Serveur, sélectionnez Utiliser le serveur personnalisé puis saisissez dans URL de base http://localhost/dotnetnuke_2.
- Cliquez sur OK et enregistrez la solution.
C'est terminé pour la configuration, ouf ! Reste à régénérer le tout, sélectionnez le menu Générer puis Régénérer la solution. Si vous avez suivi toutes les instructions, la solution devrait fonctionner sans erreur. Sinon prenez deux aspirines, Pif le Chien et allez vous coucher quelques heures avant de refaire un essai en partant du début !
Pour les vieux de la vieille, avant d'ouvrir la solution testez éventuellement un subst G:, C: à la place de toutes les modifications de références . Cela pourrait fonctionner au moins pour regarder comment la solution est configurée.
Le mode debug classique fonctionne, mais pas le mode "Edit & Continue". Malgré des dizaines d'heures à tester toutes les combinaisons possibles, je n'ai pas réussi à le faire fonctionner. Si vous y parvenez, n'hésitez pas à partager la solution de ce casse tête. Reste quelques warning, mais qui ne sont pas bloquants. Je ferais les dernières corrections si nous continuons. Donc suite au prochain épisode. Un dernier conseil, prévenez votre douce et tendre que les prochaines soirées risquent d'être occupées par un projet super important pour votre carrière. Cela fera peut-être passer la pilule pour les longues heures qui vous attendent encore avant de maîtrise la bête.
Allez bon code !
Gilles