{"id":2151,"date":"2016-01-26T11:00:03","date_gmt":"2016-01-26T10:00:03","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=2151"},"modified":"2016-01-26T09:54:34","modified_gmt":"2016-01-26T08:54:34","slug":"angular-2-conceptos-core","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/","title":{"rendered":"Angular 2: Conceptos Core Router"},"content":{"rendered":"<p>En el art\u00edculo de esta semana quiero hablarte de otro de los conceptos Core de Angular 2: <strong>Router<\/strong>.<\/p>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2164\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png\" alt=\"routeParams\" width=\"600\" height=\"152\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png 423w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams-300x76.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br \/>\n\u00bfQu\u00e9 es Router?<!--more--><\/h2>\n<p>Para los desarrolladores acostumbrados a desarrollar con MVC 4 esto les puede sonar a la sintaxis en las que ASP.NET distribuye las llamadas a los controladores dentro de ese framework. En Angular este concepto no es exactamente lo mismo, pero podr\u00edamos decir que tiene un enfoque similar.<\/p>\n<p>Dentro del Router <strong>indicaremos las diferentes rutas\/opciones que tiene la\u00a0aplicaci\u00f3n<\/strong> y qu\u00e9 componente se encarga en dicha acci\u00f3n. La idea es que puedas poner tu\u00a0p\u00e1gina de acceso a la URL \/ login y una vez te\u00a0autentiques en\u00a0tu\u00a0aplicaci\u00f3n mostrar la p\u00e1gina principal (home). En Angular 2, tendr\u00edas un componente para el login y un componente para la p\u00e1gina home. Router te\u00a0permite mapear estas URL a un componente.<\/p>\n<p>Para poder configurar los Routes en Angular 2, dispones de tres componentes principales:<\/p>\n<ul>\n<li><strong>RouteConfig.\u00a0<\/strong>Describe las rutas de tu\u00a0aplicaci\u00f3n<\/li>\n<li><strong>RouterOutlet.\u00a0<\/strong>Es el \u00abplaceholder\u00bb que es a \u00abplaceholder\u00bb donde indica que se va a mostrar el contenido que hay en cada ruta<\/li>\n<li><strong>RouterLink.\u00a0<\/strong>Los utilizar\u00e1s para navegar a los links dentro de la\u00a0app.<\/li>\n<\/ul>\n<h2><\/h2>\n<h2>\u00bfC\u00f3mo\u00a0funciona?<\/h2>\n<p>Piensa que partimos de una clase como la del ejemplo anterior. En primer lugar, tendr\u00e1s\u00a0que <strong>importar el mod\u00falo RouteConfig y ROUTER_DIRECTIVES<\/strong> que est\u00e1 en tu\u00a0componente principal el app.component.ts:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nimport {RouteConfig,ROUTER_DIRECTIVES} from 'angular2\/router';\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>A continuaci\u00f3n <strong>agrega el RouteConfig<\/strong>, en el que debes indicar\u00a0las rutas que va a tener tu\u00a0aplicaci\u00f3n y el componente que se va a ejecutar en la misma:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@RouteConfig(&#x5B;\r\n  { path: &quot;\/home&quot;,      \r\n    name: &quot;Home&quot;,      \r\n    component: AppComponent, \r\n    useAsDefault: true },\r\n  \r\n  { path: &quot;\/Employed&quot;, \r\n    name: &quot;Employed&quot;, \r\n    component: EmployedComponent }\r\n])\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Una vez definidas las Rutas que va a tener tu\u00a0aplicaci\u00f3n, debes <strong>modificar tanto el fichero html<\/strong> que tiene el\u00a0componente, como la definici\u00f3n del mismo. El c\u00f3digo del componente debe incluir las directivas de las rutas, por lo que quedar\u00eda de la siguiente forma:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@Component({\r\n    selector: 'blog-desarrollando',\r\n     templateUrl: 'app\/app.component.html',\r\n      directives: &#x5B;ROUTER_DIRECTIVES] \r\n     })\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Dentro del HTML, tienes que\u00a0<strong>agregar enlaces<\/strong> a los otros componentes de la\u00a0aplicaci\u00f3n, quedando de la siguiente forma:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n&amp;amp;lt;h1&amp;amp;gt;Desarrollando con SharePoint Example Route&amp;amp;lt;\/h1&amp;amp;gt;\r\n\r\n\r\n&amp;amp;lt;nav&amp;amp;gt;\r\n    &amp;amp;lt;a &#x5B;routerLink]=&quot;&#x5B;'Home']&quot;&amp;amp;gt;Home&amp;amp;lt;\/a&amp;amp;gt;\r\n    &amp;amp;lt;a &#x5B;routerLink]=&quot;&#x5B;'Employed']&quot;&amp;amp;gt;Employed&amp;amp;lt;\/a&amp;amp;gt;\r\n  &amp;amp;lt;\/nav&amp;amp;gt;\r\n\r\n   &amp;amp;lt;router-outlet&amp;amp;gt;&amp;amp;lt;\/router-outlet&amp;amp;gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Para finalizar tienes que <strong>modificar el fichero de arranque de\u00a0la App boot.ts<\/strong> e indicar que tienes una <strong>dependencia sobre el Route Provider<\/strong>. Para ello, debes importar el m\u00f3dulo e inyect\u00e1rselo al punto de arranque de la siguiente forma:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nimport {bootstrap}    from 'angular2\/platform\/browser'\r\nimport {AppComponent} from '.\/app.component'\r\nimport {ROUTER_PROVIDERS} from 'angular2\/router';\r\n\r\nbootstrap(AppComponent,&#x5B;\r\n  ROUTER_PROVIDERS ]);\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Antes de lanzar tu aplicaci\u00f3n, debes <strong>verificar<\/strong> que has establecido el <strong>punto de entrada<\/strong> de la\u00a0aplicaci\u00f3n. \u00bfC\u00f3mo? En\u00a0el fichero index.html de tu\u00a0App debes establecer en el head la siguiente instrucci\u00f3n:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n &amp;amp;lt;base href=&quot;\/&quot;&amp;amp;gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u00a1Ahora s\u00ed! <strong>Arranca el\u00a0servidor<\/strong> con la siguiente instrucci\u00f3n npm start. Visualizar\u00e1s\u00a0la siguiente pantalla:<\/p>\n<p>&nbsp;<\/p>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2159\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/ROute.jpg\" alt=\"ROute\" width=\"600\" height=\"151\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/ROute.jpg 1036w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/ROute-300x75.jpg 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/ROute-768x193.jpg 768w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/ROute-1024x257.jpg 1024w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br \/>\nConclusi\u00f3n<\/h2>\n<p>Como has podido\u00a0observar, Angular 2 ha simplificado mucho el enrutamiento respecto a su anterior versi\u00f3n. El principal beneficiado es el desarrollador, que hace un <strong>c\u00f3digo m\u00e1s sencillo y m\u00e1s claro<\/strong>.<\/p>\n<p>La pr\u00f3xima semana te ense\u00f1ar\u00e9 una de las grandes mejoras que trae Angular 2: el paso de par\u00e1metros entre los componentes \ud83d\ude09<\/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 art\u00edculo de esta semana quiero hablarte de otro de los conceptos Core de Angular 2: Router. \u00bfQu\u00e9 es Router?<!-- 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":[100,157],"tags":[169],"class_list":["post-2151","post","type-post","status-publish","format-standard","hentry","category-javascript-2","category-typescript","tag-angular-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Angular 2: Conceptos Core Router - Desarrollando sobre SharePoint<\/title>\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\/angular-2-conceptos-core\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Angular 2: Conceptos Core Router - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En el art\u00edculo de esta semana quiero hablarte de otro de los conceptos Core de Angular 2: Router. \u00bfQu\u00e9 es Router?\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png\" \/>\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=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"Angular 2: Conceptos Core Router\",\"datePublished\":\"2016-01-26T10:00:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/\"},\"wordCount\":695,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/01\\\/routeParams.png\",\"keywords\":[\"angular 2\"],\"articleSection\":[\"javascript\",\"typescript\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/\",\"name\":\"Angular 2: Conceptos Core Router - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/01\\\/routeParams.png\",\"datePublished\":\"2016-01-26T10:00:03+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/angular-2-conceptos-core\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/01\\\/routeParams.png\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2016\\\/01\\\/routeParams.png\",\"width\":423,\"height\":107},{\"@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":"Angular 2: Conceptos Core Router - Desarrollando sobre SharePoint","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\/angular-2-conceptos-core\/","twitter_card":"summary_large_image","twitter_title":"Angular 2: Conceptos Core Router - Desarrollando sobre SharePoint","twitter_description":"En el art\u00edculo de esta semana quiero hablarte de otro de los conceptos Core de Angular 2: Router. \u00bfQu\u00e9 es Router?","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/#article","isPartOf":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"Angular 2: Conceptos Core Router","datePublished":"2016-01-26T10:00:03+00:00","mainEntityOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/"},"wordCount":695,"commentCount":0,"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png","keywords":["angular 2"],"articleSection":["javascript","typescript"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/","url":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/","name":"Angular 2: Conceptos Core Router - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/#primaryimage"},"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png","datePublished":"2016-01-26T10:00:03+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/angular-2-conceptos-core\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2016\/01\/routeParams.png","width":423,"height":107},{"@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\/2151","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=2151"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/2151\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=2151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=2151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=2151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}