none
[WebPArt][Plusieurs Questions][WSS] RRS feed

  • Question

  • Bonjour à tous,

     

    ça commençait à faire un bout de temps que je n'etais pas venu

    Voilà bientôt je passe mon oral de soutenance de projet, et j'aurais quelques petites mises à point a faire.

    Si quelqun pourrait m'éclairer sur :

     

    - pourquoi doit-on placer le code dans la methode CreatechildControls() ?

    - pourquoi cette methode est-elle override?

    - à quoi correspond "base" que l'on retrouve dans base.createChildControls(); , ou encore base.onInit(e) ?

    - pourquoi à la création d'un Web part, y a t il un namespace?

    - pourquoi dans le constructeur du web part, trouve -t on this.ExportMode = WebpartExportMode.All ?

    - est-ce que le numéro associer au Guid est "l'indentifiant" de notre web Part?

    - comment déploie-t-on manuellement une web part sans utiliser visual Studio?( je pense trouver la réponse mais je la pose tout de même)

    - et comment opère Visual Studio pour déployer un web part sur WSS?Que se passe-il réellement?

     

    heu voila deja pour commencer Smile

     

    merci.

     

    dimanche 25 mai 2008 12:53

Réponses

  • Bonjour

     

    Et bien, c'est ce qu'on appelle un retour fracassant Wink

     

    Bon, il y a pas mal de questions, dont une bonne partie qui touche à la programmation .Net et pas directement SharePoint, mais c'est parti !

     

    - pourquoi doit-on placer le code dans la methode CreatechildControls() ?

    >> c'est la méthode adéquat pour ajouter des contrôles web dans une classe de type "control" (ou classe en dérivant comme les webparts), cette méthode étant appelée lorsqu'il est nécessaire de disposer des contrôles "enfants" (contenus dans le contrôle courant)  => http://msdn.microsoft.com/en-us/library/system.web.ui.control.createchildcontrols.aspx

     

    - pourquoi cette methode est-elle override?

    >> c'est une méthode de la classe abstraite "WebPart" (et issu de Control)

     

    - à quoi correspond "base" que l'on retrouve dans base.createChildControls(); , ou encore base.onInit(e) ?

    >> le "base" (ou Me en VB.Net) permet d'appeler l'implémentation originale (celle de la classe de base) => http://msdn.microsoft.com/fr-fr/library/hfw7t1ce(VS.80).aspx

     

    - pourquoi à la création d'un Web part, y a t il un namespace?

    >> parce qu'on range nos classes proprement dans des petites boîtes ! ;p Plus sérieusement, le namespace sert à organiser son code au sein d'un assembly et éviter des conflits de noms (même nom de classe par exemple). Quand tu n'as que peu de code, l'intérêt parait limité, mais quand ta DLL contient bcp bcp de code, c'est à la fois plus lisible et plus

     

    - pourquoi dans le constructeur du web part, trouve -t on this.ExportMode = WebpartExportMode.All ?

    >> parce que ca parait une bonne idée de pouvoir exporter par défaut toutes les propriétés d'une webpart (pour générer le .webpart). Ca reste modifiable cependant

     

    - est-ce que le numéro associer au Guid est "l'indentifiant" de notre web Part?

    >> Mmmmh, je suppose que c'est celui qui est ajouté en attribut de la classe quand on crée une webpart avec les VSeWSS. Si je ne dis pas d'ânerie, ça ne sert pas à grand chose en tant que tel mais je suppose que les extensions s'en servent pour générer la solution (une sorte de numéro de référence)

     

    - comment déploie-t-on manuellement une web part sans utiliser visual Studio?( je pense trouver la réponse mais je la pose tout de même)

    >> on se crée son fichier manifest.xml et on génère le ficheir solution (à la main ou via un automate). Fabrice a écrit un article dessus : http://www.asp-php.net/tutorial/asp.net/sharepoint-solution-wsp.php (je suis fan du WSPBuilder : www.codeplex.com/wspbuilder)

     

    - et comment opère Visual Studio pour déployer un web part sur WSS?Que se passe-il réellement?

    >> il fait justement tout le boulot à ta place : génération du manifest, création de la solution (fichier *.wsp), retrait de l'ancienne solution sur la ferme, ajout de la nouvelle, déploiement et activation, puis IISRESET à la fin (ou recyclage du pool d'application dans la dernière version je crois, ou bien ca sera dans la prochaine)

     

    J'espère avoir répondu à tes attentes, et bon courage pour ton oral !

    dimanche 25 mai 2008 20:47

