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

sábado, 19 de enero de 2013

Tips Info #93 Sharepoint 2010

1-Obtener el path de instalación de Sharepoint 2010 vía código (Get the installation path via code Sharepoint 2010)

Se puede usar la función SPUtility.GetGenericSetupPath

SPUtility.GetGenericSetupPath(string.Empty)
La línea de arriba retorna: C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\

SPUtility.GetGenericSetupPath("Template\\Images")
La línea de arriba retorna: C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\Images

2-Search Query Component no responde en Sharepoint 2010 (Does not respond Search Query Component)

El status del componente dice “Not Responding”.

Para reiniciar el componente puede ejecutar el siguiente comando de powershell:

$SearchApp = Get-SPEnterpriseSearchServiceApplication -identity "Search Service Application"
$SearchApp | Get-SPEnterpriseSearchQueryTopology | Get-SPEnterpriseSearchQueryComponent | Where-Object {$_.ServerName -eq 'server name'} | Restart-SPEnterpriseSearchQueryComponent

3-Actualizar un item de lista con PowerShell (Updating a list item with PowerShell)

$web = Get-SPWeb http://site/website
$list = $web.list["ListaNombre"]
$item = $list.GetItemByID(14)
$item.File.Update();    

4-Sharepoint Scopes

Al desarrollar para Sharepoint tenemos dos scopes que hacen referencia a donde se deployará los assemblies, y a que nivel de la granja se activará nuestra feature a implementar.

Solution Deployment Scope (ubicación de los assemblies)

  • GlobalAssemblyCache
  • WebApplication
  • Sandbox

Esta opción nos dice donde se deployarán los WSP de la solución y sus asemblies. Puede ser a nivel de farm (c:\windows\assemblies), sobre un Web Application (directorio \bin) o en la galería de soluciones, a traves de una Sandboxed solution.

image

Feature Scope (donde se habilitará la feature)

  • Farm
  • Web Application
  • Site
  • Web

Feature Scope se usa para activar una feature en una ubicación específica.

Farm – la feature estará disponible para toda la granja. Se activa desde: Central Administration > Operations > Manage Farm Features.
WebApplication – la feature estará disponible para todos los web applications. Se activa desde Central Administration > Application Management > Manage Web Application Features
Web – La feature estará disponible para todos los webs. Se activa en Site Settings > Site Features
Site – La feature estará disponible para todos los sites site collections.Se activa desde Site Settings > Site Collection Features

Hay dos tipos de recursos en Features para soportar archivos:

  • Local resources stored : se guarda en un subdirectorio dentro de la carpeta de la feature en \Template\Features directory.
  • Shared application Feature y site definition resources  son almacenados dentro de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Resources

5-Deshabilitar datasheet en Sharepoint 2010 (Disabled Datasheet)

DocShare1.gif

DocShare9.gif

Vía C#

using (SPSite site = new SPSite("http://sharepoint/sites/web1"))
{
    using (SPWeb web = site.RootWeb)
    {
        SPList docLibreria =web.Lists["Libreria"];

        // Change the advanced settings
        // Update the changes
        docLibreria.DisableGridEditing = true;
        docLibreria.Update();
    }
}

Vía PowerShell

$site=Get-SPSite "http://sharepoint/sites/web1"
$web=$site.RootWeb
$docLibreria =$web.Lists["Libreria"]
$docLibreria.DisableGridEditing  = $true
$docLibreria.Update()

sábado, 8 de septiembre de 2012

Links útiles #49 Sharepoint 2010

1-SPUtility: librería de javascript para modificaciones sobre listas, usa la librería Prototype.

http://sputility.codeplex.com/

2-Problemas de usabilidad de Enterprise Wikis

http://sprider.org/2012/08/30/usability-problems-with-sharepoint-enterprise-wikis/

3-Problema con recursos con varios WFE de Sharepoint 2010

http://sadomovalex.blogspot.com.ar/2012/08/problem-with-resolving-resource-strings.html

4-Error The sandboxed code execution request was refused because the Sandboxed Code Host Service was too busy to handle the request

http://blogs.msdn.com/b/sharepointdev/archive/2011/02/08/error-the-sandboxed-code-execution-request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request.aspx

http://spreflections.wordpress.com/2012/03/25/error-the-sandboxed-code-execution-request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request/

