{"id":1236,"date":"2014-03-18T11:09:41","date_gmt":"2014-03-18T10:09:41","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1236"},"modified":"2014-03-18T12:12:52","modified_gmt":"2014-03-18T11:12:52","slug":"que-es-el-getlimitedwebpartmanager-utilidad-y-uso","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/","title":{"rendered":"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso"},"content":{"rendered":"<p>En este post voy a explicar detalladamente uno de los componentes m\u00e1s importantes que hay en SharePoint, su nombre no es muy conocido es el <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/microsoft.sharepoint.spweb.getlimitedwebpartmanager(v=office.15).ASPX\" target=\"_blank\">GetLimitedWebPartManager<\/a>. Si en lugar de decir este palabrota indicamos que es un objeto dentro del modelo de objetos servidor de SharePoint que es el encargado de todos los aspectos relacionados con los WebParts dentro de una p\u00e1gina, quiz\u00e1s ya os va sonando mucho mejor.<\/p>\n<h2>\u00bfPor qu\u00e9 es importante?<\/h2>\n<p>En m\u00e1s de una ocasi\u00f3n he comentado que uno de los grandes problemas que hay dentro de los desarrollos de SharePoint es el ciclo de vida de la Aplicaci\u00f3n, ya que la migraci\u00f3n entre entornos es un gran problema en multitud de equipos y proyectos que se llevan a cabo. Para poder migrar los entornos sin muchos problemas hay que conocer muy bien SharePoint y todos sus elementos, adem\u00e1s de seguir unas pautas en los desarrollos,etc&#8230; hay que tener conocimiento. En <a href=\"http:\/\/www.encamina.com\" target=\"_blank\">Encamina<\/a> estamos desarrollando un FrameWork <strong>ENMARCHA<\/strong> que nos facilita la migraci\u00f3n entre entornos de una forma m\u00e1s simple.<!--more--><br \/>\nPara la creaci\u00f3n\/actualizaci\u00f3n de las p\u00e1ginas de un entorno en otro tenemos dos opciones:<\/p>\n<ol>\n<li>Crear una caracter\u00edstica con todas las configuraci\u00f3n de las p\u00e1ginas que tiene nuestro sitio. Adem\u00e1s de a\u00f1adir toda la configuraci\u00f3n de estos WebParts en esta car\u00e1cteristica, con las peculiaridad de que cada WebPart es totalmente diferente al anterior. Un ejemplo de como hacerlo es este <a href=\"http:\/\/geeks.ms\/blogs\/jcgonzalez\/archive\/2013\/11\/17\/sharepoint-como-a-241-adir-program-225-ticamente-una-web-part-custom-a-una-p-225-gina-i.aspx\" target=\"_blank\">post<\/a> del maestro <a href=\"https:\/\/twitter.com\/jcgm1978\" target=\"_blank\">Juan Carlos Gonzalez \u00a0<\/a><\/li>\n<li>La otra opci\u00f3n es que exista alguna forma de obtener los WebParts que hay en una p\u00e1gina y extraer su configuraci\u00f3n para posteriormente importarla en el otro entorno.<\/li>\n<\/ol>\n<p>Si nos decantamos por la opci\u00f3n 1 es una elecci\u00f3n que da mucho m\u00e1s trabajo y que obliga al programador a cada p\u00e1gina que se cree actualizar la caracter\u00edstica y sobre todo la configuraci\u00f3n. Adem\u00e1s el equipo no solo lo forma programadores sino tambi\u00e9n esta forma por otros integrantes que quiz\u00e1s tengan que crear p\u00e1ginas y darles contenido. Por lo que esta opci\u00f3n <strong>NO<\/strong> es una opci\u00f3n valida.<\/p>\n<p>La opci\u00f3n 2 en una primera impresi\u00f3n parece una carta a los Reyes Mayos, pero es mucho m\u00e1s pr\u00f3xima a la realidad. Ya que el GetLimitedWebPartManager nos puede ayudar y mucho en este objetivo. Esta clase tiene una funci\u00f3n para obtener todos los WebParts de una p\u00e1gina y tambi\u00e9n de poder extraer la configuraci\u00f3n de estos WebParts en un fichero de configuraci\u00f3n.<br \/>\n<strong>Extraer los WebParts<\/strong><br \/>\nPara extraer los WebParts de una p\u00e1gina con un c\u00f3digo semejante al siguiente es posible:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n                var spPageCollection = Web.Lists&#x5B;Name].GetItems();\r\n                foreach (SPItem page in spPageCollection)\r\n                {\r\n                    try\r\n                    {\r\n                        var url = page&#x5B;&quot;ows_FileRef&quot;].ToString();\r\n                        using (var wpMgr =\r\n                            Web.GetLimitedWebPartManager(\r\n                                url, PersonalizationScope.Shared))\r\n                        {\r\n                            foreach (Microsoft.SharePoint.WebPartPages.WebPart webpart in wpMgr.WebParts)\r\n                            {\r\n                                if (!Directory.Exists(string.Concat(Directory.GetCurrentDirectory(), &quot;\/WebParts\/&quot;, Name,\r\n                                    &quot;\/&quot;, page&#x5B;&quot;Title&quot;], &quot;\/&quot;, Path.GetFileName(url))))\r\n                                {\r\n                                    Directory.CreateDirectory(string.Concat(Directory.GetCurrentDirectory(),\r\n                                        &quot;\/WebParts\/&quot;, Name,\r\n                                        &quot;\/&quot;, page&#x5B;&quot;Title&quot;], &quot;\/&quot;, Path.GetFileName(url)));\r\n                                }\r\n                                var xwTmp =\r\n                                    new XmlTextWriter(string.Concat(Directory.GetCurrentDirectory(), &quot;\/WebParts\/&quot;, Name,\r\n                                        &quot;\/&quot;, page&#x5B;&quot;Title&quot;], &quot;\/&quot;, Path.GetFileName(url), &quot;\/&quot;, webpart.Title),\r\n                                        Encoding.UTF8);\r\n                                try\r\n                                {\r\n                                    wpMgr.ExportWebPart(webpart, xwTmp);\r\n                                    xwTmp.Flush();\r\n                                    xwTmp.Close();\r\n                                }\r\n                                catch (Exception exception)\r\n                                {\r\n                                    Logger.Error(exception.Message);\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n                    catch (Exception exception)\r\n                    {\r\n                        Logger.Error(string.concat(&quot;Errr Extract WebParts &quot;,exception.Message));\r\n                    }\r\n                }\r\n<\/pre>\n<p>El c\u00f3digo arriba mencionado lo que hace es leer una biblioteca de P\u00e1ginas y sobre cada elemento de esta biblioteca extrae estos WebParts a unos ficheros de configuraci\u00f3n para posteriormente poderlos importar en otro entorno.<\/p>\n<p><strong>Importar los WebParts<\/strong><br \/>\nPara importar los WebParts previamente exportados, se hace de una forma muy sencilla con leer los ficheros anteriormente creados y con el m\u00e9todo <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/microsoft.sharepoint.webpartpages.splimitedwebpartmanager.importwebpart.aspx\" target=\"_blank\">ImportWebPart <\/a>que esta incluido dentro del GetLimitedWebPartManager. Con un c\u00f3digo como el siguiente es posible:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvar directoryCollection =\r\n                Directory.GetDirectories(string.Concat(Directory.GetCurrentDirectory(), &quot;\\\\WebParts\\\\&quot;, Name));\r\n            foreach (var directory in directoryCollection)\r\n            {\r\n                var url = Path.GetFileName(directory);\r\n                var fileCollection = Directory.GetFiles(directory);\r\n                foreach (var file in fileCollection)\r\n                {\r\n                    using (var wpMgr =\r\n                        Web.GetLimitedWebPartManager(\r\n                            &quot;SitePages\/&quot; + url, PersonalizationScope.Shared))\r\n                    {\r\n                        var webPart = System.IO.File.ReadAllText(file);\r\n                        var reader = new XmlTextReader(new StringReader(webPart));\r\n                        string mensajeError;\r\n                        var wp = wpMgr.ImportWebPart(reader, out mensajeError);\r\n                        wpMgr.AddWebPart(wp, &quot;&quot;, 0);\r\n                    }\r\n                }\r\n            }\r\n<\/pre>\n<p><strong>Posibles Problemas<\/strong><br \/>\nNo todo es color de rosa, anteriormente he indicado que hace falta conocimiento para poder realizar estos pasos. Esta claro que para estos dos pasos los puede realizar cualquier developer sin conocimientos sobre SharePoint. Pero developers que conocemos como funciona SharePoint podremos saber que esta forma funciona en la gran mayor\u00eda de los WebParts que existen, pero existen ciertas particularidades entre entornos. En primer lugar hay WebParts que muestran la informaci\u00f3n relativa a una lista (XSLTViewWebParts) este WebPart esta vinculado a la lista mediante un ID de lista y este Identificador es diferente dependiendo del entorno en el que nos encontremos. Por lo que para poder importarlo entre un entorno u otro hay que realizar algunas modificaciones en el fichero de configuraci\u00f3n. Estas modificaciones no son objeto de este post, aunque las aboraderemos en futuros post.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>SharePoint en algunos desarrollos no es una herramienta sencilla y hace falta un conocimiento relativamente importante sobre la plataforma para poder abordar algunos aspectos. Esta dificultad en Encamina la intentamos abordar atrav\u00e9s de ENMARCHA para establecer las pautas en los desarrolos y que sirva de gu\u00eda a todos los miembros del equipo para facilitarnos los aspectos m\u00e1s complejos de SharePoint. Pero m\u00e1s all\u00e1 de todo esto hace que funcionemos como un EQUIPO.<\/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 este post voy a explicar detalladamente uno de los componentes m\u00e1s importantes que hay en SharePoint, su nombre no es muy conocido es el GetLimitedWebPartManager. Si en lugar de decir este palabrota indicamos que es un objeto dentro del &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/\">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],"tags":[31,99,98],"class_list":["post-1236","post","type-post","status-publish","format-standard","hentry","category-buenas-practicas","tag-alm","tag-getlimitedwebpart","tag-webpart"],"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>\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este articulo describiremos la funcionalidad del getlimitedwebpartmanagery veremos como poder utilizarlo correctamente\" \/>\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\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este articulo describiremos la funcionalidad del getlimitedwebpartmanagery veremos como poder utilizarlo correctamente\" \/>\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\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso\",\"datePublished\":\"2014-03-18T10:09:41+00:00\",\"dateModified\":\"2014-03-18T11:12:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/\"},\"wordCount\":984,\"commentCount\":0,\"keywords\":[\"alm\",\"getlimitedwebpart\",\"webpart\"],\"articleSection\":[\"buenas practicas\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/\",\"name\":\"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"datePublished\":\"2014-03-18T10:09:41+00:00\",\"dateModified\":\"2014-03-18T11:12:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este articulo describiremos la funcionalidad del getlimitedwebpartmanagery veremos como poder utilizarlo correctamente\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\\\/\"]}]},{\"@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":"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso - Desarrollando sobre SharePoint","description":"En este articulo describiremos la funcionalidad del getlimitedwebpartmanagery veremos como poder utilizarlo correctamente","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\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/","twitter_card":"summary_large_image","twitter_title":"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso - Desarrollando sobre SharePoint","twitter_description":"En este articulo describiremos la funcionalidad del getlimitedwebpartmanagery veremos como poder utilizarlo correctamente","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso","datePublished":"2014-03-18T10:09:41+00:00","dateModified":"2014-03-18T11:12:52+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/"},"wordCount":984,"commentCount":0,"keywords":["alm","getlimitedwebpart","webpart"],"articleSection":["buenas practicas"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/","name":"\u00bfQu\u00e9 es el GetLimitedWebPartManager? Utilidad y uso - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"datePublished":"2014-03-18T10:09:41+00:00","dateModified":"2014-03-18T11:12:52+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este articulo describiremos la funcionalidad del getlimitedwebpartmanagery veremos como poder utilizarlo correctamente","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/que-es-el-getlimitedwebpartmanager-utilidad-y-uso\/"]}]},{"@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\/1236","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=1236"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1236\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}