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

sábado, 15 de diciembre de 2012

Tips Info #85 Sharepoint 2010

1-Script para obtener el tamaño, cantidad de usuarios y url de todos los sites collections mediante powershell

Get-SPSiteAdministration -Limit All | select Url, @{label = "Size";Ex = {$_.DiskUsed/1MB}}, UsersCount | Sort-Object -Descending -Property "Size" | ConvertTo-Html -title "Site Collections" | Set-Content sitecollectionsinfo.html

2-Obtener las versiones de los documentos vía querystring – powershell – client object

Via querystring

Se puede usar el parámetro IncludeVersions=TRUE , por ejemplo:

http://sitecollection/sites/demo/docs/Forms/AllItems.aspx?IncludeVersions=TRUE

Vía powershell

$SPWeb = Get-SPWeb http://nombredelsite
foreach($List in $SPWeb.Lists)
{
   $ItemsColl = $List.Items
   foreach ($item in $ItemsColl)
    {
      foreach($version in $item.Versions)
        {
Write-Host $version.VersionLabel
        }
    }
}
$SPWeb.Dispose()

Vía client object

public void GetVersions()
{
    ClientContext clientContext = new ClientContext("http://website_url");
    Web site = clientContext.Web;
    clientContext.Load(site);
    clientContext.ExecuteQuery();

    File file = site.GetFileByServerRelativeUrl("/Libreria/documento.pdf");
    clientContext.Load(file);
    clientContext.ExecuteQuery();

    ListItem currentItem = file.ListItemAllFields;
    clientContext.Load(currentItem);
    clientContext.ExecuteQuery();

    FileVersionCollection versions = file.Versions;
    clientContext.Load(versions);
    clientContext.ExecuteQuery();

    if (versions != null)
    {
        foreach(FileVersion _version in versions)
        {
            Console.WriteLine("Version : {0}",_version.VersionLabel);
        }
    }
}

3-Script de SQL para saber el “Database growth rate” de las bases de contenido

Creo el store sobre la base de datos master

USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[sp_track_db_growth](@dbnameParam sysname = NULL)
AS
BEGIN
DECLARE @dbname sysname
-- Set the current DB, if dbname is not given input
SET @dbname = COALESCE(@dbnameParam, DB_NAME())
 
SELECT    CONVERT(char, backup_start_date, 111) AS [Date], --yyyy/mm/dd format
    CONVERT(char, backup_start_date, 108) AS [Time],
    @dbname AS [Database Name], [filegroup_name] AS [Filegroup Name], logical_name AS [Logical Filename],
    physical_name AS [Physical Filename], CONVERT(numeric(20,4),file_size/1048576) AS [File Size (MB)],
    Growth AS [Growth Percentage (%)]
FROM
(
    SELECT    b.backup_start_date, a.backup_set_id, a.file_size, a.logical_name, a.[filegroup_name], a.physical_name,
        (
            SELECT    CONVERT(numeric(20,4),((a.file_size * 100.00)/i1.file_size)-100)
            FROM    msdb.dbo.backupfile i1
            WHERE     i1.backup_set_id =
                        (
                            SELECT    MAX(i2.backup_set_id)
                            FROM    msdb.dbo.backupfile i2 JOIN msdb.dbo.backupset i3
                                ON i2.backup_set_id = i3.backup_set_id
                            WHERE    i2.backup_set_id < a.backup_set_id AND
                                i2.file_type='D' AND
                                i3.database_name = @dbname AND
                                i2.logical_name = a.logical_name AND
                                i2.logical_name = i1.logical_name AND
                                i3.type = 'D'
                        ) AND
                i1.file_type = 'D'
        ) AS Growth
    FROM    msdb.dbo.backupfile a JOIN msdb.dbo.backupset b
        ON a.backup_set_id = b.backup_set_id
    WHERE    b.database_name = @dbname AND
        a.file_type = 'D' AND
        b.type = 'D'
       
) as Derived
WHERE (Growth <> 0.0) OR (Growth IS NULL)
ORDER BY 'File Size (MB)' desc
END

Ejecuto el store