http://sharepointinfoit.wordpress.com/2011/12/27/the-sandboxed-code-execution-request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request/

http://www.tomvangaever.be/blog/comments.php?y=10&m=04&entry=entry100414-110019

5-Renombrar un server de sharepoint 2010

http://blog.walisystemsinc.com/2012/08/how-to-change-sharepoint-2010-server.html

6-Infopath: Retornar texto enriquecido de un servicio WCF

http://blogs.breeze.net/mickb/2012/08/30/InfoPathReturningRichTextFromAWCFServiceToAForm.aspx

7-Búsqueda de Sharepoint vía web services

http://www.fewlines4biju.com/2012/08/sharepoint-search-web-service.html

8-Topologías de Sharepoint 2013

http://download.microsoft.com/download/A/0/7/A07928F6-5153-4E19-B682-B8D28194095A/sps-2013-topology-model.pdf

9-Los resultados del search son devueltos de forma lenta en forma intermitente

http://support.microsoft.com/kb/2639348

10-Sharepoint y Oracle Virtual Directory

http://sharepointhero.wordpress.com/2012/09/08/integrating-microsoft-sharepoint-server-with-oracle-virtual-directory/

miércoles, 20 de junio de 2012

Tips/Info #34 Sharepoint 2010

1-Tesauros en Sharepoint 2010

