{"id":1583,"date":"2015-06-16T11:00:18","date_gmt":"2015-06-16T10:00:18","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1583"},"modified":"2015-06-16T08:58:14","modified_gmt":"2015-06-16T07:58:14","slug":"principio-de-responsabilidad-y-sharepoint","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/","title":{"rendered":"Principio de responsabilidad y SharePoint"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300\" alt=\"\" width=\"300\" height=\"94\" \/>Muchas veces cuando nos iniciamos en el desarrollo queremos abarcarlo enfoc\u00e1ndonos en el resultado a obtener, sin importar muchas veces la forma ni el fondo. En SharePoint, por la forma en la que extendemos su funcionamiento fuera de la caja (OOTB), tenemos a introducir en un WebPart todo lo necesario para cumplir el objetivo. Dentro de este <strong>WebPart<\/strong> est\u00e1 claro que tendremos que incluir los siguientes <strong>componentes<\/strong>:<br \/>\n<!--more--><\/p>\n<ul>\n<li>C\u00f3digo Behind<\/li>\n<li>Ficheros de dise\u00f1o (CSS, im\u00e1genes,&#8230;)<\/li>\n<li>JavaScript<\/li>\n<li>Definici\u00f3n de Listas, Tipos de Contenido, PageLayouts, MasterPages.<\/li>\n<\/ul>\n<p>Pero muchas veces adoptamos decisiones <strong>sin pensar en cada elemento que desarrollamos y unificamos todos estos elementos en un TODO.<\/strong> Esto hace que nuestros desarrollos desplegados en otro entorno, dejen de funcionar. Otras veces, desarrollamos tratando cada elemento por separado y lo que ocurre (en el mejor de los casos) es que duplicamos la carga de ficheros y, en el resto de ocasiones, que tengamos problemas entre los propios WebParts. Muchas veces hay WebPart que se solapan estilos, que se reemplazan desarrollos de JavaScript. <strong>\u00bfPor qu\u00e9 no aplicamos patrones que sabemos su certeza?<\/strong><\/p>\n<h2>\u00bfQu\u00e9 es el principio de responsabilidad?<\/h2>\n<p>El Principio de Responsabilidad \u00danica o Single Responsability Principle est\u00e1 <strong>basado en el Principio de Cohesi\u00f3n<\/strong> y <strong>describe el nivel de acoplamiento ordinal<\/strong> entre m\u00f3dulos dentro de la ingenier\u00eda del Software.<\/p>\n<h3>Una clase debe tener una y s\u00f3lo una \u00fanica causa por la cual puede ser modificada<strong><em><br \/>\n<\/em><\/strong><\/h3>\n<p>Si una clase\/fichero\/artefacto tiene dos responsabilidades entonces asume dos motivos por los cuales puede ser modificada.\u00a0Ahora bien, este principio de responsabilidad para facilitarnos el mantenimiento del mismo lo que significa es que <strong>cada elemento solamente realiza una \u00fanica cosa<\/strong> y que esta cosa la hace bien.<\/p>\n<h2>Caso de estudio<\/h2>\n<p>Partamos del supuesto en el que tenemos dos WebPart que vamos a utilizar dentro de nuestro desarrollo:<\/p>\n<ol>\n<li><strong>WebPart Calendario:<\/strong> En la que se consulta las reuniones que tiene el visitante en curso. Para ello, se utiliza un plugin de Jquery para renderizar estos valores.<\/li>\n<li><strong>WebPart Social:<\/strong> En el que realizamos consultas a la API de Yammer y la integramos dentro de un sitio de departamentos.<\/li>\n<\/ol>\n<h3>\u00bfCu\u00e1l es el problema?<\/h3>\n<p>El WebPart de Calendario utiliza una referencia a Jquery antes de cargar el Plugin del Calendario. El WebPart Social utiliza Jquery para realizar diversas modificaciones en el DOM. Ahora bien, el principal problema que tenemos si en ambos WebPart a\u00f1adimos una referencia a Jquery, es que <strong>sino se controla el orden de la carga de las librer\u00edas puede ocurrir que (<\/strong>en caso de que la referencia del calendario se cargue antes que el WebPart Social<strong>) no podamos\u00a0utilizar el plugin<\/strong> anteriormente mencionado. Con lo cual se produce un funcionamiento no deseado en nuestra aplicaci\u00f3n.<\/p>\n<h3>\u00bfC\u00f3mo podemos solucionarlo?<\/h3>\n<p>El uso de JavaScript incrustado entre otra funcionalidad hace que en ocasiones cumplir el principio de responsabilidad sea una tarea no trivial. Ahora bien, siempre que se adopta una buena soluci\u00f3n es posible y es necesario. <strong>Soluciones<\/strong> hay muchas:<\/p>\n<ol>\n<li><strong>Agregar las referencias que puedan ser comunes dentro de la master<\/strong>. En la master indicaremos aquellas librer\u00edas que utilizamos en todas las p\u00e1ginas y de esta forma evitamos tener el problema.<\/li>\n<li><strong>Agregar la carga de los scripts bajo demanda<\/strong>, de tal forma que si una librer\u00eda\/referencia ya esta cargada no la volvamos a cargar.<\/li>\n<li>Plantearnos realmente si el <strong>utilizar esta librera es necesario o no<\/strong>. Muchas veces a\u00f1adimos una referencia a Jquery cuando realmente utilizando JavaScript \u00a0\u00abpuro\u00bb ser\u00eda suficiente. \u00a0<a href=\"http:\/\/www.spcaf.com\/blog\/sp-context-dev-part-6-jquery-vs-sharepoint\/\" target=\"_blank\">Lee este post realmente interesante sobre esta opini\u00f3n<\/a><\/li>\n<\/ol>\n<h2>\u00bfPor qu\u00e9 utilizar el Principio de Responsabilidad \u00danica?<\/h2>\n<p>Dentro del ciclo de desarrollo de aplicaciones software, no tenemos en cuenta que este proceso no termina cuando ponemos la aplicaci\u00f3n en Producci\u00f3n, sino que la aplicaci\u00f3n evoluciona \u00a0y se modifica una vez ya esta en producci\u00f3n. Este proceso de mantenimiento no se suele tener en cuenta y durante esta fase del ALM es <strong>cuando nos damos cuenta de que hemos realizado un c\u00f3digo dif\u00edcil de mantener y muy costoso<\/strong>. Este es el momento en el que lamentamos \u00a0no haber solucionado un problema que en ese momento si que tenia soluci\u00f3n.<\/p>\n<h1>Conclusi\u00f3n<\/h1>\n<p>Muchas veces a la hora del desarrollo software nos saltamos alguna fase por diversos motivos: tiempo, desconocimiento&#8230; pero tenemos que ser conscientes de que alguna de estas decisiones las podemos sufrir en un futuro. \u00a0Si hacemos un c\u00f3digo dif\u00edcilmente mantenible, en alg\u00fan momento tendremos que abordar su modificaci\u00f3n y en ese momento es cuando nos arrepentiremos del camino escogido. Como comento en reiteradas ocasiones, <strong>hacer el desarrollo bien no cuesta m\u00e1s que hacerlo mal<\/strong> sino que hay que pensar.<\/p>\n<p><strong>Referencias:<\/strong><\/p>\n<p><a href=\"http:\/\/josemigueltorres.net\/index.php\/principio-de-responsabilidad-unica\/\" target=\"_blank\">http:\/\/josemigueltorres.net\/index.php\/principio-de-responsabilidad-unica\/<\/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>Muchas veces cuando nos iniciamos en el desarrollo queremos abarcarlo enfoc\u00e1ndonos en el resultado a obtener, sin importar muchas veces la forma ni el fondo. En SharePoint, por la forma en la que extendemos su funcionamiento fuera de la caja &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-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],"tags":[],"class_list":["post-1583","post","type-post","status-publish","format-standard","hentry","category-buenas-practicas"],"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>Principio de responsabilidad y SharePoint - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este post vamos a ver porque utilizar el principio de responsabilidad dentro de Sharepoint y los beneficios de utilizarlo\" \/>\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\/principio-de-responsabilidad-y-sharepoint\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Principio de responsabilidad y SharePoint - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este post vamos a ver porque utilizar el principio de responsabilidad dentro de Sharepoint y los beneficios de utilizarlo\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300\" \/>\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=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"Principio de responsabilidad y SharePoint\",\"datePublished\":\"2015-06-16T10:00:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/\"},\"wordCount\":799,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/robsoncastilho.files.wordpress.com\\\/2013\\\/01\\\/solid.png?w=300\",\"articleSection\":[\"buenas practicas\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/\",\"name\":\"Principio de responsabilidad y SharePoint - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/robsoncastilho.files.wordpress.com\\\/2013\\\/01\\\/solid.png?w=300\",\"datePublished\":\"2015-06-16T10:00:18+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este post vamos a ver porque utilizar el principio de responsabilidad dentro de Sharepoint y los beneficios de utilizarlo\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/principio-de-responsabilidad-y-sharepoint\\\/#primaryimage\",\"url\":\"http:\\\/\\\/robsoncastilho.files.wordpress.com\\\/2013\\\/01\\\/solid.png?w=300\",\"contentUrl\":\"http:\\\/\\\/robsoncastilho.files.wordpress.com\\\/2013\\\/01\\\/solid.png?w=300\"},{\"@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":"Principio de responsabilidad y SharePoint - Desarrollando sobre SharePoint","description":"En este post vamos a ver porque utilizar el principio de responsabilidad dentro de Sharepoint y los beneficios de utilizarlo","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\/principio-de-responsabilidad-y-sharepoint\/","twitter_card":"summary_large_image","twitter_title":"Principio de responsabilidad y SharePoint - Desarrollando sobre SharePoint","twitter_description":"En este post vamos a ver porque utilizar el principio de responsabilidad dentro de Sharepoint y los beneficios de utilizarlo","twitter_image":"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"Principio de responsabilidad y SharePoint","datePublished":"2015-06-16T10:00:18+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/"},"wordCount":799,"commentCount":0,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/#primaryimage"},"thumbnailUrl":"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300","articleSection":["buenas practicas"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/","name":"Principio de responsabilidad y SharePoint - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/#primaryimage"},"thumbnailUrl":"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300","datePublished":"2015-06-16T10:00:18+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este post vamos a ver porque utilizar el principio de responsabilidad dentro de Sharepoint y los beneficios de utilizarlo","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/principio-de-responsabilidad-y-sharepoint\/#primaryimage","url":"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300","contentUrl":"http:\/\/robsoncastilho.files.wordpress.com\/2013\/01\/solid.png?w=300"},{"@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\/1583","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=1583"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1583\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}