Mostrando entradas con la etiqueta Cache. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cache. Mostrar todas las entradas

martes, 27 de octubre de 2015

Sharepoint 2016 – AppFabric/Redis (Skype for Business Server Statistics Manager)

Hace un tiempo había escrito un post sobre la posibilidad de usar Redis cómo reemplazo de AppFabric para Sharepoint 2016.

http://todosharepoint.blogspot.com.ar/2015/04/redis-cache-para-sharepoint-2016.html

Y cómo explique en ese post, Microsoft deprecó AppFabric (2 de abril de 2016)

http://blogs.msdn.com/b/spses/archive/2015/07/20/sharepoint-2013-support-of-app-fabric-1-1-ending-on-2-april-2016-is-sharepoint-affected.aspx

Sigo pensando que es una muy mala decisión el uso de AppFabric con Sharepoint 2016, pienso que lanzar una nueva versión con una versión deprecada, con bastantes limitantes en el uso, performance buena pero no excelente, administración compleja, sin dashboard del estado actual de la cache, etc no es la decisión más adecuada de MS.

Les dejo algunos links donde explican porque usar Redis en vez de AppFabric

https://redislabs.com/blog/appfabric-coming-apart-top-5-reasons-to-move-to-redis

http://www.gartner.com/technology/reprints.do?id=1-2PO8Z2O&ct=151013&st=sb

AppFabric permite usar estructuras de datos tales como sorted sets, lists, queues, además de tener un gran servicio de replicación. Redis es más que una cache (key-vaue), es una herramienta que podrías usar para realtime metrics, analytics, etc.

Ya empezó MS a lanzar productos más integrados con Redis, por ejemplo en el producto Skype for Business Real Time Statistics Manager

http://blogs.technet.com/b/dodeitte/archive/2015/10/24/skype-for-business-server-real-time-statistics-manager.aspx

Skype for Business Server Statistics Manager is a powerful tool that allows you to view Skype for Business Server health and performance data in real time. You can poll performance data across hundreds of servers every few seconds, and view the results instantly on the Statistics Manager Website.

No sería genial tener tu dashboard de los distintos servidores de Sharepoint 2016 que te permita ver el estado actual de la cache, performance issues, Key Health Indicator (KHI) thresholds, alertas sobre datos (Ej: consumo de cache, monitoreo de eventos), quién está en online, track user location real time, análisis de networking/flow, listado de últimos documentos cargados,etc, etc, en resumen tener un análisis en tiempo real de cual indicador de Sharepoint

lunes, 23 de junio de 2014

Error con el job SPDiagnosticsMetricsProvider

En el event viewer aparecería el siguiente error:

The Execute method of job definition Microsoft.SharePoint.Diagnostics.SPDiagnosticsMetricsProvider (ID 6004dc5d-5cee-451c-b5ae-b6a09ab8c9b2) threw an exception. More information is included below.

An update conflict has occurred, and you must re-try this action. The object SPWebService was updated by Dominio\Cuenta, in the OWSTIMER (660) process, on machine NOMBREMAQUINA.  View the tracing log for more information about the conflict.

Cuando en el mensaje aparece el texto “An update conflict has occurred, and you must re-try this action.” casi siempre es un problema de versiones diferentes de cache de configuración de  Sharepoint.

Para ello reviso el archivo cache.ini.

C:\ProgramData\Microsoft\SharePoint\Config\GUID

Al revisar veo que lo siguiente en el contenido del archivo cache.ini

  • En el WFE el valor = 116991
  • En el Application Server el valor = 11700

Claramente tenia versiones diferentes de cache. Lo que hice es limpiar la cache DE CADA SERVIDOR, puedes usar el siguiente post: http://blogs.msdn.com/b/jamesway/archive/2011/05/23/sharepoint-2010-clearing-the-configuration-cache.aspx

Una vez que se actualizo la cache, reviso de nuevo los files (esperar unos 10 minutos hasta que se actualice de forma completa), y veo que ahora están iguales las versiones.

  • En el WFE el valor = 117052
  • En el Application Server el valor = 117052

sábado, 30 de marzo de 2013

Links útiles #31 Sharepoint 2013

1-Subida de archivo mediante CSOM y REST en Sharepoint 2013

CSOM es recomendable para subir archivos a Sharepoint hasta 1.5 MB, en cambio REST es recomendable hasta 2 GB de data.

http://www.shillier.com/archive/2013/03/26/uploading-files-in-sharepoint-2013-using-csom-and-rest.aspx

2-Site Mailbox con Sharepoint 2013

image

El siguiente artículo nos indica como integrar Site Mailbox con Sharepoint 2013 y Exchange 2013.

http://www.scinaptic.com/support/0109.html

3-AppFabric y Distributed Cache en Sharepoint 2013

Este artículo nos introduce en AppFabric con Distributed Cache. Nos muestra la arquitectura, best practices, y comandos de configuración.

http://blogs.msdn.com/b/besidethepoint/archive/2013/03/27/appfabric-caching-and-sharepoint-1.aspx

http://blogs.msdn.com/b/besidethepoint/archive/2013/03/27/appfabric-caching-and-sharepoint-2.aspx

4-Cache de social feeds y security trimming

Sharepoint 2013 tiene una cache llamada Security Strimming Cache que mantiene información acerca de feeds de usuarios basados en search results. Esta cache mantiene por un tiempo determinado la información

Security trimming process with the cache

http://technet.microsoft.com/en-us/library/dn167721.aspx#section2

4-SkyDrive Pro en Sharepoint 2013

SkyDrive Pro nos permite sincronizar librerías de Sharepoint 2013 o de Sharepoint Online con carpetas de nuestra máquina. Se requiere Office 2013

Diagram of the Sky Drive Pro architecture

http://technet.microsoft.com/en-us/library/dn167720.aspx

5-Sharepoint 2013 List y LightSwitch

image

El siguiente artículo nos explica como crear una aplicación LightSwitch con operaciones CRUD sobre una lista de Sharepoint 2013

http://blogs.msdn.com/b/lightswitch/archive/2013/03/28/using-sharepoint-lists-as-lightswitch-entities-and-with-csom-chris-rummel.aspx

viernes, 1 de febrero de 2013

Tips Info #95 Sharepoint 2010

1-Minor version

Sólo los usuarios que pertenezcan a usuario Aprobador o administradores de site collection, podrán ver las versiones minor. Para que todos los usuarios puedan ver las versión, deberá publicar el documento. Lo cual la convierte a Major Version.

2-Test Upgrade Check de base de datos contra un web application

Test-SPContentDatabase –Name SP_Test_Content –WebApplication http://webapplication

3-El search indexa el content sources pero no trae resultados

Una posibilidad es la feature security trimmed, Lo que hace el search es mostrar resultados de búsqueda dependiendo si tenés permisos o no sobre los documentos/contenido que devuelve la query.

