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

lunes, 18 de junio de 2012

Links útiles #35 Sharepoint 2010

1-Compartir dll entre dos soluciones de Sharepoint 2010 (wsp)

http://ranaictiu-technicalblog.blogspot.com.ar/2012/06/sharepoint-package-your-external.html

2-Secure Store Service

http://sharepointfieldnotes.blogspot.co.uk/2010/12/using-sharepoint-2010-secure-store.html

3-Aplicación WinForms para editar de items de listas

http://splistitemeditor.codeplex.com/

4-SharePoint 2010 CSV Bulk Taxonomy TermSet Importer/Exporter

http://termsetimporter.codeplex.com/

5-Excel Services y Bing Maps

http://msdn.microsoft.com/en-us/library/gg874071

6-ECMA Scripts

http://sharepointfordeveloper.blogspot.com.ar/2012/06/sharepoint-2010-ecma-scripts-code.html

7-Configuración de Remote Blob Storege (BLOB)

http://highscalability.wordpress.com/2012/06/18/configuring-remote-blob-storage-on-sharepoint-server-2010/

8-Qué ofrece Office 365?

http://www.microsoft.com/en-us/download/details.aspx?id=13602

9-Automatizar la instalación del filtro de PDF

http://jmhogua.blogspot.com.ar/2012/06/automatizacion-de-la-instalacion-de-la.html

10-Wiki pages vs Web part pages

http://nikspatel.wordpress.com/2012/06/08/wiki-pages-vs-web-part-pages-for-sharepoint-intranet-content-pages/

sábado, 16 de junio de 2012

Tips/info #32 Sharepoint 2010

1-Exportar soluciones de Sharepoint 2010

$nombreDir = "C:/Temp"
Write-Host Exporto soluciones a $nombreDir 
foreach ($solution in Get-SPSolution) 
{ 
    $id = $Solution.SolutionID 
    $titulo = $Solution.Name 
    $filename = $Solution.SolutionFile.Name
    Write-Host "Exportando ‘$titulo’ to …\$filename" -nonewline 
    try { 
        $solution.SolutionFile.SaveAs("$nombreDir\$filename") 
        Write-Host " – hecho" -foreground green 
    } 
    catch 
    { 
        Write-Host " – error : $_" -foreground red 
    } 
}

2-Mostrar el historial de workflows sólo para administradores

Abrir la página WrkStat.aspx desde la carpeta 14->template->layouts y agregar el siguiente control en la línea 128
<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ManageLists"> y cierra el tag en la línea 239. El permiso está seteado en el campo “Permissions”.

3-Error Missing Web Part

WebPart class [GUID] is referenced [X] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this web part. Remedy: One or more web parts are referenced in the database [WSS_Content], but are not installed on the current farm. Please install any feature or solution which contains these webparts.

-- Obtengo el site que tiene el web part

select s.fullurl, d.DirName, d.leafname, tp_ZoneID, tp_partOrder
from webparts p
join alldocs d on (p.tp_PageUrlID = d.ID)
join sites s on (s.id = p.tp_siteid)
where tp_WebPartTypeId  = ‘GUID’

Una vez que obtengo el site donde está referenciado el web part, ingreso a la página y le agrego “?contents=1”, es decir entro a la página de mantenimiento, la cual me permite borrar el web part faltante.

4-Error The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.

La caché de objetos almacena propiedades de los elementos en Microsoft SharePoint Server 2010. La característica de publicación usa los elementos de esta memoria caché para representar páginas web. Los objetivos de la caché de objetos son reducir la carga en el equipo en el que se ejecuta SQL Server y mejorar el rendimiento y latencia de la solicitud. La caché de objetos realiza consultas como una de dos cuentas de usuario integradas: la cuenta de usuario súper del portal y la cuenta de lector súper del portal. Estas cuentas de usuario deben configurarse correctamente para garantizar que la caché de objetos funcione correctamente. La cuenta de usuario súper del portal debe ser una cuenta que tenga acceso de control total a la aplicación web. La cuenta de lector súper del portal debe ser una cuenta que tenga acceso completo de lectura a la aplicación web.

La cuenta de usuario súper del portal y la cuenta de lector súper del portal deben ser cuentas independientes que no se vayan a usar nunca para iniciar sesión en el sitio.

De forma predeterminada, la cuenta de usuario súper del portal es la cuenta de sistema del sitio y la cuenta de lector súper del portal es NT Authority\Servicio local.

Hay dos problemas principales con el uso de las cuentas integradas.

  1. El primer problema es que algunos elementos se desprotegen para la cuenta del sistema, por lo que cuando se realice una consulta que incluya estos elementos, se devolverá la versión desprotegida del elemento en lugar de la última versión publicada. Esto es un problema debido a que no es lo que un usuario espera que se devuelva, por lo que la memoria caché debe realizar una segunda consulta para recuperar la versión correcta del archivo. Esto tiene un efecto negativo en el rendimiento del servidor en cada solicitud que incluya estos elementos. Se produciría el mismo problema con cualquier usuario que tenga elementos desprotegidos, si la cuenta de dicho usuario se configuró como la cuenta de usuario súper del portal. Por esta razón, las cuentas configuradas como cuenta de usuario súper del portal y cuenta de lector súper del portal no deben ser cuentas que se usan para iniciar sesión en el sitio. Esto garantiza que el usuario no desproteja de forma accidental elementos y ocasiones problemas en el rendimiento.

  2. La cuenta de lector súper del portal predeterminada es NT Authority\Servicio local, que no se resuelve correctamente en una aplicación de la autenticación de notificaciones. Por lo tanto, si la cuenta de lector súper del portal no está configurada explícitamente para una aplicación de autenticación de notificaciones, al buscar las colecciones de sitios en esta aplicación se obtendrá un error de acceso denegado, incluso para el administrador del sitio.