exec sp_track_db_growth 'WSS_Content_XXXXX'

4-Custom 404 page en Sharepoint 2010 (not found page)

  • Crear una página llamada 404.html con tu editor html favorito
  • Ir hasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\LangID  donde LangID es lenguaje actual que estás usando. ej: 1033 para el inglés.
  • Copiar la página previamente creada a la carpeta. MI recomendación es subir el archivo en cada LangID que tengas definido.
  • Abrir una consola de powershell y ejecuta lo siguiente:

$webapp =Get-SPWebApplication http://<serverUrl>:<port>
$webapp.FileNotFoundPage = "404.html"
$webapp.update()

Para verificar ejecuta la siguiente consulta: (Get-SPWebApplication http://<serverUrl>:<port>).FileNotFoundPage

Y a continuación ejecuta una consulta vía navegador que genere un 404.

Posibles problemas:

  • No se muestra la página de error custom: hacer un recycle del app pool, o incluso mejor hacer un iisreset.

Otra posibilidad es setear la custom page vía el IIS:

http://www.ngpixel.com/2010/12/23/sharepoint-2010-custom-error-pages/

5-No se puede visualizar el icono de pdf en Sharepoint 2010

image

Para agregar el icono de pdf se deberá hacer lo siguiente:

Ir hasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14”) and then to TEMPLATE\IMAGES, y subir el icono de pdf.

6a012875706f1b970c0134873475df970c-800wi

Después se deberá editar el archivo DOCICON.XML dentro de la carpeta TEMPLATE\XML

6a012875706f1b970c013487347657970c-800wi

6a012875706f1b970c0133f4140cb7970b-800wi

A continuación has un iisreset en todos los frontends.

5-Links para hacer un signout de Sharepoint

/_layouts/closeConnection.aspx?loginasanotheruser=true

ó

/_layouts/signout.aspx

miércoles, 14 de noviembre de 2012

Tips Info # 77 Sharepoint 2010

1-Los usuarios no pueden renombrar documentos con permisos de Colaborador sin la opción de borrar – Error de acceso denegado

Cuando un archivo (documento) es renombrado, lo que hace Sharepoint es borrarlo, y lo agrega con otro nombre. Al querer borrarlo, lanza el error de acceso denegado.

En resumen: RENOMBRAR = BORRAR + AGREGAR

2-Cuando los documentos no tienen iconos en las vistas de Sharepoint, algunos archivos se abren cómo sólo lectura.

Ir hasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML\DOCICON.xml. Cambia el archivo docicon.xml agregando la siguiente línea <Mapping Key=”pdf” Value=”iconoFile.gif”/> . Después has un iisreset. Recuerda hacer un backup previo del file.

Más información: http://msdn.microsoft.com/en-us/library/ms463701.aspx

3-No se puede examinar una biblioteca de documentos en vista del explorador

\\server\webfolder\folder is not accessible. You might not have permission to use this network resource.
Contact the administrator of this server to find out if you have access permissions.
A device attached to the system is not functioning.

El problema ocurre porque el tamaño de todos los atributos de archivo que devuelve el servidor WebDAV es mucho mayor que lo que se espera. De forma predeterminada, este tamaño es limitado a 1 MB. Este límite es por razones de seguridad.

Para solucionar cambiar la siguiente clave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\

Valor: FileAttributesLimitInBytes
Tipo de datos: DWORD
Valor predeterminado: 100000000 decimal (100 MB)
Descripción: Esta subclave del registro determina el tamaño máximo de colectivo de todos los atributos de archivo en una carpeta que está permitido por el redirector WebDAV. Este límite de atributo cubre todas las respuestas PROPFIND y PROPPATCH.

4-Obtener los usuarios de un site collection mediante powershell 

$site = Get-SPSite http://webapplication/sitecollection/
$groups = $site.RootWeb.sitegroups
foreach ($grp in $groups)
{
"Grupo: " + $grp.name;
foreach ($user in $grp.users) {"  Usuario: " + $user.name}
}
$site.Dispose()

5-Agregar porcentaje al panel de refinamiento

image13

Editar el web part

image12

