{"id":1516,"date":"2015-03-24T11:00:29","date_gmt":"2015-03-24T10:00:29","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1516"},"modified":"2015-03-23T07:44:02","modified_gmt":"2015-03-23T06:44:02","slug":"sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/","title":{"rendered":"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App?"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\" alignleft\" src=\"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.png\" alt=\"\" width=\"208\" height=\"244\" \/>Muchas veces a la hora de realizar cualquier desarrollo es necesario disponer de ciertos par\u00e1metros que deben de poder <span style=\"text-decoration: underline\">cambiar de forma relativamente simpl<\/span>e, \u00e9stos pueden ser modificados dependiendo de necesidades del negocio o dependiendo del entorno en el que nos encontremos. Ejemplos de esto puede ser una cadena de conexi\u00f3n a una base de datos, la url de un servicio web o bien el grupo de seguridad que tiene que aprobar un determinado flujo. En este post vamos a ver que opciones disponemos para guardar estos campos dentro del contexto de SharePoint.<br \/>\n<!--more--><br \/>\nVamos a empezar enumerando las opciones que disponemos:<\/p>\n<ul>\n<li>Almacenar la informaci\u00f3n en el Web.Config<\/li>\n<li>Crear listas ocultas con los valores de configuraci\u00f3n<\/li>\n<li>Configuraci\u00f3n del WebPart<\/li>\n<li>Mediante Property Bag<\/li>\n<li><del>Mediante Magic String en el propio desarrollo \u00a0<\/del>(Esta opci\u00f3n ni os debe de pasar por la cabeza )<\/li>\n<\/ul>\n<p><strong>1.- Almacenando la informaci\u00f3n en el Web.Config<\/strong><\/p>\n<p>Esta opci\u00f3n es la m\u00e1s simple, pero tambi\u00e9n la menos profesional de todas. Si estamos desarrollando un producto no es nada profesional que tengamos estos valores en el Web.Config. Motivos:<\/p>\n<ul>\n<li>Estos valores pueden ser modificados por cualquier Administrador del sistema.<\/li>\n<li>Si la web, sufre un ataque y acceden al Web.Config es posible que incluso puedan obtener informaci\u00f3n de nuestra aplicaci\u00f3n<\/li>\n<\/ul>\n<p>Adem\u00e1s, el Web.Config en una de estas modas hipster tiene los dias contados. Ahora cada desarrollador\/producto puede elegir su fichero de configuraci\u00f3n y no necesariamente tiene que ser un web.config. Quien quiera leer un poco m\u00e1s informaci\u00f3n al respecto recomiendo este <a href=\"http:\/\/www.variablenotfound.com\/2015\/02\/aspnet-5-y-donde-esta-mi-webconfig.html\" target=\"_blank\">post<\/a> del maestro <a href=\"https:\/\/twitter.com\/jmaguilar\" target=\"_blank\">Jose Maria Aguilar<\/a><\/p>\n<p><strong>2.- Crear listas ocultas con los valores de configuraci\u00f3n<\/strong><\/p>\n<p>Al utilizar esta opci\u00f3n, estamos utilizando elementos naturales de SharePoint. Creamos una lista y le a\u00f1adimos los campos que necesitemos con sus respectivos valores. Podemos acceder a la lista utilizando las API de SharePoint, los usuarios desde la interfaz gr\u00e1fica no se dan cuenta de que esta lista existe. Esta opci\u00f3n es utilizada por la propia Microsoft para almacenar diversos valores utilizados en nuestro servidor favorito. Si alguien tiene curiosidad que se descargue la herramienta SharePoint Manager y que observe cuantas listas ocultas hay en un Site Collection.<\/p>\n<p>La principal desventaja que tiene esta forma es que una lista no esta pensada como lugar para almacenar informaci\u00f3n, su acceso no es el m\u00e1s r\u00e1pido posible, adem\u00e1s dependiendo de si esta configuraci\u00f3n puede ser compartida por m\u00e1s de un site collection debemos de duplicar la lista y mantener la informaci\u00f3n en dos sistemas. Como ejemplo \u00a0tengo un site de Tareas, y queremos tener el n\u00famero de tareas asignadas al usuario que esta logado en cualquier aplicaci\u00f3n de la organizaci\u00f3n. De acuerdo a esta opci\u00f3n tengo que desplegar una lista en cada Site que tenga e introducir la url del Site de Tareas. Ahora bien dado un requerimiento de negocio, se modifica la ubicaci\u00f3n de las tareas y esta en otro Site. El mantenimiento de todas estas listas es algo que no es muy mantenible.<\/p>\n<p><strong>3.- Mediante Propiedades de nuestro WebPart<\/strong><\/p>\n<p>Esta opci\u00f3n es ideal para peque\u00f1os WebParts en los que es necesario cierta interacci\u00f3n con el usuario, es la forma en la que Microsoft indica que a\u00f1adamos los par\u00e1metros de configuraci\u00f3n. Para ello con a\u00f1adir las siguientes lineas dentro del code behind del WebPart lo tendr\u00edamos implementado:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n  &#x5B;Category(&quot;Configuraci\u00f3n&quot;),\r\n        Personalizable(PersonalizationScope.Shared),\r\n        WebBrowsable(true),\r\n        WebDisplayName(&quot;N\u00famero de elementos&quot;),\r\n        WebDescription(&quot;Introduce el n\u00famero de elementos a mostrar.&quot;)]\r\n        public int NumElementos\r\n        {\r\n            get\r\n            {\r\n\r\n            }\r\n            set\r\n            {\r\n\r\n            }\r\n        }\r\n<\/pre>\n<p>Ahora bien esta opci\u00f3n, como principal ventaja tiene que es muy simple de modificar, no hace falta volver a actualizar la soluci\u00f3n, y tan solo con ir a las propiedades del propio WebPart lo podemos de modificar. Ahora bien su principal defecto, es que los par\u00e1metros de configuraci\u00f3n pueden ser visibles por todo el mundo, por lo que si queremos a\u00f1adir una cadena de conexi\u00f3n como propiedad, esta puede ser accesible por personas que no deber\u00edan (siempre que tengan ciertos \u00abpermisos\u00bb dentro del site colection). Adem\u00e1s si este WebPart lo estamos utilizando en m\u00e1s de una p\u00e1gina el mantenimiento del mismo tambi\u00e9n se puede volver una locura.<\/p>\n<p><strong>4.- Mediante Property Bag<\/strong><br \/>\nLo primero de todo vamos a definir que es una \u00abProperty Bag\u00bb, es un lugar donde podemos almacenar cualquier clave-valor dentro de SharePoint. Las propertys bugs pueden almacenar y recuperar la configuraci\u00f3n en los siguientes niveles:<\/p>\n<ul>\n<li>\u00a0Farm Level &#8211; SPFarm<\/li>\n<li>\u00a0Web Application Level &#8211; SPWebApplication<\/li>\n<li>\u00a0Site Collection Level &#8211; SPSite<\/li>\n<li>\u00a0Site Level &#8211; SPWeb Level<\/li>\n<li>\u00a0List Level &#8211; SPList<\/li>\n<li>\u00a0Item Level &#8211; SPListItem<\/li>\n<\/ul>\n<p>Para crear estas propertys las podemos hacer utilizando tanto c\u00f3digo C#,PowerShell o JavaScript.<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nSPSecurity.RunWithElevatedPrivileges(delegate()\r\n{\r\n    using (SPSite currentSiteCollection = new SPSite(&quot;http:\/\/myserver&quot;))\r\n    {\r\n        using (SPWeb currentWeb = currentSiteCollection.OpenWeb())\r\n        {\r\n            currentWeb.AllowUnsafeUpdates = true;\r\n            if (!currentWeb.AllProperties.ContainsKey(key))\r\n                currentWeb.Properties.Add(key, value.Value.ToString());\r\n            else\r\n                currentWeb.AllProperties&#x5B;key] = value;\r\n            currentWeb.Properties.Update();\r\n            currentWeb.AllowUnsafeUpdates = false;\r\n        }\r\n    }\r\n});\r\n<\/pre>\n<p>Adem\u00e1s mediante SharePoint Designer (en una de sus pocas utilidades) se puede consultar\/modificar\/a\u00f1adir estas propiedades:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/lh6.ggpht.com\/_eQTLoJEl07Q\/SvU0HFo0sXI\/AAAAAAAACpo\/Ku0gG3K05Fk\/image_thumb%5B4%5D.png?imgmax=800\" width=\"413\" height=\"377\" class=\"aligncenter\" \/><\/p>\n<p>Como podemos observar, podemos crear\/consultar todas estas propiedades independientemente del contexto en el que se est\u00e9n ejecutando. Se pueden compartir propiedades entre distintos \u00abSite Collection\u00bb. Est\u00e1n ocultas para todos los usuarios del sistema y la modificaci\u00f3n de las mismas solamente las pueden hacer aquellas personas que sean encargadas para ello (administradores de SharePoint o encargados del desarrollo) <\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Hay muchas opciones para poder almacenar los datos de nuestra aplicaci\u00f3n, hay muchas opciones. Por lo descrito la mejor opci\u00f3n es Property Bug, pero no es la \u00fanica forma y el utilizar otra alternativa no tiene porque estar mal. El utilizar las propiedades que hay dentro de un WebPart es una alternativa que podemos utilizar en muchas ocasiones. Ejemplo: tengo un WebPart que lee de una fuente de RSS. \u00bfDonde almaceno la fuente de RSS? Sin m\u00e1s requisitos, la mejor opci\u00f3n en este caso es utilizar las propiedades del WebPart. Ahora bien pongamos por ejemplo que hemos implementado una SPA y en nuestra capa de servicio tenemos que buscar determinados grupos de seguridad propios de SharePoint. Esta claro que en este caso, la opci\u00f3n que se recomendar\u00eda seria la utilizaci\u00f3n de las Property Bugs. Como en muchos aspectos relacionados con el desarrollo del software, <strong>el desarrollo hay que ponerlo en el contexto en el cual se implementa<\/strong>.<\/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 a la hora de realizar cualquier desarrollo es necesario disponer de ciertos par\u00e1metros que deben de poder cambiar de forma relativamente simple, \u00e9stos pueden ser modificados dependiendo de necesidades del negocio o dependiendo del entorno en el que &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/\">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":[63,136,26],"class_list":["post-1516","post","type-post","status-publish","format-standard","hentry","category-buenas-practicas","tag-app-2","tag-configuracion","tag-sharepoint"],"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>SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App? - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este post vamos a ver las posibilidades que tenemos dentro de SharePoint para almacenar la configuraci\u00f3n de nuestro desarrollo. Plantearemos una serie de opciones y analizaremos pros y contras\" \/>\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\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App? - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este post vamos a ver las posibilidades que tenemos dentro de SharePoint para almacenar la configuraci\u00f3n de nuestro desarrollo. Plantearemos una serie de opciones y analizaremos pros y contras\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.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=\"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\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App?\",\"datePublished\":\"2015-03-24T10:00:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/\"},\"wordCount\":1127,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.solidq.com\\\/wp-content\\\/uploads\\\/image_thumb_2_71FE5942.png\",\"keywords\":[\"app\",\"configuracion\",\"sharepoint\"],\"articleSection\":[\"buenas practicas\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/\",\"name\":\"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App? - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.solidq.com\\\/wp-content\\\/uploads\\\/image_thumb_2_71FE5942.png\",\"datePublished\":\"2015-03-24T10:00:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este post vamos a ver las posibilidades que tenemos dentro de SharePoint para almacenar la configuraci\u00f3n de nuestro desarrollo. Plantearemos una serie de opciones y analizaremos pros y contras\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\\\/#primaryimage\",\"url\":\"http:\\\/\\\/blogs.solidq.com\\\/wp-content\\\/uploads\\\/image_thumb_2_71FE5942.png\",\"contentUrl\":\"http:\\\/\\\/blogs.solidq.com\\\/wp-content\\\/uploads\\\/image_thumb_2_71FE5942.png\"},{\"@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: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App? - Desarrollando sobre SharePoint","description":"En este post vamos a ver las posibilidades que tenemos dentro de SharePoint para almacenar la configuraci\u00f3n de nuestro desarrollo. Plantearemos una serie de opciones y analizaremos pros y contras","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\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/","twitter_card":"summary_large_image","twitter_title":"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App? - Desarrollando sobre SharePoint","twitter_description":"En este post vamos a ver las posibilidades que tenemos dentro de SharePoint para almacenar la configuraci\u00f3n de nuestro desarrollo. Plantearemos una serie de opciones y analizaremos pros y contras","twitter_image":"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.png","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\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App?","datePublished":"2015-03-24T10:00:29+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/"},"wordCount":1127,"commentCount":0,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.png","keywords":["app","configuracion","sharepoint"],"articleSection":["buenas practicas"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/","name":"SharePoint: \u00bfDonde guardamos los datos de configuraci\u00f3n de nuestra App? - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.png","datePublished":"2015-03-24T10:00:29+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este post vamos a ver las posibilidades que tenemos dentro de SharePoint para almacenar la configuraci\u00f3n de nuestro desarrollo. Plantearemos una serie de opciones y analizaremos pros y contras","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-donde-guardamos-los-datos-de-configuracion-de-nuestra-app\/#primaryimage","url":"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.png","contentUrl":"http:\/\/blogs.solidq.com\/wp-content\/uploads\/image_thumb_2_71FE5942.png"},{"@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\/1516","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=1516"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1516\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}