Mediante los archivos de sinónimos (thesaurus), un administrador de búsquedas puede especificar sustituciones o sinónimos de las palabras o frases incluidas en las consultas de búsqueda.

  • Especificación de reemplazos de palabras o frases de una consulta. Un administrador de búsquedas puede designar una o más palabras o frases como sustituciones de palabras o frases concretas que un usuario puede escribir en un cuadro de búsqueda. Por ejemplo, un administrador puede especificar que cada vez que aparezca el término “Longhorn” en una consulta, el sistema de búsqueda lo reemplace por “Windows Vista” o “Vista”. De forma similar, un administrador puede especificar que siempre que aparezcan los términos “NT5” o “W2K” en una consulta, el sistema los reemplace por “Windows 2000”.

    Para especificar sustituciones de palabras o frases, el administrador de búsquedas inserta un conjunto de reemplazo en un archivo de sinónimos. Para obtener más información, vea Uso de conjuntos de reemplazo más adelante en este artículo.

    Especificación de sinónimos de palabras o frases de una consulta. Un administrador de búsquedas puede especificar una o más palabras o frases como sinónimos de una palabra o frase concretas que un usuario puede escribir en un cuadro de búsqueda. Por ejemplo, un administrador puede especificar “IE”, “IE8” e “Internet Explorer” como sinónimos. Cuando uno de estos términos aparece en una consulta, el sistema también busca los demás términos. Por lo tanto, una consulta sobre alguno de estos tres términos ofrecerá resultados que contienen “IE”, “IE8” o “Internet Explorer”.

    El programa de instalación de Microsoft SharePoint Server 2010 incluye un archivo de sinónimos para cada uno de los idiomas admitidos, además de un archivo de sinónimos independiente del idioma denominado tsneu.xml. Este archivo se aplica a todas las consultas durante el procesamiento de consultas, incluso cuando hay un archivo de sinónimos específico para el idioma de la consulta.

    De forma predeterminada, SharePoint Server 2010 instala los archivos de sinónimos de todos los idiomas admitidos en %ProgramFiles%\Microsoft Office Servers\14.0\Data\Office Server\Config.

    Más información: http://technet.microsoft.com/es-ar/library/dd361734.aspx

    2-Algunos beneficios de los BLOBS

    • Base de datos más pequeñas
    • BLOBs no usan la base TEMPDB
    • Puedes elegir el tipo de almacenamiento y ubicación
    • El almacenamiento puede ser más barato
    • Almacenamiento on-site o off-site (cloud)

    3-PowerShell 3.0 y Sharepoint 2010

    PowerShell 3.0 usa el framework 4.5, y SPS2010 usa el 3.5 (es decir el 2.0). Para poder ejecutar script sobre Sharepoint deberás agregar el párametro –version 2.0

    4-Nuevos usuarios de AD no pueden ser resueltos en site collections nuevos, pero si en los viejos

    Get-SPSite "http://SharePoint/sites/collection" | fl > C:\temp.txt
    Si abres el archivo tem.txt, verás las propiedades del site collection. Revisa la propiedad "UserAccountDirectoryPath". Por default, debería estar en blanco, si no es así, puede causar que nuevos usuarios en AD no puedan ser resueltos por el People Picker.

    Para cambiar esta propiedad, ejecuta lo siguiente:

    $Sitio = Get-SPSitio "http://SharePoint/Sitios/collection"
    $Valor=""
    $Sitio.UserAccountDirectoryPath = $Valor

    5-Error al deployar con Visual Studio 2010: "Error occurred in deployment step 'Recycle IIS Application Pool': Provider load failure"

  • Se deberá ejecutar la siguiente sentencia de powershell en el servidor de Sharepoint:

    restart-service TrustedInstaller

    6-Al instalar un KB nos lanza el siguiente error en el Health Analyzer: “Missing Server Dependencies”

    Para solucionarlo, ejecutar PSConfig.exe en todos los servers.

    7-Tipos de web pages en Sharepoint 2010

    Publishing Page: se guardan en las Pages library. Permite control sobre el look and feel, permite un manejo más granular.
    Web Part Page: pueden residir en cualquier libreria y carpeta.
    Wiki page: residen en librerías de site pages.

    8-Saber si una url en Sharepoint tiene demasiados caracteres.

    A veces nos lanza el error siguiente: "Specific file or folder name is too long".

    Una manera rápida de verificar si es correcta la url, es con la siguiente sentencia

    SPUrlUtility.IsLegalFileName(url_a _probar);

    9-Ocultar el selector de vistas en una lista de Sharepoint.

    Agregar un content editor, y escribir lo siguiente en el html del web part:

    <style>
    .ms-listheaderlabel {display: none;}
    .ms-viewselector {display: none;}
    </style>

    10-Relink Formularios de Infopath

    image_thumb1

    image_thumb2

    image_thumb3

    domingo, 3 de junio de 2012

    Tips/info #27 Sharepoint 2010

    1-Saber la url relativa o absoluta de una lista o libreria

    SPList miLista = miSitio.Lists["Libreria"];

    miLista .RootFolder.ServerRelativeUrl  //url relativa

    miSitio.MakeFullUrl(miLista .RootFolder.ServerRelativeUrl) //url absoluta

    string fullDisplayFormUrl = SPUtility.GetFullUrl(miSitio, miLista .DefaultDisplayFormUrl); // url absoluta para el disp form

    2-Error al ingresar a la sección “Manage and content structure”

    Failed to retrieve the list schema for feature xxxxxxx, list template xxxxxxx; expected to find it at: ""

    System.NullReferenceException: Object reference not set to an instance of an object. at - Microsoft.SharePoint.Publishing.Internal.WebControls.ObjectSerializer.DeleteAllowed(Boolean checkPermissions)

    List does not exist. The page you selected contains a list that does not exist. It may have been deleted by another user.

    Esto se debe a que una lista o librería este corrupta o huérfana, para ello se debe ejecutar el siguiente comando de powershell

    stsadm.exe -o forcedeletelist -url <url de la lista>

    3-Error: The Taxonomy feature (Feature ID "73EF14B1-13A9-416b-A9B5-ECECA2B0604C") has not been activated.

    Enable-SPFeature -identity "73EF14B1-13A9-416b-A9B5-ECECA2B0604C" -url <Your Site URL Here>

    4-No cargar archivos debug.js

    Ej:

  • cui.debug.js
  • core.debug.js
  • sp.debug.js
  • sp.ribbon.debug.js
  • init.debug.js

    Para ello se deberá cambiar el ScriptMode a Release

    <asp:ScriptManager id="ScriptManager" runat="server" ScriptMode="Release" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" />

    5-Un administrador de site no puede guardar un template de lista

    Esto se debe a que la lista “List Template Gallery” tiene permisos únicos y los cuales no incluyen al usuario actual. (site > site actions > site settings > Galleries > List template gallery )

    6-Ocultar el icono de “Ir hacia arriba/breadcrumb”

    <style>
    .s4-breadcrumb-anchor
    {
    visibility: hidden;
    }
    </style>



    7-Usar web services para obtener datos de una lista de otro sitio


    http://blog.concurrency.com/sharepoint/sharepoint-2010-cross-site-content-rollup-using-sharepoint-designer-2010-and-a-dataview-web-part/


    8-Botón desactivado para activar una sandboxed solutions


    Verifique que el servicio “Microsoft SharePoint Foundation Sandboxed Code Service” esté activado (started).


    También verifique que el “SharePoint 2010 User Code Host” esté iniciado.


    9-“Upload Multiple Documents” deshabilitado o grisado



  • uploaddisabled1


    Primero verifica si tienes habilitada la opción “enable Client Integration” en el central administration: Abre el Central Administration, ir a Manage web applications, seleccionar el web application donde la feature se requiere habilitar click sobre Authentication providers, click sobre la zona correcta.


    clientintegration1


    También habilita la opción de Presence en la sección General Setting.


    presencesettings1


    Una vez que se activo la feature del lado del servidor, ahora requiere activar algunas cosas del lado del cliente.


    El cliente deberá tener framework NET 3.5 o superior.


    Si el control de ActiveX llamado STSUpld.UploadCtl (http://msdn.microsoft.com/en-us/library/ms456628.aspx) está deshabilitado, la opción de “Upload multiple Documents” aparecerá grisada.


    addon1


    Esta dll se registra cuando se instala el office, pero puede ser que esté corrupta.



    Una posibilidad es instalar el Sharepoint Designer, ya que instala esta dll.


    Otra posibilidad es descargar la dll: http://www.dlldump.com/download-dll-files_new.php/dllfiles/S/STSUPLD.DLL/11.0.5523/download.html



    10-Clave de registro donde se almacena el connection string de la base de datos ConfigDB de Sharepoint 2010


    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\ConfigDb


    jueves, 31 de mayo de 2012

    Tips/info #25 Sharepoint 2010

    1-Actualizar los mails de las solicitudes de acceso para todos los sites de un web application mediante powershell

    $webapp = Get-SPWebApplication "http://webapplication"
    foreach($site in $webapp.Sites)
    {
    foreach($web in $site.AllWebs)
    {
    Write-Host $web.url
    if(!$web.HasUniquePerm)
    {
    Write-Host "La solicitud de acceso hereda del elemento padre"
    }
    else
    {
    $web.RequestAccessEmail = "emailrequest@emailHost.com"
    $web.Update()
    Write-Host " Email cambiado"
    }
    }
    }




    2-Conducta de comportamiente para abrir documentos : open in the client application


    DocShare3


    $site=Get-SPSite "http://sitio/"
    $web=$site.RootWeb
    $docLibrary =$web.Lists["libreria"]
    # abre en el cliente
    docLibrary.DefaultItemOpen = DefaultItemOpen.PreferClient;
    $docLibrary.Update()


    Se puede usar:


    // Abrir en el navegador
    docLibrary.DefaultItemOpen = DefaultItemOpen.Browser;

    // usa la configuración default
    docLibrary.DefaultItemOpenUseListSetting = false;

    3-Error: The web application at [URL] could not be found. Verify that you have typed the url correctly. If the url should be serving existing content, the system administrator may need to add a new request url mapping to the intended application.


    Agrega la [url] que menciona el error al alternate access mapping del web application correspondiente.


    4-Site collection bloquear su contenido


    Para setear un Lock (bloqueo):
    stsadm -o setsitelock -url <Site-collection-url> -lock <Lock-Type>


    Para verificar los bloqueo actuales:
    stsadm -o getsitelock -url <Site-collection-url>


    donde<Lock-Type> puede tener los siguientes valores:


  • none  - Remueve todos los bloqueos
  • noadditions  - Previene de agregar contenido
  • readonly – No puede agregar/actualizar/borrar contenido
  • noaccess – No se puede ver el sitio de ninguna manera

    5-Algunas funciones útiles de SPServices


    Columnas de tipo personas o grupo, o columnas de tipo lookup


    Al usar estos campos, la información que se retorna es de la siguiente manera:  110;#4540152 o 16;#Departamento de Sistemas


    Podrás usar la siguiente función:

    function AjustarOWS(value){
    stringValue = value.indexOf(";#");
    salida = value.substring(stringValue +2);
    theLen = salida.length;
    if (theLen < 8){salida = "Not Listed"}else{salida}
    return salida;
    }



    Se podrá usar con SPServices de la siguiente manera:

    var depSistemas = ajustarOWS($(this).attr("ows_DepartamentoSistemas"));

    6-Error al mover o copiar una document set vía programación: DocID: Site prefix not set.

    $site = Get-SPSite http://host/sites/yoursite
    $properties = $site.RootWeb.Properties

    if ($properties["docid_msft_hier_siteprefix"] -eq $null)
    {
    $properties["docid_msft_hier_siteprefix"] = ""
    $properties.Update()
    }
    7-Remover una sección inválida del web.config mediante PowerShell

    $webapplication = Get-SPwebapplicationlication http://url de la web application
    $modification = $webapplication.WebConfigModifications | where { $_.Name -eq "<el nombre de la key" }
    $webapplication.WebConfigModifications.Remove($modification)
    $webapplication.Update()


    8-Error: Object Reference not set to an instance of an object with Timer Job Definitions al tratar de ingresar a http://<CA URL>/_admin/ServiceJobDefinitions.aspx


    El error nos informa en el event viewer:


    “There was an exception loading job definition "Microsoft.Office.Project.Server.Administration.ServerScheduledTimerJob" (id "r3u7f3gd-721b-5dcd-1135-fb3456e39425"). Object reference not set to an instance of an object.”


    abro una consola de powershell y hago lo siguiente:



    • get-sptimerjob | where-object {$_.name -like "PWA*"} | format-list name, id
    • disable-sptimerjob r3u7f3gd-721b-5dcd-1135-fb3456e39425

    9-Comandos de powershell para trabajar con features de Sharepoint


  • #Feature mostrada por nombre alfabeticamente
    Get-SPFeature | Sort -Property DisplayName


    #Feature mostrada por nombre alfabeticamente y agrupada por scope
    Get-SPFeature | Sort -Property Scope,DisplayName | FT -GroupBy Scope DisplayName,Id


    #exportar el resultado
    Get-SPFeature | Sort -Property Scope,DisplayName | FT -GroupBy Scope DisplayName,Id > c:\resultados.txt


    #Features del sitio correspondiente  ordenada por displayname y agrupadas por displayname y ID
    Get-SPFeature -Site http://sitecollectionurl | Sort DisplayName | FT DisplayName,Id


    10-No aparece la opción de “Spell Checker” en la ribbon


    Hay que activar la feature SharePoint Server Publishing Infrastructure a nivel del site collection


    SpellChecker_thumb



    11-Asignar permisos mediante client object


    http://alancejacob.wordpress.com/2012/05/30/programmatically-assign-permission-to-sharepint-list-for-specific-users/


    12-Modificar las columnas created by (creado por) y modified by (modificado por) con Client Object


    http://alancejacob.wordpress.com/2012/05/30/add-listitem-in-created-bymodified-by-field-sharepoint-2010-client-object-model/


    13-Obtener un icono de la carpeta 14 con SPUtility


    http://blogs.msdn.com/b/knackpoint/archive/2012/05/13/fetching-document-file-icons-in-sharepoint.aspx


    miércoles, 23 de mayo de 2012

    Tips /Info # 25 Sharepoint 2010

    1-Obtener información de los web application

    Get-SPWebApplication
    Get-SPWebApplication | Select-Object Name, Url
    2-Límite del método SPUtility.SendEmail()
    Este método tiene un límite de número máximo de caracteres de 2048 en un línea.
    Se puede dividir el body del mensaje en pedazos (chucks), mediante el caracter \n:
    htmlBody = htmlBody + "\n" + myNewChunk + "\n"; 
    htmlBody = "\n" + htmlBody.Replace(EmailTemplateTokens.AllEmployees, "<p>" + replacementString + "\n" + EmailTemplateTokens.AllEmployees); 
     
    Alternativamente podrá utilizar la clase: System.Net.Mail.MailMessage

    Otras limitaciones:


  • No se puede adjuntar archivos (attachments)
  • Por default, la dirección From es siempre la que está seteada en la sección del  Central Administration Outbound Mail
  • El asunto no puede contener una coma (‘,’) usar strSubject.Replace(",", " ")

    3-Exception 0x80070005 al configurar un ifilter de pdf (el search no indexa los pdf)


    Esto se debe a que la cuenta que realiza el crawl no tiene permisos sobre la carpeta de los binarios donde se instalo el ifilter. una vez que de permisos de lectura, reinicie el servicio de search.


    mssdmn.exe (0x13C0)        0x063C        SharePoint Server Search        Exceptions        1hjo        Medium        Exception thrown: 0x80070005


    Más info: http://todosharepoint.blogspot.com.ar/2012/01/configurar-pdf-ifilter-para-sharepoint.html


    4-Obtener la zona actual del site de Sharepoint


    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Administration;
                        string Zone = string.Empty;
                        if (SPContext.Current.Site.Zone == SPUrlZone.Extranet)
                        {
                            Zone = "Extranet";
                        }
                        else if (SPContext.Current.Site.Zone == SPUrlZone.Internet)
                        {
                            Zone = "Internet";
                        }
                        else if (SPContext.Current.Site.Zone == SPUrlZone.Intranet)
                        {
                            Zone = "Intranet";
                        }
                        else if (SPContext.Current.Site.Zone == SPUrlZone.Custom)
                        {
                            Zone = "Custom";
                        }
                        else if (SPContext.Current.Site.Zone == SPUrlZone.Default)
                        {
                            Zone = "Default";
                        }

    5-Comandos de powershell para instalar soluciones

    Install      



    • Add-SPSolution  < Path de la solucion >
    • Install-SPSolution –Identity  < MySharePointSolution.wsp  > –WebApplication  < URL web application > -GACDeployment [ –force ]

    Ej: Add-SPUserSolution –LiteralPath c:\code\SandboxedSolutionProject.wsp –Sitehttp://sp2010/sites/sandbox


    Ej:Install-SPUserSolution –Identity SandboxedSolutionProject.wsp –Site http://sp2010/sites/sandbox


    Update    



    • Update-SPSolution –Identity  < MySharePointSolution.wsp > –LiteralPath  < Your WebPart Path > –GacDeployment

    UnInstall  



    • Uninstall-SPSolution –Identity  < MySharePointSolution.wsp > –WebApplication  < URL web application >
      Remove-SPSolution –Identity  < MySharePointSolution.wsp >

    Ej: Uninstall-SPUserSolution –Identity SandboxedSolutionProject.wsp –Site http://sp2010/sites/sandbox


    Ej: Remove-SPUserSolution –Identity SandboxedSolutionProject.wsp –Site http://sp2010/sites/sandbox


    6-Servicio OficialFile.asmx tope de 50 MB de subida


    (http://<server>/<site>/_vti_bin/OfficialFile.asmx) sólo se permite usarlo con archivos menores 50Mb. La configuración seteada en un web application con respecto al tamaño máximo de archivos no se aplica en este caso.


    El error: Monitorable        OfficialFile::SubmitFile: Encountered error when sending file http://sharepoint/sites/sitename/Library/file.zip  to http://sharepoint/sites/sitename/_vti_bin/OfficialFile.asmx: There was an exception running the extensions specified in the config file. —> Maximum request length exceeded.       


    El web service no está incluído de forma espcífica en la configuración del web application. Tiene su propia configuración y reside en C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\OfficialFile.asmx, no sobre el directorio virtual del web application.


    Solución:



    • Central Admin –> Manage Web Applications –> Select the Web Application –> General Settings –> Maximum Upload Size : setear el valor deseado
    • Abrir el C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\web.config


    y agregar la siguiente sección:


    <location path=”OfficialFile.asmx”>
        <system.web>
            <httpRuntime maxRequestLength=”xxxxxx″ executionTimeout=”240″ />
        </system.web>
    </location>

    maxRequestLength se define en KB.


    7-Configurar el comportamiente predeterminado para abrir documentos por el explorador (Office Web Apps)


  • La forma en que se abren los documentos en SharePoint varía en función de si la característica de OpenInClient está presente o no, y de si está habilitada o deshabilitada:


    • Si la característica de OpenInClient no está presente y Office Web Apps no está instalado, los documentos se abrirán en la aplicación cliente (valor predeterminado de SharePoint).
    • Si la característica de OpenInClient no está presente, Office Web Apps está instalado y se activan las aplicaciones de servicios de Office Web Apps, los documentos se abrirán en el explorador (Office Web Apps, de forma predeterminada).
    • Si la característica de OpenInClient está presente y habilitada, y las aplicaciones de servicio de las Office Web Apps están activadas, los documentos se abrirán en la aplicación cliente.
    • Si la característica de OpenInClient está presente y deshabilitada, y las aplicaciones de servicio de las Office Web Apps están activadas, los documentos se abrirán en el explorador.

    El siguiente ejemplo establece el comportamiento predeterminado para abrir todos los documentos en todos los sitios en su aplicación cliente asociada (si está disponible).

    $defaultOpenBehaviorFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OpenInClient"}).Id 
    Get-SPSite -limit ALL |foreach{ Enable-SPFeature $defaultOpenBehaviorFeatureId -url $_.URL }

    El siguiente ejemplo establece el comportamiento predeterminado para abrir todos los documentos en todos los sitios en el explorador.

    $defaultOpenBehaviorFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OpenInClient"}).Id 
    Get-SPSite -limit ALL |foreach{ Disable-SPFeature $defaultOpenBehaviorFeatureId -url $_.URL }
    El siguiente ejemplo establece el comportamiento predeterminado para abrir las bibliotecas de documentos protegidas por IRM en todos los sitios en su aplicación cliente asociada (si está disponible).
    Get-SPWeb -site http://contoso | % {$_.Lists} | where {$_.IrmEnabled -eq $true} | % {$_.DefaultItemOpen =[Microsoft.Sharepoint.DefaultItemOpen]::PreferClient; $_.Update()}

    jueves, 17 de mayo de 2012

    Tips/Info #21 Sharepoint 2010

    1-Obtener los archivos wsp deployados

    $miGranja = Get-SPFarm
    $miWSP = $miGranja.Solutions.Item(“SharePointSolution.wsp”).SolutionFile
    $miWSP.SaveAs(“C:\Downloads\SharePointSolution.wsp”)



    2-Deshabilitar loopback check con powershell

    New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name “DisableLoopbackCheck” –value “1″ -PropertyType dword

    Más info: http://www.gavd.net/servers/sharepointv3/spsv3_item.aspx?top=4&itm=1041


    3-Borrar una lista con stsadm


    stsadm.exe -o forcedeletelist -url http://myserver:8080/Lists/Team%20Discussion

    4-Obtener el path de la carpeta 14 con programación

    SPUtility.GetGenericSetupPath(String.Empty)

    Ej: si se mantuvo el default de path, se obtendrá: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14

    Si deseas una carpeta específica podrás usar el método de la siguiente manera:

    SPUtility.GetGenericSetupPath(@"TEMPLATE\FEATURES\")

    Obtendrás: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\


    5-El comando Export –SPWeb lanza el siguiente error: “There is not enough space on the disk“


    El comando exporta todo el contenido a la carpeta TEMP de windows (variable de ambiente %TEMP%), si el disco donde está ubicado este path no tiene espacio, nos lanza este errror. Una solución es cambiar la variable de entorno para que apunte a otra partición o disco.


    6-Eligiendo el tipo de definición de job


    Los jobs pueden heredar de las siguientes clases del namespaces Microsoft.SharePoint.Administration






























    SPAdministrationServiceJobDefinitionInvoca el SharePoint Administration Service
    SPAllSitesJobDefinitionItera sobre todos los sitios en una Web Application
    SPContentDatabaseJobDefinitionSe ejecuta por Web Application y cada Content Databasees procesada por jobs individuales (es Pausable)
    SPFirstAvailableServiceJobDefinitionTimer Job que ejecuta sobre el primer servidor disponible donde el servicio específico existe(es Pausable)
    SPJobDefinitionClase base para los Timer Jobs (RECOMENDADO 1)
    SPPausableJobDefinitionTimer Job que puede ser pausado
    SPServerJobDefinitionEjecutado en un  servidor específico (Pausable)
    SPServiceJobDefinitionSe ejecuta en cada servidor de la granja, donde existe el servicio (pausable). RECOMENDADO 2
    SPWorkItemJobDefinitionFunciona con el  Timer Job para procesar items de trabajo (Pausable)

    7-Manejadores de eventos sobre workflows Sharepoint 2010 (SPWorkflowEventReceiver)


  • Cuando el flujo de trabajo está empezando (WorkflowStarting)
  • Cuando se inicia el flujo de trabajo (WorkflowStarted)
  • Cuando el flujo de trabajo se ha completado (WorkflowCompleted)
  • Cuando el flujo de trabajo se pospone (WorkflowPostponed)

  • Más info: http://www.sharepointkings.com/2012/05/workflow-event-handlers-in-sharepoint.html


    8-Permiso: View Usage Data  -  View reports on Web site usage.


    Permite ver los informes, pero no otorga permisos de administración.


    9-Error "Workbook is larger than the maximum workbook size" Excel Services


  • Ir al Central Administration
  • Click en Application Management
  • Click en Manage Service Applications
  • Click en Excel Service Application
  • Click en Trusted File Locations y después agregar la ubicación del file donde se encuentra y en la propiedad “Maximum Workbook Size” en la sección Workbook Properties editar el campo con el tamaño adecuado.

  • 10-Obtener el tamaño de las content databases con powershell


    Get-SPDatabase | Sort-Object disksizerequired -desc | Format-Table Name, @{Label ="Size(MB)"; Expression = {$_.disksizerequired/1024/1024}}


    11-Recalcular el almancenamiento de los sitios


    $URL = "http://sitio2010”

    $Site = Get-SPSite -identity $URL

    $Site.RecalculateStorageUsed()

    12-Error: An error occurred in the claim provider configured for this Site Collection


    Agregar la url en la sección de  Alternate Access Mapping de la Central Admin

    domingo, 15 de enero de 2012

    SPUtility Sharepoint 2010

    It is a static object that contains a number of useful functions.Provides tools for converting date and time formats, for obtaining information from user names, for modifying access to sites, and for various other tasks in managing deployments of Microsoft SharePoint.

    Miembros:

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.sputility_members.aspx

    Algunas funciones útiles:

    To access the object, you need to add the following using statement:

    using Microsoft.SharePoint.Utilities;

    I had a quick go through the SDK, an the following are what strikes me as some of the more useful functions this object provides (note, I havent used all of these yet, just went through the SDK then googled the functions I thought sounded interesting):

    • SPUtility.FormatDate
      Allows you to format a given date to any of the SPDateFormat types

      DateTime curDate = DateTime.Now();
      DateTime regionDate = web.RegionalSettings.TimeZone.UTCToLocalTime(web.ParentWeb.RegionalSettings.TimeZone.LocalTimeToUTC(curDate));
      return Convert.ToDateTime(SPUtility.FormatDate(web, regionDate, SPDateFormat.ISO8601));

    • Get the 14-Hive filesystem path
      Returns the filesystem path for the 14-Hive, or any of the folders beneath it.  This is typically (though not always) going to be C:\Program Files\Common Files\Microsoft Shared\web server extensions\12

      //Get path to features directory
      //Would typically return "C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES"
      string featurePath =SPUtility.GetGenericSetupPath("template\\features");

    • Get Full (absolute) URL
      Converts a relative Url into an absolute Url

      //Get url to list item
      SPListItem item = spList.Items[1];
      string itemUrl = SPUtility.GetFullUrl(spSite, item.Url);

    • Redirect to page
      Send a HTTP redirect to the client's browser

      //Redirect to specified page, adding querystring
      string url ="http://portal/TestResults/Pages/results.aspx";

      string queryString = "successflag=passed";
      SPUtility.Redirect(url, SPRedirectFlags.Default, Context, queryString);

    • Send email
      Lets you send an email from the context of the given SPWeb

      //Send email from current SPWeb
      SPWeb web = SPContext.Current.Site.OpenWeb();
      string subject = "Email from the " + web.Title + " web";
      string body = "The body of the email";

      SPUtility.SendEmail(web, false, false,"someone@somewhere.com", subject, body);

    • Transfer to SharePoint success/error page
      Allows you to transfer the browser to the ootb error and success pages

      //Transfer to Error Page
      SPUtility.TransferToErrorPage(ex.Message);

      //Transfer to success page, and specify url to move onto after "Ok" clicked
      SPUtility.TransferToSuccessPage("Operation was completed", @"/Docs/default.aspx", "", "");