Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementPersonnaliser le comportement des pages et compilationPersonnaliser le comportement des pages et compilation
Précédente
 
Suivante
Nouveau message
18/12/2007 10:20
 

Bonjour,

Je débute avec DNN.

Pourriez-vous me dire comment je peux personnaliser (avec du code à moi) le comportement de certaines pages du portail, sachant que les pages sont gérées dynamiquement par DNN ?

En clair, comment ajouter des bouts de code à tout moment dans DNN (suite à des events ou autre) ?

Faut-il constamment créer des modules, ou peut-on ajouter de "vrai" pages aspx dans le site ?

Enfin, si je compile le site avec Visual Studio, ce dernier me compile tous les fichiers sources. Or DNN requiert que certains fichiers demeurent en l'état (j'ai fait l'essai et des erreurs d'exécution se produisent). Comment compiler les modifs que l'on fait ? Dois-je compiler séparément mes modules, puis créer des pages dans le portail utilisant ces modules (ce qui implique d'installer mes modules dans DNN) ?

Un grand merci !

 
Nouveau message
18/12/2007 11:42
 

dedisoft a dit :

En clair, comment ajouter des bouts de code à tout moment dans DNN (suite à des events ou autre) ?

Le mieux pour "ajouter des bouts" de code dans l'application est sans doute d'utiliser un filtre Http (comme PageBlaster)

dedisoft a dit :

Faut-il constamment créer des modules, ou peut-on ajouter de "vrai" pages aspx dans le site ?

Il est tout a fait possible d'ajouter et utiliser un aspx. Dans ce cas, on ne bénéficié plus d'un certains nombres de personnalisation spécifiques à la page Default.aspx (skinning, méta etc...), mais on se situe toujours dans DNN: les modules Http existants sont  toujours exécutés, et les "PortalSettings" sont intact  (on peut vérifier le statut d'authentification de l'utilisateur, et on peut accéder à la majorité des  variables d'environnement). En héritant de PageBase, on peut également utiliser le système de localization par attribut.

dedisoft a dit :

Enfin, si je compile le site avec Visual Studio, ce dernier me compile tous les fichiers sources. Or DNN requiert que certains fichiers demeurent en l'état (j'ai fait l'essai et des erreurs d'exécution se produisent). Comment compiler les modifs que l'on fait ? Dois-je compiler séparément mes modules, puis créer des pages dans le portail utilisant ces modules (ce qui implique d'installer mes modules dans DNN) ?

Un grand merci !

Il existe deux façons de développer des modules: dans le site web (compilation dynamique), ou dans un projet wap / de lib. Dans ce cas, on produit une dll qui doit être reportée dans le répertoire bin de DNN

--> voir le post suivant:
http://www.dotnetnuke.fr/Forums/tabid/152/forumid/-1/threadid/3677/scope/posts/Default.aspx


Jesse
Société de conseil et de service en 
informatique et systèmes d'information
 
Nouveau message
18/12/2007 15:05
 

Jesse a dit :

 

Le mieux pour "ajouter des bouts" de code dans l'application est sans doute d'utiliser un filtre Http (comme PageBlaster)

 

Merci pour tes éclaircissements.

Je ne parviens pas à comprendre le site Snapsis. Il parle de don et de licence de démo. Est-il gratuit ou pas ?

Merci

 
Nouveau message
18/12/2007 15:16
 

Le module http est gratuit et open source sur codeplex, le module dotnetnuke de paramétrage en ligne est payant.

(Attention, un module http est un composant ASP.Net, rien à voir avec un module DNN, là on parle des deux ok?)

Mais c'était surtout pour donner un exemple de module Http assez complet et réutilisable.

Pas besoin de PageBalster pour injecter du code dans le cycle de vie de l'appli ou de la requête, il suffit de déclarer un type dans le web.config comme c'est déjà fait pour d'autres. le type doit implémenter IHttpModule, qui expose une méthode d'initialisation prenant l'application en argument. On se "branche" lors de cette initialisation sur un des évenements applicatifs en rajoutant un handler sur le code à injecter. Voir également les modules http DNN pour des exemples concrets.

Sinon, il est également possible de faire cela au niveau du skin. En rajoutant à la classe de skin un codebehind et donc un classe intermédiaire qui hérite de skin.vb et dont l'ascx hérité, on pourra utiliser cette nouvelle classe comme point d'entrée.


Jesse
Société de conseil et de service en 
informatique et systèmes d'information
 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementPersonnaliser le comportement des pages et compilationPersonnaliser le comportement des pages et compilation