Mostrando entradas con la etiqueta SPList. Mostrar todas las entradas
Mostrando entradas con la etiqueta SPList. Mostrar todas las entradas

miércoles, 6 de junio de 2012

Tips/info #28 Sharepoint 2010

1-Error: Sharepoint Service Error: A deployment or retraction is already under way for the solution “xxx.wsp” , and only one deployment or retraction at a time is supported

Para solucionar haga lo siguiente:

  • Abra una consola de powershell y vaya a la ubicación siguiente: C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN y escriba stsadm -o enumdeployments
  • Verificamos el id del job que está generando conflicto
  • Y ejecutamos lo siguiente: stsadm -o canceldeployment -id ” jobId”

    2-Error:“Error Updates are currently disallowed on GET requests.  To allow updates on a GET, set the ‘AllowUnsafeUpdates’ property on SPWeb. Troubleshoot issues with Microsoft SharePoint Foundation”

    $w = get-spwebapplication http://nombredelwebapplication
    $w.HttpThrottleSettings
    $w.Update
    ()
    3-Los botones de página de layouts y de texto de layouts está grisados o deshabilitados
    Ir a la master page del sitio y agregar en el body, lo siguiente:
    <body onload=”javascript:_spBodyOnLoadWrapper();”>
    4-Habilitar el modo debug de los archivos js de Sharepoint 2010
    Como saben, Sharepoint tiene dos versiones de cada archivo core de javascript de Sharepoint. Ej: sp.js, y el sp.debug.js
    Esos archivos pueden encontrarse en C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\_LAYOUTS
    Si se desea cargar los archivos debug para un web application, se debe ir a C:\inetpub\wwwroot\wss\VirtualDirectories y abrir la carpeta con el puerto deseado.
    Localizar web.config y editar de la siguiente manera:
    <compilation batch="false" debug="false">
    reemplazarlo con 
    <compilation batch="false" debug="true">
    y hacer un iisreset.
    5-Obtener las content database por web application con powershell
    Get-SPWebApplication | %{Write-Output "`n- $($_.url)"; foreach($cd in $_.contentdatabases){Write-Output $cd.name}} >> C:\Temp\contentdatabases.txt
    6-ListItem.Update Powershell Exception (Cannot take 0 arguments)



    Posiblemente la excepción sea por problemas de permisos del usuario que ejecuta el script.


    7-No aparece la opción “Manage content and structure”


    Habilitar las features 'SharePoint Server Publishing Infrastructure' a nivel de Site Collection, y después activar la feature 'SharePoint Server Publishing'


    8-Agregando un adjunto con SPList a un item


  • private void AgregarAdjunto(int ID_item)
    {
        try
        {
            SPList lista = SPContext.Current.Web.Lists["nombre Lista"];


            SPListItem miItem = lista.GetItemById(ID_item);


            if (fileUpload.PostedFile != null && fileUpload.HasFile)
            {


                Stream fStream = fileUpload.PostedFile.InputStream;


                byte[] contents = new byte[fStream.Length];


                fStream.Read(contents, 0, (int)fStream.Length);


                fStream.Close();


                fStream.Dispose();


                SPAttachmentCollection attachments = miItem.Attachments;


                string fileName = Path.GetFileName(fileUpload.PostedFile.FileName);


                attachments.Add(fileName, contents);


                miItem.Update();


            }


        }
        catch (Exception ex)
        {    }
    }


    9-Cargar un archivo css mediante el control CssRegistration


    <SharePoint:CssRegistration ID="CssRegistration1" Name="/Style Library/estilo.css"
        runat="server" After="corev4.css" />

    10-Acciones de comando en los custom actions

    {ItemId} – ID (GUID) taken from the list view.
    {ItemUrl} – Web-relative URL of the list item (Url).
    {RecurrenceId} – ID of a recurrent item (RecurrenceID).
    {SiteUrl} – The fully qualified URL to the site (Url).
    {ListId} – ID (GUID) of the list (ID).
    {ListUrlDir} – Server-relative URL of the site plus the list's folder.
    {Source} – Fully qualified request URL.
    {SelectedListId} – ID (GUID) of the list that is currently selected from a list view.
    {SelectedItemId} – ID of the item that is currently selected from the list view.
    ~site    SPContext.Current.Web.ServerRelativeUrl
    ~sitecollection    SPContext.Current.Site.ServerRelativeUrl


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

    lunes, 28 de mayo de 2012

    Tips/Info #24 Sharepoint 2010

    1-Obtener información sobre la granja

    Get-SPFarmConfig
    WorkflowBatchSize                 : 150
    WorkflowPostponeThreshold : 30
    WorkflowEventDeliveryTimeout : 10
    DataFormWebPartAutoRefreshEnabled : True
    ASPScriptOptimizationEnabled : True
    2-Renombrar el servidor

    stsadm -o renameserver -oldservername <oldServerName> -newservername <newServerName>

    Recuerde actualizar los alternate access mapping

    3-Exportar todas las soluciones wsp 

    (Get-SPFarm).Solutions |% { $filename = “C:\TEMP” + "\" + $_.Name; $_.SolutionFile.SaveAs($filename) }


    4-Mostrar la página master page default de un sitio mediante powershell


    Get-SPWeb "http://misitio.com" | Select MasterUrl, CustomMasterUrl


    5-Limpiar la cache de Sharepoint Designer


    En Windows 7: limpiar el contenido de las siguientes carpetas


    C:\Users\<username>\AppData\Local\Microsoft\WebsiteCache


    C:\Users\<username>\AppData\Roaming\Microsoft\SharePoint Designer


    6-Código de errores de Sharepoint 2010

    401 Errores relacionados a acceso
    401;1 acceso no autorizado debido a que el inicio de sesión ha fallado
    401;2 acceso no autorizado debido a que el inicio de sesión ha fallado debido a la configuración del servidor
    401;3 acceso no autorizado debido a una entrada Access Control List (ACL)
    401;4 acceso no autorizado debido a un filtro IIS que esta bloqueando el acceso
    401;5 acceso no autorizado debido a una aplicación ISAPI or CGI
    403 Errores relacionados a seguridad
    403;1 Prohibido el acceso de ejecución, porque no está permitido
    403;2 Prohibido el acceso de lectura, porque no está permitido
    403;3 Prohibido el acceso a escritura porque no está permitido
    403;4 Prohibido ya que el uso de SSL se requiere
    403;5 Prohibida por el uso de 128 bits SSL es necesario
    403;6 Prohibida porque la dirección IP fue rechazada
    403;7 Prohibida porque un certificado de cliente se requiere
    403;8 Prohibida ya que el acceso al sitio se le niega
    403;9 Prohibido porque hay demasiados usuarios actualmente conectado al sitio
    403;10 Prohibido debido a una configuración no válida
    403;11 Prohibido debido a una contraseña no válida
    403;12 Prohibido ya que el sitio Web requiere un certificado de cliente válido
    403;13 Prohibido debido a que el certificado de cliente fue revocado
    403;14 Prohibido debido a que el directorio listado se le niega
    403;15 Prohibido el acceso porque el número de licencias de clientes se ha superado
    403;16 Prohibido ya que el certificado de acceso de cliente no es válida o no es de confianza
    403;17 Prohibida ya que el certificado de acceso de cliente ha caducado o aún no es válido
    424 Errores
    424 errores que normalmente aparecen cuando un nivel de protección de aplicaciones es demasiado alto. Para solucionarlo en tu servidor IIS, Ir a la aplicación web, seleccione la pestaña de propiedades del directorio virtual y establecer la protección de aplicaciones en Bajo (proceso IIS).
    500 Error
    Se trata de un error genérico interno en el servidor IIS. Una causa común de este error en un entorno de SharePoint es desmarca la opción "verify file exists" en el IIS
    503 Error
    Esto significa que un servicio ha dejado de funcionar o se puede colgar, ver en el Visor de sucesos en el servidor para ver cuál es la causa del problema



    7-Queries sobre listas y carpetas: performance


    Alternativas para SPList.Items


































    Métodos y propiedades con rendimiento deficiente


    Alternativas con mejor rendimiento


    SPList.Items.Count


    SPList.ItemCount


    SPList.Items.XmlDataSchema


    Creación de un objeto SPQuery para recuperar sólo los elementos que desee.


    SPList.Items.NumberOfFields


    Creación de un objeto SPQuery (especificando ViewFields) para recuperar solo los elementos que desee.


    SPList.Items[System.Guid]


    SPList.GetItemByUniqueId(System.Guid)


    SPList.Items[System.Int32]


    SPList.GetItemById(System.Int32)


    SPList.Items.GetItemById(System.Int32)


    SPList.GetItemById(System.Int32)


    SPList.Items.ReorderItems(System.Boolean[],System.Int32[],System.Int32)


    Realización de una consulta paginada mediante SPQuery y reordenación de los elementos dentro de cada página.


    SPList.Items.ListItemCollectionPosition


    ContentIterator.ProcessListItems(SPList, ContentIterator.ItemProcessor, ContentIterator.ItemProcessorErrorCallout) (solo Microsoft SharePoint Server 2010)


    SPList.Items.ListItemCollectionPosition


    ContentIterator.ProcessListItems(SPList, ContentIterator.ItemProcessor, ContentIterator.ItemProcessorErrorCallout) (solo SharePoint Server 2010)


    Alternativas para SPFolders.Files



















    Métodos y propiedades con rendimiento deficiente


    Alternativas con mejor rendimiento


    SPFolder.Files.Count


    SPFolder.ItemCount


    SPFolder.Files.GetEnumerator()


    ContentIterator.ProcessFilesInFolder(SPFolder, System.Boolean, ContentIterator.FileProcessor, ContentIterator.FileProcessorErrorCallout) (solo SharePoint Server 2010)


    SPFolder.Files[System.String]


    ContentIterator.GetFileInFolder(SPFolder, System.String) Como alternativa, SPFolder.ParentWeb.GetFile(SPUrlUtility.CombineUrl(SPFolder.Url, System.String) (solo SharePoint Server 2010)


    SPFolder.Files[System.Int32]


    No usar. Cambie a ContentIterator.ProcessFilesInFolder y cuente los elementos durante la iteración. (Solo SharePoint Server 2010)


    Recuperación de elementos con SPList.GetItems recomendado

    SPQuery query = new SPQuery();
    SPListItemCollection spListItems ;
    string lastItemIdOnPage = null; // Posición de la página
    int itemCount = 2000

    while (itemCount == 2000)
    {
    // Incluir solo los campos que usaré.
    query.ViewFields = "<FieldRef Name=\"ID\"/><FieldRef Name=\"ContentTypeId\"/>";
    query.RowLimit = 2000; // Solo selecciono top 2000.
    //Incluir items en subfolders.
    query.ViewAttributes = "Scope=\"Recursive\"";
    StringBuilder sb = new StringBuilder();
    //Ordenar la query por ID y detengo el escaneo de la tabla especificando override.
    sb.Append("<OrderBy Override=\"TRUE\"><FieldRef Name=\"ID\"/></OrderBy>");
    //.. Agrego mas texto si es necesario.
    query.Query = sb.ToString();
    // Obtengo 2,000 items más.

    SPListItemCollectionPosition pos = new SPListItemCollectionPosition(lastItemIdOnPage);
    query.ListItemCollectionPosition = pos; //info de la página.
    spListItems = spList.GetItems(query);
    lastItemIdOnPage = spListItems.ListItemCollectionPosition.PagingInfo;
    itemCount = spListItems.Count;

    }



    8-Obtener todas las content database por web application


    Get-SPWebApplication | %{Write-Output "`n- $($_.url)"; foreach($cd in $_.contentdatabases){Write-Output $cd.name}} [>> C:\Temp\exportContentDatabasesInfo.txt ]


    La parte entre [] es optativa, permite exportar el resultado a un archivo externo.


    9-Procesos requeridos para sandbox solutions


    SPUCWorkerprocess.exe:

    Sandbox Worker process service es un servicio de aplicación separado que ejecuta código Sandbox. Este servicio debe ser iniciado en cada granja donde se use Sandbox Solutions.

    SPUCWorkerprocessproxy.exe:

    Sandbox Worker process proxy trabaja como un proxy para el Worker process. Se ocupa de la ejecución de código Sandbox y también puede servir a otras granjas si se ha configurado.Ayuda al balanceo de carga.

    SPUCHostservice.exe:

    Sandbox User Code Service se encarga del código de usuario en la Sandbox. Este servicio debe estar iniciado en la granja para usar sandbox solutions.