{"id":994,"date":"2013-10-29T11:00:08","date_gmt":"2013-10-29T10:00:08","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=994"},"modified":"2013-10-29T10:48:00","modified_gmt":"2013-10-29T09:48:00","slug":"introduccion-mustache-js-dentro-de-sharepoint","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/","title":{"rendered":"Introducci\u00f3n a Mustache.js dentro de SharePoint"},"content":{"rendered":"<p><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1001\" alt=\"mustache\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg\" width=\"225\" height=\"225\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg 225w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images-150x150.jpg 150w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a>Uno de los grandes problemas que nos encontramos entre los equipos de desarrollo a la hora de poder realizar el trabajo de la forma mucho m\u00e1s sencilla posible, es la sincronizaci\u00f3n entre los dise\u00f1adores y los desarrolladores. <strong>Esto en SharePoint es un problema<\/strong>, ya que los miembros del equipo no pueden estar trabajando simult\u00e1neamente en la misma tarea y siempre es necesario que uno empiece a continuaci\u00f3n del otro, o bien que trabaje m\u00e1s de la cuenta.<\/p>\n<p>Por ejemplo, tenemos que desarrollar un listado con los \u00faltimos elementos de una lista, las tareas est\u00e1n claras a priori \u00bfno? Por un lado el equipo de Dise\u00f1o se tiene que encargar de realizar el HTML y el equipo de desarrollo se tiene que encargar de introducir la l\u00f3gica para mostrar la informaci\u00f3n de la lista de SharePoint. En teor\u00eda, son dos tareas que se pueden separar ya que las van a realizar dos personas totalmente distintas y que en principio no debe de haber ninguna dependencia. Pero esto, introducido dentro del entorno SharePoint se traduce en que tenemos que implementar un Visual Web Part, por lo que, puesto en la practica, los desarrolladores tenemos dos opciones:<!--more--><\/p>\n<ol>\n<li>Esperar a que el equipo de dise\u00f1o empiece a hacer el HTML para introducirlo en el WebPart<\/li>\n<li>Empezar a desarrollar, hacer un HTML b\u00e1sico e implementar la l\u00f3gica del formulario<\/li>\n<\/ol>\n<p><strong>Desventajas<\/strong><\/p>\n<p>Naturalmente la gran desventaja es que tenemos que trabajar o bien m\u00e1s de la cuenta en la opci\u00f3n 2 o dependemos de que el equipo de dise\u00f1o realice su trabajo para que nosotros podamos empezar. Esto, trasladado al mundo real es algo que no podemos permitirnos, no podemos depender de que otros terminen su trabajo para poder comenzar porque quiz\u00e1s el tiempo que tenga que emplear uno u otro no es el mismo.<\/p>\n<p>Si lo miramos desde el prisma de un dise\u00f1ador, esta opci\u00f3n tampoco es 100 % de su agrado. \u00bfMotivo? terminan su HTML, pero antes de ponerlo en producci\u00f3n necesitan a\u00f1adir un nuevo campo que no estaba establecido, pues tienen que volver a enviar el HTML al desarrollador para volverlo a introducir en su desarrollo. Quiz\u00e1s un trabajo que pod\u00eda ser 10 minutos pueda costar m\u00e1s de una hora en total. Lo cual hace que cada vez la productividad se vaya perdiendo.<\/p>\n<p><strong>\u00bfComo podemos ser m\u00e1s productivos?<\/strong><\/p>\n<p>En este momento es en el que se introduce Mustache.js. <strong>\u00bfQue es \u00a0Mustache.js?<\/strong> es una \u00abfamosa\u00bb libreria javascript que se utiliza para crear plantillas HTML en las que mediante JavaScript se pueden rellenar sus valores en tiempo de ejecuci\u00f3n. Por explicarlo de alguna forma sencilla es como los Displays Templates que se utilizan en el Content By Search pero pudi\u00e9ndolo emplear en cualquier parte de SharePoint. Utilizando Mustache.js tenemos la opci\u00f3n por un lado, de que el equipo de dise\u00f1o cree la plantilla del Formulario y por otro, los desarrolladores implementen la l\u00f3gica para guardar los datos introducidos en el formulario.<\/p>\n<p><strong>\u00bfComo funciona Mustache?<\/strong><\/p>\n<p>Por un lado en el HTML tenemos que definir los campos que queremos que se rellenen de forma automatica mediante el simbolo \u00abmustache\u00bb {{ }}. De tal forma que, por ejemplo, si queremos mostrar la lista de Clientes con sus determinados datos tendriamos que poner el siguiente HTML:<\/p>\n<p>&lt;\/pre&gt;<br \/>\n&lt;div id=&quot;customers-table-template&quot;&gt;{{headers.Contact}}{{headers.Country}}{{headers.Edad}}<br \/>\n{{Contact}}{{Country}}{{Edad}}<br \/>\n&lt;table id=&quot;customers&quot;&gt;<br \/>\n&lt;tbody&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;th&gt;{{headers.Company}}&lt;\/th&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;!&#8211; {{#customers}} &#8211;&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td&gt;{{Company}}&lt;\/td&gt;<br \/>\n&lt;!&#8211; {{\/customers}} &#8211;&gt;&lt;\/tr&gt;<br \/>\n&lt;\/tbody&gt;<br \/>\n&lt;\/table&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;pre&gt;<\/p>\n<p>Este HTML se puede introducir en SharePoint de dos formas:<\/p>\n<ol>\n<li>Mediante un PageLayout en caso de que lo queramos reutilizar.<\/li>\n<li>Mediante el WebPart de Fragmento de c\u00f3digo, en caso de que sea un aspecto puntual y que solo se vaya a utilizar en ese momento.<\/li>\n<\/ol>\n<p>Mi recomendaci\u00f3n es que estas plantillas est\u00e1n guardadas en PageLayouts de forma que, conforme vayamos desarrollando cada vez estas plantillas las podamos reutilizar y si en los siguientes proyectos nos piden un listado de clientes solamente nos quedar\u00e1 ajustar los CSS \ud83d\ude42<\/p>\n<p>Una vez la parte de dise\u00f1o est\u00e1 realizada, al mismo tiempo los desarrolladores pueden ir implementando la l\u00f3gica para consultar la lista de SharePoint. Para que una vez tengamos los datos, Mustache se encargue de realizar la magia de cambiar la plantilla HTML por los valores obtenidos. Para ello implementamos un JavaScript como el siguiente:<\/p>\n<p>Con esto tenemos el siguiente resultado:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\njQuery.ajax({\r\n        url: &quot;http:\/\/sharepoint.test\/_api\/web\/lists\/GetByTitle('Demo')\/items&quot;,\r\n        type: &quot;GET&quot;,\r\n\r\n        headers: {\r\n            &quot;accept&quot;: &quot;application\/json;odata=verbose&quot;,\r\n            &quot;content-type&quot;:&quot;application\/json;odata=verbose&quot;,\r\n            &quot;X-RequestDigest&quot;: $(&quot;#__REQUESTDIGEST&quot;).val()\r\n        },\r\n        success: function (data) {\r\n\r\n\t   var customers=&#x5B;];\r\n\t\t   for (var i=0;i&lt;data.d.results.length;i++)\r\n\t\t   {\r\n\t\t   customers&#x5B;i]={'Company':data.d.results&#x5B;i].Title,\r\n\t\t\t\t\t\t 'Contact':data.d.results&#x5B;i].Contact,\r\n\t\t\t\t\t\t 'Country':data.d.results&#x5B;i].Country,\r\n\t\t\t\t\t\t 'Edad':data.d.results&#x5B;i].Edad}\r\n\t\t   }\r\n       var tabledef = {headers: {Company: &quot;Company&quot;,\r\n                                 Contact: &quot;Contact&quot;,\r\n                                 Country: &quot;Country&quot;,\r\n\t\t\t\t\t\t\t\t Edad: &quot;Edad&quot;},\r\n                       customers: customers};\r\n\r\n       $( '#customers-table' ).simpletable(tabledef);\r\n\r\n\t\t   },\r\n        error: function (x, y, z) {\r\n           alert(&quot;Oooooops... it looks like something went wrong uploading your file.&quot;);\r\n\t\t   }\r\n});\r\n\r\n<\/pre>\n<p><strong>\u00bfPosibles Inconvenientes?<\/strong><\/p>\n<p>Esta claro (y no es parte de este post) que cada vez que se requiera una modificaci\u00f3n ser\u00e1 necesario que exista por lo menos una parte de dise\u00f1o y otra parte de desarrollo. Tambi\u00e9n es posible que desde desarrollo se dejen preparados m\u00e1s campos de los que se muestren pensando en que en un futuro se vayan a utilizar. Pero esta opci\u00f3n se tendr\u00eda que desechar principalmente porque la consulta realizada no ser\u00eda optima y se estar\u00eda trayendo m\u00e1s informaci\u00f3n que la extrictamente necesaria.<\/p>\n<p>Esta forma de trabajar requiere de mucho compromiso entre las dos partes del equipo, pero estamos trabajando en un mundo en el que la relaci\u00f3n entre los miembros del equipo debe de ser fluida y no que sean dos bloques independientes. Lo que buscamos con esta forma de trabajar es eliminar las dependencias entre unos y otros, no que se dejen de hablar \ud83d\ude1b<\/p>\n<p>Otro de los inconvenientes es que es necesario tener un escenario con los datos de prueba, de tal forma que la parte de dise\u00f1o pueda comprobar realmente como ha quedado su dise\u00f1o cuando tenga datos reales. Para solucionar este inconveniente la tarea es un poco m\u00e1s compleja y se saldr\u00eda del contenido de este post. Pero seria preparar \u00abalgo\u00bb para que desde dise\u00f1o se pudieran consultar los \u00abmock\u00bb. Como? pues con un generador de datos de prueba \ud83d\ude42<\/p>\n<p><strong>Conclusi\u00f3n<\/strong><\/p>\n<p>Hemos visto como en SharePoint tambi\u00e9n se puede trabajar de forma \u00e1gil y r\u00e1pida al igual que en otro tipo de proyectos de otras tecnolog\u00edas. Para ello, por un lado es necesario el conocimiento en SharePoint, pero tambi\u00e9n una visi\u00f3n \u00abdiferente\u00bb y \u00abcr\u00edtica\u00bb de c\u00f3mo se pueden hacer mejor las cosas y para esta parte el ser compa\u00f1ero de gente como <a href=\"http:\/\/blogs.encamina.com\/returnvalue\/\" target=\"_blank\">Iwan (CTO de ENCAMINA)<\/a> te facilita mucho las cosas, ya que cuando tu has pensado una soluci\u00f3n el ya tiene la respuesta a la misma, aparte de su gran conocimiento.<\/p>\n<p><strong>Enlaces de Interes<\/strong><\/p>\n<p><a href=\"https:\/\/github.com\/janl\/mustache.js\">https:\/\/github.com\/janl\/mustache.js<\/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>Uno de los grandes problemas que nos encontramos entre los equipos de desarrollo a la hora de poder realizar el trabajo de la forma mucho m\u00e1s sencilla posible, es la sincronizaci\u00f3n entre los dise\u00f1adores y los desarrolladores. Esto en SharePoint &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/\">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":[2,11],"tags":[74,73,26],"class_list":["post-994","post","type-post","status-publish","format-standard","hentry","category-buenas-practicas","category-sharepoint-2013","tag-js","tag-mustache","tag-sharepoint"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introducci\u00f3n a Mustache.js dentro de SharePoint - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este art\u00edculo mostramos una introducci\u00f3n a mustache.js dentro de nuestros desarrollos de SharePoint. Con la finalidad de dar mucha agilidad a nuestros desarrollos.\" \/>\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\/introduccion-mustache-js-dentro-de-sharepoint\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Introducci\u00f3n a Mustache.js dentro de SharePoint - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este art\u00edculo mostramos una introducci\u00f3n a mustache.js dentro de nuestros desarrollos de SharePoint. Con la finalidad de dar mucha agilidad a nuestros desarrollos.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.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\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"Introducci\u00f3n a Mustache.js dentro de SharePoint\",\"datePublished\":\"2013-10-29T10:00:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/\"},\"wordCount\":1294,\"commentCount\":4,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/10\\\/images.jpg\",\"keywords\":[\"js\",\"mustache\",\"sharepoint\"],\"articleSection\":[\"buenas practicas\",\"sharepoint 2013\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/\",\"name\":\"Introducci\u00f3n a Mustache.js dentro de SharePoint - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/10\\\/images.jpg\",\"datePublished\":\"2013-10-29T10:00:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este art\u00edculo mostramos una introducci\u00f3n a mustache.js dentro de nuestros desarrollos de SharePoint. Con la finalidad de dar mucha agilidad a nuestros desarrollos.\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/introduccion-mustache-js-dentro-de-sharepoint\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/10\\\/images.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/10\\\/images.jpg\",\"width\":225,\"height\":225,\"caption\":\"mustache\"},{\"@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":"Introducci\u00f3n a Mustache.js dentro de SharePoint - Desarrollando sobre SharePoint","description":"En este art\u00edculo mostramos una introducci\u00f3n a mustache.js dentro de nuestros desarrollos de SharePoint. Con la finalidad de dar mucha agilidad a nuestros desarrollos.","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\/introduccion-mustache-js-dentro-de-sharepoint\/","twitter_card":"summary_large_image","twitter_title":"Introducci\u00f3n a Mustache.js dentro de SharePoint - Desarrollando sobre SharePoint","twitter_description":"En este art\u00edculo mostramos una introducci\u00f3n a mustache.js dentro de nuestros desarrollos de SharePoint. Con la finalidad de dar mucha agilidad a nuestros desarrollos.","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.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\/introduccion-mustache-js-dentro-de-sharepoint\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"Introducci\u00f3n a Mustache.js dentro de SharePoint","datePublished":"2013-10-29T10:00:08+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/"},"wordCount":1294,"commentCount":4,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg","keywords":["js","mustache","sharepoint"],"articleSection":["buenas practicas","sharepoint 2013"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/","name":"Introducci\u00f3n a Mustache.js dentro de SharePoint - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg","datePublished":"2013-10-29T10:00:08+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este art\u00edculo mostramos una introducci\u00f3n a mustache.js dentro de nuestros desarrollos de SharePoint. Con la finalidad de dar mucha agilidad a nuestros desarrollos.","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/introduccion-mustache-js-dentro-de-sharepoint\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/10\/images.jpg","width":225,"height":225,"caption":"mustache"},{"@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\/994","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=994"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/994\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}