Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeProjetsProjetsStore : dévelop...Store : dévelop...Les sources de WWStore 2.0.4 bientôt disponibles !Les sources de WWStore 2.0.4 bientôt disponibles !
Précédente
 
Suivante
Nouveau message
21/02/2007 18:39
 

Bonjour,

Après avoir terminé le PA du module WWStore, j'ai commencé à convertir la solution (20 projets) au format WAP. Cette journée fût longue, mais finalement tous les projets se compilent sans erreurs !

Pour ceux qui ne connaisent pas WAP, je vais résumer rapidement. Lors de la sortie de VS2005, Microsoft avait modifié le format des projets de développement web. Ce format est connu sous le joli nom de WSD. DNN 4 a été entièrement converti sous ce format. Ceci pour une raison très simple, il permet le développement d'applications avec Visual Studio Web Express (ou quelque chose comme ça) qui est la version gratuite de VS. Le core team désireux d'ouvrir dnn à tous a donc choisi ce format pour le core. 

Mais ! Car il y a un mais, ce format impose de publier ses sources lorsque l'on utilise la fonction "Publier un site web". Ce que ne désirent pas vraiment les sociétés qui vendent des modules pour dnn. Il y a bien des solutions avec la pré-compilation, mais c'est assez galère. D'après ce que j'ai lu sur dnn us. Suite à de longues discutions sur les forums (tapez WAP juste pour voir dans la recherche des forums us), Microsoft a créé un nouveau format WAP (Web Application Project). Celui-ci est très proche de ce que l'on faisait avec VS2003. Les développeurs de modules habitués à l'ancien format sont maintenant très heureux (si, si ! ).

Le problème avec le projet WWStore, c'est qu'il a été commencé avec VS2003, puis converti automatiquement sous VS2005 avant que n'existe le format WAP. C'est donc une sorte de mutant assez bancal, sans possibilité de lancer le projet en mode debug. Ce qui est paticulièrement pénible pour prendre en mains et modifier un tel projet (je sais de quoi je parle ! ). De plus, le "CodeBehind" n'existe plus avec WSD, mais est revenu sous WAP. Ce qui signifie que toutes le pages ascx sont pleines d'erreurs car elles ne trouvent pas les références. Je ne vous parle pas non plus de la liste interminable de "warning" lors de la compilation.

M'enfin comme dirait Gaston, j'ai donc fait le choix de tout convertir sous WAP. Il me reste à créer la structure de certains répertoires du module et ajouter toutes les macros de post-compilation pour que tous les fichiers se placent au bon endroit. Tester le tout et vous faire un petit guide de prise en main. Bref encore deux ou trois jours et vous aurez les sources !

Si certains veulent tout de même les sources du projet tel que je l'ai modifié pour obtenir WWStore 2.0.4, donc au format WSD bancal. Qu'ils se fassent connaître !

Voilà, c'est tout pour aujourd'hui car c'est déjà pas mal je trouve !

Gilles

 
Nouveau message
21/02/2007 22:33
 
Bien joué car développer sans debug, c'est comme réparer sa voiture dans la nuit sans lampe torche.
Je vous laisse nous préparer une source utilisable sans souci.



Seb
 
Nouveau message
22/02/2007 12:08
 

Bonjour Seb,

Malheureusement ce n'est pas encore gagné ! J'ai passé ma nuit à essayer de faire tourner le projet en mode debug. Il faut oublier la fonction "Edit and Continue", car elle ne peut fonctionner qu'avec Cassini (serveur web intégré à VS). Lorsque j'utilise le serveur IIS tout ce passe bien (compilation et lancement de dnn), mais le code de débogage n'est jamais chargé. J'ai lu des tonnes de pages sur le sujet et testé plusieurs voies, mais à part la compilation sans erreur NADA ! Sic !

Gilles

 
Nouveau message
23/02/2007 11:27
 

Bonjour,

Je progresse enfin sur le mode debug !

J'arrive maintenant a ce que soit chargé les symboles. Du coup, je peux mettre des points d'arrêt et visualiser les valeurs des objets. Seulement, il y a encoore quelques bizareries. Lorsque je modifie le source d'un projet et que je fait "Générer", il ne se passe rien !? En revanche, si je fais "Régénérer" cela fonctionne, idem pour "Régénérer la solution". De plus, parfois après le lancement en mode débug j'ai une erreur "FileIO.Permisions" dans ie au lancement de dnn ??? C'est comme si la copie des dll ne respectait pas toujours la sécurité de .Net, étrange ! Si vous avez des idées, elles sont les bienvenues.

Mais je ne lache pas l'affaire car je suis tétu déterminé !

Gilles

 
Nouveau message
01/03/2007 00:27
 

Bonsoir Gilles,

Nous avons terminé  la configuration de subversion sous ubuntu server avec également websvn.

