OVH Cloud OVH Cloud

[SPS2003] Changer de barre de menu

17 réponses
Avatar
mismym
J'ai suivi les conseils recueillis lors de mon dernier post et j'ai entrepris
le développement d'une web part de barre de menu en utilisant skmmenu. Dans
le code de ma webpart, j'ai une procédure qui crée un objet skmmenu et
l'initialise.
Je veux l'afficher sur la web part. et c'est à ce niveau que je bloque. Je
ne sais pas comment m'y prendre. J'ai utilisé la fonction RenderWebPart pour
renvoyer mon objet skmmenu. J'installe la web part sur le serveur SPS, mais
au moment de l'afficher il ya une erreur et je suis obligée de supprimer la
web part de la page pour pouvoir afficher la page.

Pouvez vous m'aider?
Merci d'avance

10 réponses

1 2
Avatar
Renaud COMTE [MVP]
l'erreur peut venir de bien des endroits

Je sens bien le soucis de safe controls
activer le mode de debug dans votre site afin de recuperer une erreur






plus claire

Renaud COMTE [MVP]

PS: avez vous incrit votre control comme safe ?


J'ai suivi les conseils recueillis lors de mon dernier post et j'ai
entrepris
le développement d'une web part de barre de menu en utilisant skmmenu.
Dans
le code de ma webpart, j'ai une procédure qui crée un objet skmmenu et
l'initialise.
Je veux l'afficher sur la web part. et c'est à ce niveau que je
bloque. Je
ne sais pas comment m'y prendre. J'ai utilisé la fonction
RenderWebPart pour
renvoyer mon objet skmmenu. J'installe la web part sur le serveur SPS,
mais
au moment de l'afficher il ya une erreur et je suis obligée de
supprimer la
web part de la page pour pouvoir afficher la page.
Pouvez vous m'aider?
Merci d'avance


Avatar
mismym
j'ai déployé la web part. Je vous envoie le code de la webpart. Vous pourrez
le regarder et me dire s'il vous plaît s'il est bon. Je ne suis pas un pro
dans le domaine. Celà nous permettra de situer le problème.


using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using skmMenu;

namespace MenuWebpart
{
/// <summary>
/// Description for WebPart1.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
XmlRoot(Namespace="MenuWebpart")]
public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
{
private const string defaultText = "";

private string text = defaultText;

[Browsable(true),
Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),
Description("Text Property")]
public string Text
{
get
{
return text;
}

set
{
text = value;
}
}

public skmMenu.Menu mnuMenu;

public void CreateMenu()
{
mnuMenu = new skmMenu.Menu();
mnuMenu.Layout = skmMenu.MenuLayout.Horizontal;

skmMenu.MenuItem item1 = new
skmMenu.MenuItem("item1","http://projet/","this is item1");
mnuMenu.Items.Add(item1);

item1 = new skmMenu.MenuItem("item2","http://projet/","this is item2");

skmMenu.MenuItem subItem1 = new
skmMenu.MenuItem("subItem1","http://projet:8088/","this is Subitem1");
item1.SubItems.Add(subItem1);
subItem1 = new skmMenu.MenuItem("subItem2","http://projet:8088/","this is
Subitem2");
item1.SubItems.Add (subItem1);

mnuMenu.Items.Add (item1);
}

protected override void RenderWebPart(HtmlTextWriter output)
{
CreateMenu();
output.Write(mnuMenu);
}
}
}


Merci d'avance pour votre aide

"Renaud COMTE [MVP]" wrote:

l'erreur peut venir de bien des endroits

Je sens bien le soucis de safe controls
>>> activer le mode de debug dans votre site afin de recuperer une erreur
plus claire

Renaud COMTE [MVP]

PS: avez vous incrit votre control comme safe ?


> J'ai suivi les conseils recueillis lors de mon dernier post et j'ai
> entrepris
> le développement d'une web part de barre de menu en utilisant skmmenu.
> Dans
> le code de ma webpart, j'ai une procédure qui crée un objet skmmenu et
> l'initialise.
> Je veux l'afficher sur la web part. et c'est à ce niveau que je
> bloque. Je
> ne sais pas comment m'y prendre. J'ai utilisé la fonction
> RenderWebPart pour
> renvoyer mon objet skmmenu. J'installe la web part sur le serveur SPS,
> mais
> au moment de l'afficher il ya une erreur et je suis obligée de
> supprimer la
> web part de la page pour pouvoir afficher la page.
> Pouvez vous m'aider?
> Merci d'avance