Otra posibilidad es que la cuenta de search que se usa para indexar contenido, no tenga permisos de read sobre el content sources. Un mensaje típico que puede aparecer cuando no tiene permisos sobre el content sources es el de “Access Denied”. Agrega una full policy de read a la cuenta de search que se usa para indexar.

Si en el log aparece el mensaje: SharePoint Server Search     Query Processor    g2j3                High        AuthzInitializeContextFromSid failed with ERROR_ACCESS_DENIED. This error indicates that the account under which this process is executing may not have read access to the tokenGroupsGlobalAndUniversal attribute on the querying user's Active Directory object. Query results which require non-Claims Windows authorization will not be returned to this querying user.

Lo que tendrás que hacer es, es agregar la cuenta del search al grupo “Windows Authorization Access Group” del AD.

image_thumb[1]

image_thumb[3]

Agregando el usuario a este grupo tendrá acceso de read al atributo tokenGroupsGlobalAndUniversal de todos los usuarios

4-Cache Busting

Cache busting es la manera de asegurar de que el navegador descargue una nueva versión del archivo css o js. Esto se puede realizar agregando al final del ?, caracteres random.

Ej:

<link rel="stylesheet" href="/js/example.js?v1.0" type="text/css" />

SharePoint 2010 usa una técnica que involucra computar un hash MD5 sobre el archvio y agrega el resultado al link el siguiente texto “?rev={MD5HASH}” . El hash computado no cambia a menos que se haya cambiado algo del archivo.

Esta técnica de computar un hash MD5 es usado por los controles CssRegistration y ScriptLink.

Ese puede usar por código, con el siguiente método: MakeBrowserCacheSafeLayoutsUrl

5-Forzar a actualizar un data source que tiene un diagrama VISIO

clip_image004

Para evitar que nos aparezca este mensaje, se puede editar el web.config del servicio de Visio.

Ingresar a C:\Program Files\Microsoft Office Servers\14.0\WebServices\Shared\VisioGraphicsServer\

Editar el archivo web.config, y agregar ForceRefresh = true

<appSettings>

  <add key="ForceRefresh" value="true" />

</appSettings>

A continuación hacer un recycle del app pool asociado al web.services.

jueves, 31 de enero de 2013

Tips Info #94 Sharepoint 2010

1-El servicio de crawl de Sharepoint se detuvo después de que el servidor de base de datos se quedó sin disco (The crawl Sharepoint service stopped after the database server ran out of disk.)

En este escenario, el crawl se mete en un bucle donde el servidor SQL Server intenta asignar espacio adicional para los datos aplicables o el directorio de logs. Sin embargo, porque no hay espacio suficiente en el disco (o el destino no permite el auto-growth), la asignación de espacio producirá un error y la operación de búsqueda se deshace. Los servicios de búsqueda, intentará repetir la operación fallida, que continuará fallando.

Intentando detener el crawl (por ejemplo, desde la página de Administración de búsqueda) podría exacerbar el problema, ya que esta acción podría generar un número elevado de transacciones para eliminar elementos de las tablas de cola de rastreo y afines al proceso de rastreo. Por lo tanto, lo mejor es evitar detener el rastreo.

Use los siguientes pasos para resumir el crawl:

  • Detener los servicios 'SharePoint Server Search 14' (net stop osearch14) y 'SharePoint 2010 Timer' (net stop spTimerV4) en cada servidor de la granja. ()
  • Desde SQL Server Management Studio, hacer un detach de la Crawl Store DB(s)
  • Mover los files de la base de datos y/o log’s (Ej. .mdf, .ldf, y .ndf)  Crawl Store DB(s) a un path con sufiente espacio en disco.
  • Re-attach de la base de datos Crawl Store DB(s)
  • Reiniciar los servicios 'SharePoint Server Search 14' (net start osearch14) y 'SharePoint 2010 Timer' (net start spTimerV4)

2-Componentes del Search de Sharepoint 2010

Search Components

  • Search Administration
    Los usuarios interactúan con este componente vía el Central Admin (Central Admin -> Manage Service Applications -> [click sobre el SSA] )
  • Crawl Components
    Crawl components procesa los crawls de las fuentes de contenido, propaga los índices de resultados hacia los query components. Los Crawl components son asociados con un sólo Search Service Application.. Puede haber  n a 1 relaciones entre Crawl Components y una Crawl DB
  • Query Components
    Este componente retorna resultados de las búsquedas, cada query component es parte de un “index partition”, el cual es asociado con una base de datos de propiedades (property), la misma contiene la metadata asociada con un conjunto específico de contenido indexado.

Search Databases

  • Search Service App (SSA) Admin Database

La base de datos  SSA Admin ayuda a administrar los aspectos de alto nivel de SSA tales como search topology, crawl state/history, y host distribution & refactoring. La misma también almacena  los security descriptors (ACLs) usados para realizar el trim de los resultados de búsqueda.También mantiene los bets set del crawl component.

  • Crawl Database

La base de datos de Crawl mantiene los aspectos relacionados del crawl tales como scheduling, content sources. También provee una cola de crawl, que mantiene el status de las crawled URLs, y almacena links/textos de los tags que se descubren durante el crawl.
Crawl databases son asociados con crawl components.

  • Property Database

La base de property contiene la metadata  asociada con el contenido indexado. Property databases son asociados con index partitions, y retorna la metadata asociada con el contenido en los resultados de búsqueda.

Search Services

  • Search Admin Web Service (SearchAdmin.svc en el IIS)
  • Search Query and Site Settings (SQSS) Web Service (SearchService.svc en el IIS)

El servicio SQSS es llamado por el WFE para manejar las queries, además sirve como balanceador de carga para query components. Este servicio corre sobre cada server que incluye un search query component. Este servicio administra las tareas de procesamiento de query, las cuales incluyen enviar queries a uno o varios query components y construye los resultados de búsqueda.

  • SharePoint Server Search service (MSSearch.exe): administra el proceso de crawling del contenido, tiene reglas que determinar el contenido a indexar.
  • SharePoint Search Filter Daemon (MSSDmn.exe): cuando una solicitud es tomada para indexar un repositorio, el proceso MSSearch.exe invoca una filter daemon, MssDmn.exe, que carga el requerido protocol handlers y filtros necesarios para conectar, obtener y parsear el contenido.

3-Cambiar los campos “Created by” y “Modified By” (Change fields "Created by" and "Modified By")

  using (SPSite site = new SPSite(SPContext.Current.Web.Url))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPList lista = web.Lists.TryGetList("ListaModificar");
                    SPListItem item = lista.GetItemById(14);
                    web.AllowUnsafeUpdates = true;

                     //En este caso se usa el objecto SPUser
                    item[SPBuiltInFieldId.Author] = SPContext.Current.Web.CurrentUser;
                   
                    //En el siguiente ejemplo se usa el user id (integer)
                    //item[SPBuiltInFieldId.Author] = SPContext.Current.Web.CurrentUser.ID;                  

                    item.Update();

                    web.AllowUnsafeUpdates = false;
                }
            }

4-Agregar una servidor de failover para una base de datos de Sharepoint 2010 vía powershell (Add a failover server for database Sharepoint 2010 via powershell)

$database = Get-SPDatabase | where { $_.Name -eq “NombreBaseDeDatos” }
$database.AddFailoverServiceInstance(“NombreSQLServerFailover”)
$database.Update();

5-Limpiar la cache de Sharepoint Designer

A veces ocurre que aunque hayamos hecho el check in, los archivos en Sharpeoint Designer quedan con el icono que informa que sigue en check out, o cuando aparecen mensaje del tipo “Cannot perform this operation. The file is no longer checked out or has been deleted.”, cuando se quiere hacer check in de un file. La solución es limpiar la cache.

Abra las siguientes carpetas, y limpie su contenido:

  • %APPDATA%\Microsoft\Web Server Extensions\Cache
  • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache

martes, 4 de septiembre de 2012

Tips/info #66–Sharepoint 2010

1-Settings para un Sharepoint Timer JOB

Para leer información de un timer job, se podrá utilizar el archivo OWSTIMER.EXE.CONFIG. El mismo se deberá crear en la misma carpeta donde está el archivo OWSTIMER.EXE (C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN\)

Escriba todas las configuraciones que necesite. Ej: un caso típico de su uso, es cuando al realizar un crawl, recibimos el siguiente error:

“Crawling this document could not be completed because the remote server did not respond within the specified timeout. Try crawling the server later, or increase the timeout value. You may also try scheduling crawls during off-peak usage times.”

Para solucionar este problema, podremos debuggear el tráfico del owstimer: http://msdn.microsoft.com/en-us/library/ty48b824.aspx

2-Master pages disponibles en Sharepoint 2010

Master page primaria – v4.master
Usada para páginas de adminstración y contenido.Generalmente es usada en la página inicial de los Team Site, páginas de librería y listas, y páginas de configuración de site.

Minimal master page – minimal.master
Contiene mínimo contenido de Sharepoint, usada para funcionalidades full screen o aplicaciones embebidas. Esta master page es usada para crear páginas de inicio o de resultados en un Search Center, páginas que hostean Word o Excel web applications.

Publishing master page – nightandday.master
Usada para páginas de sites con la feature SharePoint Server publishing habilitada. Son usadas para páginas de incio, de acerca de, extranet, intranet, etc.

2007 default master page – default.master
Usada para soportar legacy de SharePoint, las cuales han sido upgrade de forma visual a SharePoint 2010.
Home page, site pages, ylist pages sobre sites de SharePoint 2007 antes del visual upgrade.       

Otra master page, la simplev4.master, la cual es usada para pantallas específicas de Sharepoint, como Login.aspx, Error.aspx, y Confirmation.aspx. Esta master page es localizada en el server y no puede customizarse con Sharepoint Designer 2010.

3-Diferencias entre workflows y event receivers

  • Event handlers no pueden iniciarse de forma manual – workflows puede ser inicializados de forma automática o manual.
  • Event Handlers pueden ser sincrónicos o asincrónicos – Workflows son siempre asincrónicos (Se ejecutan después de la operación)
  • En un Event Receivers podemos cancelar la operación (tales como add/update/delete) – pero en Workflows no es posible.
  • Event handlers se ejecutan en un particular WFE, así si hay algo mal en ese WFE, puede terminar. Jobs de Workflow son robustos y pueden reiniciarse incluso después de reinicios de servidor.
  • Usualmente los Event handlers se ejecutan por corto periodo – Workflows pueden estar disponibles por mucho tiempo, incluso años.
  • No hay User Interface/user Interaction en los Event Receivers – Workflows pueden tener user interactions tales como obtener información de usuario en forms de iniciación.
  • Los Event receivers son lanzados por eventos tales como New Item Adding-Added, Updating-Updated, Deleting-Deleted, etc. – pero los workflows se lanzan sólo en creación/modificación/borrado.
  • Event Receivers son creados con Visual studio – Workflows pueden ser creados medianteSharePoint user interface, SharePoint Designer, Visio o Visual studio.
  • Workflows mantiene los de "Workflow History"  - Event handler no deja nada.
  • Event receivers son mejores para manejar grandes cantidades de datos – Workflows son mejores para pequeñas cantidades de datos.

4-No me aparece las opciones de “View in Browser “y “Edit in Browser” para un archivo de excel.

Recuerde que office web apps sólo renderiza archivos excel con formato OpenXML (Excel 2007 o Excel 2010 o Excel 2013). No renderiza archivos xls.

5-Error: The search request was unable to connect to the Search Service

Se debe verificar lo siguiente:

  • Verifica que el servicio “SharePoint Server Search 14″ (OSearch14) esté ejecutándose. En el caso que esté ejecutandose, reinicia el servicio.
  • Verificar que el web application deseado esté conectado al service group donde está el servicio de search (Central administration > Manage Webapplications > click sobre el Webapplication > Click Service Connection. verifica que el Search Service Application está marcado): Link
  • Verifica que l web part de resultados no tenga seteado el valor “Local FAST search results” en la propiedad Location
  • Limpia la cache de los servers: http://todosharepoint.blogspot.com.ar/2012/02/sharepoint-configuration-cache.html , y a continuación reinicia el servicio de oSearch14.
  • Verifica que el proxy del search esté funcionando (Search Application proxy):
    • $getsearchapp = get-spenterprisesearchserviceapplication "<Nombre del search Service Application>"
    • $setproxy = new-spenterprisesearchserviceapplicationproxy -name "Nombre del Search Service Application Proxy" -Uri $getsearchapp.uri.absoluteURI
    • $setproxy.status
    • Si la línea anterior, devuelve offline, ejecuta lo siguiente: $proxy.status = “online”
  • Verifica que no debas hacer un upgrade de las bases de datos (Get-SPDatabase | ?{$_.NeedsUpgrade -eq $true} | Select Name)
  • Verifica que la cuenta de usuario no esté bloqueada.

viernes, 27 de julio de 2012

Tips/Info #53 Sharepoint 2010

1-Error al tratar de conectar infopath con un sitio de Sharepoint 2010: "Unable to connect to the SharePoint site."

Verifica que tengas creado un top level site collection. Ej: Si tu sitio

Es decir si tratas de conectarte a http://sp2010/sites/spsite, deberías tener creado un top level site collection en http://sp2010/

2-Limpiar la cache de infopath

Start > run > Infopath /cache clearall

XP –>C:\Documents and Settings\[User]\Local Settings\Application Data\Microsoft\InfoPath\FormCache2