Y agregar lo siguiente (ver sección en amarillo):

<Category
Title="string"
Description="string"
Type="TypeName"
MappedProperty="PropertyName"
MetadataThreshhold="value"
NumberOfFiltersToDisplay="value"
MaxNumberOfFilters="value"
SortBy="Frequency|NumericValue|Name|Custom"
SortDirection="Descending|Ascending"
SortByForMoreFilters="Frequency|NumericValue|Name|Custom"
SortDirectionForMoreFilters="Descending|Ascending"
ShowMoreLink="True|False"
MoreLinkText="string"
LessLinkText="string"
ShowCounts="Percentage">
… </Category>

viernes, 24 de agosto de 2012

Tips/Info #61 Sharepoint 2010

1-Promoviendo propiedades desde Infopath

Ir a File/Form Options

082012_0141_InfoPathSta1

Después seleccionar Property Promotion

082012_0141_InfoPathSta2

Y a continuación elegir los campos que querés promocionar como propiedades.

082012_0141_InfoPathSta3

Por último, publicar el formulario.

2-Deshabilitar el icono de ”New” en Sharepoint 2010

072609_2010_SetDuration11

$webApp = Get-SPWebApplication http://sharepoint_site
$webApp.DaysToShowNewIndicator = "0"
$webApp.Update()

3-Agregar “Link to a Document ” en una librería de Sharepoint 2010

Habilitar content type específico

image_thumb8

Agregar el content type ”Link to a Document”

image_thumb10

image_thumb6

4-Funcíón del archivo DocIcon.xml

Este archivo se encuentra en cada servidor frontend de SharePoint. Su propósito es proveer una manera de especificar el icono que se muestra en un tipo de archivo que se haya subido a una lista o librería y opcionalmente especifica un control ActiveX que será usado para abrir el archivo y el texto que aparece en el menú dropdown para editar el item (“Edit in Application name”)

Un error típico, que informa que falta una configuración en este archivo es el siguiente:

image_thumb

Recuerde tener sincronizado este archivo en todos los servidores frontend (una buena manera es usar una feature a nivel de farm)

La imagen que se defina en el campo value, debe estar en la siguiente carpeta:%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\IMAGES

Definición del esquema de este archivo: http://msdn.microsoft.com/en-us/library/aa979708.aspx

Más información: http://msdn.microsoft.com/en-us/library/ms463701.aspx

 <ByExtension>
<Mapping
Key="asax"
Value="icasax.gif" />
<Mapping
Key="ascx"
Value="icascx.gif" />
<Mapping
Key="asmx"
Value="icasmx.gif" />
...
<Mapping
Key="mpp"
Value="icmpp.gif"
EditText="Microsoft Office Project"
OpenControl="SharePoint.OpenDocuments" />
<Mapping
Key="mps"
Value="icmps.gif" />
<Mapping
Key="mpt"
Value="icmpt.gif"
EditText="Microsoft Office Project"
OpenControl="SharePoint.OpenDocuments" />
...
</ByExtension>
5-Error al deployar una solution (en el paso de ‘Add Solution’): Error: Cannot add the specified assembly to the global assembly cache: mi_libreria.dll.
Tendrás que desinstalar manualmente la dll o assembly de la GAC, y reiniciar el Visual Studio. En el caso que sigas con problemas, reiniciar el owstimer y haz un iisreset.

viernes, 18 de mayo de 2012

Tips/Info #22 Sharepoint 2010

1-Error: "There was a problem retrieving data for this field. Updating values in this field is disabled temporarily. You can still update values in other fields."

Al tratar de actualizar el perfil del usuario en Sharepoint 2010 obtenemos este error,

clip_image002_2

El "Managed Metadata Web Service" es compartido entre granjas, se solucionaría el error activando la "This service application is the default storage location for Keywords." para el " Managed Metadata Web Service Proxy".

1884.Untitled

Las propiedades contienen esos campos linkeados al Managed Metadata Service Application. Por lo tanto el Managed Metadata Web Service debe esta iniciado.

clip_image005_2

2-Managed Metadata Navigation

Usando esta caractueristica los usuarios puede ser filtrar data en list view web parts. MetaData Navigation Panel aparece cuando el usuario ve cualquier vista de una librería.

2010-06-04-ManagedMetadataFocusOnContentOrganizer-21

3-Si usas SSRS en modo integrado con Sharepoint 2010, un error puede ocurrir a usar parámetros de reportes que tienen una gran cantidad de números de items en ellos.

System.Web.HttpException:
The URL-encoded form data is not valid. —> System.InvalidOperationException: Operation is not valid due to the current state of the object.
at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
at System.Web.HttpRequest.FillInFormCollection()
— End of inner exception stack trace —
at System.Web.HttpRequest.FillInFormCollection()
at System.Web.HttpRequest.get_Form()

Lo que se debe hacer es agregar lo siguiente en el web.config y hacer un iisreset

<appSettings>
<add key=”aspnet:MaxHttpCollectionKeys” value=”5000″ />
</appSettings>

4-Debuggear errores en Sharepoint 2010

Ir al Web.Config de tu web application

  • Cambiar Debug=”true”
  • Cambiar CallStack=”true”
  • cambiar CustomErrors=”Off”
  • Tambien editar el web.config en la carpeta drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS , seteando la opción customErrors en off

    5-Visual Studio no empaqueta la solución de Sharepoint después de un build

    Abrir el archivo de proyecto con Notepad, y buscar por CreatePackage. Si no está la sección, se debe agregar lo siguiente debajo del elemento Project.<PropertyGroup>
       <BuildDependsOn>$(BuildDependsOn);CreatePackage</BuildDependsOn>
    </PropertyGroup>

    Recargar el pryecto en Visual Studio, y ya empezará a el Visual Studio hacer paquetes de Sharepoint.

    6-Las carpetas de Sharepoint con un caracter de underscore no aparecen en la vista del explorar

    eliminar el underscore y aparecerá en la vista del explorador. En la vista web sin embargo aparece en los dos casos.

    7-Formularios de infopath no pueden llenarse de forma web (online)

    El problema es que no está habilitado el rendering para los usuarios.

    Abrir una consola de powershell

    Set-SPInfoPathFormsService -AllowUserFormBrowserRendering $true

    Otra manera es haciendolo desde el CA: desde la configuración del InfoPath Forms Services, en la sección User Browser-enabled Form Templates.

    8-Error:  There are no addresses available for this application al agregar el web part de Web Analytics

    Central Admin > System Settings > Manage Services On Server verificar si el  “Managed Metadata Web Service” está iniciado

    9- “The current page has been customized from its template.”

    Se puede ocultar ese mensaje con lo siguiente:

    <style type="text/css">
                  body #pageStatusBar{height:0px; font-size:0px; padding:0px; border-style:none;}
    </style>

    10- Archivo DocIcon.xml

    Está localizado en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\DocIcon.xml

    Este archivo esta presente en cada front end. Su objetivo es proporcionar una forma de especificar el icono que aparece para cualquier tipo de archivo determinado que se puede cargar a una lista o biblioteca de documentos y, opcionalmente, una forma de especificar si un control ActiveX debe usarse para abrir el archivo.

    El objetivo de este archivo es asociar tipos de archivo con los siguientes elementos:

  • El icono de documento que representa un tipo de archivo en las listas y los resultados de búsqueda.

  • (Opcional) El control ActiveX que abre un archivo de este tipo para verlo o modificarlo.

  • (Opcional) El texto que aparece en los menús desplegables como el elemento de edición (“Editar en nombre de aplicación”) para un archivo que se cargó en una lista.

  • Las opciones de configuración de DocIcon.xml son globales para una implementación de SharePoint Foundation y afectan a todas las definiciones de sitio en todos los servidores front-end web.Si modifica DocIcon.xml, debe realizar cambios idénticos en cada servidor front-end web para que todos los servidores permanezcan sincronizados.

    Al modificarlo, debe hacer un iisreset para que tome los cambios.

    11-Borrar una lista corrupta (desde la interface web no se puede)

    stsadm.exe -o forcedeletelist -url http://miservidor/Lists/Tasks