Charla de Project Server 2010 “Te subirías a un Ferrari o quieres seguir andando en bicicleta?”

Hola Bloggers, les comparto la charla que tuve la oportunidad de dar en el 5o Simposio Latinoamericano de SharePoint realizado en Costa Rica el 31 de Agosto de 2011.

 

Project Server 2010–5o Simposio Latinoamericano de SharePoint 2011 San José de Costa Rica

Pueden descargarla también de aquí. Adicionalmente, les envío el enlace de donde pueden bajar las otras charlas dadas por otros speakers en el Simposio http://www.sharepointcostarica.com/agenda.html 

Espero sea de su interés,

 

Ing. Andrés Rojas

andres.rojas@geeks.ms

Como eliminar un sitio PWA (Project Web Access) Huérfano

Hola Bloggers como están, les comparto este blog que puede ser de mucha ayuda cuando se es administrador de Project Server 2010 y nos pasa lo siguiente:

“Se elimina una aplicación web sin antes haber eliminado la instancia de Project Server 2010”

Cómo lo solucionamos, este es el truco (se deben ejecutar los dos pasos para asegurarnos que funciona):

 

PASO 1 (Eliminar los PWA Huérfanos):

Fuente

$ap_Servicio = get-spserviceapplication | ? {$_.TypeName –like “*Project*”}
$intanciaspwa = $serviceapp.Sitecollection
$intanciaspwa | ft name, id
 
Copie el ID que es generado en el comando anterior y uselo en e siguiente comando

$eliminar = $intanciaspwa | ? {$_.Id –eq “ID del comando anterior”}
$eliminar
$eliminar.Delete()

 

PASO 2 (Eliminar los Timer Jobs con errores):

Fuente

Adicionalmente a lo anterior, también se pueden encontrar con los siguientes errores:

There was an exception loading job definition “Microsoft.Office.Project.Server.Administration.ServerScheduledTimerJob” (id “algun ID del objeto que no se encuentra”). Object reference not set to an instance of an object.
 
