viernes, 27 de abril de 2012

Cómo remover la extensión de una aplicación Web en SharePoint 2010

En el artículo anterior vimos como extender una aplicación Web, pero no es muy claro donde podemos eliminarla. La eliminación de la extensión de la aplicación Web removerá el sitio Web del IIS, eliminará el directorio que corresponde al sitio Web ubicado en uno de los discos donde esta hospedada la información del IIS (El valor predeterminado es C:\inetpub\wwwroot\wss\VirtualDirectories\).  Así que antes de hacerlo asegure un respaldo o bien lo que esta por hacer.

Para ello dentro del Central Administration o CA:

1) Seleccione la opción Application Management

2) Seleccione Manage Web  Applications

3) Haga clic sobre la aplicación Web que desea eliminar la extensión

4) Seleccione la flecha que ve hacia abajo del botón Delete y seleccione la opción Remove SharePoint IIS Web Site.

image

5) Luego en la casilla Select IIS web site and zone to remove, seleccione la aplicación Web extendida

image

6) Seleccione la opción Yes de la opción Delete IIS web sites y presione el botón OK.

 

image

Si revisa el IIS Manager podrá visualizar que el sitio Web fue eliminado.

 

image

En este artículo vimos como eliminar la extensión de una aplicación Web, opción que no es muy obvia y que debemos de realizar desde el entorno de administración de SharePoint para que el se encargue y quede registrado esto en la configuración de la granja.  También puede realizarse vía línea de comando a través de PowerShell pero eso es otra historia que hay que escribir.

 

SharePoint4Fun!,

Juan Manuel Herrera Ocheita.

Extendiendo una aplicación Web en SharePoint 2010

Extender una aplicación Web es útil para cuando deseamos exponer el mismo contenido a otro tipo de usuarios o bien otro método de autenticación.  Por ejemplo: Hemos creado una aplicación Web  que escucha sobre el puerto 80 los usuarios corporativos de la red interna, pero podemos requerir exponer el mismo portal al internet para crear una extranet, con posibilidad de utilizar otro método de autenticación para usuarios externos.

Internamente la extensión de la aplicación Web crea un sitio Web en el IIS separado con su propio archivo de configuración Web o Web.config, identidad y aplicación pool por separado si así lo desea, esto dependerá de sus necesidades y de las opciones que seleccione para crear la extensión de la aplicación Web.

Una de las aplicaciones típicas en el mundo real y en SharePoint es cuando deseamos aplicar el protocolo de seguridad SSL o como popularmente se le denomina https. Para esta configuración es necesario crear un certificado de una autoridad de certificados ya sea interna o pública, pero esto mis queridos amigos esta fuera de alcance de este artículo, a lo mejor escribo algo al respecto luego de este.

Manos a la obra; para crear una aplicación Web por medio de la interfaz de usuario Web, necesitamos acceder el Central Administration, así que dirijámonos al navegador, escribe el URL del CA y seleccione:

1) Application Management

2) Manage Web Application

3) Seleccione la aplicación Web que desea extender y luego presione el botón Extend.

image

4) En esta primera parte nos pregunta el Nombre del sitio web en el IIS, luego el puerto de comunicación, el host header si lo tiene, la ruta o path si desea cambiar la ubicación o el nombre de la carpeta donde almacenará los archivos de configuración de la aplicación Web, y luego la configuración de seguridad para para este caso vamos a utilizar Windows (NTLM) y SSL

image

5) En la segunda parte debemos de validar el nombre del dirección URL publica que debería construirse automáticamente si colocamos correctamente la información en la primera parte, luego la zona tenemos disponibles 5 zonas como máximo y el nombre de la zona aunque es un texto de referencia nos indicará el propósito de uso del mismo.  Para finalizar presione el botón OK.

image

En el Mapeo de Acceso Alternativo o AAM podemos revisar la nueva dirección disponible.  Eso esta en Application Management, Configure Alternate Access Mappings.

image

Y también podemos validar el directorio físico que nos creo en el servidor.  Si lo creo en la ruta predeterminada puede ubicarlo el directorio en la siguiente ruta: C:\inetpub\wwwroot\wss\VirtualDirectories\.

image

En el IIS también podemos revisar el nuevo sitio Web creado.  Vaya a IIS Manager en Administrative Tools menú de Windows del Servidor de SharePoint.

