{"id":1520,"date":"2015-04-07T11:00:19","date_gmt":"2015-04-07T10:00:19","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1520"},"modified":"2015-04-07T09:28:53","modified_gmt":"2015-04-07T08:28:53","slug":"sharepoint-aprovisionar-display-templates","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/","title":{"rendered":"SharePoint: aprovisionar Display Templates"},"content":{"rendered":"<p>Una de las <strong>principales novedades que trae de serie la versi\u00f3n 2013 de SharePoint es\u00a0Display Templates.\u00a0<\/strong>Estos artefactos vienen a substituir al tedioso XSL que se utilizaba en versiones anteriores.\u00a0<img loading=\"lazy\" decoding=\"async\" class=\" aligncenter\" src=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg\" alt=\"display templates\" width=\"500\" height=\"300\" \/><\/p>\n<p>Una de las <strong>principales ventajas<\/strong> es que los Displays Templates utilizan un lenguaje m\u00e1s cercano al desarrollo Web y hace posible que mucha m\u00e1s gente lo conozca y pueda utilizarlo de una forma m\u00e1s o menos sencilla. <strong>En este post, vamos a realizar una peque\u00f1a introducci\u00f3n sobre los Displays Templates y vamos a ver c\u00f3mo incluirlos dentro de nuestro ciclo de vida.<\/strong><!--more--><\/p>\n<h1>Los Display Templates&#8230;<\/h1>\n<p>&#8230; son (como bien su nombre indica)<strong> plantillas<\/strong> <strong>para mostrar la informaci\u00f3n obtenida del servicio de b\u00fasqueda<\/strong>. Este punto hay que dejarlo claro para saber en que escenario poder plantear esta opci\u00f3n o bien plantear otro tipo de desarrollo. El servicio de b\u00fasqueda es muy potente, pero sus requisitos tambi\u00e9n son bastante grandes y quiz\u00e1s en granjas peque\u00f1as o en algunos procesos, se deben de\u00a0plantear otras posibilidades (tal y como vimos en otros <a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/2014\/06\/26\/sharepoint-realizar-consultas-multiples-listas\/\" target=\"_blank\">posts<\/a>).<\/p>\n<p><strong>Ventajas<\/strong><\/p>\n<ul>\n<li>Poder reutilizar los Templates en otros proyectos<\/li>\n<li>Similar al javascript<\/li>\n<li>Incorporado en muchos WebPart Out of the box<\/li>\n<\/ul>\n<p><strong>Inconvenientes<\/strong><\/p>\n<ul>\n<li>Solo aplicables para SharePoint<\/li>\n<li>Un poco m\u00e1s complejo que otros generadores de Plantillas en JavaScript, como pueda ser <a href=\"https:\/\/github.com\/janl\/mustache.js\/\" target=\"_blank\">MustacheJS<\/a><\/li>\n<\/ul>\n<h1>Entrando en detalle<strong>\u00a0<\/strong><\/h1>\n<p>Los Displays Templates est\u00e1n formados por dos ficheros:<\/p>\n<ul>\n<li><strong>Un fichero html<\/strong>\u00a0donde\u00a0introduciremos los datos relativos a nuestra plantilla: estructura html, asignaci\u00f3n de las propiedades administradas para los valores que se van a mostrar&#8230;<\/li>\n<li><strong>Un fichero JS.<\/strong>\u00a0SharePoint utilizar\u00e1 este fichero para realizar el renderizado, una vez nosotros realicemos cualquier modificaci\u00f3n en el html y autom\u00e1ticamente se replicar\u00e1 en el fichero JavaScript.<\/li>\n<\/ul>\n<p>*Ambos ficheros est\u00e1n sincronizados y dependen uno del otro.<\/p>\n<p>Los Display Templates puedes ser de dos tipos: <strong>Control Template o Item Template.<\/strong><\/p>\n<p><strong><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/04\/2133.figure1.jpg-550x0.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1521\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/04\/2133.figure1.jpg-550x0.jpg\" alt=\"2133.figure1.jpg-550x0\" width=\"550\" height=\"220\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/04\/2133.figure1.jpg-550x0.jpg 550w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/04\/2133.figure1.jpg-550x0-300x120.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Control Template<\/h3>\n<p>Ofrece el HTML para <strong>estructurar el dise\u00f1o general de la forma<\/strong> <strong>en que desea presentar los resultados de b\u00fasqueda<\/strong>. Por ejemplo, la plantilla de control podr\u00eda proporcionar el c\u00f3digo HTML para una partida, principio y final de una lista.<\/p>\n<h3>Item Template<\/h3>\n<p>Ofrece el HTML que determina <strong>c\u00f3mo se muestra cada elemento en el conjunto de resultados<\/strong>. Por ejemplo, la plantilla de elementos de la pantalla podr\u00eda proporcionar el c\u00f3digo HTML de un elemento de la lista que contiene una imagen, tres l\u00edneas de texto que se asignan a diferentes propiedades administradas asociados al mismo. La plantilla de elementos de visualizaci\u00f3n se hace una vez por cada elemento en el conjunto de resultados. Por lo tanto, si el conjunto de resultados contiene diez art\u00edculos, la plantilla de elementos de visualizaci\u00f3n crea su secci\u00f3n de HTML diez veces.<\/p>\n<h1>\u00bfC\u00f3mo lo aprovisionamos?<\/h1>\n<p><strong>Una vez tenemos implementada la plantilla y tenemos desarrollado el\u00a0template, tendremos que incluirlo dentro de nuestro proceso de ALM<\/strong>. Microsoft nos proporciona en esta versi\u00f3n el Design Manager para poder llevar todos los artefactos de dise\u00f1o de un entorno a otro. Ahora bien, desde mi punto de vista, el potencial del Design Manager es bastante menor que poder disponer de aspectos que nos facilitan mucho m\u00e1s la calidad de nuestro software como: la integraci\u00f3n continua, el control de c\u00f3digo fuente, etc. Pero m\u00e1s all\u00e1 de todo esto, hay que tratar todos estos artefactos tal y como al resto. De esta forma, todo nuestro desarrollo seguir\u00e1 el mismo patr\u00f3n.<\/p>\n<p>Por este motivo, lo que vamos a realizar con los Display Templates es <strong>crearnos un m\u00f3dulo que nos despliegue todos nuestros templates en la carpeta indicada. <\/strong>Para ello, crearemos un m\u00f3dulo desde Visual Studio y dentro del elements a\u00f1adiremos algo similar a lo siguiente:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;\r\n&lt;Elements xmlns=&quot;http:\/\/schemas.microsoft.com\/sharepoint\/&quot;&gt;\r\n  &lt;Module Name=&quot;DisplayTemplates&quot; Path=&quot;DisplayTemplates&quot; Url=&quot;_catalogs\/masterpage\/Display Templates&quot;&gt;\r\n    &lt;!-- CONTENIDO --&gt;\r\n    &lt;File Path=&quot;PressKit.html&quot; Url=&quot;Content Web Parts\/PressKit.html&quot; Type=&quot;GhostableInLibrary&quot; Level=&quot;Draft&quot; ReplaceContent=&quot;TRUE&quot; IgnoreIfAlreadyExists=&quot;TRUE&quot;&gt;\r\n    &lt;\/File&gt;\r\n      &lt;\/Module&gt;\r\n&lt;\/Elements&gt;\r\n<\/pre>\n<p>Dentro del File, las propiedades que tenemos que definir son:<\/p>\n<ul>\n<li><strong>Type como \u00abGhostableInLibrary<\/strong>\u00ab. Sino a\u00f1adimos esta marca, cuando se despliegue el m\u00f3dulo no se podr\u00e1 visualizar el fichero.<\/li>\n<li><strong>ReplaceContent, e IgnoreIfExist.<\/strong>\u00a0Estas propiedades las marcamos a TRUE, para cuando volvamos a desplegar, se vuelvan a actualizar los Templates.<\/li>\n<li><strong>Level=Draft.<\/strong> Aqu\u00ed hay uno de los kits de porqu\u00e9 fallan el aprovisionamiento. Si marcamos esta propiedad como Publishing, no se genera el fichero JS y, por lo tanto, no funcionan los Templates dentro de nuestros WebParts.<\/li>\n<\/ul>\n<p>A continuaci\u00f3n, una vez desplegamos el m\u00f3dulo, lo que vamos a<strong> implementar es una Feature a nivel de Web<\/strong>, cuya funci\u00f3n es publicar todos los Display Templates que est\u00e9n en estado borrador y los publiquen de esta forma. Una vez publiquemos, se generar\u00e1 el fichero JS correspondiente al fichero HTML y todo funcionar\u00e1 a la perfecci\u00f3n. Para ello, podemos utilizar un c\u00f3digo similar al siguiente:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n     public override void FeatureActivated(SPFeatureReceiverProperties properties)\r\n        {\r\n\r\n            var site = properties.Feature.Parent as SPSite;\r\n            string&#x5B;] templateFolderUrls = { &quot;_catalogs\/masterpage\/Display Templates\/Content Web Parts&quot; };\r\n            if (site == null) return;\r\n\r\n            var templatesGallery = site.GetCatalog(SPListTemplateType.MasterPageCatalog);\r\n            if (templatesGallery != null)\r\n            {\r\n\r\n                foreach (string folderUrl in templateFolderUrls)\r\n                {\r\n                    SPFolder folders = site.RootWeb.GetFolder(folderUrl);\r\n                    PublishItems(folders);\r\n\r\n                }\r\n            }\r\n        }\r\n\r\n        private static void PublishItems(SPFolder folders)\r\n        {\r\n            SPFileCollection filesCollection = folders.Files;\r\n            foreach (SPFile file in filesCollection)\r\n            {\r\n                if (file.Level == SPFileLevel.Draft)\r\n                {\r\n                    file.Publish(string.Empty);\r\n                    file.Update();\r\n                }\r\n            }\r\n            foreach (SPFolder folder in folders.SubFolders)\r\n            {\r\n                PublishItems(folder);\r\n            }\r\n        }\r\n<\/pre>\n<p>El c\u00f3digo anterior es muy simple. Lo que hace es recorrer todos los ficheros que est\u00e1n sin publicar en la carpeta de los Content Web Parts de forma recursiva, buscando todos los ficheros que est\u00e1n sin publicar y los publica.<\/p>\n<h1>Conclusi\u00f3n<\/h1>\n<p><strong>SharePoint es un producto en el que tradicionalmente ha costado mucho llevar a cabo un ciclo de vida correcto y que se pueda mantener.<\/strong> Muchos de los problemas son debido a lo sencillo que es realizar cualquier modificaci\u00f3n desde la propia interfaz, lo que hace que se realicen modificaciones en producci\u00f3n incluso por el propio usuario. Esto puede ser muy \u00e1gil en un primer momento pero es bastante peligroso y con funestas consecuencias como: p\u00e9rdida de c\u00f3digo, imposibilidad de recrear la aplicaci\u00f3n en otro entorno, etc. Con el paso de las versiones,\u00a0<strong>SharePoint ha ido mejorando mucho el ciclo de vida<\/strong> y como prueba est\u00e1 la forma de aprovisionar los Display Templates.<\/p>\n<h2>Referencias<\/h2>\n<p><a href=\"http:\/\/www.compartimoss.com\/revistas\/numero-17\/introduccion-plantillas-elementos-contenido-display-templates\" target=\"_blank\">http:\/\/www.compartimoss.com\/revistas\/numero-17\/introduccion-plantillas-elementos-contenido-display-templates<\/a><\/p>\n<p><a title=\"http:\/\/blogs.technet.com\/b\/sharepoint_quick_reads\/archive\/2013\/08\/01\/sharepoint-2013-customize-display-template-for-content-by-search-web-part-cswp-part-1.aspx\" href=\"http:\/\/blogs.technet.com\/b\/sharepoint_quick_reads\/archive\/2013\/08\/01\/sharepoint-2013-customize-display-template-for-content-by-search-web-part-cswp-part-1.aspx\" target=\"_blank\">http:\/\/blogs.technet.com\/b\/sharepoint_quick_reads\/archive\/2013\/08\/01\/sharepoint-2013-customize-display-template-for-content-by-search-web-part-cswp-part-1.aspx<\/a><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>Una de las principales novedades que trae de serie la versi\u00f3n 2013 de SharePoint es\u00a0Display Templates.\u00a0Estos artefactos vienen a substituir al tedioso XSL que se utilizaba en versiones anteriores.\u00a0 Una de las principales ventajas es que los Displays Templates utilizan &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[137],"class_list":["post-1520","post","type-post","status-publish","format-standard","hentry","category-sharepoint-2013","tag-display-template"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SharePoint: aprovisionar Display Templates - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este post vamos a ver como podemos aprovisionar los display templates de forma declarativa y de esta forma evitar ciertos inconvenientes que nos puedan surgir.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"SharePoint: aprovisionar Display Templates - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este post vamos a ver como podemos aprovisionar los display templates de forma declarativa y de esta forma evitar ciertos inconvenientes que nos puedan surgir.\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"SharePoint: aprovisionar Display Templates\",\"datePublished\":\"2015-04-07T10:00:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/\"},\"wordCount\":1158,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero17\\\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\\\/figura1.jpg\",\"keywords\":[\"display template\"],\"articleSection\":[\"sharepoint 2013\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/\",\"name\":\"SharePoint: aprovisionar Display Templates - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero17\\\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\\\/figura1.jpg\",\"datePublished\":\"2015-04-07T10:00:19+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este post vamos a ver como podemos aprovisionar los display templates de forma declarativa y de esta forma evitar ciertos inconvenientes que nos puedan surgir.\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-aprovisionar-display-templates\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero17\\\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\\\/figura1.jpg\",\"contentUrl\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero17\\\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\\\/figura1.jpg\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/\",\"name\":\"Desarrollando sobre SharePoint\",\"description\":\"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SharePoint: aprovisionar Display Templates - Desarrollando sobre SharePoint","description":"En este post vamos a ver como podemos aprovisionar los display templates de forma declarativa y de esta forma evitar ciertos inconvenientes que nos puedan surgir.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/","twitter_card":"summary_large_image","twitter_title":"SharePoint: aprovisionar Display Templates - Desarrollando sobre SharePoint","twitter_description":"En este post vamos a ver como podemos aprovisionar los display templates de forma declarativa y de esta forma evitar ciertos inconvenientes que nos puedan surgir.","twitter_image":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"SharePoint: aprovisionar Display Templates","datePublished":"2015-04-07T10:00:19+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/"},"wordCount":1158,"commentCount":1,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/#primaryimage"},"thumbnailUrl":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg","keywords":["display template"],"articleSection":["sharepoint 2013"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/","name":"SharePoint: aprovisionar Display Templates - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/#primaryimage"},"thumbnailUrl":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg","datePublished":"2015-04-07T10:00:19+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este post vamos a ver como podemos aprovisionar los display templates de forma declarativa y de esta forma evitar ciertos inconvenientes que nos puedan surgir.","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-aprovisionar-display-templates\/#primaryimage","url":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg","contentUrl":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero17\/Introducci%C3%B3n-plantillas-elementos-contenido-Display-templates\/figura1.jpg"},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/","name":"Desarrollando sobre SharePoint","description":"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/comments?post=1520"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1520\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}