lunes, 17 de diciembre de 2012

Tips Info #86 Sharepoint 2010

1-Contenido condicional para usuarios anónimos y logueados

Una posibilidad es usar el control SPSecurityControl que permite mostrar contenido condicional para los usuarios dependiendo de sus permisos.

Este control no permite mostrar contenido sólo para usuarios anónimos.Para ello utilizaremos el control LoginView.

<asp:LoginView runat="server">
     <AnonymousTemplate>
        <span style="font-family: Arial; font-size: 10pt;">Bienvenido, Invitado
            <asp:LoginStatus ID="LoginStatusUsuarioAnonimo" runat="Server" />
        </span>
    </AnonymousTemplate>
    <LoggedInTemplate>
        Bienvenido,
        <asp:LoginName ID="LoginNameUsuarioLogueado" runat="Server" />
        <asp:LoginStatus ID="LoginStatusUsuarioLogueado" runat="Server" />
    </LoggedInTemplate>
</asp:LoginView>

El control LoginName mostrará el nombre del usuario logueado, y en el caso de usuarios anónimos no mostrará nada.

El control LoginStatus mostrará un link de Log Out para usuarios autenticados y un link de Log In para usuarios anónimos.

2-Formula para validar un email dentro de una columna de Sharepoint

Dos posibles fórmulas:

FORMULA 1

=(LEN(LEFT([Email],FIND("@",[Email])-1))>0)
+(LEN(RIGHT([Email],LEN([Email])-FIND(".",[Email],FIND("@",[Email]))))>0)
+(LEN(MID([Email],FIND("@",[Email])+1,FIND(".",[Email],FIND("@",[Email]))-FIND("@",[Email])-1))>0)
+(ISERROR(FIND(" ",[Email]))=TRUE)
=4

FORMULA 2

=IF(
  OR(
    ISERROR(FIND("@",Email)),
    ISERROR(FIND(".",Email,FIND("@",Email)))
  ),
  FALSE,
  AND(
    LEN(LEFT(Email,FIND("@",Email)-1))>0,
    LEN(RIGHT(Email,LEN(Email)-FIND(".",Email,FIND("@",Email))))>0,
    LEN(MID(Email,FIND("@",Email)+1,FIND(".",Email,FIND("@",Email))-FIND("@",Email)-1))>0,
    (ISERROR(FIND(" ",TRIM(Email))))
  )
)

3-Renombrar web application mediante powershell

$wapp = Get-SPWebApplication "SharePoint - 80"
$wapp.Name = "Intranet -80"
$wapp.Update()
Para verificar si se actualizó de forma correcta ejecute lo siguiente:
Get-SPWebApplication "Intranet -80"

4-Error al utilizar server object: The web server process that was being debugged has been terminated by Internet Information Services (IIS). This can be avoided by configuring Application Pool ping setting in IIS. See help for further details.

Por ejemplo al utilizar la siguiente línea de código SPListItemCollection collListItemsSrc = oList.GetItems(oView) , nos puede lanzar el error previamente definido.
Esto se debe a que el tamaño de la configuración “The maximum unresponsive ping time” es insuficiente. El default es de 90 segundos. Puedes aumentar el tiempo o deshabilitar el Ping Enabled.
image

5-Propiedad AllowEveryoneViewItems  de las librerias/listas


Esta propiedad permite acceder de forma directa a los documentos de una librería o a los attachments de una lista. Esta propiedad sólo funciona cuando los usuarios navegan directamente a un archivo a través del navegador, y no tiene ningún efecto sobre el resto de la interfaz de usuario o el modelo de objetos.


Esta propiedad es útil para trabajar con usuarios anónimos.


$web = Get-SPWeb -Identity http://url_sitio
$list = $web.Lists.TryGetList("titulo lista");
$list.AllowEveryoneViewItems = $true
$list.Update()

No hay comentarios:

Publicar un comentario