image

En este artículo podemos ver como extender una aplicación Web, que nos permitirá separar el acceso a los usuarios del portal interno con los usuarios externos o que acceden a través del internet, pero que desean acceder la misma información.  Aunque creamos otro sitio Web a nivel del IIS ambas aplicaciones estas consultado su contenido en la misma base de datos y por lo tanto obteniendo el mismo contenido.

Extend4Fun!,

 

Juan Manuel Herrera Ocheita

miércoles, 18 de abril de 2012

Sabías que puedes asignar un grupo de SharePoint como propietario de otro grupo de SharePoint (2007/2010)?

El propietario de un grupo de SharePoint es el usuario que puede agregar o eliminar usuarios a un grupo, pero que pasa si este usuario esta de vacaciones o no es el único responsable del grupo?  Allí es donde se puede aplicar un grupo de SharePoint que administra otro grupo de SharePoint a su vez.  Parece redundancia pero no lo es, para explicarlo veamos el siguiente ejemplo:

Supongamos el usuario administrador de un sitio decide crear un grupo de administradores que le apoyen a manejar los grupos de SharePoint llamado MiEmpresa-Administradores.  Por ejemplo:

image

Ahora vamos a crear otros grupos para diferentes contenidos pero el grupo será MiEmpresa-Administradores serán responsables de agregar o eliminar usuarios de estos grupos.

Los grupos a crear son: MiEmpresa-Colaboradores y MiEmpresa-Visitantes, el procedimiento es el siguiente:

Site Actions, Site Settings, People and Groups, Groups, New, New Group.

image

En Name: MiEmpresa-Colaboradores y luego en Owner: MiEmpresa-Administradores

image

Para finalizar presione el botón Ok o Aceptar.  Repita el proceso para el Grupo MiEmpresa-Visitantes.

Con ello cualquiera de los usuarios que pertenecen al grupo MiEmpresa-Administradores debería poder agregar usuarios a los grupos que puede administrar.

image

Nota: Lo que no puedes hacer es asignar como usuarios dentro de un grupo de SharePoint otro grupo de SharePoint.

Para los incrédulos la siguiente imagen en 2007:

image

En este artículo vimos como delegar la administración de los miembros de un grupo de SharePoint a otro grupo de SharePoint.

Delegate4Fun!,

Juan Manuel Herrera Ocheita

Migración de una base de contenido no raíz SharePoint 2010

Quiero empezar indicando que para poder migrar una base de datos de contenido que no es la principal o raiz, es necesario que se migre de primero la base de datos raíz, es decir la base de datos con que se creo la aplicación Web, por ejemplo: http://hostname/ esta debe de existir en el servidor destino y debe de estar “atachada” a la aplicación Web que deseamos migrar la segunda o x base de contenido no raíz.  Cómo identificar estas a través de los prefijos de rutas administradas o managed path definidos.  Los cuales de forma predeterminada encontraremos : sites y personal.  Otros usualmente definidos son deps, dept, departaments, etc. 

Vamos al punto central de este artículo:  Para migrar una segunda base de contenido no raíz es igual como la principal, solo que la anterior debió migrarse antes.  La línea de comando usual es la siguiente:

mount-SPContentDatabase –Name [Wss_Content_XYZ] –WebApplication http://hostname

Recibirá un mensaje parecido al siguiente:

100.00%

Id : 623e7b8e-5f53-4295-abba-768a7972193e

Name : wss_content_xyz

WebApplication : SPWebApplication Name=SharePoint - 80 - Portal Interno

 

No es necesario colocar el prefijo o ruta administrada esta información esta en la misma base de datos de contenido y esta adicionará la ruta al momento de “atacharse” a la aplicación Web exitosamente.

image

Si es mas de una base de datos de contenido no raíz que debemos de migrar, el orden con que lo hagamos no tiene importancia, ni relevancia, entre tanto cumplamos con el único prerrequisitos lógico que es que este primero la base de datos de contenido raíz “atachada” a la aplicación Web. 

Nota: Recuerde el espacio requerido para migrar siempre es 3 veces el tamaño de la base de datos de contenido a migrar que este libre.  Más información en: http://jmhogua.blogspot.com/2012/04/espacio-requerido-para-la-migracion-de.html

Upgrade4Fun!,

Juan Manuel Herrera Ocheita

Espacio requerido para la migración de bases de datos de contenido de SharePoint 2010

Es importante tomar en cuenta este requerimiento ya que es considerablemente alto y crucial para la efectiva migración de la base de datos de contenido.

En el proceso de migración SharePoint requerirá el doble de espacio disponible o sea libres del tamaño de la base de datos a migrar ya que en este proceso necesitará espacio temporal para realizarlo y que al final expandirá el tamaño de la base de datos original alrededor de un 60%.

Miremos algunos datos:

Una base de datos de contenido mayormente de PDF´s de 90 GB de 2007, lo convirtió en una base de datos de 147 GB y requirió un disco de 250 Gb de espacio disponible, y eso que no estamos tomando en cuenta la copia del respaldo de la base de datos que colocamos en otro disco de 120 GB.  Así que a prepararse con suficiente espacio disponible para realizar una exitosa y feliz migración.

image

Concluimos entonces que el espacio requerido para la migración de las bases de contenido es 3 veces más del tamaño actual, esto como un parámetro base para estimar el espacio que necesitará.

Más información sobre el proceso y estimación el espacio en: http://technet.microsoft.com/en-us/library/cc262891.aspx#section1

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

martes, 17 de abril de 2012

Script para permitir a las bibliotecas abrir los archivos PDFS en SharePoint 2010

Esta opción esta bloqueada en SharePoint 2010 de forma predeterminada y a pesar que habilitemos a nivel de Aplicación Web el navegador de manejo de archivos a permisivo, esto solo funcionará para las bibliotecas del sitio primario de la colección de sitios, pero no para las bibliotecas de otros sub-sitios, ya que SharePoint 2010 tiene a nivel interno de cada biblioteca esta opción definida como estricta y no permisiva.

Al final hay que habilitar cada biblioteca en la colección de sitios la opción “browserfilehandling” como permisiva, para ello necesitamos ejecutar un script a nivel de línea de comando apoyados en powershell.

Un agradecimiento por su contribución a la comunidad de SharePoint a Kim Nguyen en:  http://www.freakingsharepoint.com/2010/08/sp2010-forces-users-to-save-pdfs.html

Lo que hice, fue modificar un poco el script para que funcione para cualquier colección de sitios y para que valide que la lista siempre sea un documento library.

Para ejecutar el script sugiero creen un archivo ps1 como por ejemplo:

ChangePermissiveOptionInLibs.ps1

La sintaxis es la siguiente:

.\ChangePermissiveOptionInLibs.ps1 –siteurl http://yoursitecollectionAddress

Y el script es el siguiente:

# Inicio del Script

param (
     [string]$siteUrl = "$(Read-Host 'Enter the Site Collection URL. [e.g. http://sp2010vm]')"
 
)
 
function main() {
 
# check to ensure Microsoft.SharePoint.PowerShell is loaded
  $snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
  if ($snapin -eq $null)
{
   Write-Host "Loading SharePoint Powershell Snapin"
   Add-PSSnapin "Microsoft.SharePoint.Powershell"
  }
 
$site = Get-SPSite($siteUrl)
write-host $siteurl

  foreach ($web in $site.AllWebs)
  { 
       write-host "web:" $web.Title
    foreach ($list in $web.Lists)
    {
        write-host "list:" $list.Title $list.BaseType
        if ($list.BaseType -eq "DocumentLibrary")
        {
 
            write-host "browserfilehandling:" $list.browserfilehandling
            if($list.browserfilehandling -eq "Strict")
            {
            $list.browserfilehandling = "Permissive";
            $list.update();
            write-host $site.url, $list.title, $list.browserfilehandling
            }
        }
    } 
  }


$site.Dispose()
 
}
 
main

# Fin del Script

 

En este artículo vimos como habilitar la opción para permitir el manejo de archivos en el navegador que esta bloqueada de forma predeterminada en SharePoint 2010.  Esto aunque representa un riesgo, es una funcionalidad habitual que los usuarios de SharePoint están acostumbrados a utilizar y que desean este disponible en el portal.

Enable4Fun!,

Juan Manuel Herrera Ocheita

viernes, 13 de abril de 2012

Permisos para la cuenta que ejecuta los servicio SPTraceV4 en SharePoint 2010

Los permisos necesarios para la cuenta que ejecutara el servicio SPTraceV4 son los siguientes:

1) Sea una cuenta de dominio, no local o builtin

2) Que tenga permisos de escritura y lectura en el directorio donde se guardarán los USLogs de SharePoint, que de forma predeterminada la ruta es: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS.

3) Que la cuenta pertenezca a los grupos locales del servidor Performance Log Users y Performance Monitor Users.

Nombre sugerido: spTrace

Procedimiento sugerido:

1) Agregar la cuenta de dominio a los grupos locales del servidor Front End Performance Log Users y Performance Monitor Users.

2) Dar permisos de escritura a esta cuenta en el directorio donde se guardar los USLogs de SharePoint.

3) Registrar la cuenta de domino en el servicio SPTraveV4 y reiniciar el servicio a través de la consola de servicios de Windows services.msc.

 

Referencias:

http://int.social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/a4a0b764-1eb2-47e0-a2bc-5017c00e3911

http://technet.microsoft.com/en-us/library/cc678863.aspx#Section2

Secure4Fun!,

Juan Manuel Herrera Ocheita

The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator relevant documents SharePoint 2010

El problema reside en que el elemento Web que muestra los documentos relevantes de todas las librerías del sitio, fácilmente excederá el umbral definido a nivel de Aplicación de SharePoint que es 5,000 elementos para usuarios con privilegios limitados y 20,000 para auditores y administradores.

La única salida sin código es aumentar el umbral a nivel de Aplicación Web o bien desarrollar un elemento Web que haga una consulta filtrada a cada biblioteca del sitio y con ello evitar el umbral definido a nivel de aplicación Web.

Para los administradores que no esta muy familiarizados con SP 2010 y la nueva distribución de los menú en el Central Administration abajo las instrucciones:

Ejecute el Central Administration, esto esta en Todos los Programas, Microsoft SharePoint 2010 Products y luego SharePoint 2010 Central Administration.

Luego haga clic en Application Management, Manage web applications.

Haga clic sobre la aplicación Web deseada y presione el botón General Settings, Resource Throttling.

image

Cambie los valores de List View Threshold y List View Trheshold for auditors and administrators.

image

El interesado en los límites y fronteras para SharePoint 2010, puede consultar el siguiente enlace:

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

En este artículo vimos donde cambiar el límite definido de consulta de elementos a las listas de SharePoint, que es un “decremento” en el rendimiento de nuestro sitio, relativo siempre a la percepción del usuario y el hardware que respalda a nuestra instalación de la granja de SharePoint que a decir historia en 2007 no teníamos alternativa y tampoco de que preocuparnos Sonrisa, pero así es la vida.

 

Throttling4Fun!,

Juan Manuel Herrera

miércoles, 11 de abril de 2012

Compartiendo Servicios entre distintas granjas de SharePoint 2010 (Un caso práctico)

SharePoint 2010 dispone de una arquitectura de servicios flexible y fácil de configurar, de tal forma que podemos compartir los servicios entre distintas granjas de servidores de SharePoint.  El caso práctico que les voy a presentar es el siguiente:

1) Una Granja de SharePoint Server 2010 consta de 2 servidores donde este el portal de la organización. 

2) Una Granja de Project Server 2010 separada que consta de un servidor.

3) Motivación: Se desea que el perfil de usuario del portal de la organización sea el mismo para el servidor de Proyectos.

Diagrama de Configuración de Servicios Compartidos

image

En el diagrama muestra dos granjas de servidores distintas una para un portal de colaboración y la otra para hospedar Project Server 2010.  La granja para el portal de colaboración tiene publicado el servicio de Perfiles de Usuario y una realización de confianza hacia la granja que hospeda Project Server 2010 a través de compartir ambas granjas sus certificados. En la granja consumidor del servicio de perfiles de usuario solo hay una conexión o proxy hacia el servicio publicado de la granja emisor o que publica el servicio que en este caso es la granja del portal de colaboración.

Aspectos importantes a notar son: 

  • La administración de los perfiles de usuario son únicamente efectuados en la granja emisor, es decir los permisos y características sociales son administradas por la granja emisor y no por la granja consumidor.
  • Los perfiles de usuario son compartidos por ambas granjas por lo que no importa que aplicación están accediendo la misma información.

El procedimiento para publicar y consumir un servicio es el siguiente:

  1. Cree los certificados de ambas granjas. Es necesario para el intercambio de certificados entre los servidores. El consumidor tendrá el certificado raíz de la publicación de la granja, pero la granja emisor tendrá el certificado raíz y el certificado STS (Security Token Service) del consumidor.
  2. Copia el certificado de la granja emisor para la granja consumidor y los certificados (raíz y sts) de la granja consumidor a la granja emisor.
  3. Importe los certificados de la granja consumidor en la granja emisor (primero el raíz y luego el sts).
  4. Importe el certificado raíz de la granja emisor en la granja consumidor
  5. Publique el Servicio deseado en la granja emisor.
  6. Consuma el Servicio publicado en la granja consumidor (para ello es necesario copiar de la granja emisor el URN).

Para realizar el procedimiento a detalle siga los siguientes enlaces:

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

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

http://www.aiim.org/community/blogs/expert/Connecting-to-the-User-Profile-Service-Proxy

Si en caso no le funciona, puede utilizar la interface Web desde el Central Administration pueda importar nuevamente los certificados.

Los certificados debería esperar generar 3 archivos como los mostrados abajo:

image

Para revisar la relación de confianza puede hacerlo en Seguridad, Administra la confianza.

image

Ventana de publicación del Servicio:

image

Ventana al momento de presionar el botón Conectar en la página de servicios de aplicación:

image

Luego de realizar la conexión exitosa le mostrará en el menú del usuario conectado las opciones sociales que se habilitan cuando el servicio esta disponible.

Para incluir en el Search de la granja consumidor la búsqueda de personas, le recomiendo cree una nueva fuente de contenido y escriba la url sps3://ServerEmisor, haga una indagación o crawl y vea si no sucedió ningún error.

image

En este artículo vimos como compartir los servicios entre granjas distintas, aunque es una tarea cuidosa y un poco tediosa, para nada complicada, los beneficios son palpables a primera vista, como la mejor utilización de los recursos disponibles y la unificación de la información, como la regla a mayor disponibilidad de servicios más crítico se vuelve la infraestructura e interconexiones, pero ese mi querido amigo es otro tema que hablaremos en el futuro sobre configuraciones de alta disponibilidad.

ShareService4Fun,

Juan Manuel Herrera Ocheita

martes, 10 de abril de 2012

Cómo desmontar una base de datos de contenido de una Aplicación Web que ya no existe (SharePoint 2010)

Si lo intentas eliminar desde la interfaz Web de Administración o Central Administration te mostrará un error, porque el objeto ya no existen en SQL Server pero esta todavía referenciado en la granja de SharePoint. Por lo que es necesario hacerlo desde línea de comando.  La sintaxis de Dismount-SPContentDatabase es la siguiente:

Dismount-SPContentDatabase "<ContentdBName>"

Ya que las bases de contenido tienen nombres únicos y no pueden ser asociados a mas de una Aplicación Web, no es necesario definir otro valor como se muestra en la imagen de abajo.

image

Luego podrás revisar el Central Administration y validar que ya no esta asociada a la Web Application.

Dismount4Fun!,

Juan Manuel Herrera Ochetia

lunes, 9 de abril de 2012

Migración de base de datos de Contenido para Project Server 2010 deberá utilizar stsadm en vez de add-SPContentDatabase de PowerShell

 

Un dato curioso aunque Microsoft recomienda para la migración de sus bases de datos de contenido utilizar la línea de comando Add-SPContentDataase de PowerShell para Project Server 2010 no es la mejor práctica de echo fallará en la migración, para evitar los errores y advertencias que generá esta línea de comando lo mejor es utilizar el obsoleto stsadm.exe. 

Escriba la siguiente línea de comando, cuando ya haya restaurado las bases de datos de Project Server 2007 en el servidor de base de datos para SharePoint 2010:

STSADM.EXE -o addcontentDB –url [http://webapplication] –ds [databaseservername] –dn [WSS_Content]

Referencia:

http://technet.microsoft.com/en-us/projectserver/ee691958

Upgrade4Fun!,

Juan Manuel Herrera Ocheita

No se pudo realizar el aprovisionamiento del sitio PWA con error: Microsoft.Office.Project.Server.Administration.ProvisionException: Membership synchronization failed. ---> System.NullReferenceException: Object reference not set to an instance of an object.(Project Server 2010)

 

Este error se produce al momento de intentar aprovisionar las bases de datos restauradas de Project Server 2010.

Detalle del error:

Log Name: Application

Source: Microsoft-SharePoint Products-Project Server

Date: 03/04/2012 11:55:02 p.m.

Event ID: 6971

Task Category: Aprovisionamiento

Level: Error

Keywords:

User: dominio\usuario

Computer: servername.dominio

Description:

No se pudo realizar el aprovisionamiento del sitio PWA con error: Microsoft.Office.Project.Server.Administration.ProvisionException: Membership synchronization failed. ---> System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.SharePoint.SPSite.PreinitializeServer(SPRequest request)

at Microsoft.SharePoint.SPWeb.InitializeSPRequest()

at Microsoft.SharePoint.SPWeb.InitWebPublic()

at Microsoft.SharePoint.SPWeb.get_Language()

at Microsoft.Office.Project.Server.BusinessLayer.SharePointSecurityHelper.DeleteRoles(SPWeb web)

at Microsoft.Office.Project.Server.BusinessLayer.SharePointSecurityHelper.ConfigureDefaultPWAWSSSecurityModel(SPSite topSite, SPWeb web)

at Microsoft.Office.Project.Server.BusinessLayer.Admin.<>c__DisplayClass18.<QueueUpdateUsersAddRemoveStatusOnPwaRootsAndWorkspaces>b__17()

at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2()

at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)

at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)

at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)

at Microsoft.Office.Project.Server.BusinessLayer.Admin.QueueUpdateUsersAddRemoveStatusOnPwaRootsAndWorkspaces(Dictionary`2 deletedUserUidsLoginNames, Guid[] addedUserUids, Boolean isFullSync, Boolean syncWorkspaces)

at Microsoft.Office.Project.Server.BusinessLayer.Admin.SynchronizeMembershipForPwaAppRootSite()

at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.SynchronizePwaMembership(ProjectProvisionSettings provset, ProjectSite projectSite)

--- End of inner exception stack trace ---

at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.SynchronizePwaMembership(ProjectProvisionSettings provset, ProjectSite projectSite)

at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)

Event Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

<System>

<Provider Name="Microsoft-SharePoint Products-Project Server" Guid="{B2178104-1B5B-4C20-8C8F-960678CED9E5}" />

<EventID>6971</EventID>

<Version>14</Version>

<Level>2</Level>

<Task>20</Task>

<Opcode>0</Opcode>

<Keywords>0x4000000000000000</Keywords>

<TimeCreated SystemTime="2012-04-04T05:55:02.295013200Z" />

<EventRecordID>29153</EventRecordID>

<Correlation ActivityID="{022423DC-AE60-4591-B04C-DEB7341DF342}" />

<Execution ProcessID="9204" ThreadID="7496" />

<Channel>Application</Channel>

<Computer>full qualify name of computer name</Computer>

<Security UserID="S-1-5-21-1659004503-796845957-839522115-3677" />

</System>

<EventData>

<Data Name="string0">PWA</Data>

<Data Name="string1">Microsoft.Office.Project.Server.Administration.ProvisionException: Membership synchronization failed. ---&gt; System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.SharePoint.SPSite.PreinitializeServer(SPRequest request)

at Microsoft.SharePoint.SPWeb.InitializeSPRequest()

at Microsoft.SharePoint.SPWeb.InitWebPublic()

at Microsoft.SharePoint.SPWeb.get_Language()

at Microsoft.Office.Project.Server.BusinessLayer.SharePointSecurityHelper.DeleteRoles(SPWeb web)

at Microsoft.Office.Project.Server.BusinessLayer.SharePointSecurityHelper.ConfigureDefaultPWAWSSSecurityModel(SPSite topSite, SPWeb web)

at Microsoft.Office.Project.Server.BusinessLayer.Admin.&lt;&gt;c__DisplayClass18.&lt;QueueUpdateUsersAddRemoveStatusOnPwaRootsAndWorkspaces&gt;b__17()

at Microsoft.SharePoint.SPSecurity.&lt;&gt;c__DisplayClass4.&lt;RunWithElevatedPrivileges&gt;b__2()

at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)

at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)

at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)

at Microsoft.Office.Project.Server.BusinessLayer.Admin.QueueUpdateUsersAddRemoveStatusOnPwaRootsAndWorkspaces(Dictionary`2 deletedUserUidsLoginNames, Guid[] addedUserUids, Boolean isFullSync, Boolean syncWorkspaces)