Toutes les réponses

  • Bonjour

     

    Et bien, c'est ce qu'on appelle un retour fracassant Wink

     

    Bon, il y a pas mal de questions, dont une bonne partie qui touche à la programmation .Net et pas directement SharePoint, mais c'est parti !

     

    - pourquoi doit-on placer le code dans la methode CreatechildControls() ?

    >> c'est la méthode adéquat pour ajouter des contrôles web dans une classe de type "control" (ou classe en dérivant comme les webparts), cette méthode étant appelée lorsqu'il est nécessaire de disposer des contrôles "enfants" (contenus dans le contrôle courant)  => http://msdn.microsoft.com/en-us/library/system.web.ui.control.createchildcontrols.aspx

     

    - pourquoi cette methode est-elle override?

    >> c'est une méthode de la classe abstraite "WebPart" (et issu de Control)

     

    - à quoi correspond "base" que l'on retrouve dans base.createChildControls(); , ou encore base.onInit(e) ?

    >> le "base" (ou Me en VB.Net) permet d'appeler l'implémentation originale (celle de la classe de base) => http://msdn.microsoft.com/fr-fr/library/hfw7t1ce(VS.80).aspx

     

    - pourquoi à la création d'un Web part, y a t il un namespace?

    >> parce qu'on range nos classes proprement dans des petites boîtes ! ;p Plus sérieusement, le namespace sert à organiser son code au sein d'un assembly et éviter des conflits de noms (même nom de classe par exemple). Quand tu n'as que peu de code, l'intérêt parait limité, mais quand ta DLL contient bcp bcp de code, c'est à la fois plus lisible et plus

     

    - pourquoi dans le constructeur du web part, trouve -t on this.ExportMode = WebpartExportMode.All ?

    >> parce que ca parait une bonne idée de pouvoir exporter par défaut toutes les propriétés d'une webpart (pour générer le .webpart). Ca reste modifiable cependant

     

    - est-ce que le numéro associer au Guid est "l'indentifiant" de notre web Part?

    >> Mmmmh, je suppose que c'est celui qui est ajouté en attribut de la classe quand on crée une webpart avec les VSeWSS. Si je ne dis pas d'ânerie, ça ne sert pas à grand chose en tant que tel mais je suppose que les extensions s'en servent pour générer la solution (une sorte de numéro de référence)

     

    - comment déploie-t-on manuellement une web part sans utiliser visual Studio?( je pense trouver la réponse mais je la pose tout de même)

    >> on se crée son fichier manifest.xml et on génère le ficheir solution (à la main ou via un automate). Fabrice a écrit un article dessus : http://www.asp-php.net/tutorial/asp.net/sharepoint-solution-wsp.php (je suis fan du WSPBuilder : www.codeplex.com/wspbuilder)

     

    - et comment opère Visual Studio pour déployer un web part sur WSS?Que se passe-il réellement?

    >> il fait justement tout le boulot à ta place : génération du manifest, création de la solution (fichier *.wsp), retrait de l'ancienne solution sur la ferme, ajout de la nouvelle, déploiement et activation, puis IISRESET à la fin (ou recyclage du pool d'application dans la dernière version je crois, ou bien ca sera dans la prochaine)

     

    J'espère avoir répondu à tes attentes, et bon courage pour ton oral !

    dimanche 25 mai 2008 20:47
  • Merci des informations

    J'ai une question est ce que je peux ajouter n'importe quel contrôle .net dans la méthode CreatechildControls()

    Merci

    jeudi 31 janvier 2013 14:26
  • bonjour,

    normalement oui, vous pensez à quel control précisément ?

    walid.

    vendredi 15 février 2013 09:35
  • Bonjour

    Je souhaite des contrôle login et create user

    Merci d'avance de me dire comment je pourrais ajouter ces deux contrôle dans une webpart Moss 2007

    Merci de votre aide

    vendredi 15 février 2013 09:59
  • alors

    il faut instancier chaque control avec 'new' puis de les rajouter à la collections des contrôles de la webpart.

    ex

    control ctx = new control()

    this.Controls.Add(ctx)

    walid.

    vendredi 15 février 2013 10:29
  • Est ce que ça a répondu à la question ? 

    Walid.

    vendredi 15 février 2013 16:05