jueves, 22 de noviembre de 2012

SharePoint 2010: Habilitando el Developer Dashboard

Una de las ayudas que incorpora SharePoint 2010 para ayudar al desarrollador y al administrador de SharePoint es el Developer Dashboard (Por lo tanto, no es un panel que vaya a estar disponible para cualquier usuario de SharePoint). Se trata de un panel disponible a nivel de cada página de SharePoint 2010 que se caracteriza por:

Almacenar y visualizar estadísticas de rendimiento del código ejecutado para producir una cierta página.
Realizar un seguimiento es relativo a:
  • El elapsed time de la página en cuestión.
  • La carga introducida el sistema a través de realizar consultas y seguir excepciones.
  • Permitir visualizar una trazabilidad llamada a llamada.


Por defecto, y en la CTP de julio de SharePoint 2010, este panel no está habilitado. Para habilitarlo es necesario ejecutar alguna de las siguientes intrucciones:

On Demand (Developer Dashboard only visible when requested)

stsadm -o setproperty -pn developer-dashboard -pv ondemand 

Always On (Dashboard will be displayed on all the pages)

stsadm -o setproperty -pn developer-dashboard -pv on
 
Off (Dashboard will not be displayed. This is the default setting)
stsadm -o setproperty -pn developer-dashboard -pv off
 
Powershell way to enable Developer Dashboard
- Start SharePoint 2010 Management Shell from Microsoft SharePoint 2010 Products menu.
- Run the following powershell script at the prompt

$dashbrd = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
$dashbrd.DisplayLevel = 'OnDemand';
$dashbrd.TraceEnabled = $true;
$dashbrd.Update();
 
Usando este script usamos el dashboard OnDemand. Podemos setear en “Off” o “On” como hacemos usando STSADM.

lunes, 19 de noviembre de 2012

Error en el log de SharePoint: No XsltListViewWebPart was found on this page


En este caso intentábamos borrar un campo (una columna calculada que se llama Columna_origen) en una lista y al querer hacerlo da el error:

This Page has been modified since you opened it. You must open the page again.



En el log de SharePoint nos encontramos con el siguiente error al intentar abrir una página o lista con el problema:

No XsltListViewWebPart was found on this page

La página o vista no carga debido a las siguientes razones:

  • Algún elemento de la vista hace referencia a una feature en el sitio que fue desactivada.
  • La vista tenía un elemento web personalizado y un poco de java que hace referencia a la función que ya no se encuentra.

Solución:

En caso de que necesitemos mantener los datos de la columna, podemos crear una nueva columna, entonces desde PowerShell copiamos el contenido de la columna con el problema a la nueva columna.

$cSite = Get-SPweb "http://sharepoint2010/sites/sitecollection/site"
$cList=$cSite.Lists["Lista"]

foreach($f in $cList.items)
{
$uFrom = $f["Columna_origen"]

if($uFrom -ne $null)
{
$f["NewColumn"] = $f["Columna_destino"]
$f.Update()
}
}

Luego borramos la columna dañada.

$cSite = Get-SPweb "http://sharepoint2010/sites/sitecollection/site"
$cList=$cSite.Lists["Lista"]

foreach($f in $cList.fields)
{
$fff = $f.Title
if($fff -eq "Columna_origen")
{
$cList.Fields.Delete($fff)
}
}

 

domingo, 18 de noviembre de 2012

#Conceptos: Content Types

Los Content Types de SharePoint, podemos definirlos como una unidad de información re-utilizable compuesta por una serie de elementos comunes que describen un cierto tipo de entidad dentro de una organización. En este sentido, los tipos de contenidos se pueden componer de los siguientes elementos:
  • Las columnas (metadatos) que constituyen el tipo de contenido y por ende la unidad de información a modelar. Por ejemplo, si hablamos de un tipo de contenido “Documento”, tendremos columnas como “Título”, “Descripción”, “Autor”, etc.
  • La plantilla de documento en la que se van a basar los nuevos elementos de este tipo (únicamente para los tipos de contenido de documento). Por ejemplo, si estamos hablando de un tipo de contenido “Propuesta de proyecto”, esta plantilla contendrá lo que una organización entiende por documento de propuesta.
  • Los formularios personalizados Nuevo, Editar y Mostrar que desea utilizar con este tipo de contenido.
  • Los flujos de trabajo que están disponibles para los elementos de este tipo de contenido.
  • Las soluciones o características personalizadas que están asociadas a los elementos de este tipo de contenido.
  • Las directivas de administración de la información que están asociadas a los elementos de este tipo de contenido.
  • El panel de información del documento, que está disponible en los programas compatibles de Microsoft Office para los elementos de este tipo de contenido.
  • Las conversiones de documento que están disponibles para los elementos de este tipo de contenido (únicamente para los tipos de contenido de documento).