at Microsoft.Office.Project.Server.BusinessLayer.Admin.SynchronizeMembershipForPwaAppRootSite()

at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.SynchronizePwaMembership(ProjectProvisionSettings provset, ProjectSite projectSite)

--- End of inner exception stack trace ---

at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.SynchronizePwaMembership(ProjectProvisionSettings provset, ProjectSite projectSite)

at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)</Data>

</EventData>

</Event>

Escenario de Instalación:

Posible Causa:

HotFix Jun 2011 SharePoint Fundation & Server 2010 (For User Profile Fix)

Solución:

Realizar el aprovisonamiento de Project Server 2010 sin el HotFix de Jun 2011.

El Plan:

Desinstalación de Project Server 2010 y SharePoint 2010.

El Procedimiento:

    1. Eliminar la instancia de PWA que no pude finalizar correctamente el aprovisionamiento.
    2. Eliminar el servicio de aplicación Project Server PWA Service.
    3. Desinstalar Project Server 2010.
    4. Desinstalar Paquetes de Idioma para SharePoint Fundation y Office Servers.
    5. Desinstalar SharePoint 2010.
    6. Reiniciar el servidor.
    7. Borrar todas las bases de datos creadas y restauradas.
    8. Restaurar las bases de datos de contenido y de ProjectServer a migrar.
    9. Verificar los pre-requisitos de SharePoint 2010.
    10. Instalar de Nuevo los bits de SharePoint 2010 con SP1 Incluido.
    11. Proceder a la instalación del Central Administration de SharePoint 2010.
    12. Configurar los servicios de BI necesarios para Project Server 2010.
    13. Crear la aplicación Web que hospedará el PWA.
    14. Desconectar al base de datos de contenido recién creada.
    15. Luego Project Server con SP1 Incluido.
    16. Luego Instalar Paquete de Idioma deseado para SharePoint Fundation y Office Servers.
    17. Ejecutar el Asistente de Productos y Tecnologías de SharePoint para cada versión de paquete de Idioma.
    18. Luego instalar el SP1 de cada paquete de idioma.
    19. Ejecutar el Asistente de Productos y Tecnologías de SharePoint para cada SP1 de versión de paquete de Idioma.
    20. Iniciar el proceso de migración de la base de datos de contenido de PWA con la siguiente línea de comando: STSADM.EXE -o addcontentDB -url http://webapplication –ds databaseservername –dn [WSS_Content]
    21. Ejecutar el aprovisionamiento de las bases de datos de ProjectServer restauradas.

Eso es todo, buena suerte!. Funciona solo sea cuidadoso!

Upgrade4Fun!,

Juan Manuel Herrera Ocheita

lunes, 2 de abril de 2012

Cómo aumentar el tamaño máximo de subida en los SharePoints (2007/2010)

En ambas versiones de SharePoint es a nivel de Aplicación Web, solo que están organizadas en diferentes opciones dentro del Central Administration, las cuales las vamos a ver a continuación:

En 2007 esta en el Central Administration, Administración de aplicaciones, Configuración general de la aplicación Web, como se muestra en la imagen de abajo:

clip_image002

Dentro de la opción encontrará una casilla denominada “Tamaño máximo de carga”.  (Recuerde seleccionar la aplicación Web Deseada a través de la casilla Aplicación Web).

clip_image002[5]

En 2010 esta en el Central Administration, Manage Web Applications, Web Application List, sobre la aplicación deseada hacemos clic sobre la opción General Settings del Ribbon del CA, como se muestra en la imagen de abajo:

image

Deslice la barra vertical hacia abajo hasta encontrar la misma opción del 2007, Maximum Upload Size.

image

En este artículo vimos como las mismas opciones están en ambas versiones solo que distribuidas gráficamente en otro lugar dentro del Central Administration.  Lo importante denotar aquí es que la arquitectura no cambio con la versión se mantuvo a nivel de Aplicación Web.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita