none
comment faire unn connecteur flash pour SharePoint ? RRS feed

  • Question

  • Bonjour,

    je reformule ma question de l'autre jour :


    Comment créer un connecteur flash pour SharePoint.
    En d'autres termes, comment peut-on lire un flux issu d'une requete SharePoint dans un composant Flash situé dans une page SharePoint ?

    Merci
    mardi 17 février 2009 16:08

Réponses

  • Bonjour,

    Dans un cas semblable au votre (un composant flash d'affichage d'image basé sur une bibliothèque d'image dans SharePoint), nous avons fait ceci :

         
    1       protected override void RenderContents(HtmlTextWriter writer) 
    2        { 
    3            if (!String.IsNullOrEmpty(this.ListName)) 
    4            { 
    5                string urlToSWF = "/_layouts/1036/***/hello.swf"
    6 
    7                StringBuilder sb = new StringBuilder(); 
    8                sb.Append("<script type=\"text/javascript\">"); 
    9                sb.Append("swfobject.embedSWF(\""); 
    10                sb.Append(urlToSWF); 
    11                sb.Append("\", \"alt_hello\",  \"940\", \"250\", \"9.0.0\", \"\", "); 
    12                sb.Append("{xml_path: \""); 
    13                sb.Append(SPUrlUtility.CombineUrl(this.WebUrl, "/hello.car")); 
    14                sb.Append("?listname="); 
    15                sb.Append(this.ListName); 
    16                sb.Append("\", css_path: \""); 
    17                sb.Append("/Style%20Library/hello.css"); 
    18                sb.Append("\"}, {wmode: \"transparent\"});"); 
    19                sb.Append("</script>"); 
    20                sb.Append("<div id=\"alt_hello\">"); 
    21                sb.Append("<span>"); 
    22                sb.Append(this.AlternateText); 
    23                sb.Append("</span>"); 
    24                sb.Append("</div>"); 
    25 
    26                writer.Write(sb.ToString()); 
    27            } 

    la partie intéressante étant : xml_path : une_url_de_site/hello.car?listname=maliste

    hello.car est un Handler HTTP qui va générer un fichier XML du style :

    <images>
       <image ....>
       <image ....>
       <image ....>
    <images>


    Voilà j'espère que ca vous aidera



    Philippe - MVP SharePoint - http://blogs.developpeur.org/phil
    mercredi 18 février 2009 09:48
    Modérateur
  • Bonjour

    Si j'ai bien compris, vous cherchez à récupérer des infos de listes SharePoint pour les utiliser dans votre composant Flash ?

    Car si c'est bien le cas, je vous conseille de regarder du côté du "RPC" (Remote Procedure Call").

    Vous pouvez ainsi récupérer vos informations par URL sous format XML. Reste à parser l'XML pour en faire qqch dans votre composant.

    Un exemple dans mon article pour Silverlight (un peu les mêmes problématiques, même si j'aurai pu utiliser les web services) : http://www.asp-php.net/tutorial/asp.net/sharepoint-silverlight-firststeps.php?page=2
     

    En espérant que cela réponde à votre question !

    Gaetan Bouveret [MVP SharePoint] Mon blog : http://www.sharepointofview.fr/gat
    jeudi 19 février 2009 21:25

Toutes les réponses

  • Bonjour,

    l'intégration de flash dans une page HTML peut se faire comme sur l'exemple ci dessous : (extrait du site w3schools)

    <object width="550" height="400">  
    <param name="movie" value="somefilename.swf">  
    <embed src="somefilename.swf" width="550" height="400">  
    </embed> 
    </object> 

    Côté SharePoint, il vous suffit donc de générer ce code HTML en remplaçant le nom "somefilename.swf" par l'URL du fichier swf que vous ciblez.
    Un composant WebPart peut aisément contenir cette logique et exposer une propriété permettant de sélectionner le fichier swf (ou la requête CAML permettant de l'obtenir).

    http://blogs.developpeur.org/gribouillon/
    mardi 17 février 2009 21:09
    Modérateur
  • Merci Sébastien,

    cette réponse, je l'avais grossièrement comprise là : http://stephaneey.developpez.com/tutoriel/sharepoint/advancedct/

    Ce qui m'intéresse en fait, c''est de pouvoir intégrer dans des variables flash, une requête d'interrogation quelque chose comme ça :
    <param name=flashvars value="inputXMLFile=http://host.empl.rurlRequete">
    <param name=flashvars value="inputXMLFile=[code qui génère la requête]">
    <param name=flashvars value="inputXMLFile=http://host.empl.fichier.xml">

    Cordialement

    mercredi 18 février 2009 08:14
  • Bonjour,

    Dans un cas semblable au votre (un composant flash d'affichage d'image basé sur une bibliothèque d'image dans SharePoint), nous avons fait ceci :

         
    1       protected override void RenderContents(HtmlTextWriter writer) 
    2        { 
    3            if (!String.IsNullOrEmpty(this.ListName)) 
    4            { 
    5                string urlToSWF = "/_layouts/1036/***/hello.swf"
    6 
    7                StringBuilder sb = new StringBuilder(); 
    8                sb.Append("<script type=\"text/javascript\">"); 
    9                sb.Append("swfobject.embedSWF(\""); 
    10                sb.Append(urlToSWF); 
    11                sb.Append("\", \"alt_hello\",  \"940\", \"250\", \"9.0.0\", \"\", "); 
    12                sb.Append("{xml_path: \""); 
    13                sb.Append(SPUrlUtility.CombineUrl(this.WebUrl, "/hello.car")); 
    14                sb.Append("?listname="); 
    15                sb.Append(this.ListName); 
    16                sb.Append("\", css_path: \""); 
    17                sb.Append("/Style%20Library/hello.css"); 
    18                sb.Append("\"}, {wmode: \"transparent\"});"); 
    19                sb.Append("</script>"); 
    20                sb.Append("<div id=\"alt_hello\">"); 
    21                sb.Append("<span>"); 
    22                sb.Append(this.AlternateText); 
    23                sb.Append("</span>"); 
    24                sb.Append("</div>"); 
    25 
    26                writer.Write(sb.ToString()); 
    27            } 

    la partie intéressante étant : xml_path : une_url_de_site/hello.car?listname=maliste

    hello.car est un Handler HTTP qui va générer un fichier XML du style :

    <images>
       <image ....>
       <image ....>
       <image ....>
    <images>


    Voilà j'espère que ca vous aidera



    Philippe - MVP SharePoint - http://blogs.developpeur.org/phil
    mercredi 18 février 2009 09:48
    Modérateur
  • Merci Philippe.

    Si je comprends bien, on génère dynamiquement la définition du composant flash, avec l'url dont le paramètre vient d'un composant "ListName" ( sans encodage des paramètres pour les caractères spéciaux ? )
    Par contre, je ne comprends rien à l'ASP ( désolé, j'aurais dû le dire avant )
     
    Comment intégrer cette méthode dans une page ? Aurais-tu le source de la page ASP qui englobe ce composant ?

    Cordialement
    mercredi 18 février 2009 13:54
  • Bonjour,

    le code de Philippe n'est pas de l'ASP et la page n'est pas modifiée.

    Le code est en réalité celui d'une WebPart développée à l'aide de Visual Studio. C'est ce type de développement qui peut vous permettre de gérer le dynamisme que vous attendez. Vous avez également la possibilité d'utiliser SharePoint Designer pour intégrer un contrôle s'appuyant sur une source de données restituant l'information à l'aide d'XSL... seulement si le code d'une WebPart vous est inconnu, j'imagine que cette option ne vous aidera pas plus.

    Dans le cas ou vous voudrier intégrer du flash sans ce dynamisme, vous pouvez simplement intégrer le code HTML dont nous avons parlé dans une WebPart de gestion de contenu standard.
    http://blogs.developpeur.org/gribouillon/
    mercredi 18 février 2009 14:22
    Modérateur
  • Ha oui effectivement, je me suis un peu emballé désolé :)

    En fait, il vous faudrait une solution avec SharePoint Designer ?

    Philippe - MVP SharePoint - http://blogs.developpeur.org/phil
    jeudi 19 février 2009 07:50
    Modérateur
  • Merci messieurs.

    En fait, je prends toutes les solutions disponibles ;)

    On n'a pas encore de page dans SharePoint.
    Mais nous n'utiliserons pas MOSS.

    Le reste, pour moi, c'est encore du chinois aujourd'hui.

    Cordialement
    jeudi 19 février 2009 17:03
  • Bonjour

    Si j'ai bien compris, vous cherchez à récupérer des infos de listes SharePoint pour les utiliser dans votre composant Flash ?

    Car si c'est bien le cas, je vous conseille de regarder du côté du "RPC" (Remote Procedure Call").

    Vous pouvez ainsi récupérer vos informations par URL sous format XML. Reste à parser l'XML pour en faire qqch dans votre composant.

    Un exemple dans mon article pour Silverlight (un peu les mêmes problématiques, même si j'aurai pu utiliser les web services) : http://www.asp-php.net/tutorial/asp.net/sharepoint-silverlight-firststeps.php?page=2
     

    En espérant que cela réponde à votre question !

    Gaetan Bouveret [MVP SharePoint] Mon blog : http://www.sharepointofview.fr/gat
    jeudi 19 février 2009 21:25
  • Merci Gaetan,

    en fait, j'ai réussi à intégrer un composant Flash tout écrit en javascript.
    C'est pas beau, surtout au niveau du code, mais cela fonctionne.

    Pour faire propre, j'ouvre un nouveau sujet.

    Merci à vous.
    jeudi 9 avril 2009 07:04