Avatar
Renaud COMTE [MVP]
Ouh la

Le code manque un peu de stucture
la notion de CreateChildControl par exemple







Lisez et pratiquez bien cet exemple et tenez nous au courant

http://www.sharepoint-france.com/dotNet/Tutorials/2004-06-14/Default.aspx

Renaud COMTE [MVP]

"mismym" a écrit :

j'ai déployé la web part. Je vous envoie le code de la webpart. Vous pourrez
le regarder et me dire s'il vous plaît s'il est bon. Je ne suis pas un pro
dans le domaine. Celà nous permettra de situer le problème.


using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using skmMenu;

namespace MenuWebpart
{
/// <summary>
/// Description for WebPart1.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
XmlRoot(Namespace="MenuWebpart")]
public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
{
private const string defaultText = "";

private string text = defaultText;

[Browsable(true),
Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),
Description("Text Property")]
public string Text
{
get
{
return text;
}

set
{
text = value;
}
}

public skmMenu.Menu mnuMenu;

public void CreateMenu()
{
mnuMenu = new skmMenu.Menu();
mnuMenu.Layout = skmMenu.MenuLayout.Horizontal;

skmMenu.MenuItem item1 = new
skmMenu.MenuItem("item1","http://projet/","this is item1");
mnuMenu.Items.Add(item1);

item1 = new skmMenu.MenuItem("item2","http://projet/","this is item2");

skmMenu.MenuItem subItem1 = new
skmMenu.MenuItem("subItem1","http://projet:8088/","this is Subitem1");
item1.SubItems.Add(subItem1);
subItem1 = new skmMenu.MenuItem("subItem2","http://projet:8088/","this is
Subitem2");
item1.SubItems.Add (subItem1);

mnuMenu.Items.Add (item1);
}

protected override void RenderWebPart(HtmlTextWriter output)
{
CreateMenu();
output.Write(mnuMenu);
}
}
}


Merci d'avance pour votre aide

"Renaud COMTE [MVP]" wrote:

> l'erreur peut venir de bien des endroits
>
> Je sens bien le soucis de safe controls
> >>> activer le mode de debug dans votre site afin de recuperer une erreur
> plus claire
>
> Renaud COMTE [MVP]
>
> PS: avez vous incrit votre control comme safe ?
>
>
> > J'ai suivi les conseils recueillis lors de mon dernier post et j'ai
> > entrepris
> > le développement d'une web part de barre de menu en utilisant skmmenu.
> > Dans
> > le code de ma webpart, j'ai une procédure qui crée un objet skmmenu et
> > l'initialise.
> > Je veux l'afficher sur la web part. et c'est à ce niveau que je
> > bloque. Je
> > ne sais pas comment m'y prendre. J'ai utilisé la fonction
> > RenderWebPart pour
> > renvoyer mon objet skmmenu. J'installe la web part sur le serveur SPS,
> > mais
> > au moment de l'afficher il ya une erreur et je suis obligée de
> > supprimer la
> > web part de la page pour pouvoir afficher la page.
> > Pouvez vous m'aider?
> > Merci d'avance
>
>
>
>


Avatar
mismym
j'ai lu le document du lien que vous avez envoyé. J'ai changé mon code en ce
qui suit(jusque là j'ai une erreur au moment de l'afficher. Le composant ne
s'affiche même pas). Ya t il encore une erreur de code?

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using skmMenu;

namespace MenuWebpart
{
/// <summary>
/// Description for WebPart1.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
XmlRoot(Namespace="MenuWebpart")]
public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
{
private const string defaultText = "";

private string text = defaultText;

[Browsable(true),
Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),
Description("Text Property")]
public string Text
{
get
{
return text;
}

set
{
text = value;
}
}

public skmMenu.Menu mnuMenu;
protected override void CreateChildControls()
{
mnuMenu = new skmMenu.Menu();
mnuMenu.Layout = skmMenu.MenuLayout.Horizontal;

skmMenu.MenuItem item1 = new
skmMenu.MenuItem("item1","http://projet/","this is item1");
mnuMenu.Items.Add(item1);

item1 = new skmMenu.MenuItem("item2","http://projet/","this is item2");

skmMenu.MenuItem subItem1 = new
skmMenu.MenuItem("subItem1","http://projet:8088/","this is Subitem1");
item1.SubItems.Add(subItem1);
subItem1 = new skmMenu.MenuItem("subItem2","http://projet:8088/","this is
Subitem2");
item1.SubItems.Add (subItem1);

mnuMenu.Items.Add (item1);
this.Controls.Add(mnuMenu);
base.CreateChildControls();

}
protected override void RenderWebPart(HtmlTextWriter output)
{

foreach(Control ctl in this.Controls)
ctl.RenderControl(output);
}
}
}