J'aimerai maintenant essayer de placer les sources de dnn 441 et les sources de wwstore sur subversion et voir comment gérer tout ça avec le client de subversion installé sur VS 2005.

Est-ce que tu peux m'envoyer les sources que je regarde ça ? comme ça j'en profiterai si on arrive de notre côté à faire fonctionner le mode debug.

Une fois que ce sera fait je mettrais à disposition la machine virtuelle toute configurée si quelqu'un veut la réutiliser pour d'autres projets et un tuto comment utiliser Tortoise, et AnkhSVN. Sinon pour l'hébergement des sources du projet sous Subversion ça ne me pose plus de probleme, j'ai une Dedibox qui fera très bien l'affaire.

A bientot

Roland


Roland
 
Nouveau message
01/03/2007 11:00
 

Bonjour Roland,

Je vois que vous avez bossé dur ! J'en ai fait autant !

Après avoir passé des dizaines d'heures et perdu pas mal de cheveux, je n'ai pas réussi à faire tourner le projet avec le mode "Edit & Continue". Ce serait trop long d'expliquer tout ici, nous en reparlerons à la réunion. En revanche, il tourne parfaitement en mode debug classique.

Au passage je lui ai fait subir une sérieuse cure d'ammaigrissement puisqu'il est passé de ~20Mo à un peu plus de 2Mo. En fait, l'auteur utilisait des copies locales pour toutes ses références dans tous les projets. Ce qui faisait que plein de dll étaient dupliquées plusieurs fois. De plus, cela provoquait mes fameuses erreurs de FileIO dont je parlais dans un post précédent. Par ailleurs, il y a encore des parties de codes qui ne sont plus utilisées ou pas encore implémentées. Il faudra lui faire un gros lifting si nous continuons son développement.

Je viens juste d'envoyer le zip à David qui va le mettre en ligne. Je fais tout de suite un post séparé pour expliquer comment installer les sources.

Bon courage pour la suite et tiens nous au courant !

Gilles

 
Nouveau message
02/03/2007 02:39
 

Bonjour (ou bonsoir... je sais plus, j'arrive pas à dormir),

merci pour les sources, je vais essayer d'installer tout ça ce week end. Sinon il me semble que le mode "edit et continue" n'est prévu que pour le serveur web de VS. Comme ce serveur web change à chaque fois de port et que DNN ne fonctionne que sur le port 80, je pense que le mode "edit et continue" pour DNN est mission impossible... à voir

A bientôt

Roland

 


Roland
 
Nouveau message
02/03/2007 10:53
 

Bonjour Roland,

Ici il est 11h30 du matin. Ne t'inquiète pas, je fais le malin mais cela m'arrive aussi. Cette semaine, je dois avoir dormi qu'une vingtaine d'heures, alors !

Pour le mode "Edit & Continue", tu as tout à fait raison. Seul Cassini, le serveur web de VS supporte ce mode. En revanche, pour le port ce n'est pas aussi simple. En fait, tu peux donner le numéro si tu le désire. Mieux, dnn lancé sous Cassini sans numéro de port spécifié et, tiens toi bien, sans alias fonctionne parfaitement ! Le truc si j'ai tout compris, c'est que le numéro de port n'est pas passé à l'application. Donc pour dnn c'est transparent.

Si tu veux toi aussi perdre quelques poignées de cheveux, fais l'instalation comme indiquée dans mon autre (petit) post. Lance une première fois le mode debug, puis modifie une fiche produit. Tu vas tomber sur un point d'arrêt dans l'évènement Load de ProductEdit.ascx.cs, juste pour vérifier que tout fonctionne normalement. Ensuite quitte le mode debug. Fais un clic droit sur le projet dnn de la solution et sélectionne Pages de propriétés. Vas sur la page Options de démarrage, dans Serveur sélectionne Utiliser le serveur web par défaut et clique sur OK. Relance le mode debug, Cassini va démarrer et lancer correctement dnn. Note qu'il faut refermer manuellement Cassini entre chaque session. Si tu fais bien attention, dans VS tu auras un petit tiangle jaune sous le point d'arrêt car les symboles ne sont pas encore disponibles. En même temps, plein de messages vont défiler dans la barre d'état de VS. Ce sont les fichiers de symboles pour le débogage qui se chargent. Avant que dnn soit complètement chargé, ton point d'arrêt va redevenir rouge et le petit triangle disparaitra, ce qui signifie que les symboles seront effectivement chargés. Modifie à nouveau un produit et ... le point d'arrêt ne sera jamais appelé tu auras juste la fiche produit comme si de rien n'était ! Et bien c'est pile poil à ce moment que j'ai perdu toutes mes certitudes !

Bon courage et bon week-end quand même !

Gilles

 
Précédente
 
Suivante
HomeHomeProjetsProjetsStore : dévelop...Store : dévelop...Les sources de WWStore 2.0.4 bientôt disponibles !Les sources de WWStore 2.0.4 bientôt disponibles !