26/2/08

Obtener URL principal desde Page Viewer webpart

Entre otras opciones una es utilizar cookies. La idea es meter en una cookie la URL del padre mediante javascript y despues cogerla en el codigo .CS de la aplicacion .NET que estamos visualizando. Esto es porque al ser codigo que se encuentra en el servidor no podemos acceder a datos del cliente. Es por ello que utilizamos comandos de javascript.

1.- lo primero que hacemos es generar una cookie con la URL del padre nada mas cargar la pagina. Esto lo hacemos por javascript, en la parte superior del ASPX, para que sea lo primero en hacer:


script language="javascript" type="text/javascript">
document.cookie = 'urlPadre=' + window.parent.location.href;
/script>

2.- El siguiente paso es coger esa cookie cuando lancemos un evento de servido:

La siguiente parte es de C# y es la que se lanza una vez le pinchamos al botón de ‘exportar a PDF’. Este botón cogerá la cookie y utilizará la URL que almacena para poder pintarla en PDF.

try
{
    string URLPDF = Request.Cookies["urlPadre"].Value.ToString();
    Response.Cookies["urlPadre"].Expires = DateTime.Now.AddDays(1);
    
// Le damos a la cookie un tiempo de vida para que no se acumulen …
}
catch (Exception ex)
{ }





20/2/08

Workflows de SP Designer no se inician automáticamente

Después de Crear un Workflow con Sharepoint Designer, el cual era obligatorio que se iniciara automaticamente, el mismo no lo hacia. Despues de Varias horas de analizar el problema, descubrimos que este problema se debe a la aplicacion del SP1 de Sharepoint, y esta documentado en un KB con Fecha 1/2/2008.

Link http://support.microsoft.com/kb/947284

Más información en el blog de mi colega Miguel Tabera (http://migueltabera.blogspot.com/)

18/2/08

Error listItem.Update()

Al intentar abrir una lista perteneciente a un Site podemos encontrarnos con un error de falta de permisos. Para evitar este error podemos poner el codigo en una delegada, utilizando SPSecurity:


SPSecurity.RunWithElevatedPrivileges(delegate()
{
        // Codigo para abrir el Site y modificar una lista
});

saludos,
Juan Alcalá

SharePoint Capacity Planning Tool

Para realizar una planificación correcta de una instalación, tanto de Microsoft Office SharePoint Server 2007 (MOSS) como de los Microsoft Windows SharePoint Services 3.0 (WSS).

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

saludos,
Juan Alcalá

14/2/08

Error: "Cannot open database "WSS_Content_...." requested by the login. The login failed. Login failed for user ... "

A veces, al insertar un webpart en nuestro Site es posible que nos salga un error de este tipo:

Cannot open database "WSS_Content_xxxx" requested by the login. The login failed. Login failed for user 'xxxx'.

Este error es debido a que se está intentado acceder a la base de datos con un usuario para el que no tenemos permisos. Para comprobar esto tenemos que irnos a nuestro IIS y ver con qué usuario nos logueamos en nuestro App. Pool, tal y como se ve en la imagen:




Cuando comprobemos que nuestro usuario es correcto, si sigue fallando lo que haremos será comprobar si nuestra aplicacion o nuestro directorio virtual está apuntando a este App. Pool:





 

8/2/08

Validar el formato de un mail


public bool IsEmail(string mail)
{
Regex mailPattern = new Regex
(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
return mailPattern.IsMatch(mail);
}