Bonjour,
Je souhaiterais créer un lien (url) vers une application tierce depuis Sharepoint.
Ce lien se construisant de manière dynamique avec passage d'un paramètre propre à l'utilisateur Sharepoint connecté.
Comment procéder ?
Merci d'avance.
Bonjour,
Je souhaiterais créer un lien (url) vers une application tierce depuis Sharepoint.
Ce lien se construisant de manière dynamique avec passage d'un paramètre propre à l'utilisateur Sharepoint connecté.
Comment procéder ?
Merci d'avance.
Sharepoint Designer 2007.
Création d'une page ASPX.
Passe en mode design.
A partir de la tu verra plusieurs options te permettant d'insérer/de travailler avec des paramètres server tel que current User, il en existe d'autres
hum bonne question.
ma datasource c'était une custom list, mais tu peux en choisir d'autres, meme des fichiers xml.
Il faut passer par DataView -> insert dataview
Peux être que cela ne sera pas la solution parfaite, mais cela t'indiquera comment cela peut se faire
En suivant ce ticket j'ai réussi à afficher :
- les variables serveurs (Location="ServerVariable") qui correspondent aux variables du serveur IIS (liste des variables ici )
- les variables CAML (Location="CAMLVariable") dont je ne sais pas trop à quoi elles correspondent et où en trouver une liste.
Pour résumer, si je dois récupérer des informations spécifique du User connecté (Département, téléphone,...) il faudra que je passe par du code behind ?
Salut,
Normalement non, il te suffit d'un composant webpart (avec xslt) dans lequel tu définis ce paramètre (et sa valeur par défaut). Ceci aura pour effet de créer un parameterbinding qui lui-même sera utilisé comme variable dans ton/tes template(s) xslt.
Pour avoir une idée de comment faire, importe un list view web part quelconque, convertis-le en vue xslt et décortique le début des templates générés.
Edit : tu peux également chercher un paramètre dans la querystring, dans un formulaire, dans un control ou encore dans un cookie
Re-édit : Clic droit sur composant WP / Paramètres pour accéder au menu définissant les paramètres.
Ok pour la création d'un composant WebPart
Ok pour la définition d'un paramètre
Ok pour l'utilisation de ce paramètre dans du code XSLT
Mais comment affecter à ce paramètre une information propre à l'utilisateur courant. Exemple de paramètre que l'on retrouve sur la page "_layouts/userdisp.aspx" page sur laquelle on tombe quand on clique sur un utilisateur quelconque.
Désolé si je suis lourd
Exact, j'avais oublié que tu voulais les autres infos de l'utilisateur.
Et bien, je crois qu'il n'y a pas 36 solutions si on veut éviter de le faire en code behind : passer par un webservice.
La procédure :
Dans SPD, Bibliothèque de source de données", "Services web XML", tu crées une connexion à un service web.
Onglet Source, l'emplacement est [tonsite]/_vti_bin/UserGroup.asmx?WSDL (Voir commentaire en fin de post, il y a un bug connu avec les AAM).
Se connecter maintenant.
Dans Opération : sélectionner GetUserInfo.
Dans les propriétés du paramètre userLoginName, mets en un par défaut pour tester et fais en sorte que ce soit WebPart-ement connectable.
Au besoin, définis une méthode de connexion dans l'onglet suivant.
Ok, afficher les données de cette source pour voir si ça se connecte bien.
Insertion / Contrôle SP / Vue de données et Drag&Drop ta source de données WebService dessus.
Il ne te reste plus qu'à définir les champs à afficher et faire ta connexion webpart pour le rendre plus dynamique.
Ouf...
Commentaire du bug connu :
A prendre en compte si tu utilises comme moi des AAM (Mappages d'accès) sur une zone autre que default, sans avoir fait d'extension d'application web (2ème site IIS) pour cette zone.
Le webservice ne se connecte tout simplement pas. En effet lors de l'affichage des données, tu vas avoir une erreur textuelle complètement bizarre qui a juste le mérite de dire que ça marche pas.
Pour contourner le problème, il faut aller dans la liste des dossiers, _catalogs, fpdatasources. Là il devrait y avoir un xml du nom de ta connexion au web service créé précédemment. Trouve l'adresse de ton serveur et remplace le hostname public avec le hostname local (celui de la zone default). Ca doit se connecter après ça.
Bonjour,
Certaines opérations de ce WebService me retourne des données mais pour l'opération "GetUserInfo" il me retourne cette erreur.
The server returned a non-specific error when trying to get data from the data source. Check the format and content of your query and try again.
GetUserInfo attend un ID, peux etre celui que tu donne ne correspond à rien dans sharepoint?
Ok autant pour moi, il fallait que je fournisse le LoginUserName.
Merci à tous les deux.
Vu votre bonne volonté je vais abuser encore un peu
1-
Les datafields proposés par défaut par le WebService sont les suivants
afin d'avoir des données supplémentaires je le modifie en rajoutant deux fields supplémentaires
Code : Sélectionner tout - Visualiser dans une fenêtre à part <datafields>@ID,ID;@Sid,Sid;@Name,Name;@LoginName,LoginName;@Email,Email;@Notes,Notes;@IsSiteAdmin,IsSiteAdmin;@IsDomainGroup,IsDomainGroup;</datafields>
mais ceux-ci, contrairement aux autres, ne me retournent aucun résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part @Department,Department;@JobTitle,JobTitle;
2-
Ma source de données me renvoie les informations de l'utilisateur que j'ai mis par défaut dans userLoginName.
Maintenant si j'ai bien compris depuis une autre WebPart de la même page, qui se charge de récupérer l'utilisateur courant (via ServerVariable(LOGON_USER) par exemple) j'établis une connection afin de passer ce paramètre à ma nouvelle WebPart et initialiser le userLoginName avec ce paramètre ?
1 - Les datafields proposés par défaut par le WebService sont les suivants
Ce ne sont pas des fields par défaut, c'est uniquement ce que propose de retourner ce webservice, tu ne peux pas le modifier ni rajouter d'autres fields, a moins de créer ton propre web services
ce sont les webservices de sharepoint, si tu veux modifier sharepoint amuses toi
C'est du MOSS ? Je n'en ai pas vraiment l'habitude mais je sais que la gestions des utilisateurs est plus poussée donc je pense qu'il doit y avoir d'autres webservices fournis.
De plus, si c'est du MOSS, il me semble que tu peux t'en sortir astucieusement avec le composant qui fait une Recherche car le résultat renvoyé est un datasource bien propre et utilisable facilement.
Sinon, il faudra passer par la case dév. code behind.
Oui
Je ne sais pas, impossible de mettre la main sur la liste des WebServices MOSS.
Edit : Ah si http://msdn.microsoft.com/en-us/libr...ice.12%29.aspx
Sur la page peopleresults.aspx ?
Quand j'en serai là, j'aurais encore besoin de tes services
le webservicexs people.asmx est sympa aussi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager