SharePoint au Quotidien

 

Retour page Accueil
Remonter

 

 

 

 

 

 

 

 

Comment inclure un site existant dans SPS :

 

BRUNO nous écrit :

J'ai eu le même problème que vous et pour le résoudre j'ai transformé toutes les listes de documents en formulaire. Ce formulaire contient un champ caché qui recevra l'url du document sur lequel on clique. Cette url est initialisée par script sur l'événement onclick qui en plus devra soumettre le formulaire. La propriété action de ce formulaire pointe sur un tableau de bord qui contiendra un WebPart VBScript qui récupérera la valeur du champ caché (l'url du document) et générera un IFRAME avec ce document. Si vous vous êtes familiarisés (casser les dents !) avec SPS et que vous maîtrisez HTML, vous devriez vous en sortir. Je reste à votre disposition.
 

Comment faire :

Pas de problème :

1) dans les feuilles XSL qui affichent des listes de documents (résultat de la recherche, liste des documents d'une catégorie, ...), j'effectue les modifications pour obtenir un résultat dont un extrait se trouve dans le fichier joint document1.txt

2) j'ai une webpart qui récupère la valeur de mes champs cachés (dans mon exemple, dans un tableau de bord Result, cf propriété "action" du formulaire). Ce webpart est un webpart VB dont le script se trouve dans le fichier joint document2.txt.

Remarques :

  • Ce système fonctionne très bien pour l'affichage de documents HTML, je n'ai pas encore eu le temps de tester avec des fichiers Word ou Acrobat. Je suis assez optimiste dans la mesure où ces fichiers savent s'afficher dans un Frame.

  • J'utilise aussi ce système pour des URL vers des DLL ISAPI applicatives que nous développons. Ainsi je réalise un "portail applicatif"

  • Par défaut, un Iframe ne se redimensionne pas par rapport à son contenu, d'où la fonction "HauteurIFrame" dans document2.txt. Cette fonction marche bien avec IE6 mais pas avec IE5 dont l'IFrame ne réagit pas à l'événement "onload". Le TechNet propose une solution pour IE5 mais elle ne marche pas !
     

Autre astuce que j'utilise dans Sharepoint : je souhaitais trié l'ordre d'affichage des catégories, l'ordre alphabétique ne satisfaisant pas mes utilisateurs. Pour réaliser ceci, j'ai simplement utilisé le champ "ContactName", inutile pour moi par ailleurs, pour stocker le numéro d'ordre. Ensuite, il faut encore faire les modifs dans les scripts et les XSL pour obtenir le résultat attendu. Je profite de l'occasion pour faire remonter le besoin dans l'espoir de voir un champ prévu à cet effet dans la version 2.

Je reste à votre disposition pour plus d'explications.

Cordialement

Bruno 
Chef de projet, MATMUT
Forestier.bruno@matmut.fr

La solution script   :

<script language="Javascript">
function afficheDocument(varForm, urlDocument, titreDocument)
{
varForm.urlDocument.value = urlDocument;
varForm.titreDocument.value = titreDocument;
varForm.submit();
}
</script>

<FORM name="formListeWPQ3" method="post" action="http://serveur/workspace/Portal/Result">
<INPUT type="hidden" name="urlDocument" value="" />
<INPUT type="hidden" name="titreDocument" value="" />
<TABLE width="100%" cellspacing="0">
<TR>
<TD valign="top" width="16" align="center">
<IMG border="0" src="DocTypeIcons/htm16.gif" />
</TD>
<TD valign="top" align="left" width="150">
<A href="javascript:afficheDocument(document.formListeWPQ3, 'http://serveur/workspace/Documents/document.htm', 'Titre du document');" id="document.htm"><B>Document HTML</B></A>
</TD>
<TD align="left" valign="top" width="100">
<B>30/09/2002</B>
</TD>
<TD align="left" valign="top">
Description du document
</TD>
</TR>
</TABLE>
</FORM>
 

------------------------------------------------------------------

Function GetContent(nod)
On Error Resume Next

GetContent = "&nbsp;"
Dim strOutput, strUrl, strTitre

strUrl = ReadParameterFromGetOrPost("urlDocument")
If Err.Number <> 0 Then SaveCurrentErrorContext "GetContent() - Error getting the urlDocument parameter." : Exit Function
If strUrl="" Then
nod.SelectSingleNode("IsIncluded").Text = "0"
Exit Function
End If

strTitre = ReadParameterFromGetOrPost("titreDocument")
If Err.Number <> 0 Then SaveCurrentErrorContext "GetContent() - Error getting the titreDocument parameter." : Exit Function
If strTitre <> "" Then
nod.SelectSingleNode("Title").Text = strTitre
nod.SelectSingleNode("HasFrame").Text = "1"
Else
nod.SelectSingleNode("HasFrame").Text = "0"
End If

strOutput = "<script language=""javascript"">" & vbCRLF & _
" function HauteurIFrame(nomIFrame)" & vbCRLF & _
" {" & vbCRLF & _
" var oFrm = document.getElementById(nomIFrame);" & vbCRLF & _
" var oBody = document.frames(nomIFrame).document.body;" & vbCRLF & _
" oFrm.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);" & vbCRLF & _
" document.body.scrollTop = 0;" & vbCRLF & _
" }" & vbCRLF & _
"</script>" & vbCRLF & _
"<iframe onload=""HauteurIFrame('IFrameWebPart_WPQ_');"" name=""IFrameWebPart_WPQ_"" id=""IFrameWebPart_WPQ_"" frameborder=""0"" width=""100%""" & _
" ddf_src=""" & strUrl & """ src=""" & strUrl & """>"

GetContent = strOutput
End Function

------------------------------------------------

Le problème de départ  :

J'ai un problème avec SharePoint , mon but c'est de récupérer l'intranet d'un serveur existant et le mettre sous un serveur SharePoint, tout en gardant "le bandeau de haut de la page", celui ci marche pour la page d'accueil mais une fois que l'on a cliqué sur un lien le bandeau disparaît. Est ce qu'il y a un moyen de le garder tout au long de l'enchaînement des écrans du site ?

----------------------------------------------

EROL / MiniTrucs 2 : 21-févr.-2004 19:05:18 +0100

 

Retour page Accueil ] Remonter ]

Envoyez un courrier électronique à EROL GIRAUDY (attention nospam dans l'E-mail) pour toute question ou remarque concernant ce site Web et visitez la rubrique Condition Utilisation et CNIL. Copyright © 2002 EROL (les sigles et logos ci-après sont la propriété de : Microsoft, Supinfo, Adobe, Compaq, HP, Sybari, Veritas, Moreover, K-map, Vyapin, Plumtree, Ixos, TooStore, K-Map, eRoom, DocKIT,NQL, Only4gurus, Nsius, Sharepointexperts, Iora, Erol, KCura, FrontPages, Nsi, Frontlook, IBuySpyPortal, moreover, slipstick, networknowledge, clubsps.org )
Dernière modification : samedi, 21. février 2004 19:05