los tipos de contenido proporcionan a las organizaciones una manera de administrar y organizar coherentemente el contenido en diferentes listas y bibliotecas de una colección de sitios (colección de sitios: conjunto de sitios web hospedados en un servidor virtual que tienen el mismo propietario y comparten valores de administración. Todas las colecciones de sitios contienen un sitio web de nivel superior y pueden contener uno o más subsitios.) y, además, permiten que una sola lista o biblioteca contenga varios tipos de elementos o de documentos.

A la hora de modelar estos tipos de contenido, tenemos en SharePoint 2010 cuatro posibilidades:

De forma visual mediante la interfaz de usuario.
De forma visual mediante SharePoint Designer 2010.
De forma declarativa, con “un poco” de XML y CAML
De forma programática usando Visual Studio 2010.

jueves, 15 de noviembre de 2012

Activar, desactivar Features de SharePoint en PowerShell

En casos donde no tenemos acceso al site desde el explorador, podemos administrar las features desde PowerShell.


Listar Features activas en un site
Get-SPFeature –Site http://sp2010

Listar Feature por nombre o ID
Get-SPFeature –Identity "nombre o ID de la feature" –Site http://sp2010

Deshabilitar Feature
Disable-SPFeature –Identity "nombre o ID de la feature" –url http://sp2010

Habilitar Feature
Enable-SPFeature –Identity "nombre o ID de la feature" –url http://sp2010

En caso de usar STSADM
stsadm.exe –o activatefeature –name "nombre o ID de la feature"url http://sp2010

miércoles, 14 de noviembre de 2012

Administrar Applications Pools en Windows 2008

En casos donde no tenemos las herramientas de IIS para PowerShell, podemos usar la herramienta nativa de Windows Server 2008, desde Commando Prompt o PowerShell usando appcmd.exe, ubicado en C:\Windows\system32\inetsrv.
 
Con esto automatizamos un poco mas las implementaciones de SharePoint.
 
Listar Applications Pools
PS C:\Windows\system32\inetsrv> .\appcmd.exe list wp
 
Parar Application Pool
PS C:\Windows\system32\inetsrv> .\appcmd.exe stop apppool /apppool.name:"Nombre de Application Pool"
"Nombre de Application Pool" successfully stopped
 
Iniciar Application Pool
PS C:\Windows\system32\inetsrv> .\appcmd.exe start apppool /apppool.name:"Nombre de Application Pool"
"Nombre de Application Pool" successfully started.
 
Recycle
PS C:\Windows\system32\inetsrv> .\appcmd.exe recycle apppool /apppool.name:"Nombre de Application Pool"
"Nombre de Application Pool" successfully recycled

martes, 13 de noviembre de 2012

Recuperar passwords en SharePoint 2010



En Windows Server 2008, podemos recuperar passwords definidas en los applications pools. Para ello debemos conectarnos vía Remote Desktop al Web Server donde se encuentre definida la passwords que buscamos.

En el caso que necesitemos recuperar la contraseña de Farm, debemos iniciar sesión con una cuenta de administrador local en el servidor que ejecuta la Central Administration.

Una vez conectados al Web Server, seguimos estos pasos:

1. Abrir el Command Prompt y ejecutar lo siguiente:

cd C:\Windows\system32\inetsrv\

2. Listamos los application pool que están en ejecución y buscamos el nombre del application pool.

C:\Windows\System32\inetsrv>appcmd list wp
WP "19692" (applicationPool:Nombre de Application Pool)


3. Y recuperamos la password del application pool 

APPCMD list apppool "Nombre de Application Pool" /text:ProcessModel.Password
SharePoint Site Template

Para conocer con que template se creo un sitio en SharePoint 2007, 2010, 2013 debemos:

  • Carga el sitio en Internet Explorer
  • Click boton derecho sobre el site > click en la opción "View Source"
  • Buscar la variable "g_wsaSiteTemplateID"
Encontraremos un valor como por ejemplo STS#0, que hace referencia al template Team Site.

Para ver el listado de relación IDs - Site definition, ejecutamos desde SharePoint Managment Shell:

Get-SPWebTemplate