There was an exception loading job definition “Microsoft.Office.Project.Server.Administration.ServerScheduledTimerJob” (id “algun ID del objeto que no se encuentra"). Object reference not set to an instance of an object.

Para determinar los trabajos del temporizador que estan generando problemas, se ejecuta el siguiente script
 
get-sptimerjob | where-object {$_.schedule -like "PWA*"} | format-list name,description, id
 

PWA SSP_c04f25b8-ce9c-41dc-a243-c029d2b38f77_WorkflowCleanupJob_ 537502b2-6ea7-4846-958d-efa954e434d8
 
PWA SSP_c04f25b8-ce9c-41dc-a243-c029d2b38f77_ApplyResourceCapacityTimeRangeJob_ 3ed31585-a654-4453-9bd6-3b07d5ca9b6a
 
Tenga en cuenta los ID que genera el script ya que se usarán en los siguientes comandos:

 
$temporizador = Get-SPTimerJob 537502b2-6ea7-4846-958d-efa954e434d8
$temporizador.delete()
$temporizador = Get-SPTimerJob 3ed31585-a654-4453-9bd6-3b07d5ca9b6a
$temporizador.delete()

 

espero les sirva,

 

Ing. Andrés Rojas

andres.rojas@geeks.ms

Nos vamos pa’ Costa Rica, nos vamos pa’ Costa Rica – 5o Simposio Latinoamericano de SharePoint

Yosere

Hola Bloggers como estan, les cuento que ya esta listo el 5o Simposio Latinoamericano de SharePoint a realizarse en Pueblo Antiguo, San Jose, Costa Rica el próximo 31 de agosto de 2011 gracias a la excelente labor que vienen desarrollando nuestros amigos Ricardo Muñoz y Vielka Rojas en el posicionamiento de la comunidad de SharePoint en su país y en el resto de Latinoamérica.

Asignar imagen

Este año fui invitado a formar parte del equipo de Speakers desarrollando una charla de Project Server 2010 a la par de reconocidas personalidades dentro del campo del SharePoint y Project Server como lo son Gustavo Vélez ( alias “El Maestro”), Fabián Imaz, Juan Andrés Valenzuela, Elias Mereb, Eduardo Castro, Carlos Rojas, Rodrigo Díaz, Joel Oleson, Paul J. Swider, Gilberto Bermúdez, Vladimir Medina, Manfred Guendel, Vielka Rojas, Ricardo Muñoz y Juan Carlos González Martin.

No siendo mas, les dejo la información pertinente para que se enteren sobre las charlas y demás que pueden encontrar. Adicionalmente, se van a dictar charlas para desarrolladores y para profesionales de TI los días previos al evento mayor (29 y 30 de agosto). Anímensen, los esperamos para que hagan parte del evento.

Invitacion5SimpsioSharePoint2011

Slds,

AR.

Instalación de SharePoint Server y Project Server 2010 – Parte 2 de 3

sharepoint_thumb

Instalación de SharePoint 2010

 

Hola Bloggers, los habia dejado en la mitad de estos post. Aqui continúo con la instalacion de SharePoint y de Project Server 2010.

Para la instalación del Microsoft Office SharePoint Server 2010, debemos contar con el instalador y la licencia respectiva. Se busca el archivo setup.exe y se ejecuta. Se despliega la pantalla donde vamos a ejecutar en primera instancia la instalación de prerrequisitos y en segunda instancia la instalación de Microsoft Office SharePoint Server 2010 como se muestra a continuación.

image

Pantalla de inicio de instalación de Microsoft Office SharePoint server 2010.

 

image

Instalación de prerrequisitos para Microsoft Office SharePoint Server 2010

Al ejecutar la instalación de prerrequisitos, se debe tener en cuenta que el servidor debe estar conectado a internet ya que esta instalación descarga todos los prerrequisitos de páginas de Microsoft correspondientes. Esta acción también se puede hacer de manera manual según lo referenciado en el blog “Prerrequisitos de Software para instalar Microsoft SharePoint Server 2010 (Necesario para instalar Project Server si es requerido en la organización)”.

Una vez instalados los prerrequisitos, damos click sobre “Install SharePoint Server”.

Lo primero que solicita la instalación es la clave del producto, para nuestro caso se debe utilizar una clave de características Enterprise.

image

Se valida los términos del licenciamiento y luego click en siguiente (continue).

image

Después de validar los términos de licenciamiento, la pantalla que nos muestra la instalación es la del tipo de instalación. Para el caso, seleccionamos “Server Farm” y luego “Complete”.

image

image

En la misma pantalla donde se selecciona el tipo de servidor (Server Type), hay un tab que nos permite modificar la ruta donde vamos a instalar la aplicación. Luego se presiona el botón de instalar ahora (install now) y se incia el proceso de instalación.

image

Al momento de terminar la instalación, el proceso muestra una pantalla informativa con la que se procederá a crear/agregar una granja de servidores. En este caso se quita la selección de la casilla de verificación que dice “run the SharePoint Products Configuration Wizard now” y se oprime el botón cerrar (close).

image

Luego cerramos la pantalla de instalación de productos de SharePoint Server 2010.

Después de realizar la instalación se ejecuta SharePoint Products Configuration Wizard que se encuentra en la carpeta de SharePoint en el menú inicio\todos los programas\Microsoft SharePoint 2010 Products.

image

Pantalla de inicio de la configuración de la granja. Se presiona el botón siguiente (next) para continuar con la instalación. Después de presionar el botón, se muestra la siguiente pantalla de información donde se nos indica que se van a parar algunos servicios mientras la configuración.

image

Se presiona el botón Si (yes) para continuar. La siguiente pantalla que se muestra es la solicitud de conectarnos a una granja existente o crear una nueva. En nuestro caso creamos una nueva granja, damos click en siguiente y aparece la pantalla donde se configura la granja.

image

image

 

Se deben proveer los siguientes parametros para la configuración de la granja:

- Database server: nombre del servidor que tiene la instancia de SQL Server 2008/SQL Server 2008 R2

- Database name: nombre de la base de datos que se va a crear y en donde se va a configurar la granja

- UserName: usuario administrador de la granja. Click en los enlaces para ver las mejores prácticas para usuarios “Initial deployment administrative and service accounts (SharePoint Server 2010)” y “Account permissions and security settings”

- Password: password del usuario que ingresaron.

Una vez ingresados estos dastos, damos click en siguiente (next) y se nos pregunta la palabra que se va a usar para la encripción de contraseñas ya que SharePoint 2010 permite el cambio de las contraseñas de los usuarios de servicio. NOTA: GUARDENLA MUY BIEN, SE HACE NECESARIO PARA EJECUTAR DISASTER RECOVERY.

image

 

Después de ingresar esta información en los campos seleccionados, se presiona el botón de siguiente (next) para continuar con la configuración.

image

Configuración de la aplicación web para la administración central.

En la imagen anterior se muestra el puerto IP por donde nos vamos a conectar a la administración central de SharePoint 2010. El modo de autenticación se deja por defecto en NTLM. Se presiona el botón siguiente para continuar.

image

Revisión de la información ingresada.

Se presiona el botón siguiente para continuar con la configuración.

image

Configuración de la granja.

Si no existe ningún problema, la configuración debe ser satisfactoria.

 

slds,

 

Andrés Rojas

Twitter: @arojaspa

skype: andres_felipe_rojas

msn: andres_frojas@hotmail.com

Como esconder el menú Ribbon dentro de un sitio de SharePoint para ser publicado como página en internet

Hola Bloggers, como estan, me encontré con este excelente desarrollo que han hecho los de codeplex para ocultar el menú ribbon, no solo para páginas de internet, sino para intranets. Es excelente, súper recomendado.

La url donde pueden descargar el wsp es http://spribbonvisibility.codeplex.com/

Existe también un script que se ubica dentro del <head> de la master page para que oculte el menú ribbon. Dependiendo de los niveles de permisos, este se mostrará o no.

<style type="text/css">
div#s4-ribbonrow {
display:none;
}
</style>

