Meilleur auteur de réponses
[SP2010]User control, safe control et accès au serveur

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 ?
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
- Proposé comme réponse lionel limozin mercredi 18 juin 2014 07:30
- Marqué comme réponse Benoit Jester [MVP]MVP, Moderator mercredi 18 juin 2014 10:44
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
-
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à dessus2. 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.
-
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
-
-
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
-
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
- Proposé comme réponse lionel limozin mercredi 18 juin 2014 07:30
- Marqué comme réponse Benoit Jester [MVP]MVP, Moderator mercredi 18 juin 2014 10:44
-
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.
-
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