"Renaud COMTE [MVP]" wrote:

Ouh la

Le code manque un peu de stucture
>>> la notion de CreateChildControl par exemple

Lisez et pratiquez bien cet exemple et tenez nous au courant

http://www.sharepoint-france.com/dotNet/Tutorials/2004-06-14/Default.aspx

Renaud COMTE [MVP]


Avatar
mismym
La dll skmmenu est une référence à mon projet de webpart. je n'ai pas
déployer la dll skmmenu sur le serveur Sharepoint. J'ai déployé la webpart
uniquement suivant la procédure qui était sur les pages que vous m'avez
envoyées hier.
Fallait-il déployer aussi skmmenu sur le serveur Sharepoint?

"Renaud COMTE [MVP]" wrote:

Ah le code me plait bien plus !!!

Question : Comment avez vous deployez votre composant SKMMENU sur votre serveur
SharePoint ?

Renaud COMTE [MVP]






Avatar
FLP
il faut la coller dans le repertoire bin de votre site si elle n'y est pas.

il faudra peut être la declarer comme composant "safe" dans votre web.config
et la signer (je ne me souvient plus tres bien si c'est déjà le cas ou pas).


"mismym" wrote:

La dll skmmenu est une référence à mon projet de webpart. je n'ai pas
déployer la dll skmmenu sur le serveur Sharepoint. J'ai déployé la webpart
uniquement suivant la procédure qui était sur les pages que vous m'avez
envoyées hier.
Fallait-il déployer aussi skmmenu sur le serveur Sharepoint?

"Renaud COMTE [MVP]" wrote:

> Ah le code me plait bien plus !!!
>
> Question : Comment avez vous deployez votre composant SKMMENU sur votre serveur
> SharePoint ?
>
> Renaud COMTE [MVP]
>
>
>
>


Avatar
mismym
Merci. J'ai créer un fichier de nom fort que j'ai assigné au projet skmmenu
et au projet e ma webpart. Puis j'ai recompilé les deux projets. J'ai
installé la webpart sur le serveur sharepoint. J'ai coié la dll de skmMenu
dans le répertoire bin de mon portail. J'ai installé skmMenu et ma webpart
dans le GAC. Quand j'ai placé la webpart sur le site tout a marché.

Maintenant j'ai un autre besoin. J'aimerais changé l'arrière plan et le
curseur de la souris lorsqu'on est au dessus des éléments de mon menu.
Comment puis je procéder?
Merci d'avance.

"FLP" wrote:

il faut la coller dans le repertoire bin de votre site si elle n'y est pas.

il faudra peut être la declarer comme composant "safe" dans votre web.config
et la signer (je ne me souvient plus tres bien si c'est déjà le cas ou pas).


"mismym" wrote:

> La dll skmmenu est une référence à mon projet de webpart. je n'ai pas
> déployer la dll skmmenu sur le serveur Sharepoint. J'ai déployé la webpart
> uniquement suivant la procédure qui était sur les pages que vous m'avez
> envoyées hier.
> Fallait-il déployer aussi skmmenu sur le serveur Sharepoint?
>
> "Renaud COMTE [MVP]" wrote:
>
> > Ah le code me plait bien plus !!!
> >
> > Question : Comment avez vous deployez votre composant SKMMENU sur votre serveur
> > SharePoint ?
> >
> > Renaud COMTE [MVP]
> >
> >
> >
> >


Avatar
mismym
Mon menu sera composé des zones et sous zones de mon portail. J'aimerai gérer
l'affichage des menus par rapport à l'utilisateur comme Sharepoint le fait(un
utilisateur voit un titre de menus s'il a accès à la zone(sous zone)
correspondante.

Si celà n'est pas possible, j'aimerai au moins gérer les
permissions(empêcher à un utilisateur de ne pas voir une zone vers laquelle
mène un élément de menu, si celui ci n'en n'a pas le droit).

Merci d'avance



"FLP" wrote:

il faut la coller dans le repertoire bin de votre site si elle n'y est pas.

il faudra peut être la declarer comme composant "safe" dans votre web.config
et la signer (je ne me souvient plus tres bien si c'est déjà le cas ou pas).


"mismym" wrote:

> La dll skmmenu est une référence à mon projet de webpart. je n'ai pas
> déployer la dll skmmenu sur le serveur Sharepoint. J'ai déployé la webpart
> uniquement suivant la procédure qui était sur les pages que vous m'avez
> envoyées hier.
> Fallait-il déployer aussi skmmenu sur le serveur Sharepoint?
>
> "Renaud COMTE [MVP]" wrote:
>
> > Ah le code me plait bien plus !!!
> >
> > Question : Comment avez vous deployez votre composant SKMMENU sur votre serveur
> > SharePoint ?
> >
> > Renaud COMTE [MVP]
> >
> >
> >
> >


Avatar
FLP
normalement vous n'avez rien a mettre dans le gac manuellement.
c'est la vieille methode fastidieuse que l'on trouvait dan les debuts de
SPS quand il y avait peu de documentations.
il vaut mieux faire et utiliser des .cab et les deployer avec stsadm.exe ca
evite pas mal de pb.



"mismym" wrote:

Merci. J'ai créer un fichier de nom fort que j'ai assigné au projet skmmenu
et au projet e ma webpart. Puis j'ai recompilé les deux projets. J'ai
installé la webpart sur le serveur sharepoint. J'ai coié la dll de skmMenu
dans le répertoire bin de mon portail. J'ai installé skmMenu et ma webpart
dans le GAC. Quand j'ai placé la webpart sur le site tout a marché.

Maintenant j'ai un autre besoin. J'aimerais changé l'arrière plan et le
curseur de la souris lorsqu'on est au dessus des éléments de mon menu.
Comment puis je procéder?
Merci d'avance.

"FLP" wrote:

> il faut la coller dans le repertoire bin de votre site si elle n'y est pas.
>
> il faudra peut être la declarer comme composant "safe" dans votre web.config
> et la signer (je ne me souvient plus tres bien si c'est déjà le cas ou pas).
>
>
> "mismym" wrote:
>
> > La dll skmmenu est une référence à mon projet de webpart. je n'ai pas
> > déployer la dll skmmenu sur le serveur Sharepoint. J'ai déployé la webpart
> > uniquement suivant la procédure qui était sur les pages que vous m'avez
> > envoyées hier.
> > Fallait-il déployer aussi skmmenu sur le serveur Sharepoint?
> >
> > "Renaud COMTE [MVP]" wrote:
> >
> > > Ah le code me plait bien plus !!!
> > >
> > > Question : Comment avez vous deployez votre composant SKMMENU sur votre serveur
> > > SharePoint ?
> > >
> > > Renaud COMTE [MVP]
> > >
> > >
> > >
> > >


Avatar
FLP
tout se fait en "automatique" avec le modele objet de sharepoint pour la
gestion des droits.
faut regarder le sdk et je crois que les points de depart avait ete donné
dans l'ancien post.



"mismym" wrote:

Mon menu sera composé des zones et sous zones de mon portail. J'aimerai gérer
l'affichage des menus par rapport à l'utilisateur comme Sharepoint le fait(un
utilisateur voit un titre de menus s'il a accès à la zone(sous zone)
correspondante.

Si celà n'est pas possible, j'aimerai au moins gérer les
permissions(empêcher à un utilisateur de ne pas voir une zone vers laquelle
mène un élément de menu, si celui ci n'en n'a pas le droit).

Merci d'avance



"FLP" wrote:

> il faut la coller dans le repertoire bin de votre site si elle n'y est pas.
>
> il faudra peut être la declarer comme composant "safe" dans votre web.config
> et la signer (je ne me souvient plus tres bien si c'est déjà le cas ou pas).
>
>
> "mismym" wrote:
>
> > La dll skmmenu est une référence à mon projet de webpart. je n'ai pas
> > déployer la dll skmmenu sur le serveur Sharepoint. J'ai déployé la webpart
> > uniquement suivant la procédure qui était sur les pages que vous m'avez
> > envoyées hier.
> > Fallait-il déployer aussi skmmenu sur le serveur Sharepoint?
> >
> > "Renaud COMTE [MVP]" wrote:
> >
> > > Ah le code me plait bien plus !!!
> > >
> > > Question : Comment avez vous deployez votre composant SKMMENU sur votre serveur
> > > SharePoint ?
> > >
> > > Renaud COMTE [MVP]
> > >
> > >
> > >
> > >


1 2