Vista/Seven—>C:\Users\[User]\AppData\Local\Microsoft\InfoPath\FormCache2

3-Al abrir una document library en vista del explorador, nos lanza el siguiente error: Documents in this folder are not available. This folder may have been moved or deleted, or network problems may be preventing a connection to the server

Abre el regedit, navega hasta “HKEY_CLASSES_ROOT -> Software -> Microsoft -> MasterAggregatorForIPP -> OleDbHandlers”

Haz un backup de la carpeta “Software” debajo de OleDbHandlers

Una vez hecho el backup borra la carpeta Software.

Ejecuta Office Repair, y reinicia la máquina.

4-Limitaciones de ListData.svc (RESTFul API)

Sólo usuarios autenticados pueden usar este servicio, incluso habilitando acceso anónimo.

No permite consumir datos de listas externas y de discusion list.

El servicio no usa los nombres internos de los campos, sino el título del campo, incluso con espacios. Esto puede ocasionar problemas, si se cambia el título del campo.

5-Check-out vs Locks en Sharepoint 2010

Los documentos que están bloqueados permiten edición concurrente, pero los documentos en check-out NO permiten edición concurrente.

Más info: http://www.novolocus.com/2012/07/26/check-out-locking-and-document-co-authoring/

miércoles, 11 de julio de 2012

Tips/Info #48 Sharepoint

1-Error: “The filtering process could not load the item. This is possibly caused by an unrecognized item format or item corruption.”

Reinstala el Microsoft Office 2010 Filter Packs (64 bit): http://www.microsoft.com/download/en/details.aspx?id=17062

2-"Cannot perform this operation.The file is no longer checked out or has been deleted."

Al tratar de hacer un chck in Sharepoint Designer o la UI de Sharepoint nos lanza este error. Deberemos hacer lo siguiente, limpiar las siguientes carpetas:

%APPDATA%\Microsoft\Web Server Extensions\Cache
%USERPROFILE%\AppData\Local\Microsoft\WebsiteCache

3-The solution cannot be removed when a job is scheduled or running.

stsadm -o enumdeployments

Busca el GUID del deployment pendiente y ejecuta los siguiente
stsadm -o canceldeployment –id “GUID”

4-Session State en Sharepoint 2010

