none
[SP2010]User control, safe control et accès au serveur RRS feed

  • Question

  • Bonjour à tous,

    Je vais exposer mon problème simplement, j'ai du contenu HTML que je dois réutiliser plusieurs fois pour mes masterpages. J'aimerais aussi centraliser mes modifications dans un seul fichier, pour que tout soit plus simple.

    J'ai essayé de créer des usercontrol à cette fin, le seul problème étant que j'ai une erreur dû à la fct "Safecontrol" se trouvant dans le web.config de mon site.

    La solution basique est simple, il faut juste ajouter un safecontrol dans cette page, mais je n'y ai pas accès, ne possédant pas les droits sur le serveur.

    Est-il possible de rajouter un safecontrol ou tout du moins de bénéficier d'un usercontrol sans passer par cette modification, et si oui, comment ?

    jeudi 12 juin 2014 14:28

Réponses

  • Bonjour

    si il s'agit réellement que de contenu HTML (et JS eventuellement) mais pas de code serveur j'aurais tendance à plutot utiliser le webpart "Content Editor" fourni en standard.

    Ce webpart à une propriété permettant de fournir le chemin du fichier html à afficher. Il suffit de stocker le contenu html en question dans une doc lib de la collection de site.


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mercredi 18 juin 2014 07:29

Toutes les réponses

  • Bonjour,

    Pouvez-vous préciser vos manipulations ?

    Comment allez-vous déployer votre usercontrol ?


    My technical blog on SharePoint || My contributions on the TechNet Gallery

    jeudi 12 juin 2014 15:50
    Modérateur
  • Pour l'heure, je n'ai fais que deux choses :

    1. Créer une page "Basic.ascx" avec du HTML simple : <p> Hello </p>
    Aucun problème  là dessus

    2. Déployer mon usercontrol dans la page ou je veux l'inclure :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <%@ Page Language="C#" %>
    <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <!-- On enregistre le fichier ascx contenant le code -->
    <%@ Register TagPrefix="TV" TagName="NJN"  Src="../Style%20Library/basic.ascx" %>
     
     
    <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
     
    <head runat="server">
    <meta name="WebPartPageExpansion" content="full" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test_NJN</title>
    </head>
    <body>
    <!-- On fait appel au fichier qu'on a enregistré afin de l'inclure -->
    <TV:NJN runat="server" />
    </body>
     
    </html>

    Sauf que.... The referenced file '....../basic.ascx' is not allowed on this page.

    Il existe de nombreux sujets à ce propos sur Internet, mais tous (du moins ceux que j'ai vu) mentionnent des modifications à effectuer dans le fichier web.config, auquel je n'ai pas accès.

    jeudi 12 juin 2014 16:17
  • Bonjour,

    Vous avez 2 solutions possibles (et aucune ne vous évitera d'accéder au serveur) :

    • Déployer votre ascx dans le répertoire "14\TEMPLATE\CONTROLTEMPLATES", car ce répertoire est défini comme "safe" par défaut dans le web.config :
    <SafeControl Src="~/_controltemplates/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
    • Ajouter une entrée dans la section <safecontrols> pour votre ascx.



    My technical blog on SharePoint || My contributions on the TechNet Gallery

    vendredi 13 juin 2014 08:19
    Modérateur
  • Sauf que je n'ai pas accès au serveur.. Et donc, à moins que je ne m'abuse, à ce répertoire.

    Pouvez-vous m'indiquer la marche à suivre ?

    vendredi 13 juin 2014 12:18
  • Bonjour,

    Contactez votre administrateur SharePoint en lui demandant de déployer votre ascx (idéalement en le packageant).


    My technical blog on SharePoint || My contributions on the TechNet Gallery

    mardi 17 juin 2014 12:55
    Modérateur
  • Bonjour

    si il s'agit réellement que de contenu HTML (et JS eventuellement) mais pas de code serveur j'aurais tendance à plutot utiliser le webpart "Content Editor" fourni en standard.

    Ce webpart à une propriété permettant de fournir le chemin du fichier html à afficher. Il suffit de stocker le contenu html en question dans une doc lib de la collection de site.


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mercredi 18 juin 2014 07:29
  • Bonjour,

    Contactez votre administrateur SharePoint en lui demandant de déployer votre ascx (idéalement en le packageant).

    Impossible, je n'ai pas accès au serveur, et les modifications du serveur ne dépendent pas de mon service et sont prohibés par ma boite au niveau de la sécurité globale.

    @Lionel Limozin : J'aurais préféré qu'il s'agisse de code serveur, afin de ne pas surcharger le poste client, d'où ma première question, le but étant d'éviter le JS au maximum.

    Mis à part la mention du reusable content, qui n'est à première vue pas activé sur le site dont j'ai la charge, je ne vois absolument pas comment faire.

    J'utilise donc du JavaScript pour l'heure, je centralise mes fonctions dans la style library, j'ajoute le fichier dans le PlaceHolderAdditionalPageHead et je n'ai plus qu'à appeler les fonctions dont j'ai besoin. C'est pratique mais très moche. J'ai des requêtes CAML et autres joyeusetés qui se promènent un peu partout.

    vendredi 20 juin 2014 13:41
  • Bonjour

    Dans la mesure où votre politique interne est à l'opposé de votre vision des applications custom (l'un ne veut pas de custo serveur, l'autre prefere la custo server) vous êtes bien bloqué ! Il est peut etre temps de remettre tout ça en question ! ? :)

    De mon point de vue, en particulier sur du SP2013, le code client JS utilisant les API sharepoint pour manipuler les données (donc géré par SharePoint coté serveur) et en charge de les présenter (le JS) est une très bonne approche, efficace en performance et logique quand à la séparaiton des rôles  et enfin "en ligne" avec les précos de l'éditeur !

    Et oui il est normal du coup d'avoir des requettes CAML ds vos fichiers JS, bienvenue ds le monde 2013 de SharePoint ! :D


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    vendredi 20 juin 2014 14:58