{"id":1508,"date":"2015-03-10T11:00:05","date_gmt":"2015-03-10T10:00:05","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1508"},"modified":"2015-03-10T10:52:23","modified_gmt":"2015-03-10T09:52:23","slug":"sharepoint-anadir-valoracion-las-noticias","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/","title":{"rendered":"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-1509 alignleft\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png\" alt=\"Estrellas\" width=\"349\" height=\"338\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png 349w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas-300x291.png 300w\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" \/>Muchas veces he escrito sobre la capacidad que existe en SharePoint de emplear\u00a0utilidades ya implementadas por el propio servidor. Estos componentes nos facilitan mucho el desarrollo y, por regla general, son bastante configurables.<\/p>\n<p>En esta ocasi\u00f3n, <strong>vamos a destripar el componente de \u00abRating\u00bb \/Valoraci\u00f3n que se le puede agregar a las bibliotecas de SharePoint de documentos y noticias de forma simple<\/strong>. Un requerimiento muy habitual en las Intranet es <strong>poder otorgar la funcionalidad de valorar la noticia por parte del usuario que la est\u00e1 leyendo.<\/strong> Y a trav\u00e9s\u00a0este componente lo podemos hacer\u00a0sin problemas.<\/p>\n<p><!--more--><\/p>\n<h2>\u00bfEmpezamos?<\/h2>\n<p>Para empezar a utilizar este componente, lo podemos activar a trav\u00e9s de la interfaz gr\u00e1fica. Vamos a la configuraci\u00f3n de la biblioteca de documentos\/ p\u00e1ginas y activar el rating.<br \/>\n<a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/configuracion.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1511\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/configuracion.png\" alt=\"configuracion\" width=\"407\" height=\"303\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/configuracion.png 407w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/configuracion-300x223.png 300w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/a><\/p>\n<p>El rating puede ser de dos formas:\u00a0<strong>Like<\/strong> o\u00a0<strong>Estrellas<\/strong>.<\/p>\n<p><a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Configuracion2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1512\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Configuracion2.png\" alt=\"Configuracion2\" width=\"964\" height=\"197\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Configuracion2.png 964w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Configuracion2-300x61.png 300w\" sizes=\"auto, (max-width: 964px) 100vw, 964px\" \/><\/a><\/p>\n<p>Activarlo mediante la interfaz gr\u00e1fica puede ser una soluci\u00f3n que utilicen los usuarios avanzados\/usuarios finales de SharePoint, pero <strong>en nuestros desarrollos debemos de dotar de la calidad de realizarlo sin hacer click<\/strong> (o minimizar el n\u00famero de clicks a realizar). Para ello, vamos a activar esta funcionalidad con el siguiente script de PowerShell:<\/p>\n<pre class=\"brush: powershell; title: ; notranslate\" title=\"\">\r\nParam\r\n(\r\n    &#x5B;Parameter(Mandatory=$true)]\r\n    &#x5B;string]$UrlWeb = $(Read-Host -Prompt &quot;Web Url&quot;)\r\n)\r\nAdd-PSSnapin &quot;Microsoft.SharePoint.PowerShell&quot; -ErrorAction SilentlyContinue\r\n$web=Get-SPWeb $UrlWeb;\r\n$list=$web.Lists&#x5B;&quot;P\u00e1ginas&quot;];\r\nif($list -ne $null)\r\n{\r\n Write-Host $list.Title &quot;not null&quot;;\r\n $assembly=&#x5B;System.Reflection.Assembly]::Load(&quot;Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot;)\r\n $reputationHelper =$assembly.GetType(&quot;Microsoft.SharePoint.Portal.ReputationHelper&quot;);\r\n $bindings = @(&quot;EnableReputation&quot;, &quot;NonPublic&quot;, &quot;Static&quot;);\r\n &#x5B;System.Reflection.BindingFlags]$flags = &#x5B;System.Reflection.BindingFlags]::Static -bor &#x5B;System.Reflection.BindingFlags]::NonPublic;\r\n  $methodInfo = $reputationHelper.GetMethod(&quot;EnableReputation&quot;, $flags);\r\n #For enabling Ratings\r\n $values = @($list, &quot;Ratings&quot;, $false);\r\n #OR for enabling Likes\r\n #$values = @($list, &quot;Likes&quot;, $false);\r\n $methodInfo.Invoke($null, @($values));\r\n  #For disable Rating or Likes\r\n &lt;#$methodInfo = $reputationHelper.GetMethod(&quot;DisableReputation&quot;, $flags);\r\n $disableValues = @($list);\r\n $methodInfo.Invoke($null, @($disableValues));#&gt;\r\n}\r\n<\/pre>\n<p>Una vez lo tenemos activado, tenemos que ver <strong>c\u00f3mo poder utilizar este componente tanto en los DisplayTemplate como en nuestro c\u00f3digo C#<\/strong> bien en PageLayout o nuestros WebParts.<\/p>\n<h3>Utilizarlo en DisplayTemplate<\/h3>\n<p>En primer lugar, nos hemos creado un M\u00f3dulo con todas las funcionalidades que tenemos para obtener las estrellitas y para generar el HTML que renderizar\u00e1 el valor de las mismas. El c\u00f3digo seria el siguiente:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nvar Encamina = Encamina || {};\r\nEncamina.Ratings = function () {\r\n    var ratings = {\r\n        termStoreName: '',\r\n        termSetId: '',\r\n        currentTerm: '',\r\n        root: this,\r\n        MenuItem: function (title, url) {\r\n\r\n        },\r\n        currentMenuItems: new Array(),\r\n        init: function (termName, termId, current) {\r\n            this.termStoreName = termName;\r\n            this.termSetId = termId;\r\n            this.currentTerm = current;\r\n        },\r\n        GenerateRatingStars: function (rating, ratingCount) {\r\n            var decRating = rating.value - Math.floor(rating.value);\r\n            var totalStars = 5;\r\n            var html = &quot;&quot;;\r\n            if (ratingCount == &quot;&quot;) {\r\n                ratingCount = 0;\r\n            }\r\n            var filledImage = &quot;\/_layouts\/15\/images\/RatingsSmallStarFilled.png&quot;;\r\n            var emptyImage = &quot;\/_layouts\/15\/images\/RatingsSmallStarEmpty.png&quot;;\r\n            var halfImage = &quot;\/_layouts\/15\/images\/RatingsSmallStarLeftHalfFilled.png&quot;;\r\n            html += &quot;&lt;div class='ms-comm-noWrap'&gt;&lt;span id='averageRatingElement-&quot; + rating + &quot;'&gt;&quot;;\r\n            for (var i = 0; i &lt; totalStars; i++) {\r\n                var count = i + 1;\r\n                var img = emptyImage;\r\n                if (count &lt;= rating) {\r\n                    img = filledImage;\r\n                } else if (decRating &gt; 0) {\r\n                    img = halfImage;\r\n                    decRating = 0;\r\n                }\r\n\r\n                html += &quot;&lt;span class='ratingsImageContainer star-' data-starnumber='&quot; + count + &quot;'&gt;&quot;;\r\n                html += &quot;&lt;img id='averageRatingElement-&quot; + rating + &quot;-img-&quot; + count + &quot;' src='&quot; + img + &quot;'\/&gt;&quot;;\r\n                html += &quot;&lt;\/span&gt;&quot;;\r\n            }\r\n            html += &quot;&lt;\/span&gt;&lt;span class='ms-comm-ratingSeparator'\/&gt;&quot;;\r\n            html += &quot;&lt;span class='ms-comm-ratingCountContainer' id='averageRatingElement-&quot; + ratingCount + &quot;-count'&gt;&quot;;\r\n            html += &quot;&amp;nbsp;&quot; + ratingCount + &quot;&lt;\/span&gt;&lt;\/span&gt;&lt;\/div&gt;&quot;;\r\n            return html;\r\n        },\r\n        UpdateRating: function (siteUrl, listId, listItemId, context) {\r\n            return function (element, arguments) {\r\n                var rating = element.currentTarget.dataset.starnumber;\r\n\r\n                function RatingSuccess(sender, args) {\r\n                    SP.UI.Notify.addNotification('Valoraci\u00f3n actualizada', false);\r\n                    var queryState = new Srch.QueryState();\r\n                    var queryStateArgs = new Srch.QueryEventArgs(queryState);\r\n                    debugger;\r\n                    context.ClientControl.raiseQueryReadyEvent(queryStateArgs);\r\n                }\r\n\r\n                function RatingFailure(sender, args) {\r\n                    SP.UI.Notify.addNotification('Error actualizando valoraci\u00f3n:' + args.get_message(), false);\r\n                }\r\n\r\n                if (rating != null &amp;&amp; rating != &quot;&quot; &amp;&amp; !isNaN(rating)) {\r\n                    var spCtx = new SP.ClientContext(siteUrl + &quot;\/AlDia\/Circulares&quot;);\r\n                    Microsoft.Office.Server.ReputationModel.Reputation.setRating(spCtx, listId, listItemId, parseInt(rating));\r\n                    spCtx.executeQueryAsync(Function.createDelegate(this, RatingSuccess), Function.createDelegate(this, RatingFailure));\r\n                }\r\n\r\n            };\r\n        }\r\n    };\r\n    return ratings;\r\n}();\r\n<\/pre>\n<p>Una vez tenemos estos valores, dentro de la plantilla del DisplayTemplate, deberemos de indicar la siguiente llamada:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!--#_\r\n            function SearchRating(avgRating, ratingCount, selector, siteUrl, listId, listItemId, context) {\r\n                var stars = $(&quot;#&quot; +selector+ &quot; .ratingsImageContainer&quot;);\r\n                stars.on(&quot;click&quot;, Encamina.Ratings.UpdateRating(siteUrl, listId, listItemId, context));\r\n            }\r\n\r\n     var AverageRating = $getItemValue(ctx, &quot;AverageRating&quot;);\r\n\t var RatingCount = $getItemValue(ctx, &quot;RatingCount&quot;);\r\n            var RatingDisplay = Encamina.Ratings.GenerateRatingStars(AverageRating, RatingCount);\r\n            AddPostRenderCallback(ctx, function() {\r\n                SearchRating(AverageRating, RatingCount, ratingsId, siteUrl, listId, listItemId, ctx);\r\n            });\r\n\r\n        _#--&gt;\r\n<\/pre>\n<h3>Utilizarla en los PageLayout<\/h3>\n<p>Para utilizarlo dentro de los PageLayouts, primero debemos registrar el componente en la cabecera del ASPX:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n&lt;%@ Register TagPrefix=&quot;SharePointPortalControls&quot; Namespace=&quot;Microsoft.SharePoint.Portal.WebControls&quot;  Assembly=&quot;Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; %&gt;\r\n<\/pre>\n<p>A continuaci\u00f3n, con a\u00f1adir la siguiente l\u00ednea ya tendremos disponible las estrellitas en nuestro desarrollo:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n   &lt;SharePointPortalControls:AverageRatingFieldControl ID=&quot;PageRatingControl&quot; FieldName=&quot;AverageRating&quot; runat=&quot;server&quot;\/&gt;\r\n<\/pre>\n<p>Aunque&#8230; \u00a1\u00a1esto no pod\u00eda ser tan sencillo como parece!! Existe un bug reconocido: <strong>la primera vez que se carga la p\u00e1gina con las estrellitas no se muestran las im\u00e1genes en Internet Explorer<\/strong>. Esto es debido al orden de carga de los ficheros de JavaScript propios de SharePoint. <strong>\u00a1SOLUCI\u00d3N!<\/strong> Tenemos que a\u00f1adir una funci\u00f3n JavaScript, que har\u00e1 que una vez que est\u00e9 cargada la p\u00e1gina, muestre las estrellas. Para ello podemos utilizar el siguiente c\u00f3digo:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    function fixIE10StarRatingIssue() {\r\n        if (SP.UI.Reputation != null) {\r\n            SP.UI.Reputation.RatingsHelpers.$c(false);\r\n            jQuery('.votacion &gt; script').each(function () {\r\n                eval($(this).text());\r\n            });\r\n        }\r\n    }\r\n    _spBodyOnLoadFunctionNames.push('fixIE10StarRatingIssue');\r\n&lt;\/script&gt;\r\n<\/pre>\n<h2>Referencias<\/h2>\n<p><a href=\"http:\/\/almondlabs.com\/blog\/adding-interactive-ratings-to-sharepoint-2013-search-results-part-2\/\" target=\"_blank\">http:\/\/almondlabs.com\/blog\/adding-interactive-ratings-to-sharepoint-2013-search-results-part-2\/ <\/a><br \/>\n<a href=\"http:\/\/weblogs.asp.net\/bsimser\/adding-ratings-and-comments-to-sharepoint-publishing-pages\" target=\"_blank\">http:\/\/weblogs.asp.net\/bsimser\/adding-ratings-and-comments-to-sharepoint-publishing-pages<\/a><br \/>\n<a href=\"http:\/\/community.rightpoint.com\/blogs\/viewpoint\/archive\/2014\/10\/19\/add-comments-and-ratings-to-a-sharepoint-2013-page-layout-using-design-manager.aspx\" target=\"_blank\">http:\/\/community.rightpoint.com\/blogs\/viewpoint\/archive\/2014\/10\/19\/add-comments-and-ratings-to-a-sharepoint-2013-page-layout-using-design-manager.aspx <\/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 he escrito sobre la capacidad que existe en SharePoint de emplear\u00a0utilidades ya implementadas por el propio servidor. Estos componentes nos facilitan mucho el desarrollo y, por regla general, son bastante configurables. En esta ocasi\u00f3n, vamos a destripar el &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/\">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":[134],"tags":[110,135,26],"class_list":["post-1508","post","type-post","status-publish","format-standard","hentry","category-out-of-the-box","tag-out-of-the-box","tag-rating","tag-sharepoint"],"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>SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias - 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\/sharepoint-anadir-valoracion-las-noticias\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"Muchas veces he escrito sobre la capacidad que existe en SharePoint de emplear\u00a0utilidades ya implementadas por el propio servidor. Estos componentes nos facilitan mucho el desarrollo y, por regla general, son bastante configurables. En esta ocasi\u00f3n, vamos a destripar el &hellip; Continue reading &rarr;\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.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=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias\",\"datePublished\":\"2015-03-10T10:00:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/\"},\"wordCount\":1072,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2015\\\/03\\\/Estrellas.png\",\"keywords\":[\"out of the box\",\"rating\",\"sharepoint\"],\"articleSection\":[\"out of the box\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/\",\"name\":\"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2015\\\/03\\\/Estrellas.png\",\"datePublished\":\"2015-03-10T10:00:05+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-anadir-valoracion-las-noticias\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2015\\\/03\\\/Estrellas.png\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2015\\\/03\\\/Estrellas.png\",\"width\":349,\"height\":338},{\"@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: a\u00f1adir Valoraci\u00f3n a las noticias - 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\/sharepoint-anadir-valoracion-las-noticias\/","twitter_card":"summary_large_image","twitter_title":"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias - Desarrollando sobre SharePoint","twitter_description":"Muchas veces he escrito sobre la capacidad que existe en SharePoint de emplear\u00a0utilidades ya implementadas por el propio servidor. Estos componentes nos facilitan mucho el desarrollo y, por regla general, son bastante configurables. En esta ocasi\u00f3n, vamos a destripar el &hellip; Continue reading &rarr;","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/#article","isPartOf":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias","datePublished":"2015-03-10T10:00:05+00:00","mainEntityOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/"},"wordCount":1072,"commentCount":0,"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png","keywords":["out of the box","rating","sharepoint"],"articleSection":["out of the box"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/","url":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/","name":"SharePoint: a\u00f1adir Valoraci\u00f3n a las noticias - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/#primaryimage"},"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png","datePublished":"2015-03-10T10:00:05+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-anadir-valoracion-las-noticias\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2015\/03\/Estrellas.png","width":349,"height":338},{"@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\/1508","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=1508"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1508\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}