SharePoint 2010 usa dos servicios relacionados a la session state, que tienen nombres parecidos pero propósito diferente

  • ASP.NET session state puede ser usado en páginas de SharePoint 2010. Este servicio es deshabilitado por default en instalaciones normales de Sharepoint 2010; y podrá ser habilitado usando algunas instrucciones que aparecen más abajo. Una vez habilitado, aparece en la página de Service Applications un servicio llamado “SharePoint Server ASP.NET Session State Service.”
  • El "State Service service application" es diseñado para y sólo disponible para componentes office internos tales como InfoPath Forms Services y Visio Services. Este servicio es habilitado por default en una tipica instalación de Sharepoint 2010 y no está relacionado a ASP.NET session state. Aparece en la página de Service Applications como “State Service.”

    Para habilitar ASP.NET session state:

    En la ventana de SharePoint 2010 Management Shell escribe lo siguiente:
    Enable-SPSessionStateService –DefaultProvision
    Sobre cada web application sobre el cual deseas usar session state, edita el web.config (previo backup) y setea la propiedad enableSessionState: <pages enableSessionState="true"

    Guía para usar en SharePoint Server ASP.NET Session State:

  • Este session state podría ser usado por custom code en web parts y otras páginas que hosteen controles
  • La información de Session state es almacenado en una base SQL configurable; esto implica lo siguiente:
  • Afinidad para la carga de balanceo no es requerido
  • El uso intensivo de session state debe ser incluído en un planning de capacity/base de datos. Por defautl, la base de datos de session state es creado en el mismo server de SQL que contiene la base de datos de configuración de Sharepoint. Esto puede ser cambiado a otro server. Para moverlo a otro SQL Server, primero deberás deshabilitarlo y habilitarlo de nuevo con una nueva configuración que apunte al server nuevo.
  • Cuando está habilitado, Session state es disponible para toda la granja. Cada web aplication puede elegir si desea usarlo o no mediante la configuración del web config(enableSessionState="true").
  • Session state es particionado usando la root URL. Esto significa que diferentes web applications tendrán diferentes objetos de  session state; un web part puede tener sólo acceso al objeto session state disponible. Si host header de site collection son usados, entonces objetos de session diferentes serán usados para cada site collection(el browser tendrá múltiple session ids en diferentes cookies).

    Para más información sobre el comando SPSessionStateService , ingrese al siguiente link: http://technet.microsoft.com/es-ar/library/ff607857.aspx

    Un ejemplo diferente:

    Enable-SPSessionStateService –DatabaseName “Session State Database” –DatabaseServer “localhost” –SessionTimeout 120
    En este ejemplo se habilita un estado de sesión de ASP.NET en un conjunto de servidores de Microsoft SharePoint Server 2010 que usa un nombre de base de datos personalizada, un servidor de base de datos, un tiempo de espera de sesión de 120 minutos y credenciales de Windows (debido a la falta de un parámetro atabaseCredentials).

  •  2112.image_thumb_5747BCBD

  • 2112.image_thumb_718825E1
    Si desean habilitar session state para Sharepoint Foundation, ingresen al siguiente link: http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=123

    Más info: http://blogs.msdn.com/b/sowmyancs/archive/2012/07/11/more-information-about-health-analyzer-rules-talking-about-session-expirations.aspx


  • jueves, 21 de junio de 2012

    Links útiles #37 Sharepoint 2010

    1-Habilitar acceso anónimo en Sharepoint 2010

    http://sharepointjourney.wordpress.com/2012/06/14/enable-anonymous-access-in-sharepoint-2010/

    2-Limpiar la cache del job de timer

    http://nickhobbs.wordpress.com/2012/06/14/sharepoint-2010-powershell-to-clear-the-timer-job-cache/

    3-Web Part localización (soporte de idiomas)

    http://lixuan0125.wordpress.com/2012/06/13/web-part-localization/

    4-Describiendo el archivo .webpart

    http://lixuan0125.wordpress.com/2012/06/13/the-webpart-file/

    5-Crear columnas localizadas (soporte multidioma) en Visual Studio 2010 para Sharepoint 2010

    http://www.c-sharpcorner.com/UploadFile/anavijai/how-to-localize-site-columns-in-sharepoint-2010-using-visual/

    6-SPListItemCollection: paginación de listas de forma performante

    http://www.c-sharpcorner.com/UploadFile/40e97e/sharepoint-2010-using-splistitemcollectionposition-for-fas/

    7-Crear timer job en Sharepoint 2010

    http://sharepoint.infoyen.com/2012/06/16/custom-timer-job-in-sharepoint/

    8-Cambiar los colores del calendario

    http://davidlozzi.com/2012/06/20/customize-the-sharepoint-calendar-colors/

    9-Application Page en Sharepoint 2010

    http://www.fewlines4biju.com/2011/05/create-application-page-using-visual.html

    http://www.c-sharpcorner.com/uploadfile/hec.ravi/custom-sandbox-application-page-in-sharepoint2010/

    http://blog.beckybertram.com/Lists/Posts/Post.aspx?ID=71

    10-HTML5 Master page

    http://kyleschaeffer.com/sharepoint/v5-responsive-html5-master-page/

    sábado, 16 de junio de 2012

    Tips/info #32 Sharepoint 2010

    1-Exportar soluciones de Sharepoint 2010

    $nombreDir = "C:/Temp"
    Write-Host Exporto soluciones a $nombreDir 
    foreach ($solution in Get-SPSolution) 

        $id = $Solution.SolutionID 
        $titulo = $Solution.Name 
        $filename = $Solution.SolutionFile.Name
        Write-Host "Exportando ‘$titulo’ to …\$filename" -nonewline 
        try { 
            $solution.SolutionFile.SaveAs("$nombreDir\$filename") 
            Write-Host " – hecho" -foreground green 
        } 
        catch 
        { 
            Write-Host " – error : $_" -foreground red 
        } 
    }

    2-Mostrar el historial de workflows sólo para administradores

    Abrir la página WrkStat.aspx desde la carpeta 14->template->layouts y agregar el siguiente control en la línea 128
    <Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ManageLists"> y cierra el tag en la línea 239. El permiso está seteado en el campo “Permissions”.

    3-Error Missing Web Part

    WebPart class [GUID] is referenced [X] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this web part. Remedy: One or more web parts are referenced in the database [WSS_Content], but are not installed on the current farm. Please install any feature or solution which contains these webparts.

    -- Obtengo el site que tiene el web part

    select s.fullurl, d.DirName, d.leafname, tp_ZoneID, tp_partOrder
    from webparts p
    join alldocs d on (p.tp_PageUrlID = d.ID)
    join sites s on (s.id = p.tp_siteid)
    where tp_WebPartTypeId  = ‘GUID’

    Una vez que obtengo el site donde está referenciado el web part, ingreso a la página y le agrego “?contents=1”, es decir entro a la página de mantenimiento, la cual me permite borrar el web part faltante.

    4-Error The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.

    La caché de objetos almacena propiedades de los elementos en Microsoft SharePoint Server 2010. La característica de publicación usa los elementos de esta memoria caché para representar páginas web. Los objetivos de la caché de objetos son reducir la carga en el equipo en el que se ejecuta SQL Server y mejorar el rendimiento y latencia de la solicitud. La caché de objetos realiza consultas como una de dos cuentas de usuario integradas: la cuenta de usuario súper del portal y la cuenta de lector súper del portal. Estas cuentas de usuario deben configurarse correctamente para garantizar que la caché de objetos funcione correctamente. La cuenta de usuario súper del portal debe ser una cuenta que tenga acceso de control total a la aplicación web. La cuenta de lector súper del portal debe ser una cuenta que tenga acceso completo de lectura a la aplicación web.

    La cuenta de usuario súper del portal y la cuenta de lector súper del portal deben ser cuentas independientes que no se vayan a usar nunca para iniciar sesión en el sitio.

    De forma predeterminada, la cuenta de usuario súper del portal es la cuenta de sistema del sitio y la cuenta de lector súper del portal es NT Authority\Servicio local.

    Hay dos problemas principales con el uso de las cuentas integradas.

    1. El primer problema es que algunos elementos se desprotegen para la cuenta del sistema, por lo que cuando se realice una consulta que incluya estos elementos, se devolverá la versión desprotegida del elemento en lugar de la última versión publicada. Esto es un problema debido a que no es lo que un usuario espera que se devuelva, por lo que la memoria caché debe realizar una segunda consulta para recuperar la versión correcta del archivo. Esto tiene un efecto negativo en el rendimiento del servidor en cada solicitud que incluya estos elementos. Se produciría el mismo problema con cualquier usuario que tenga elementos desprotegidos, si la cuenta de dicho usuario se configuró como la cuenta de usuario súper del portal. Por esta razón, las cuentas configuradas como cuenta de usuario súper del portal y cuenta de lector súper del portal no deben ser cuentas que se usan para iniciar sesión en el sitio. Esto garantiza que el usuario no desproteja de forma accidental elementos y ocasiones problemas en el rendimiento.

    2. La cuenta de lector súper del portal predeterminada es NT Authority\Servicio local, que no se resuelve correctamente en una aplicación de la autenticación de notificaciones. Por lo tanto, si la cuenta de lector súper del portal no está configurada explícitamente para una aplicación de autenticación de notificaciones, al buscar las colecciones de sitios en esta aplicación se obtendrá un error de acceso denegado, incluso para el administrador del sitio.

    Para autentificación clasic:

    $wa = Get-SPWebApplication -Identity "<WebApplication>"
    $wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
    $wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
    $wa.Update()
    Para autentificación vía claims:
    $w = Get-SPWebApplication "http://<server>/"
    $w.Properties["portalsuperuseraccount"] = "i:0#.w|domain\superuser"
    $w.Properties["portalsuperreaderaccount"] = "i:0#.w|domain\superreader"
    $w.Update()
    5-Mostrar los sitios padres en el breadcrumb
    Reemplazar en tu master page default este control
    <SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" id="onetidProjectPropertyTitle"><SharePoint:ProjectProperty Property="Title" runat="server" /></SharePoint:SPLinkButton>
    por
    <asp:SiteMapPath      
    runat="server"      
    SiteMapProviders="SPSiteMapProvider,SPXmlContentMapProvider"      
    RenderCurrentNodeAsLink="false"      
    NodeStyle-CssClass="breadcrumbNode"      
    CurrentNodeStyle-CssClass="breadcrumbCurrentNode"      
    RootNodeStyle-CssClass="breadcrumbRootNode"      
    HideInteriorRootNodes="true"      SkipLinkText=""/>

    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.

    lunes, 21 de mayo de 2012

    Tips/Info #24 Sharepoint 2010

    1-Algunos errores al hacer un crawl con el servicio de search

    “An unrecognized HTTP response was received when attempting to crawl this item. Verify whether the item can be accessed using your browser.”

    “Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has “Full Read” permissions on the SharePoint Web Application being crawled. ( Error from SharePoint site: HttpStatusCode Unauthorized The request failed with HTTP status 401: Unauthorized. )”

    “The secure sockets layer (SSL) certificate sent by the server was invalid and this item will not be crawled.”

    Soluciones:

  • Dar permisos de lectura sobre el web application a la cuenta configurada en el servicio de search (Policy level—>read)
  • Deshabilitar Loopback Check (
  • New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -value "1" -PropertyType dword

  • En la sección “Farm Search Configuration” marcar la opción “Ignore SSL certificate name warnings” y aumentar la opción “Time-out (seconds)”

    2-Application Addresses Refresh Job

    Mantiene el track de todas las instancias disponibles de todos los endpoints de los servicios de aplicación. Esto significa que si un proxy solicita un endpoint para un servicio de aplicación le preguntará al Topology Service (el Application Discovery and Load Balancer Service) por un endpoint. El Topology Service mantiene una lista de los endpoints que han sido descubiertos por el Application Addresses Refresh Job y pasa uno de esos endpoints al proxy, usando el algoritmo de balance de carga.

    Por default este job corre cada 15 minutos.

    Algunos problemas del tiempo que tiene configurado por default:

  • Al agregar un servicio de aplicación, es posible que al ingresar a configurar el servicio, le lance un error cómo el siguiente: “Cannot complete this action as xxxx is not responding….” Esto se debe a que el job no se ha ejecutado y ha obtenido el nuevo servicio de aplicación.
  • Otro error es cuando agregamos/borramos/reiniciamos servers a la granja

    3-Office Web Apps Cache

    El job  Office Web Apps Cache Creation crea un site collection llamado Office_Viewing_Service_Cache en la base de contenidos junto a los demás site collection funcionales. El site collection de cache tiene permitido crecer por default hasta los 100 GB.

    Cuando un site collection Office_Viewing_Service_Cache es provisionado dentro de un web application por el job Office Web Apps Cache Creation, inicialmente es configurado para mantener cacheado recursos de documentos por 30 días.

    When an Office_Viewing_Service_Cache site collection is provisioned within a Web application by the Office Web Apps Cache Creation timer job, it is initially configured to hold cached document resources for 30 days. As mentioned in Tip No. 1, a cache site collection can also grow by default to a maximum of 100GB.

    image

    El site collection Office_Viewing_Service_Cache site collection es un standart Team Site, y es la localización donde los recursos son almacenados después de la conversión y rendering a word or powerpoint por el office web apps.
    El Team Site tiene una libreria llamada All Documents (muestra un número de recursos de documentos).

    image

    The job Office Web Apps Expiration que es instalado con el Office Web Apps remueve recursos de documentación vieja desde el site collection de cache una vez que llegó a cierta edad.El job asegura que cada site collection tiene adecuado espacio para servir el propósito de cache.

    Más info: http://www.idera.com/News/Newsletters/Quick-Tips-for-Mnging-SP2010-Office-Web-Apps-Cache.pdf

    4-Como saber si un servidor se reinicio

  • En el event viewer puede verificar si hay dos eventos: Event Id 6005, Event Id 6006

    5-Error de javascript al conectar dos web parts en una publishing page: SP.Ribbon.PageState is null

    Hay que agregar el campo PublishingPageContent

    <PublishingWebControls:RichHtmlField id="PageContent" FieldName="PublishingPageContent" runat="server"> </PublishingWebControls:RichHtmlField> 

    6-Error en un web part: Unauthorized The request failed with HTTP status 401: Unauthorized

  • Ir a regedit.exe
  • Navegar a "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa"
  • Click derecho sobre "Lsa"  y crear un valor de 32bit DWORD
  • Renombrar a"DisableLoopbackCheck"
  • Modifica el valor decimal a de "DisableLoopbackCheck" a “1”
  • 7-API RetryDeliveryInterval

    En la nueva API de Sharepoint 2010 SP1 el cual introduce RetryDeliveryInterval en la clase SPIncomingEmailService

    Este valor representa el número de horas que el servicio de correo electrónico entrante ( incoming email service ) intenta procesar un mensaje de correo electrónico valido en la carpeta de entrega antes de que el mensaje de correo electrónico se elimine permanentemente. El default valor es de 24 horas.

    $emailSvc = Get-SPServiceInstance | WHERE { $_.TypeName -eq "Microsoft SharePoint Foundation Incoming E-Mail"}
    Current Value: $($emailSvc.Service.RetryDeliveryInterval)
    $emailSvc.Service.RetryDeliveryInterval = 5
    $emailSvc.Service.Update()

    El código anterior se seteo a 5 horas.

    8-Error: Unexpected System.NullReferenceException después de hacer un restpre de una base de contenidos SharePoint 2010

    “at Microsoft.SharePoint.SPSite.PreinitializeServer(SPRequest request)
    at Microsoft.SharePoint.SPWeb.InitializeSPRequest()
    at Microsoft.SharePoint.WebControls.SPControl.EnsureSPWebRequest(SPWeb web)
    at Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context)
    at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.GetContextWeb(HttpContext context)
    at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostResolveRequestCacheHandler(Object oSender, EventArgs ea)”

  • Detener el servicio OWSTIMER en el WFE del Sharepoint
  • Ir a ProgramData\Microsoft\SharePoint\Config\GUID, y borrar SOLO los archivos XML, NO el archivo cache.ini
  • Abro el archivo cache.ini,y lo edito con un 1.
  • Inicio el servicio OWSTIMER y espero hasta que los archivos xml aparezcan.
  • Hago un iisreset
  • 9-Algunas cosas de App Pool

    Al instalar Sharepoint se instala 6 app ppols:

  • SharePoint Web Services Root
    Identidad: LocalService
    Estado: Detenido
    Hostea SharePoint Web Services IIS Web Site y está en cada server de la farm. Este es el host para web site para Service Applications”. Service Applications WCFs son hosteados en este como Aplicaciones las cuales puede (y deberían) ser ejecutados en diferentes Application Pool. Si tratas de navegarlo obtendrás un error 503.
  • SharePoint Central Administration v4
    Identidad: SharePoint Farm Account
    Estado: iniciado
    This one is pretty straightforward. It’s responsible for Central Administration on the machines hosting it. It will include at least three applications (root, images, inc) plus an app for each Language Pack you have installed
  • SharePoint Web Services System (which is named with a GUID)
    Identidad: SharePoint Farm Account
    Estado: iniciado
    Hostea Topology Service Application, el cual es conocido como Application Discovery and Load Balancer Service Application.
  • SecurityTokenServiceApplicationPool (which is named with a GUID)
    Identidad: SharePoint Farm Account
    Estado: iniciado
    Hostea el Security Token Service Application, requerido internamiente en cada server de la granja para soportar operaciones entre granja y external Claims.
  • SharePoint Web Services Default (which is named with a GUID)
    Identidad: SharePoint Services Account
    Estado: iniciado
    Hostea todos los servicios de aplicaciones. Tendrá muchas aplicaciones.
  • SharePoint – 80
    Identidad: SharePoint Services Account
    Estado: iniciado
    Este es el application pool default usado para hostear Web Applications de contenido.
  • Types of Application Pools

    Con el lanzamiento de SharePoint 2010, Microsoft ha lanzad odos tipos distintos de app ppols. El primero se utiliza para alojar las aplicaciones de contenidos web (web applications). El segundo se utiliza para alojar endpoints de servicios de aplicaciones.

    Crear web application app pools: http://technet.microsoft.com/es-es/library/ff607931.aspx

    Crear app pool para servicios de aplicación: http://technet.microsoft.com/en-us/library/ff607595.aspx

    Algunos comandos útiles:

    Get-SPServiceApplicationPool

    Get-SPWebApplication

    sábado, 19 de mayo de 2012

    SharePoint 2010 Cache Configuration

    La caché es una característica muy importante cuando se piensa en el tiempo de respuesta del usuario final y también la carga del servidor.

    BLOB caché

    Para mejorar el tiempo de respuesta del usuario final un buen enfoque consiste en configurar la memoria caché BLOB en el SharePoint Server 2010 front-end web (WFE) servidores. La memoria caché BLOB almacena en caché los archivos en el disco WFES para hacerlo más rápido para IIS para recuperar los archivos y retornárselos al navegador. También puede enviar algunas cabeceras HTTP diciéndole al navegador para almacenar en caché el archivo por una cierta cantidad de tiempo.

    Tenemos que cambiar el web.config para habilitar la memoria caché BLOB. Busque la etiqueta BlobCache en el nodo de configuración / SharePoint en el web.config. Aquí está un ejemplo de una memoria caché BLOB configurado:

    <BlobCache location=”C:\CacheTempBlob\14″ path=”\.(ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv|gif|jpg|jpeg|jpe|)$” maxSize=”5″ enabled=”true” max-age=”24000″ />

    El atributo de ubicación se define en SharePoint se va a guardar los archivos almacenados en caché.

    El atributo de ruta representa una expresión regular que define las extensiones de archivo para almacenar en caché.

    El atributo maxSize define el tamaño máximo de la caché en Giga.

    El atributo enabled define si la caché está habilitado.

    El atributo max-age define el tiempo máximo en segundos que los navegadores pueden almacenar en caché los archivos a nivel local y evitar que las solicitudes de estos archivos en el servidor. Este ajuste afecta a la forma de caché de los usuarios del navegador los archivos definidos en el atributo de ruta.

    Output Cache

    Otra característica de caché disponible en SharePoint 2010 es la caché de resultados.

    El caché de resultados almacena en caché la salida HTML de las páginas procesadas por SharePoint. Esta caché mejora el tiempo de procesamiento del servidor de las páginas de la caché ya que el IIS no necesita llamar a SharePoint y esperar a que la página sea procesada. Simplemente se pone la copia en caché y enviar el HTML al  navegador. El caché de resultados está configurado en la colección de sitios.

    Ir a la página Configuración del sitio, luego a Administración de la colección y luego a los perfiles del sitio caché de la colección.

    output-cache-01

    output-cache-04

     

    Después de que su perfil de caché está listo, usted debe ir a la página Configuración del sitio, luego a Administración de la colección y luego a la caché de resultados colección de sitios.

    output-cache-05

    viernes, 27 de abril de 2012

    Tips/info #16–Sharepoint 2010

    1-La opción de “New Folder” aparece grisada

    --Vaya a List settings

    --Después a Advanced settings

    -- Seleccione Yes la opción de “Make “New Folder” command available?”

    2-Content Type Hub

    Los tipos de contenido también se puede almacenar en un concentrador de tipo de contenido (CONTENT TYPE HUB) para la gestión centralizada de los tipos de contenido a través de las colecciones de sitios y aplicaciones Web. Esta característica utiliza el servicio de metadatos administrados y permite a las colecciones de sitios suscribirse a cualquier tipo de contenido publicado. Cualquier cambio en los tipos de contenido publicados se actualizará en las colecciones de sitios de suscripción.

    3-Actualizar un archivo de css en Sharepoint desde la carpetas layouts (problemas de cache)

    Al cambiar un archivos css, js, o images de la carpeta _layouts [14 hive\Layouts] a veces no se refresca de forma automática en todos los clientes. Una manera rápida para testing es hacer un hard refresh (CRTL + F5) pero para ambientes productivos, podemos hacer lo siguiente:

    Para evitar browser caching de un archivo incluso después de ser actualizado, simplemente cambiar el fomato de la URL:

    <link href="/_LAYOUTS/miestilo.css" rel="stylesheet"type="text/css">link>

    <script src="/_LAYOUTS/miscript.js" type="text/javascript">script>

    A

    <link href="/_LAYOUTS/miestilo.css?rev=<build-version>"rel="stylesheet" type="text/css">link>

    <script src="/_LAYOUTS/miscript.js?rev=<random number>"type="text/javascript"> script>

    Otra posibilidad es usar

    SPUtility.MakeBrowserCacheSafeLayoutsUrl(RelativeUrl, false);
    protected override void CreateChildControls()
    {
    string cacheSafeUrl =
    SPUtility.MakeBrowserCacheSafeLayoutsUrl(RelativeUrl, false);

    ScriptLink scriptLink = new ScriptLink
    {
    Language = "javascript",
    Localizable = false,
    Name = cacheSafeUrl,
    Version = 4
    };

    Controls.Add(scriptLink);

    base.CreateChildControls();
    }
    Tendrás que hacer un recycle del App Pool cada vez que deployas la solución.

    Les dejo el links de donde saqué algunas cosas, es recomendado que lo lean, tiene mucha información: http://www.sharepointnutsandbolts.com/2011/11/avoiding-bugs-from-cached-javascript.html

    4-Resetear un form de una lista customizado con Infopath (infopath –> default)




      • Ir a la lista en cuestión, elegir la opción “List Settings

      • En la sección “General Settings”, seleccionar la opción “Form Settings

      • En la sección “Form Options” cambia el check box “Modify the existing InfoPath form” a “Use the default SharePoint form“. Y además seleccionar el check “Delete the InfoPath Form from the server“.


    042412_1033_resetcustom4


    5-list.Recycle() y item.Recycle()



    Al querer borrar un item mediante programación, es decir mediante los métodos list.Delete() o item.Delete(), los items se borran de forma permanente. Para ello se deberá usar los métodos list.Recycle() o item.Recycle() los cuales envían el item o lista borrada a la papelera de reciclaje.


    6-Tips/diseño de SQL SERVER para Sharepoint




      • Utilizar más discos pequeños que un número menor de discos más grandes

      • Trate de No virtualizar los servidores de SQL

      • La base de datos de crawl es la base de datos más demandante. Trate de separar las bases de datos de search

      • IOPS es el requerimiento clave a obtener(http://technet.microsoft.com/en-us/library/cc298801.aspx)

      • RAID 10 es la configuración preferida para base de datos de servicios

      • 2500 IOPS es el mínimo para base de datos de Servicios

      • Un promedio de 2,5 versiones de documentos es común

      • Un promedio de 300 KB por documento es común

      • Con Clustering se tiene una copia de datos

      • Con Mirroring (a nivel de transacción) se tiene varias copias de datos (las dos únicas base de datos que no combienen hacer mirroring son User Profile Service y Web Analytics Service)

      • Use alias de SQL

      • Trate de mantener un standart en los nombres de las base de datos

      • remote blob storage: trate de pensar que problemas puede solucionar con esta tecnología.

      • no utilice la opción “auto update create/update statistics” con Sharepoint

      • maximum degree of parallelism (maxdop) debería estar seteado a 1

      • Setear el mínimo y máximo de memoria (Ej: ambos a 100% – 4GB)

      • Checkear regularmente las base de datos: DBCC CHECKDB, pero no utilice la opción de reparación automática

      • Limite las base de contenido a 100 GB si es posible

    7-SPMetal



    Este ejecutable permite crear las clases entidades para LINQ to Sharepoint. Se encuentra en la siguiente carpeta:


    %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\BIN


    Más info: http://msdn.microsoft.com/en-us/library/ee538255.aspx


    8-PSConfig y firewall



    Al instalar Sharepoint agregar una regla para que PSConfig pueda comunicarse (crear conexiones) a los host de la farm (eJ: SQL Server)


    9-Comando para listar todos los servicios de Sharepoint



    stsadm -o enumservices > c:\services.txt


    Aparte de listar los servicios te dará el nombre de cada uno en el caso que necesites reiniciar o detenerlos.


    10-Word Automation Services



    Servicios de automatización de Word es una aplicación de servicio de SharePoint Server 2010 que permite la conversión desatendida y del lado servidor de documentos compatibles con la aplicación cliente de Microsoft Word. Los Servicios de automatización de Word le permite realizar operaciones de archivo en el servidor que antes requerían tener Word instalado en su desktop.



    • La conversión entre formatos de documentos (por ejemplo,DOC a DOCX)

    • Conversión a formatos fijos (por ejemplo, PDF o XPS

    • Actualización de los campos

    • Importación de "trozos de formato alternativo"

    • Etc.

    El job de conversión corre cada 10 minutos de forma default. Central Administration -> Monitoring -> Review job definitions –> encontrar Word Automation Services Timer Job, y configurar la planifcación deseada.


    Escenarios de uso:



    1. Cada mes, una empresa de fabricación genera un gran número de facturas que se basan en información almacenada en una base de datos. Al usar una combinación del SDK de Open XML de Office y Servicios de automatización de Word, la empresa configura un proceso automatizado para generar las facturas con un formato fijo. El proceso automatizado recupera una plantilla de documento que se almacena en SharePoint Server 2010, combina cada registro en la base de datos con la plantilla para generar un documento de Microsoft Word y, a continuación, convierte el conjunto de documentos generados en un documento de formato fijo, por ejemplo, un archivo PDF o XPS.

    2. Una empresa de ingeniería crea un flujo de trabajo para coordinar la aprobación de documentos del proyecto por cada uno de los colaboradores principales del proyecto. Una vez que todos los colaboradores han aprobado un documento dado, el flujo de trabajo genera automáticamente una copia del documento en formato PDF/A para archivar y enviar a los responsables de cumplimiento normativo y, a continuación, elimina el documento de Word original.

    3. Una compañía consultora desea configurar un sistema para almacenar, recuperar y volver a usar los documentos que crea para cada proyecto. Al final de cada proyecto, la compañía desea que cada jefe de proyecto vaya a una página web central y use un control Microsoft Silverlight en la página web para archivar sus documentos con un formato fijo. Después, el sistema recupera todos los documentos en las carpetas del proyecto y los almacena en un archivo central.

    11-Debuggear un job de Sharepoint



    El siguiente link explica la manera: http://msdn.microsoft.com/en-us/library/ff798310.aspx de todos modos alguns recomendaciones que no aparecen en ese artículo



    • Renicia el timer service cuando realiza el deploy del job. Es tan simple como realizar las siguientes operaciones en una línea de comando:

                         net stop SPTimerV4 – Pre Build


                         net start SPTimerV4 – Post Build



    • Haz que tu proyecto esté en modo “debug”, NO en Release.Link

    • En el caso que se siga manteniendo la versión vieja del código, has un IISReset

    12-Sharepoint 2010 Errores custom



    Cuando desarrollamos, hay ocasiones que Sharepoint nos lanza el siguiente mensaje:


    Runtime Error

    Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed.

    Details: To enable the details of this specific error message to be viewable on the local server machine, please create a <customErrors> tag within a “web.config” configuration file located in the root directory of the current web application. This <customErrors> tag should then have its “mode” attribute set to “RemoteOnly”. To enable the details to be viewable on remote machines, please set “mode” to “Off”.

    Server Error in ‘/’ Application.——————————————————————————–
    Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed.
    Details: To enable the details of this specific error message to be viewable on the local server machine, please create a <customErrors> tag within a “web.config” configuration file located in the root directory of the current web application. This <customErrors> tag should then have its “mode” attribute set to “RemoteOnly”. To enable the details to be viewable on remote machines, please set “mode” to “Off”.

    En Sharepoint 2010 debemos desactivar los custom errors, para ello vaya a %Common Files%\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config , y edite la sección “customErrors” con el valor “Off”

    El web.config de Central Administración se encuentra en la siguiente ubicación:

    %Common Files%\Microsoft Shared\Web Server Extensions\14\TEMPLATE\ADMIN\web.config                  

    viernes, 17 de febrero de 2012

    SharePoint Configuration Cache

    1.What is SharePoint Configuration Cache?

    The config cache is where we cache configuration information (stored in the config database) on each server in the farm.  Caching the data on each server prevents us from having to make SQL calls to pull this information from the configuration database. It is full of XML files containing configuration objects.  The SharePoint configuration cache is where configuration information from the SharePoint configuration database is stored on each server in the farm.  Caching the data from the config database as XML files on the web front ends and application servers prevents multiple calls to SQL Server thus improving performance.  This is a feature in WSS & MOSS 2007 as well as SharePoint 2010.

    There is a timer job called “Config Refresh” that updates the cache on SharePoint servers in the farm. Like any other cache, config cache becomes stale over time. Therefore, clearing the cache is needed to get all the SharePoint servers up to date on the latest farm information

    Sometimes this cache can become corrupted. This issue can come up when developing timer job definitions . These definitions use this cache, so everytime you deploy new versions of the assemblies, you’ll have to clear the cache.  Also, when the cached data becomes out of sync with what’s in the configuration database, timer jobs may start failing.  This will occur if the contents of the file system cache on the front-end servers are newer than the contents of the configuration database, so after you perform a system recovery you may have to manually clear the file system cache on a server as well.  Another of the reasons your cache could be out of sync is if the Timer service on your servers was stopped or failed unexpectedly.