Para autentificación clasic:

$wa = Get-SPWebApplication -Identity "<WebApplication>"
$wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
$wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
$wa.Update()
Para autentificación vía claims:
$w = Get-SPWebApplication "http://<server>/"
$w.Properties["portalsuperuseraccount"] = "i:0#.w|domain\superuser"
$w.Properties["portalsuperreaderaccount"] = "i:0#.w|domain\superreader"
$w.Update()
5-Mostrar los sitios padres en el breadcrumb
Reemplazar en tu master page default este control
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" id="onetidProjectPropertyTitle"><SharePoint:ProjectProperty Property="Title" runat="server" /></SharePoint:SPLinkButton>
por
<asp:SiteMapPath      
runat="server"      
SiteMapProviders="SPSiteMapProvider,SPXmlContentMapProvider"      
RenderCurrentNodeAsLink="false"      
NodeStyle-CssClass="breadcrumbNode"      
CurrentNodeStyle-CssClass="breadcrumbCurrentNode"      
RootNodeStyle-CssClass="breadcrumbRootNode"      
HideInteriorRootNodes="true"      SkipLinkText=""/>

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()}

    sábado, 12 de mayo de 2012

    Links útiles #20–Sharepoint 2010

    1-Error: Load control template file /_controltemplates/TaxonomyPicker.ascx failed: Could not load type 'Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker' from assembly…

    http://blogs.objectsharp.com/blogs/max/archive/2011/02/07/load-control-template-file-controltemplates-taxonomypicker-ascx-failed.aspx

    2-CAML para unir dos listas

    http://edanan.wordpress.com/2012/04/28/sample-caml-joins-for-more-than-2-lists/

    3-Agregar imagenes en el perfil de Sharepoint del usuario

    http://thesharepointproject.com/2012/04/30/user-images-ad-exchange-sharepoint-complete-guide/

    4-Ghosting and unghosting en Sharepoint 2010

    http://blogs.msdn.com/b/steve_fox/archive/2010/03/08/ghosting-unghosting-in-sharepoint-2010.aspx

    5-Mejoras de SQL Server 2012 para Sharepoint 2010

    http://www.c-sharpcorner.com/UploadFile/specialhost/top-enhancement-sql-2012-for-sharepoint/

    6-Compresión de IIS

    https://www.nothingbutsharepoint.com/sites/itpro/Pages/SharePoint-Compression-in-IIS.aspx

    7-Ventajas y desventajas de client object

    https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/SharePoint-Advantages-and-Disadvantages-of-the-Client-Object-Model.aspx

    8-Ordenar las propiedades del perfil

    http://littletalk.wordpress.com/2012/05/10/manage-order-of-user-profile-properties/

    9-Mostrar contenido en Tabs

    https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/Using-SPServices-jQuery-to-Build-a-Slick-Content-Editor-Web-Part-with-Multiple-Tabs-in-SharePoint.aspx

    10-Combinar dos listas en una sola vista

    https://www.nothingbutsharepoint.com/sites/eusp/Pages/How-to-Link-Two-Lists-and-Create-a-Combined-View-in-SharePoint-2010.aspx

    11-Deployando soluciones mediante el planificador de tareas

    http://www.thesharepointblog.net/Lists/Posts/Post.aspx?List=815f255a-d0ef-4258-be2a-28487dc9975c&ID=116

    12-Autentificación via formularios en Sharepoint 2010

    http://www.codeproject.com/Tips/382312/SharePoint-2010-Form-Based-Authentication

    13-Limitaciones con las soluciones de Sharepoint 2010

    http://www.manageprojectsonsharepoint.com/archive/2011/02/23/sharepoint-2010-%E2%80%93-limitations-to-the-solution-approach.aspx

    14-Obteniendo credenciales del servicio Secure Store Service

    http://www.anmolrehan-sharepointconsultant.com/2012/05/retrieving-credentials-from-secure.html

    sábado, 4 de febrero de 2012

    Farm Solution Deployment Lock and Removal

    Farm Solution Deployment Lock may occur when a solution (.wsp) deployment fails unexpectedly.

    Solution Deployment in SharePoint happens through the timer jobs. When you deploy a solution along with the deployment job a timer job named "Solution Deployment Job Lock" is created which store the deployment job's id and the lifetime of the job is till the deployment job is completed. With this SharePoint ensures that no two deployments conflict with each other.

    From the above we can conclude that in SharePoint one deployment job happens at a given time courtesy the solution deployment lock. Hence using this feature SharePoint ensures that no more than one deployment or retraction can happen at a given time.

    To recover from this lock you need ton use the following PowerShell command which releases the solution deployment lock.

    http://technet.microsoft.com/en-us/library/ff607750.aspx

     

    Fuente:

    http://www.dhirendrayadav.com/2012/02/farm-solution-deployment-lock-and.html