Como habilitar la valoración (rating) en una lista en SPS2010

En un cliente me han pedido activar en librerias de documentos, la opcion “Permitir clasificación de elementos de esta lista” o tambien conocido funcionalidad de rating través de código (ya que hay que hacerlo masivamente en unas decenas de colecciones de sitio).

He estado revisando los metodos/propiedades del objeto SPList pero no veo nada que me pueda valer… así que investigando un poco mas, he conseguido implementar el siguiente código:

private void EnableRating(SPList list)
{
	SPFieldCollection listfields = list.Fields;
	SPFieldCollection availfields = list.ParentWeb.AvailableFields;
	if (!listfields.Contains(FieldId.AverageRatings))
	{
		SPField field = availfields[FieldId.AverageRatings];
		list.Fields.AddFieldAsXml(field.SchemaXmlWithResourceTokens, true,SPAddFieldOptions.AddFieldToDefaultView | SPAddFieldOptions.AddFieldInternalNameHint | SPAddFieldOptions.AddToAllContentTypes);
	}
	if (!listfields.Contains(FieldId.RatingsCount) && availfields.Contains(FieldId.RatingsCount))
	{
		SPField field2 = availfields[FieldId.RatingsCount];
		list.Fields.AddFieldAsXml(field2.SchemaXmlWithResourceTokens, false,SPAddFieldOptions.AddFieldInternalNameHint | SPAddFieldOptions.AddToAllContentTypes);
	}
	list.Update();
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *