{"id":366,"date":"2013-05-21T10:00:08","date_gmt":"2013-05-21T09:00:08","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=366"},"modified":"2013-07-16T10:06:58","modified_gmt":"2013-07-16T09:06:58","slug":"sharepoint-2013-caracteristicas-sociales","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/","title":{"rendered":"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales  Parte I"},"content":{"rendered":"<p>Dado que ahora estamos inmersos en el desarrollo de una APP que intenta aprovechar las caracter\u00edsticas sociales y que esperemos que en las\u00a0pr\u00f3ximas\u00a0semanas est\u00e9 publicada en la <strong>Office Store,<\/strong>\u00a0 voy a intentar explicar c\u00f3mo se puede sacar partido de las caracter\u00edsticas sociales desde el punto de vista de los desarrolladores y c\u00f3mo casa eso <strong>con el roadmap de Yammer<\/strong> dentro de los productos de Microsoft.<\/p>\n<p>Si analizamos todas las caracter\u00edsticas sociales que icorpora, al poco nos daremos cuenta de que estamos ante un producto igual de competitivo que el resto de redes sociales disponibles en el mercado ll\u00e1mese <strong>Facebook<\/strong>, <strong>Twitter<\/strong>, etc. Y toda esta informaci\u00f3n la tenemos disponible tanto a trav\u00e9s de las API cliente (en .NET, JavaScript y Windows Phone) c\u00f3mo mediante el uso de la API Rest.<\/p>\n<p>Las cuatro tienen las mismas posibilidades de desarrollo, por lo que he optado por elegir la API Rest principalmente porque est\u00e1 disponible en todas plataformas:\u00a0<strong>Microsoft (W8, WP8) y NO Microsoft (Android, IOS) <\/strong>en las\u00a0que realicemos nuestros desarrollos.<!--more--><br \/>\n<!--more--><br \/>\nDentro de las caracter\u00edsticas sociales tenemos dos grandes tipos de recursos :<\/p>\n<ol>\n<li><strong>Feed<\/strong>: d\u00f3nde se muestra informaci\u00f3n sobre los post publicados en MySite, respuestas a los mismos, las cosas que me gustan\/ya me gustan, las menciones recibidas, publicar\/eliminar post, etc.<\/li>\n<li><strong>Following<\/strong>: en el que podemos consultas que elementos de SharePoint seguimos, qui\u00e9n nos sigue, seguir a un determinado elemento, dejar de seguir un determinado elemento, me sugiere elementos de sharepoint que me puede gustar, \u00a0etc..<\/li>\n<\/ol>\n<p>Como pod\u00e9is haber observado pr\u00e1cticamente tenemos todas las opciones para poder tener una buena herramienta \u00abSocial\u00bb dentro de nuestro SharePoint, pero quiz\u00e1s bien porque se esta esperando la llegada de <strong>Yammer <\/strong>dentro de la suite o bien, porque el objetivo de SharePoint no es ser el nuevo <strong>Facebook, <\/strong>el caso es que\u00a0hay muchas opciones que nos faltan.<\/p>\n<p>Personalmente echo de menos mayor presencia de las caracter\u00edsticas sociales fuera de lo que es el \u00abMy Site\u00bb o los sitios de comunidad; tener un sistema de notificaciones mucho mejor y tambi\u00e9n un chat tipo Yammer\/FaceBook para poder comunicarnos con el resto de compa\u00f1eros de nuestra empresa en tiempo real. No obstante, tenemos que agradecer a Microsoft que nos deje camino a los desarrolladores para mejorar el producto y en base a las caracter\u00edsticas de fabrica extenderla y as\u00ed, poder realizar un producto impresionante. Algo semejante a lo que comento lo realizamos en <a title=\"ENCAMINA\" href=\"http:\/\/www.encamina.com\" target=\"_blank\">ENCAMINA<\/a> para la versi\u00f3n 2010, donde desarrollamos un producto que su funcionalidad es exactamente la misma que tienen en 2013 los sitios de comunidad, <a title=\"River, foro SharePoint\" href=\"http:\/\/foro-sharepoint.es\/inicio.aspx\" target=\"_blank\">esta soluci\u00f3n la hemos llamado River<\/a>.<\/p>\n<p>A continuaci\u00f3n vamos a desarrollar un APP-Part, del que podamos hacer uso en cualquier sitio de nuestro SharePoint. Es decir, lo que vamos a implementar es una soluci\u00f3n que nos facilite el tener mucho m\u00e1s accesible el MySite de manera que podamos postear lo que est\u00e1 ocurriendo ahora mismo. Al fin y al cabo, lo que vamos a implementar es como escribir un Post en MySite.<\/p>\n<p><strong>Manos a la obra<\/strong><\/p>\n<p><span style=\"font-size: 16px;\">1. Creamos un proyecto de Visual Studio 2012 de Tipo SharePoint APP<\/span><br \/>\n<span style=\"font-size: 16px;\">2. El alojamiento de esta APP es SharePoint-Hosted (por lo que solo vamos a poder hacer uso del modelo de objetos en JavaScript).<\/span><br \/>\n<span style=\"font-size: 16px;\">3. Para poder hacer uso de las caracteristicas sociales dentro de nuestra APP tenemos que darle permisos a la APP para que pueda acceder a la informaci\u00f3n \u00absocial\u00bb de nuestro SharePoint. \u00a0\u00bfC\u00f3mo dar permisos? Pues editamos el fichero AppManifest.xml y en la pesta\u00f1a de permisos otorgamos Full Control a los Perfiles de Usuario. Los permisos que podemos dar son: lectura, escritura, administrar o control Total. \u00a0Tal y como se muestran en la siguiente\u00a0imagen:<\/span><\/p>\n<p style=\"display: inline !important;\"><a style=\"font-size: 16px;\" title=\"Permisos APP\" href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"94\" class=\"alignnone size-medium wp-image-373\" alt=\"Permisos APP\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp-300x94.png\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp-300x94.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp.png 719w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><span style=\"font-size: 16px;\">\u00a0Cuando instalemos la APP en nuestro SharePoint nos indicara en un mensaje que \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 esta APP solicita el control total sobre los perfiles de Usuario por lo que queda a decisi\u00f3n de la persona que instala la APP el determinar si se permite acceder a los perfiles de usuario o no. En caso de que estos permisos se denieguen la APP no se instalar\u00e1.<\/span><br \/>\n<a style=\"font-size: 16px;\" href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/ConfianzaAPP.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-375 alignnone\" title=\"ConfianzaAPP\" alt=\"ConfianzaAPP\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/ConfianzaAPP-300x130.png\" width=\"300\" height=\"130\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/ConfianzaAPP-300x130.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/ConfianzaAPP.png 629w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Una vez ya hemos dado los permisos a nuestra APP, el siguiente paso es a\u00f1adir un APP-Part en nuestra Aplicaci\u00f3n:<\/p>\n<p><em id=\"__mceDel\" style=\"font-size: 16px;\"><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/APP-Part.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-376\" alt=\"APP-Part\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/APP-Part-300x183.png\" width=\"300\" height=\"183\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/APP-Part-300x183.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/APP-Part.png 948w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/em><\/p>\n<p>Al a\u00f1adir el App-Part nos a\u00f1ade dos objetos a nuestro proyecto por un lado el propio App-Part que no es m\u00e1s que un fichero xml en el que indica como se mostrar\u00e1 cuando se instale la APP en nuestro SharePoint. Y\u00a0tambi\u00e9n\u00a0a\u00f1adir\u00e1 una pagina .aspx que es la que se mostrar\u00e1 dentro de un Iframe cuando despleguemos nuestra APP. Tal y como se visualiza en la siguiente imagen:<\/p>\n<p style=\"display: inline !important;\"><em id=\"__mceDel\" style=\"font-size: 16px;\"><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/Example.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-379\" alt=\"Example\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/Example.png\" width=\"278\" height=\"292\" \/><\/a><\/em><\/p>\n<p>4. Una vez a\u00f1adido el APP-Part, nos dirigimos a la pagina \u00abCreatePost.aspx\u00bb y a\u00f1adimos el siguiente c\u00f3digo html y le a\u00f1adimos la referencia a nuestro fichero JavaScript \u00abApp.js\u00bb:<\/p>\n<ol style=\"display: inline !important;\">\n<li style=\"display: inline !important;\">\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;\/em&gt;&lt;\/pre&gt;\r\n&lt;\/li&gt;\r\n\t&lt;li style=&quot;display: inline !important;&quot;&gt;&lt;\/li&gt;\r\n&lt;\/ol&gt;\r\n&lt;pre style=&quot;display: inline !important;&quot;&gt;&lt;em id=&quot;__mceDel&quot; style=&quot;font-size: 16px;&quot;&gt;&lt;em id=&quot;__mceDel&quot; style=&quot;font-size: 16px;&quot;&gt;&lt;\/em&gt;&lt;\/em&gt;&lt;\/pre&gt;\r\n&lt;div&gt;&lt;input onclick=&quot;postToMyFeed();&quot; type=&quot;button&quot; value=&quot;Compartir&quot; \/&gt;&lt;\/div&gt;\r\n&lt;pre&gt;<\/pre>\n<p>5. El siguiente paso es a\u00f1adir en la funci\u00f3n postToMyFeed dentro del fichero App.js:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nfunction postToMyFeed() {\r\n    var valor = $(&quot;#post&quot;).val();\r\n    $(&quot;#post&quot;).text = &quot;&quot;;\r\n    var feedManagerEndpoint = appweburl + &quot;\/_api\/social.feed&quot;;\r\n    $.ajax({\r\n        url: feedManagerEndpoint + &quot;\/my\/Feed\/Post&quot;,\r\n        type: &quot;POST&quot;,\r\n        data: JSON.stringify({\r\n            'restCreationData': {\r\n                '__metadata': {\r\n                    'type': 'SP.Social.SocialRestPostCreationData'\r\n                },\r\n                'ID': null,\r\n                'creationData': {\r\n                    '__metadata': {\r\n                        'type': 'SP.Social.SocialPostCreationData'\r\n                    },\r\n                    'ContentText': &quot;'&quot; + valor + &quot;'&quot;,\r\n                    'UpdateStatusText': false\r\n                }\r\n            }\r\n        }),\r\n        headers: {\r\n            &quot;accept&quot;: &quot;application\/json;odata=verbose&quot;,\r\n            &quot;content-type&quot;: &quot;application\/json;odata=verbose&quot;,\r\n            &quot;X-RequestDigest&quot;: $(&quot;#__REQUESTDIGEST&quot;).val()\r\n        },\r\n        success: function () {\r\n            alert(&quot;Post Created&quot;);\r\n        },\r\n        error: function (xhr, ajaxOptions, thrownError) {\r\n            alert(&quot;POST error:\\n&quot; + xhr.status + &quot;\\n&quot; + thrownError);\r\n        }\r\n    });\r\n}\r\n<\/pre>\n<p><span style=\"font-size: 16px;\">6. Una vez finalizado instalamos la aplicaci\u00f3n y a\u00f1adimos el APP Part en cualquier pagina, de la siguiente forma, editamos la p\u00e1gina, insertamos elemento de Aplicaci\u00f3n y podremos seleccionar el APP-Part que acabamos de desarrollar:<\/span><\/p>\n<p><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/RibbonApp.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-383\" alt=\"Ribbon App\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/RibbonApp-300x80.png\" width=\"300\" height=\"80\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/RibbonApp-300x80.png 300w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/RibbonApp.png 464w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>7. Una vez ya instalada en nuestro SharePoint visualizaremos el APP-Part creado:<\/p>\n<p><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/DemoApp.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-384\" alt=\"DemoApp\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/DemoApp.png\" width=\"549\" height=\"235\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/DemoApp.png 549w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/DemoApp-300x128.png 300w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><\/a><\/p>\n<p>\u00bfCon esta implementaci\u00f3n est\u00e1is seguro que funcionaria correctamente la APP? \u00bfQuer\u00e9is comprobarlo por curiosidad? Efectivamente el c\u00f3digo introducido no funciona, nos devuelve un Error de Opci\u00f3n no permitida. \u00bfPor qu\u00e9? En primer lugar seguro que pensamos estamos realizando una llamada entre dominios, y de ah\u00ed este error. Si se est\u00e1n haciendo llamadas entre dominios es l\u00f3gico que no funcione. Se debe hacer que hacer uso de <a href=\"http:\/\/msdn.microsoft.com\/es-es\/library\/fp179927.aspx\" target=\"_blank\">la libreria Cross-Domain<\/a>. Pero no estamos realizando llamadas entre dominios, es m\u00e1s las APP-Part se ejecutan en nuestra propia url, ya que no es m\u00e1s que un Iframe dentro de nuestra p\u00e1gina web. El problema est\u00e1 en el valor que tiene el par\u00e1metro \u00ab$(\u00ab#__REQUESTDIGEST\u00bb).val()\u00bb que al estar dentro del Iframe nos devuelve nulo, por lo que al hacer la petici\u00f3n nos deniega el permiso. Para solucionarlo lo que tenemos que hacer es realizar un Post previo al Contexto de la APP para obtener este valor y a continuaci\u00f3n ya realizar la llamada. Es decir el c\u00f3digo quedar\u00eda de la siguiente forma:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nfunction postToMyFeed() {\r\n    $.ajax({\r\n        url: appweburl +&quot;\/_api\/contextinfo&quot;,\r\n        type: &quot;POST&quot;,\r\n        headers: {\r\n            &quot;accept&quot;: &quot;application\/json;odata=verbose&quot;,\r\n            &quot;content-type&quot;: &quot;application\/json;odata=verbose&quot;,\r\n        },\r\n        success: function (data) {\r\n            digest = data.d.GetContextWebInformation.FormDigestValue;\r\n            post();\r\n        },\r\n        error: function (xhr, ajaxOptions, thrownError) {\r\n            alert(&quot;POST error:\\n&quot; + xhr.status + &quot;\\n&quot; + thrownError);\r\n        }\r\n    });\r\n\r\n}\r\n\r\nfunction post()\r\n{\r\n    var valor = $(&quot;#post&quot;).val();\r\n    $(&quot;#post&quot;).text = &quot;&quot;;\r\n    var feedManagerEndpoint = appweburl + &quot;\/_api\/social.feed&quot;;\r\n\r\n    var urlPost=appweburl + &quot;\/_api\/social.feed&quot; +\r\n              &quot;\/my\/Feed\/Post&quot;;\r\n    $.ajax({\r\n        url: urlPost,\r\n        type: &quot;POST&quot;,\r\n        data: JSON.stringify({\r\n            'restCreationData': {\r\n                '__metadata': {\r\n                    'type': 'SP.Social.SocialRestPostCreationData'\r\n                },\r\n                'ID': null,\r\n                'creationData': {\r\n                    '__metadata': {\r\n                        'type': 'SP.Social.SocialPostCreationData'\r\n                    },\r\n                    'ContentText': &quot;'&quot; + valor + &quot;'&quot;,\r\n                    'UpdateStatusText': false\r\n                }\r\n            }\r\n        }),\r\n        headers: {\r\n            &quot;accept&quot;: &quot;application\/json;odata=verbose&quot;,\r\n            &quot;content-type&quot;: &quot;application\/json;odata=verbose&quot;,\r\n            &quot;X-RequestDigest&quot;: digest\r\n        },\r\n        success: function () {\r\n            alert(&quot;Post Created&quot;);\r\n        },\r\n        error: function (xhr, ajaxOptions, thrownError) {\r\n            alert(&quot;POST error:\\n&quot; + xhr.status + &quot;\\n&quot; + thrownError);\r\n        }\r\n    });\r\n}\r\n<\/pre>\n<p>Todo lo que despleguemos utilizando nuestra APP se visualizar\u00e1 dentro de nuestro MySite indicando que se ha utilizado nuestra APP<br \/>\n<a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/MySite.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-385\" alt=\"MySite\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/MySite.png\" width=\"535\" height=\"76\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/MySite.png 535w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/MySite-300x42.png 300w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/><\/a><\/p>\n<h1>Conclusi\u00f3n<\/h1>\n<p>Hemos comprobado que de una forma sencilla podemos extender las capacidades sociales que vienen de serie, hemos creado una APP-Part en la que podemos realizar comentarios y que estos se visualicen dentro de nuestro MySite. Si lo comparamos con ejemplos de la vida real, en este mismo blog tenemos un plugin para realizar comentarios a trav\u00e9s de <strong>Facebook <\/strong>(algo similar, salvando las distancias, a lo que acabamos de implementar pero dentro de SharePoint). \u00bfTodo esto c\u00f3mo casa con Yammer? <a title=\"CEUS VIII Mis impresiones\" href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/2013\/04\/10\/evento-ceus-viii-mis-impresiones\/\" target=\"_blank\">Como hablamos en el CEUS VIII<\/a> nosotros estamos convencidos de la utilidad de <strong>Yammer <\/strong>y del gran partido que se puede hacer uso de \u00e9l en SharePoint. Pero a d\u00eda de hoy, esta integraci\u00f3n es pura especulaci\u00f3n y muchos rumores sobre cual va a ser el papel que va a tener Yammer dentro de SharePoint. Lo que tenemos claro es la forma de desarrollo en la que Yammer ser\u00e1 una APP y que la podemos utilizar dentro de SharePoint, pero de ah\u00ed a haber una integraci\u00f3n total entre los usuarios de SharePoint y Yammer, creo que a\u00fan quedar\u00e1 un tiempo (en caso de que finalmente se produzca). Mientras esto llega, podemos sacar el mejor partido las caracter\u00edsticas sociales que hay en SharePoint que son muchas y muy buenas, e incluso nos podemos plantear realizar nosotros mismos la sincronizaci\u00f3n de ambos perfiles el de SharePoint con el perfil del usuario en otras redes sociales como pueda ser Yammer.<\/p>\n<p>Pod\u00e9is descargaros el ejemplo desde el siguiente <a href=\"https:\/\/skydrive.live.com\/redir?resid=6818EDCF27B5F4B!144\" target=\"_blank\">link<\/a>.<\/li>\n<\/ol>\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>Dado que ahora estamos inmersos en el desarrollo de una APP que intenta aprovechar las caracter\u00edsticas sociales y que esperemos que en las\u00a0pr\u00f3ximas\u00a0semanas est\u00e9 publicada en la Office Store,\u00a0 voy a intentar explicar c\u00f3mo se puede sacar partido de las &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/\">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":[11,52],"tags":[18,151,53],"class_list":["post-366","post","type-post","status-publish","format-standard","hentry","category-sharepoint-2013","category-yammer","tag-caracteristicas-sociales","tag-sharepoint-2013","tag-yammer-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>[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este post vamos a explicar como extender las caracter\u00edsticas sociales que hay en esta nueva versi\u00f3n de SharePoint.\" \/>\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-2013-caracteristicas-sociales\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este post vamos a explicar como extender las caracter\u00edsticas sociales que hay en esta nueva versi\u00f3n de SharePoint.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp.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=\"9 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-2013-caracteristicas-sociales\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I\",\"datePublished\":\"2013-05-21T09:00:08+00:00\",\"dateModified\":\"2013-07-16T09:06:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/\"},\"wordCount\":1746,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/05\\\/PermisosApp-300x94.png\",\"keywords\":[\"caracteristicas sociales\",\"sharepoint 2013\",\"yammer\"],\"articleSection\":[\"sharepoint 2013\",\"Yammer\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/\",\"name\":\"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/05\\\/PermisosApp-300x94.png\",\"datePublished\":\"2013-05-21T09:00:08+00:00\",\"dateModified\":\"2013-07-16T09:06:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este post vamos a explicar como extender las caracter\u00edsticas sociales que hay en esta nueva versi\u00f3n de SharePoint.\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-caracteristicas-sociales\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/05\\\/PermisosApp.png\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/05\\\/PermisosApp.png\",\"width\":719,\"height\":226,\"caption\":\"Permisos APP\"},{\"@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 2013] Extendiendo Caracter\u00edsticas sociales Parte I - Desarrollando sobre SharePoint","description":"En este post vamos a explicar como extender las caracter\u00edsticas sociales que hay en esta nueva versi\u00f3n de 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":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/","twitter_card":"summary_large_image","twitter_title":"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I - Desarrollando sobre SharePoint","twitter_description":"En este post vamos a explicar como extender las caracter\u00edsticas sociales que hay en esta nueva versi\u00f3n de SharePoint.","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp.png","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I","datePublished":"2013-05-21T09:00:08+00:00","dateModified":"2013-07-16T09:06:58+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/"},"wordCount":1746,"commentCount":1,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp-300x94.png","keywords":["caracteristicas sociales","sharepoint 2013","yammer"],"articleSection":["sharepoint 2013","Yammer"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/","name":"[SharePoint 2013] Extendiendo Caracter\u00edsticas sociales Parte I - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp-300x94.png","datePublished":"2013-05-21T09:00:08+00:00","dateModified":"2013-07-16T09:06:58+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este post vamos a explicar como extender las caracter\u00edsticas sociales que hay en esta nueva versi\u00f3n de SharePoint.","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-caracteristicas-sociales\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp.png","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/05\/PermisosApp.png","width":719,"height":226,"caption":"Permisos APP"},{"@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\/366","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=366"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/366\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}