miércoles, 14 de marzo de 2012

Tips #6–Sharepoint 2010

1-Filtros (querystring) Sharepoint 2010

Filtrar una o más columnas

  • intranet/sites/christianTareas/Lists/Tasks/AllItems.aspx?FilterField1=Title&FilterValue1=In Progress

En la consulta anterior, informo el campo a filtrar (FilterField1) y el valor a filtrar sobre ese campo (FilterValue1).

  • FilterField1=AssignedTo&FilterValue1=Christian&FilterField2=Status&FilterValue2=Not Started

Es posible agregar varios campos a filtrar, cómo en la consulta anterior.

FilterNameX debe estar en la vista actual a filtrar, en caso contrario no se filtrará. FilterNameX es case sensitive y debe ser el nombre interno.

FilterValueX no es case sensitive y no soporta wild cards.

Filtrar una columna con múltiples valores

?FilterName=Status&FilterMultiValue=In Progress;Completed

FilterMultiValue permite el uso de wild cards.

?FilterName=Title&FilterMultiValue=*meeting*

El siguiente ejemplo encontrará todas las tareas de christian con “reunion” en el título

FilterField1=AssignedTo&FilterValue1=christian&FilterName=Title&FilterMultiValue=*reunion*

FilterName debe esta en la vista actual, es case sensitive, y debe usarse el nombre interno.

FilterMultiValue no es case sensitive y soporta wild cards. Cada término se separa con ; .Ojo con los espacios.

Ordenar

?SortField=Title&SortDir=Desc

2-Cómo encuentro el nombre interno de un campo

  1. Ir a la lista
  2. Ir a “Settings Library”
  3. Ingreso a editar el campo deseado
  4. Reviso la url, y obtengo el valor del query string “Field”image

intranet/sites/training/_layouts/FldEdit.aspx?List=%7B64C528B3%2D224B%2D4613%2D9D60%2D216300B5BCE0%7D&Field=PercentComplete

3-Algunas tablas de Sharepoint 2010

Features: tabla que contiene información sobre todas las características activadas para cada colección de sitios o en el sitio.

Sites: Tabla que contiene información acerca de todas lascolecciones de sitios para esta base de datos de contenido.

Webs: Tabla que contiene información acerca de todos los sitios específicos (redes) en cada colección de sitios.

UserInfo: Tabla que contiene información acerca de todos los usuarios para cada colección de sitios.

Groups: Tabla que contiene información acerca de todos los grupos de SharePoint en cada colección de sitios.

Roles Tabla que contiene información acerca de todos los roles de SharePoint (los niveles de permisos) para cada sitio.

AllLists: Tabla que contiene información acerca de las listas para cada sitio.

GroupMembership: Tabla que contiene información acerca de todos los miembros de grupo de SharePoint.

AllUserData: Tabla que contiene información sobre todos los elementos de la lista para cada lista.
AllDocs: Tabla que contiene información sobre todos los documentos(y todos los elementos de la lista) para cada biblioteca de documentos y la lista.
RoleAssignment Tabla que contiene información acerca de todos los usuarioso grupos de SharePoint que se asignan a roles.

SchedSubscriptions: Tabla que contiene información acerca de todas lassuscripciones programadas (alertas) para cada usuario.

ImmedSubscriptions Tabla que contiene información acerca de todas lassuscripciones inmediatos (alertas) para cada usuario.

4-Averiguar el tamaño de un sitio

   1:  static void StorageQuery_2()
   2:      {
   3:          long espacio = 0;
   4:          using (SPSite spsSitio=new SPSite("http://sharepoint/site/"))
   5:          {
   6:              using (SPWeb spwSitio=spsSitio.OpenWeb())
   7:              {
   8:                  foreach (SPFolder spfFolder in spwSitio.Folders)
   9:                  {                    
  10:                     foreach (SPFile spfFile in spfFolder.Files)
  11:                     {
  12:                         espacio +=  spfFile.Length);
  13:                     }                   
  14:                 }
  15:             }                
  16:         }
  17:     }



5-Sabías que Sharepoint automáticamente agrega un flag a los perfiles usuarios, cuando el usuario no ha ingresado por un largo período de tiempo, es decir permanece como inactivo. Esto puede ocasionar problemas con “people picker” ya que el perfil no está actualizado. Una manera de solucionarlo, es asignarle permisos a una lista, y después removerlos. Esto ocasiona que el flag se cambie a activo y por lo tanto el job actualice el perfil. Otra solución es actualizar el perfil vía código (http://ghamson.wordpress.com/2010/11/04/updating-user-profile-properties-via-powershell-pictureurlsharepoint-2010-in-sp2010/)


6-Tips para solucionar problemas de performance.



http://social.technet.microsoft.com/wiki/contents/articles/7926.sharepoint-2010-tips-for-dealing-with-performance-issues.aspx?wa=wsignin1.0


7-Automáticamente asignar un theme a un sitio recién creado.




    • Crear un proyecto que incluya un event receiver
    • El mismo será de tipo “A site was provisioned”
    • Doble click sobre la feature y cambiar el scope a “Site”
    • Editar el archivo element.xml, el atributo “Receivers” y “Synchronization”

        <?xml version=”1.0″ encoding=”utf-8″?>
        <Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>
        <Receivers Scope=”Site”>
        <Receiver>
        <Name>EventReceiver1WebProvisioned</Name>
        <Type>WebProvisioned</Type>
        <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
        <Class>EventReceiverProject2.EventReceiver1.EventReceiver1</Class>
        <SequenceNumber>10000</SequenceNumber>
        <Synchronization>Synchronous</Synchronization>
        </Receiver>
        </Receivers>
        </Elements>


         1:  ///Definimos el código que cambiará el theme
         2:   
         3:  using System;
         4:  using System.Security.Permissions;
         5:  using Microsoft.SharePoint;
         6:  using Microsoft.SharePoint.Security;
         7:  using Microsoft.SharePoint.Utilities;
         8:  using Microsoft.SharePoint.Workflow;
         9:   
        10:  namespace EventReceiverSiteTheme.EventReceiver1
        11:  {
        12:      public class EventReceiver1 : SPWebEventReceiver
        13:      {
        14:   
        15:          public override void WebProvisioned(SPWebEventProperties properties)
        16:          {
        17:              try
        18:              {
        19:                  base.WebProvisioned(properties);
        20:                  SPWeb web = properties.Web;
        21:                  web.Navigation.UseShared = true;
        22:                  string ThemeURL = “[Your Site URL]/_catalogs/theme/Mission.thmx”;
        23:                  ThmxTheme.SetThemeUrlForWeb(web, ThemeURL);
        24:                  web.Update();
        25:              }
        26:              catch (Exception ex)
        27:              {
        28:                  throw;
        29:              }
        30:          }
        31:      }
        32:  }






        8-Workflows Actions



        Un archivo de acciones de workflows(.actions) es un archivo XML que describe cómo Sharepoint Designer interactua con las actividades del workflow.


        Workflow actions fson deployados en la carpeta TEMPLATE\[Locale ID]\Workflow en el root de Sharepoint (ej, TEMPLATE\1033\Workflow). La mejor manera de deplotar estos archivos, es desde el Visual Studio 2010 agregando un folder mapeado.


        Con los archivos .actions definidos, la próxima configuración es agregar una entrada authorizedType al web.config.



        http://msdn.microsoft.com/en-us/library/ff798323.aspx


        http://www.chaholl.com/archive/2010/03/13/make-a-custom-activity-available-to-sharepoint-designer-2010.aspx


        9-Borrar una lista con powershell



        List settings no muerta la opción “Delete this list” o el botón del ribbon.  Usando SharePoint Designer al tratar de borrar nos dice “Unable to save changes. This list cannot be deleted”.  Se puede utilizar Powershell para borrarla


           1:  $Web = Get-SPWeb http://misite
           2:  $List = $Web.Lists["Lista_A_Borrar"]
           3:  $List.AllowDeletion = $TRUE
           4:  $List.Update()
           5:  $List.Delete()
           6:  $Web.Dispose()



        10-Modificar el quick launch



        Es posible modificar el control del quick launch

        <SharePoint:AspMenu id="V4QuickLaunchMenu" runat="server" 
        EnableViewState="false" DataSourceId="QuickLaunchSiteMap"
        UseSimpleRendering="true" UseSeparateCss="false" Orientation="Vertical"
        StaticDisplayLevels="1" MaximumDynamicDisplayLevels="1"
        SkipLinkText="" CssClass="s4-ql" />

        Por default, el atributo StaticDisplayLevels es seteado a 2, es decir tiene 2 niveles de menú. Si lo cambio a 1, sólo el título se verá.

        El valor default del atributo MaximumDynamicDisplayLevels es 0. Esto deshabilita los menues flyout.

        Ej: el siguiente menú se cambio MaximumDynamicDisplayLevels= 3 y StaticDisplayLevels =3

        20120314-105157

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

        http://panvega.wordpress.com/2008/04/18/customize-the-sharepoint-navigation-aspmenu/

        http://aanuwizard.wordpress.com/2012/03/13/sharepoint-2010-part-1-customizing-quick-launch-to-pick-up-sub-menu-items/


        No hay comentarios:

        Publicar un comentario