mercredi 5 décembre 2012

Exécution des batchs défini dans le Scheduler

Après avoir mis en place un batch dans le scheduler je m'étonnais de son fonctionnement : j'avais l'impression que celui-ci ne tenait pas vraiment compte de la périodicité que j'avais pu définir.

Une rapide recherche sur Google me démontrait que mes soupçons étaient fondés. En effet, un paramétrage au niveau du host permet de déterminer le mode d'exécution du scheduler. Trois modes sont disponibles :
  • Disabled,
  • Request Method : c'est à chaque appel au site que les périodicités sont évaluées (c'était le mode dans lequel je me trouvais et qui semblait fonctionner "bizarrement"),
  • Timer Method : le scheduler est exécuté dans un autre thread que celui du site, un timer est exécuté pour gérer la périodicité des batchs.
Ce paramétrage s'effectue en accédant au menu "Host \ Host Settings", onglet "Other settings", champ "Scheduler Mode".

Une fois ce paramétrage mis en place, le fonctionnement de mon batch semblait plus correspondre à ce que j'en attendais.

mercredi 21 novembre 2012

Nivo.Slider et événement "Load" levé 2 fois

Je viens de résoudre un problème auquel j'étais confronté depuis hier sur un de mes projets : l'événément "Load" se levait deux fois sur les pages de mon site. On pourra dire que c'est un problème classique, auquel nous avons tous été confrontés au moins une fois.

Après les vérifications d'usages (AutoEventWireup...), je suis parti à la recherche de cet élément qui faisait que certaines de mes pages levaient deux fois cet événement. Finalement, mon problème venait d'un module utilisant le script JQuery "Nivo Slider".

Me voilà donc parti à décortiquer le script en question... et là je suis tombé sur l'origine du problème. J'utilise la version 3.1 de ce script, ligne 77 du fichier "jquery.nivo.slider.js" j'ai effectué le correctif suivant :
  • à l'origine : var sliderImg = $('');
  • après correction : var sliderImg = $('');
 Après cette modification, la page ne se chargeait d'une seule fois. Je n'ai pas vu d'effet de bords, à voir si cela ne pose pas de soucis sur certains navigateurs (sous fireFox c'est ok).

Pour la version "compressé" de ce script (fichier "jquery.nivo.slider.pack.js"), une recherche sur le texte  "nivo-main-image" devrait vous permettre de retrouver le "coupable".

mardi 2 octobre 2012

Accéder aux informations de la page parente

Un de mes collègue devait réaliser un "petit" module permettant d'afficher sur une page le titre de la page parente. Nous avions une arborescence de page de ce type :
  • Page A
    • Page A.1
Nous souhaitions donc déposer ce module sur la page "A.1" pour y voir apparaitre le titre de la page "A".
Voici un petit script tout simple permettant d'accéder au titre de la page parente :
(TabInfo)PortalSettings.ActiveTab.BreadCrumbs[PortalSettings.ActiveTab.Level - 1].Title

 Merci à Jonathan pour cette information.

Modification du titre d'un module par code

La modification du titre d'un module peut se faire en mode runtime. Par contre il y a deux petites choses à savoir :
  • la propriété à modifier pour effectuer cette modification,
  • dans quel événement placer le code.
Voici le code à utiliser :
this.ModuleConfiguration.ModuleTitle = "Votre titre";

Ce code doit être placé dans l'événement "Init" de votre module sans quoi il ne sera pas pris en compte.

En C#, cela vous donnera quelque chose de ce type :
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        this.ModuleConfiguration.ModuleTitle = "Titre du module";
    }

lundi 13 février 2012

Visual Source Safe (VSS) : "Impossible de trouver le fichier SS.INI pour l'utilisateur..."

Voici un problème que vous pouvez rencontrer (pour ma part cela fait 2 fois) avec Visual Source Safe 2005 et Visual Studio 2010. Au lancement de ce dernier, lors du chargement de votre projet, vous obtenez le message suivant :
Impossible de trouvere le fichier SS.ini pour l'utilisateur ...

Surtout pas de panique, comme l'indique ce message, il manque un fichier maintenant reste à savoir où ce fichier doit se trouver.

Et bien voilà la réponse...

Ce problème est tout d'abord un problème sur votre serveur VSS. Il vous faut donc identifier le répertoire de votre projet sur votre serveur VSS, à partir de là vous devez rechercher le répertoire "users" puis le nom de l'utilisateur pour lequel le problème a été levé. Et vous constaterez qu'aucun fichier SS.ini ne se trouve dans ce répertoire. Pour corriger le problème, vous n'avez qu'à récupérer un fichier SS.ini se trouvant dans le répertoire d'un autre utilisateur.

Vous pouvez modifier le contenu de ce fichier pour personnaliser votre VSS, moi personnellement je n'ai pas eu à le faire...

lundi 6 février 2012

Activation du multilangue sur un site DNN 6

Une fois l'installation de votre site DNN 6 effectuée, l'activation du mode multilangue n'est pas forcément des plus simple. En effet deux étapes doivent être effectuée :

  • Activation du mode multilangue au niveau du Host
  • Activation du mode multilangue au niveau du Site
Première étape : activation du mode multilangue au niveau du host :

Pour activer le mode multilangue, vous devez autorisez la traduction des contenus. Cette option se trouve dans le paramétrage du Host dans les "Autres paramètres", option "Autorisez la traduction des contenus".


Seconde étape : activation du mode multilangue au niveau du site :

Pour activer le mode multilangue, après avoir défini la langue par défaut du site (attention, vous ne pourrez plus revenir sur cette option après l'activation), il faut se placer sur la page des langues du site et cliquer sur le lien "Activer le multilinguisme" (duplication des pages à traduire).