lunes, 28 de mayo de 2012

Tips/Info #24 Sharepoint 2010

1-Obtener información sobre la granja

Get-SPFarmConfig
WorkflowBatchSize                 : 150
WorkflowPostponeThreshold : 30
WorkflowEventDeliveryTimeout : 10
DataFormWebPartAutoRefreshEnabled : True
ASPScriptOptimizationEnabled : True
2-Renombrar el servidor

stsadm -o renameserver -oldservername <oldServerName> -newservername <newServerName>

Recuerde actualizar los alternate access mapping

3-Exportar todas las soluciones wsp 

(Get-SPFarm).Solutions |% { $filename = “C:\TEMP” + "\" + $_.Name; $_.SolutionFile.SaveAs($filename) }


4-Mostrar la página master page default de un sitio mediante powershell


Get-SPWeb "http://misitio.com" | Select MasterUrl, CustomMasterUrl


5-Limpiar la cache de Sharepoint Designer


En Windows 7: limpiar el contenido de las siguientes carpetas


C:\Users\<username>\AppData\Local\Microsoft\WebsiteCache


C:\Users\<username>\AppData\Roaming\Microsoft\SharePoint Designer


6-Código de errores de Sharepoint 2010

401 Errores relacionados a acceso
401;1 acceso no autorizado debido a que el inicio de sesión ha fallado
401;2 acceso no autorizado debido a que el inicio de sesión ha fallado debido a la configuración del servidor
401;3 acceso no autorizado debido a una entrada Access Control List (ACL)
401;4 acceso no autorizado debido a un filtro IIS que esta bloqueando el acceso
401;5 acceso no autorizado debido a una aplicación ISAPI or CGI
403 Errores relacionados a seguridad
403;1 Prohibido el acceso de ejecución, porque no está permitido
403;2 Prohibido el acceso de lectura, porque no está permitido
403;3 Prohibido el acceso a escritura porque no está permitido
403;4 Prohibido ya que el uso de SSL se requiere
403;5 Prohibida por el uso de 128 bits SSL es necesario
403;6 Prohibida porque la dirección IP fue rechazada
403;7 Prohibida porque un certificado de cliente se requiere
403;8 Prohibida ya que el acceso al sitio se le niega
403;9 Prohibido porque hay demasiados usuarios actualmente conectado al sitio
403;10 Prohibido debido a una configuración no válida
403;11 Prohibido debido a una contraseña no válida
403;12 Prohibido ya que el sitio Web requiere un certificado de cliente válido
403;13 Prohibido debido a que el certificado de cliente fue revocado
403;14 Prohibido debido a que el directorio listado se le niega
403;15 Prohibido el acceso porque el número de licencias de clientes se ha superado
403;16 Prohibido ya que el certificado de acceso de cliente no es válida o no es de confianza
403;17 Prohibida ya que el certificado de acceso de cliente ha caducado o aún no es válido
424 Errores
424 errores que normalmente aparecen cuando un nivel de protección de aplicaciones es demasiado alto. Para solucionarlo en tu servidor IIS, Ir a la aplicación web, seleccione la pestaña de propiedades del directorio virtual y establecer la protección de aplicaciones en Bajo (proceso IIS).
500 Error
Se trata de un error genérico interno en el servidor IIS. Una causa común de este error en un entorno de SharePoint es desmarca la opción "verify file exists" en el IIS
503 Error
Esto significa que un servicio ha dejado de funcionar o se puede colgar, ver en el Visor de sucesos en el servidor para ver cuál es la causa del problema



7-Queries sobre listas y carpetas: performance


Alternativas para SPList.Items


































Métodos y propiedades con rendimiento deficiente


Alternativas con mejor rendimiento


SPList.Items.Count


SPList.ItemCount


SPList.Items.XmlDataSchema


Creación de un objeto SPQuery para recuperar sólo los elementos que desee.


SPList.Items.NumberOfFields


Creación de un objeto SPQuery (especificando ViewFields) para recuperar solo los elementos que desee.


SPList.Items[System.Guid]


SPList.GetItemByUniqueId(System.Guid)


SPList.Items[System.Int32]


SPList.GetItemById(System.Int32)


SPList.Items.GetItemById(System.Int32)


SPList.GetItemById(System.Int32)


SPList.Items.ReorderItems(System.Boolean[],System.Int32[],System.Int32)


Realización de una consulta paginada mediante SPQuery y reordenación de los elementos dentro de cada página.


SPList.Items.ListItemCollectionPosition


ContentIterator.ProcessListItems(SPList, ContentIterator.ItemProcessor, ContentIterator.ItemProcessorErrorCallout) (solo Microsoft SharePoint Server 2010)


SPList.Items.ListItemCollectionPosition


ContentIterator.ProcessListItems(SPList, ContentIterator.ItemProcessor, ContentIterator.ItemProcessorErrorCallout) (solo SharePoint Server 2010)


Alternativas para SPFolders.Files



















Métodos y propiedades con rendimiento deficiente


Alternativas con mejor rendimiento


SPFolder.Files.Count


SPFolder.ItemCount


SPFolder.Files.GetEnumerator()


ContentIterator.ProcessFilesInFolder(SPFolder, System.Boolean, ContentIterator.FileProcessor, ContentIterator.FileProcessorErrorCallout) (solo SharePoint Server 2010)


SPFolder.Files[System.String]


ContentIterator.GetFileInFolder(SPFolder, System.String) Como alternativa, SPFolder.ParentWeb.GetFile(SPUrlUtility.CombineUrl(SPFolder.Url, System.String) (solo SharePoint Server 2010)


SPFolder.Files[System.Int32]


No usar. Cambie a ContentIterator.ProcessFilesInFolder y cuente los elementos durante la iteración. (Solo SharePoint Server 2010)


Recuperación de elementos con SPList.GetItems recomendado

SPQuery query = new SPQuery();
SPListItemCollection spListItems ;
string lastItemIdOnPage = null; // Posición de la página
int itemCount = 2000

while (itemCount == 2000)
{
// Incluir solo los campos que usaré.
query.ViewFields = "<FieldRef Name=\"ID\"/><FieldRef Name=\"ContentTypeId\"/>";
query.RowLimit = 2000; // Solo selecciono top 2000.
//Incluir items en subfolders.
query.ViewAttributes = "Scope=\"Recursive\"";
StringBuilder sb = new StringBuilder();
//Ordenar la query por ID y detengo el escaneo de la tabla especificando override.
sb.Append("<OrderBy Override=\"TRUE\"><FieldRef Name=\"ID\"/></OrderBy>");
//.. Agrego mas texto si es necesario.
query.Query = sb.ToString();
// Obtengo 2,000 items más.

SPListItemCollectionPosition pos = new SPListItemCollectionPosition(lastItemIdOnPage);
query.ListItemCollectionPosition = pos; //info de la página.
spListItems = spList.GetItems(query);
lastItemIdOnPage = spListItems.ListItemCollectionPosition.PagingInfo;
itemCount = spListItems.Count;

}



8-Obtener todas las content database por web application


Get-SPWebApplication | %{Write-Output "`n- $($_.url)"; foreach($cd in $_.contentdatabases){Write-Output $cd.name}} [>> C:\Temp\exportContentDatabasesInfo.txt ]


La parte entre [] es optativa, permite exportar el resultado a un archivo externo.


9-Procesos requeridos para sandbox solutions


SPUCWorkerprocess.exe:

Sandbox Worker process service es un servicio de aplicación separado que ejecuta código Sandbox. Este servicio debe ser iniciado en cada granja donde se use Sandbox Solutions.

SPUCWorkerprocessproxy.exe:

Sandbox Worker process proxy trabaja como un proxy para el Worker process. Se ocupa de la ejecución de código Sandbox y también puede servir a otras granjas si se ha configurado.Ayuda al balanceo de carga.

SPUCHostservice.exe:

Sandbox User Code Service se encarga del código de usuario en la Sandbox. Este servicio debe estar iniciado en la granja para usar sandbox solutions.

No hay comentarios:

Publicar un comentario