Archivo de la etiqueta: C#

Listado de plantillas de sitio en SharePoint 2010

Como me ha tocado crear nuevos sitios a través del modelo de objetos, he tenido que pegarme con las plantillas estandar que trae por defecto SharePoint 2010… Como creo que es util tener tanto la definición, como el listado de plantillas que se pueden usar, adjunto un listado de estas:

Más información sobre las plantillas de sitio de SharePoint 2010: aquí.

Enlace Term Store Management desaparecido en la colección de sitio

Cuando en SharePoint 2010 creas un sitio en blanco, por defecto, hay características que no están activas, como puede ser el caso de usar una plantilla de sitio de publicación. En el caso de un la creación de una nueva colección de sitio usando una plantilla en blanco, el enlace a la administración de metadatos, no está visible.

Esto se soluciona activando la característica de Taxonomía, el problema viene ya que esta característica, no es posible activarla desde el interface Web, por lo que hay que recurrir a PowerShell para ello o Stsadm:

  • PowerShell:
Enable-SPFeature -id “73EF14B1-13A9-416b-A9B5-ECECA2B0604C” -Url http://micolecciondesitio
  • Stsadm:
stsadm -o activatefeature -id 73EF14B1-13A9-416b-A9B5-ECECA2B0604C -url http://micolecciondesitio -force

Como añadir el titulo de la pagina en SPS2010 programaticamente

He perdido varias horas investigando como poner el titulo de una pagina desde un WebPart a través de codigo… He probado cosas como: this.Page.Title, this.Parent.Page.Title… pero sin mucho acierto 🙁

Investigando un poco mas, me he propuesto sobrescribir el PlaceHolder que contiene el titulo de la pagina, y para ello, habria que realizar los siguientes pasos: localizar e instanciar el control PlaceHolderPageTitle,  eliminar el actual contenido y por ultimo insertar un nuevo literal dentro del PlaceHolder. A través e código seria así:

ContentPlaceHolder contentPlaceHolder = (ContentPlaceHolder) Page.Master.FindControl("PlaceHolderPageTitle");
contentPlaceHolder.Controls.Clear();
LiteralControl literalControl = new LiteralControl();
literalControl.Text = "Titulo de la Pagina";
contentPlaceHolder.Controls.Add(literalControl);

Con este cambio he conseguido que el indexador de SharePoint, almacene correctamente el titulo de la pagina, definido desde un WebPart.

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();
}

ASP.NET ejecutar C# y VB.NET en la misma aplicación Web

Despues de unos meses de paron, a causa de un proyecto que tengo entre manos… he vuelto con ganas.

A veces es necesario integrar en tu aplicación codigo encontrado en Internet o de algun otro compañero, en un lenguaje que no es el que estas usando.

Una opcion, es traducir el codigo bien a mano si no es mucho o bien usar algun conversor… aunque otra opción es modificar el Web.config de tu aplicacion unicamente.

Los cambios a realizar unicamente son incluir un segundo compilador y listo:


					

Recursos para desarrolladores .NET

He encontrado varios post donde se hacen una recopilación de recursos (muy interesantes), para desarrolladores en entorno .NET.

El primer post, es de DesignVitality y recopila 43 aplicaciones AJAX, que podemos reutilizar en el desarrollo de nuestras aplicaciones web. El titulo de este post (en ingles) es: 43 Exceptionally Useful AJAX Applications. Si eres desarrollador web y usas la plataforma .NET para crear tus web sites, es de obligatoria visita.

Otra interesante recopilacion de utilidades es la que acaban de publicar recientemente en CarlJ, donde hay recursos para aplicaciones web, herramientas de escritorio y demás utilidades… Aqui tienes el post (en ingles): 21+ Free Regular Expression Tools & Resources donde esta recopilado todo.

Por ultimo y no por esto menos interesante, CarlJ (de nuevo) recopila más de 15 add-ins gratis para Visual Studio 2005 (aunque algunos sirven también para la version 2003). Estos add-ins pueden ayudarte a mejorar la calidad de tu código y a crear éste de forma más rápida. El post (en ingles): 15+ Free Visual Studio Add-Ins.