<Sharepoint:SPSecurityTrimmedControl runat="server"
Permissions="AddAndCustomizePages">
<style type="text/css">
div#s4-ribbonrow {
display:block;
}
</style>
</Sharepoint:SPSecurityTrimmedControl>


Espero les sirva,

Slds,

AR.

Script de powershell para copiar todos los sitios de una colección de sitios a otra colección de sitios en SharePoint 2010

Hola bloggers, les comparto un script de powershell para SharePoint 2010 que puede ser de mucha ayuda en sus rutinas diarias de administración de sitios. se puede ejecutar usando el ambiente de desarrollo para powershell Integrated Scripting Enviromental (ISE).

Pueden descargarlo aqui

Designed By: Andrés Rojas

Add-PSSnapin microsoft.sharepoint.powershell
[void][System.Reflection.Assembly]::LoadWithPartialName(‘Microsoft.VisualBasic’)
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

$var_nameExport = "";
$var_nameExport = [Microsoft.VisualBasic.Interaction]::InputBox(“Aplicación web desde donde se va a exportar”, “Migración de sitios web”)
 
if ($var_nameExport.length -ne 0)
{
    $resultadoExport = [System.Windows.Forms.MessageBox]::Show($var_nameExport, "Valor Ingresado de la coleccion a exportar",[Windows.Forms.MessageBoxButtons]::OKCANCEL,[Windows.Forms.MessageBoxIcon]::Information)

    if ($resultadoExport -eq "OK")
    {
        write-host "Resultado de Messagebox export:" $resultadoExport;

        $appwebtoexport = $var_nameExport + "/";
        $appwebtoexport;

        $var_nameImport = "";
        $var_nameImport = [Microsoft.VisualBasic.Interaction]::InputBox(“Aplicación web a donde va a importar”, “Migración de sitios web”)

        if ($var_nameImport.length -ne 0)
        {
       
            $resultadoImport = [System.Windows.Forms.MessageBox]::Show($var_nameImport, "Valor Ingresado de la coleccion a importar",[Windows.Forms.MessageBoxButtons]::OKCANCEL,[Windows.Forms.MessageBoxIcon]::Information)       
           
            if ($resultadoImport -eq "OK")
            {
           
                write-host "Resultado de Messagebox import:" $resultadoImport;           
           
                $appwebtoimport = $var_nameImport + "/";
                $appwebtoimport;
               
                $var_nameFile = "";
                $var_nameFile = [Microsoft.VisualBasic.Interaction]::InputBox(“Ruta donde se almacenarán los archivos .bak”, “Migración de sitios web”)

                if ($var_nameFile.length -ne 0)
                {

                    $resultadoPath = [System.Windows.Forms.MessageBox]::Show($var_nameFile, "Valor Ingresado de la Ruta",[Windows.Forms.MessageBoxButtons]::OKCANCEL,[Windows.Forms.MessageBoxIcon]::Information)       
           
                    if ($resultadoPath -eq "OK")
                    {
           
                        write-host "Resultado de Messagebox path:" $resultadoPath;           

                       
                        $pathfile = $var_nameFile + "\";
                        $pathfile;

                        $sitios = get-spsite $appwebtoexport | get-spweb -limit all

                        foreach ($subsitio in $sitios){
                            if ($subsitio.title -eq "PWA Hosting")
                            {
                                write-host "es el root, no se toma en cuenta para la exportacion, creacion e importacion de sitios";
                            }
                            else
                            {
                                $pathfullfile = $pathfile + $subsitio.name + ".bak"
                                #exporta los sitios de la coleccion de sitios inicial
                                $exportarsitio = export-spweb $subsitio.url -path $pathfullfile
                                write-host "Sitio web exportado:";
                                $subsitio.url;
                                #write-host "Ruta Archivo:" $pathfullfile;
                               
                                #crea los sitios en la nueva coleccion de sitios con la plantilla PWS#0
                                $parametro = $appwebtoimport + $subsitio.name;
                                New-SPWeb $parametro -Template "PWS#0" -Language 3082 -Name $subsitio.name
                                write-host "Sitio web creado:";
                                $parametro;
                                #write-host "Donde importar:" $appwebtoimport $subsitio.name
                               
                                #exporta los sitios de la coleccion de sitios final
                                $parametro2 = $appwebtoimport + $subsitio.name;
                                Import-SPWeb $parametro2 -Path $pathfullfile
                                write-host "Sitio web importado:";
                                $appwebtoimport + $subsitio.name;
                                write-host "De la ruta:";
                                $pathfullfile;
                                #write-host "Importacion:" $appwebtoimport $subsitio.name " - " $pathfullfile
                               
                            }
                        }
                    }
                }
                else
                {
                    [System.Windows.Forms.MessageBox]::Show("Debe ingresar un valor de la ruta donde quedarán los documentos exportados en .bak", "Valor Ingresado Errado",[Windows.Forms.MessageBoxButtons]::OK,[Windows.Forms.MessageBoxIcon]::Error)           
                }
            }
        }
        else
        {
            [System.Windows.Forms.MessageBox]::Show("Debe ingresar un valor para la coleccion a donde va aimportar", "Valor Ingresado Errado",[Windows.Forms.MessageBoxButtons]::OK,[Windows.Forms.MessageBoxIcon]::Error)   
        }
    }
}
else
{
    [System.Windows.Forms.MessageBox]::Show("Debe ingresar un valor para la coleccion de sitios a exportar", "Valor Ingresado Errado",[Windows.Forms.MessageBoxButtons]::OK,[Windows.Forms.MessageBoxIcon]::Error)
}

Microsoft Cloud Computing Event Ready

cloudEventInicio

Hola Bloggers, quiero invitarlos al evento virtual que Microsoft ha preparado para ustedes donde pueden conocer las nuevas caractarésticas de la nube. Conozcan sobre Office 365 (Exchange Online, Lync Online y SharePoint Online).

cloudEvent

De éste último les envío el enlace donde pueden ver un video realizado por mi para este evento. ver video.

Hay dos Salones, uno para desarrolladores y otro para profesionales de IT. Para ingresar deben registrarse con un usuario de msn y listo.

Espero les guste este evento, tiene buenas cosas que conocer.

slds,

Ing. Andrés Rojas