{"id":1272,"date":"2014-05-06T10:00:45","date_gmt":"2014-05-06T09:00:45","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1272"},"modified":"2014-05-06T10:41:39","modified_gmt":"2014-05-06T09:41:39","slug":"sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/","title":{"rendered":"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II)"},"content":{"rendered":"<p>En el anterior post introdujimos un nuevo framework: JavaScript <a href=\"http:\/\/ractivejs.com\" target=\"_blank\">RactiveJS<\/a> que nos otorga muchas ventajas a la hora de renderizar el HTML. Ahora bien, para potenciar este framework, en este post vamos a ver c\u00f3mo poder integrarlo con Backbone.<\/p>\n<p>Backbone es uno de los frameworks m\u00e1s utilizados en aplicaciones \u00abgrandes\u00bb debido a que te permite dotar de una arquitectura MVC a la aplicaci\u00f3n JavaScript. Nuestra idea es dedicar cada framework a potenciar sus principales caracteristicas, Ractive para las Vistas y Backbone para las colecciones de datos.<br \/>\n<!--more--><\/p>\n<h2>Introducci\u00f3n a Backbone<\/h2>\n<p>Backbone es un framework que sirve para dotar de una estructura MVC en nuestro desarrollo de JavaScript, esto hace que nuestra aplicaci\u00f3n JavaScript tenga una buena arquitectura, y sea mucho m\u00e1s escalable y mantenible. Su principal fuerte es el trabajo con las colecciones, que es relativamente simple, y que la facilidad con la que obtiene el modelo de nuestra petici\u00f3n REST.<br \/>\nPor ejemplo, el trabajar con Colecciones es algo tan sencillo como lo siguiente:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nvar Empleados= new Backbone.Collection(&#x5B;\r\n  {name: &quot;Adrian&quot;, subName:&quot;Diaz&quot;},\r\n  {name: &quot;Alberto&quot;,subName:&quot;Diaz&quot;},\r\n  {name: &quot;Iwan&quot;, subName:&quot;&quot;},\r\n  {name: &quot;Hugo&quot;, subName:&quot;De Juan&quot;}\r\n]);\r\n\r\n\/\/utilizar filtros\r\nvar result= Empleados.Where({subName:&quot;Diaz&quot;});\r\nalert(result)\r\n<\/pre>\n<p>Para poder trabajar m\u00e1s facilmente con las colecciones, Backbone utiliza underscore.js para facilitarnos este trabajo.<br \/>\nBackbone esta preparado para trabajar con una API Rest autentica, de tal forma que podamos mapear directamente esta colleci\u00f3n de Backbone con nuestro origen de datos. Por ejemplo:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nEmpleados.add({name:&quot;Francisco&quot;,subName:&quot;Mart\u00ed&quot;});\r\n<\/pre>\n<p>Ahora bien. para trabajar con SharePoint, la API Rest no sigue el est\u00e1ndar 100% y por lo tanto hay que realizar algunas modificaciones para adaptar Backbone con la forma que trabaja SharePoint. Para solventar este inconveniente tenemos dos opciones:<\/p>\n<ol>\n<li>Extender las Colecciones de Backbone<\/li>\n<li>Utilizar este proyecto <a href=\"https:\/\/github.com\/lstak\/Backbone.SharePoin\" target=\"_blank\">GitHub <\/a>que parsea las listas de SharePoint con las colecciones de Backbone<\/li>\n<\/ol>\n<p>En nuestro vamos a utilizar este proyecto GitHub, ya que tiene todas las operaciones CRUD y esta preparado tanto para la versi\u00f3n OnLine como OnPremises.<\/p>\n<p>Como utilizarlo:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n \/\/ You define a Contact Model for items by extending Backbone.SP.Item\r\n\/\/ Required parameters are the SharePoint site and the name of the list\r\n\r\nvar Contact = Backbone.SP.Item.extend({\r\n    site: '\/teamsite',\r\n    list: 'Contacts'\r\n})\r\n\/\/ Create a new contact, the attributes refer to item column names.\r\n\/\/ Please note capitals. We follow SharePoint conventions\r\nvar contact = new Contact({ LastName: &quot;Davis&quot; })\r\n\r\n\/\/ At this point we have a new contact model, but is not yet saved to the server.\r\n\/\/ So let's save it to the server.\r\ncontact.save()\r\n\r\n\/\/ you can define a SP List by extending Backbone.SP.List.\r\n\/\/ Configure the list by associating it with a Model extended from Backbone.SP.Item\r\nvar Contacts = Backbone.SP.List.extend({\r\n    model: Contact\r\n})\r\n\r\n\/\/ now, you can create a list\r\nvar contacts = new Contacts\r\n\r\n\/\/ get contacts list from the server\r\ncontacts.fetch()\r\n\r\n\/\/ the fetch options allow you to use query options\r\n\/\/ for example, the request below will fetch only the LastName and FirstName columns\r\n\/\/ for item 11..15 when ordered descending by LastName\r\ncontacts.fetch({\r\n    select: 'LastName, FirstName',\r\n    orderby: 'LastName desc',\r\n    top: 5,\r\n    skip:10\r\n})\r\n<\/pre>\n<h2>A\u00f1adir a RactiveJS: Backbone<\/h2>\n<p>Como hemos visto tanto Ractive como Backbone son dos grandes frameworks JavaScript, pero cada uno de ellos tiene unas caracter\u00edsticas especificas, lo que queremos hacer es aprovechar el punto fuerte de ambos. RactiveJS se encargar\u00e1 del renderizado de las vistas y la l\u00f3gica de negocio la incluiremos con Backbone.<\/p>\n<p>Para empezar a incluirlos, en primer lugar, cuando nos creemos un objeto RactiveJS, lo que tendremos que hacer es indicar a RactiveJS que va a utilizar un adaptar Backbone que sera el encargado de enviarle las colecciones de Backbone al objeto RactiveJS.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    ractive = new Ractive({\r\n        el: example,\r\n        template: template,\r\n        adapt: &#x5B;'Backbone']\r\n    });\r\n<\/pre>\n<p>Una vez indicado que vamos a utilizar Backbone, el siguiente paso es crear la\/s coleccion\/es que vamos a utilizar, en nuestro ejemplo vamos a crear una colecci\u00f3n Contactos (que ser\u00e1 una lista de SharePoint).<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nvar Contact = Backbone.SP.Item.extend({\r\n    site: '\/teamsite',\r\n    list: 'Contacts'\r\n});\r\nvar Contacts = Backbone.SP.List.extend({\r\n    model: Contact\r\n});\r\nvar contacts = new Contacts;\r\n<\/pre>\n<p>Una vez consultados los datos, asignamos esta colecci\u00f3n a nuestro objeto RactiveJS para ello:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n ractive.set({\r\n    contacts: contacts\r\n  });\r\n<\/pre>\n<p>Con esta forma tan sencilla hemos delegado la manipulaci\u00f3n de los datos a Backbone, y ahora mismo trabajar con listas de SharePoint es algo transparente al sistema. No tenemos que estar pensando en sentencias CAMLQuery, ni en llamadas as\u00edncronas que nos dificulten el trabajo. Backbone trabaja de forma \u00abnormal\u00bb a como si trabajase con otra API Rest y esto nos abstrae de problemas en la comunicaci\u00f3n. Adem\u00e1s, no solamente se encarga de los datos, sino que tambi\u00e9n tiene la posibilidad de utilizar vistas, aunque el renderizado de las mismas no es tan eficiente como el de Ractive. Esta forma de utilizar Backbone esta presente en algunos otros frameworks JavaScript que intentan aprovechar esta potencia con el manejo de colecciones y centrarse en la capa vista.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Hemos visto que existen muchas alternativas de frameworks JavaScript, RactiveJS es una gran alternativa para poder utilizarla ya que es muy flexible y permite potenciarla con otros frameworks. Al integrarlo con otros frameworks tenemos el beneficio de potenciar lo que no tiene Ractive y solamente quedarnos con lo mejor del otro framework. As\u00edmismo, conforme vamos desarrollando proyectos en RactiveJS vamos teniendo cada vez m\u00e1s componentes, lo que hace que podamos reutilizarlos y ser m\u00e1s eficientes. En el siguiente post escribir\u00e9 c\u00f3mo incluimos todo en nuestros desarrollos diarios en <a title=\"ENCAMINA\" href=\"http:\/\/www.encamina.com\" target=\"_blank\">ENCAMINA<\/a> (algo que por problemas en la conexi\u00f3n no pudimos hacer en el GUSENET).<\/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>En el anterior post introdujimos un nuevo framework: JavaScript RactiveJS que nos otorga muchas ventajas a la hora de renderizar el HTML. Ahora bien, para potenciar este framework, en este post vamos a ver c\u00f3mo poder integrarlo con Backbone. Backbone &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/\">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,100],"tags":[35,107,19,106],"class_list":["post-1272","post","type-post","status-publish","format-standard","hentry","category-buenas-practicas","category-javascript-2","tag-apps","tag-backbone","tag-javascript","tag-ractivejs"],"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] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II) - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este articulo vamos a ver como podemos integrar Backbone con Ractive dentro de nuestros desarrollos para SharePoint, veremos las ventajas obtenemos al juntarlo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II) - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este articulo vamos a ver como podemos integrar Backbone con Ractive dentro de nuestros desarrollos para SharePoint, veremos las ventajas obtenemos al juntarlo.\" \/>\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=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II)\",\"datePublished\":\"2014-05-06T09:00:45+00:00\",\"dateModified\":\"2014-05-06T09:41:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/\"},\"wordCount\":1000,\"commentCount\":0,\"keywords\":[\"apps\",\"backbone\",\"JavaScript\",\"ractivejs\"],\"articleSection\":[\"buenas practicas\",\"javascript\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/\",\"name\":\"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II) - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"datePublished\":\"2014-05-06T09:00:45+00:00\",\"dateModified\":\"2014-05-06T09:41:39+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este articulo vamos a ver como podemos integrar Backbone con Ractive dentro de nuestros desarrollos para SharePoint, veremos las ventajas obtenemos al juntarlo.\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\\\/\"]}]},{\"@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] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II) - Desarrollando sobre SharePoint","description":"En este articulo vamos a ver como podemos integrar Backbone con Ractive dentro de nuestros desarrollos para SharePoint, veremos las ventajas obtenemos al juntarlo.","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":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/","twitter_card":"summary_large_image","twitter_title":"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II) - Desarrollando sobre SharePoint","twitter_description":"En este articulo vamos a ver como podemos integrar Backbone con Ractive dentro de nuestros desarrollos para SharePoint, veremos las ventajas obtenemos al juntarlo.","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/#article","isPartOf":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II)","datePublished":"2014-05-06T09:00:45+00:00","dateModified":"2014-05-06T09:41:39+00:00","mainEntityOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/"},"wordCount":1000,"commentCount":0,"keywords":["apps","backbone","JavaScript","ractivejs"],"articleSection":["buenas practicas","javascript"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/","url":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/","name":"[SharePoint] Crear una interfaz de usuario potente: Integrar Backbone + Ractive.JS (II) - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"datePublished":"2014-05-06T09:00:45+00:00","dateModified":"2014-05-06T09:41:39+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este articulo vamos a ver como podemos integrar Backbone con Ractive dentro de nuestros desarrollos para SharePoint, veremos las ventajas obtenemos al juntarlo.","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-crear-una-interfaz-de-usuario-potente-integrar-backbone-ractive-js-ii\/"]}]},{"@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\/1272","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=1272"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1272\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}