jueves, 31 de mayo de 2012

Links útiles #26 Sharepoint 2010

1-FBA Forms Authentication Sharepoint 2010

http://blogs.technet.com/b/meamcs/archive/2012/05/28/create-sharepoint-2010-web-application-using-fba-forms-based-authentication.aspx

2-Deploy archivos de recursos

http://www.sharepointblues.com/2012/05/28/sharepoint-2010-resource-file-deployment-done-easy/

3-Detener un workflow hasta una fecha (due date)

http://www.sharepointdotnet.com/2011/06/due-date-reminder-workflow-in.html

4-Sincronizar entre un excel y Sharepoint 2010

http://salaudeen.blogspot.com.ar/2012/05/synchronize-between-sharepoint-lists.html

5-Error en Datasheet cuando la opción “Content Aproval” está activada

http://salaudeen.blogspot.com.ar/2012/04/edit-in-datasheet-view-even-when.html

6-Crear un job de timer en Sharepoint 2010

http://salaudeen.blogspot.com.ar/2012/05/creating-custom-timer-job-for.html

7-Filtros para importar usuarios dependiendo de un criterio en el servicio de perfil

http://salaudeen.blogspot.com.ar/2012/04/filters-in-user-profile-synchronization.html

8-Subir un archivo mediante client object

http://salaudeen.blogspot.com.ar/2012/04/how-to-programmatically-upload-file-to.html

9-SPPersistedObject: ej de su uso: necesitas guardar datos de configuración para un job que se corre de forma planificada. Una forma de guardar la información es usando este objeto.

http://www.chaholl.com/archive/2011/01/30/the-skinny-on-sppersistedobject-and-the-hierarchical-object-store-in.aspx

http://joelblogs.co.uk/2010/10/10/persisting-configuration-data-in-sharepoint-2010-with-sppersistedobject/

10-Generar un craw después de detener todos los content sources mediante powershell

http://get-spscripts.com/2012/05/force-stop-and-then-start-full-crawl-on.html

11-Copiar una document set vía programación

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

12-Servicios entre granjas para gobiernos

http://jandresval.wordpress.com/2012/05/29/servicios-intergranjas-para-gobiernos-corporativos-y-administrativos/

13-Carousel

http://junestime.wordpress.com/2012/05/23/adding-a-javascript-image-carousel-to-sharepoint-2010-using-content-editor-web-part/

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


    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.

    Links útiles #25 Sharepoint 2010

    1-Deshabilitar drag and drop de eventos en calendarios Sharepoint 2010 (SP.UI.ApplicationPages.CalendarContainerFactory.create)

    http://spblog.net/post/2012/01/29/How-to-disable-drag-and-drop-events-in-calendar.aspx

    2-Obtener la fecha seleccionada de un calendario Sharepoint 2010

    http://franknezrick.blogspot.com.ar/2012/03/get-selected-datetime-within-sharepoint.html

    3-Obtener el ID del evento que se clickea en un calendario

    http://mhusseini.wordpress.com/2012/05/18/handle-clicks-on-calendar-items-in-sharepoint-2010-with-javascript/

    4-Restringir a que usuarios borren content types

    http://alancejacob.wordpress.com/2012/05/18/restrict-users-to-edit-or-delete-contenttype-fields-from-a-list-in-sharepoint-eventreceiver/

    5-Conectar dos web parts

    http://www.sharepointkings.com/2012/05/connectable-web-parts-in-moss.html

    6-Tips para trabajar con los calendarios

    http://digitalmacgyver.wordpress.com/2012/05/24/simple-tips-for-working-with-sharepoint-calendars/

    7-Mostrar el historial de versiones en la página DispForm

    http://benmjamin.wordpress.com/2012/05/17/sharepoint-2010-list-item-version-history-on-display-form/

    8-Mostrar campos en el Content Query

    http://www.sharepointblog.co.uk/2012/05/fields-to-display-in-content-query-web-part/

    9-Diálogos modales en Sharepoint 2010

    http://saifalmaluk.wordpress.com/2012/05/18/sharepoint-2010-modal-dialog-pop-up/

    http://spblog.net/post/2012/04/28/SharePoint-2010-modal-dialog-extensions.aspx

    http://franknezrick.blogspot.com.ar/2012/03/refresh-parent-showmodaldialog.html

    10-Crear un custom template con Visual Studio 2010

    http://dotnetfollower.com/wordpress/2012/05/sharepoint-how-to-create-a-custom-master-page/

    11-Crear servicio de aplicación en Sharepoint 2010

    http://www.sharepointblog.co.uk/2012/05/creating-custom-sharepoint-2010-service-applications-and-consumers/

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

    12-Nivo Slider Web Part

    http://nivowebpart.codeplex.com/releases/view/88481

    13-Kentico para Sharepoint

    http://devnet.kentico.com/docs/devguide/index.html?sharepoint_overview.htm

    14-PowerShell para Office 365

    http://blog.powershell.no/2011/05/09/administering-microsoft-office-365-using-windows-powershell/

    http://technet.microsoft.com/en-us/magazine/hh750396.aspx

    http://onlinehelp.microsoft.com/office365-enterprises/hh124998.aspx

    15-Deploy custom page aspx mediante una sandbox solution

    http://www.akruratechnologies.com/2012/05/14/deploy-custom-aspx-page-with-sandbox-solutions-sharepoint-2010/

    16-Web Part SkyDrive para Sharepoint 2010

    http://skydriveconnector.codeplex.com/

    17-Comparación entre Exchange public folders y Sharepoint

    http://sharepointadmin4u.wordpress.com/2012/05/22/exchange-public-folder-vs-sharepoint-why-should-you-migrate-your-exchange-public-folders-to-sharepoint/

    18-SPQuery y problema con las fechas (datetime)

    http://sladescross.wordpress.com/2012/05/28/spquery-iso-datetime/

    sábado, 26 de mayo de 2012

    Links útiles #24 Sharepoint 2010

    1-Obtener el número total de versiones de todos los items en una site collection

    http://jshidell.com/2012/05/21/get-the-total-number-of-versions-for-all-items-in-a-site-collection-using-powershell/

    2-Crear un custom action mediante Visual Studio

    http://www.sharemuch.com/2011/11/12/adding-custom-actions-in-your-sharepoint-2010-list-item-context-menus/

    http://weblogs.asp.net/jan/archive/2007/09/05/using-the-current-page-url-in-the-urlaction-of-a-sharepoint-feature.aspx

    http://www.thorntontechnical.com/tech/sharepoint/sharepoint-2010-context-menu-item-with-custom-code

    3-Iniciar todos los jobs habilitados

    http://get-spscripts.com/2012/05/start-all-enabled-timer-jobs-on.html

    4-Licencias de OFFICE WEB APPS (OWA)

    http://levinwayne.wordpress.com/2012/05/15/office-web-app-licensing-quick-guide/

    5-Saber a qué instancia de w3wp atachar cuando debugeamos con Visual Studio

    http://ybbest.wordpress.com/2012/03/22/how-to-find-which-w3wp-exe-to-attach-when-debugging-your-sharepiont2010-project/

    6-Convertir a pdf archivos word mediante word services

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

    7-Disparar un event handler si la ribbon cambia

    http://spmonkeypoint.wordpress.com/2012/05/16/trigger-an-event-whenever-the-sharepoint-2010-ribbon-changes/

    8-Eliminar un site collection huérfano

    http://0ut0ftheb0x.wordpress.com/2012/05/17/orphanedsitecollectio/

    9-Administración de content databases con powershell

    http://www.mssqltips.com/sqlservertip/2608/managing-sharepoint-content-databases-with-powershell/

    10-Remover el host de mysite con client object y powershell

    http://www.c-sharpcorner.com/UploadFile/anavijai/remove-my-site-host-location-url-in-sharepoint-2010/

    11-Conectar web parts con Visual Studio 2010

    http://www.fewlines4biju.com/2011/09/connected-web-part-in-sharepoint-2010.html

    12-Multiple dropdown con Infopath 2010

    https://www.nothingbutsharepoint.com/sites/eusp/Pages/SharePoint-How-to-Create-Multiple-Cascade-drop-downs-using-InfoPath-2010.aspx

    13-Implementar una wiki empresarial

    http://www.denisstadler.com/sharepoint-2010/ecm-collaboration/step-by-step-how-to-implement-an-enterprise-wiki/

    14-Crear una opción para el panel de refinamiento

    http://purunep.wordpress.com/2012/05/25/building-custom-search-refiners-in-sharepoint-2010-server/

    15-Custom ADFS Login (forms)

    http://blog.helloitsliam.com/Lists/Posts/Post.aspx?List=e10cb685-6b5c-4b6c-aaf4-e1d122d57174&ID=76&Web=8fe3252e-9495-44f1-b2e4-dbd7b201440b

    16-Warm-up para autentificación via formularios

    http://peterheibrink.wordpress.com/2012/05/06/warm-up-script-for-form-based-authentication-fba-sharepoint-sites/

    Tips/Info #23 Sharepoint 2010

    1-Script de powershell para setear el mail de los access request de los sitios

    $webapp = Get-SPWebApplication "nombre del web application"
    foreach($site in $webapp.Sites){
        foreach($web in $site.AllWebs){
            if ($web.HasUniqueRoleDefinitions){
                if($web.RequestAccessEnabled){
                    Write-Host $Web.URL
                    Write-Host "---"

                    Write-Host $Web.URL "Actualizando RequestAccessEmail"
                    Write-Host "---"
                    $web.RequestAccessEmail ="email@email.com"
                    $web.Update()
                }
                else {
                    Write-Host "Access Request no habilitado." $Web.URL
                }
            }
        }
    }

    2-Obtener los administradores de los sitios mediante powershell

    $siteUrl = Read-Host "Enter Site URL"
    $rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
    $spWebApp = $rootSite.WebApplication

    foreach($site in $spWebApp.Sites)
    {
        foreach($siteAdmin in $site.RootWeb.SiteAdministrators)
        {
            Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)"
        }
        $site.Dispose()
    }
    3-Exportar los resultados de las encuestas en Sharepoint 2010

  • Ir a Acciones del sitio/Ver todo el contenido del sitio
  • Ir a la encuesta
  • Acciones/ Exportar a hoja de datos

    image


    4-Agregar la opción de Tags & Notes dentro de cualquier página con javascript

    <a title="Etiquetar pagina" id="TagsAndNotes_ctl00_ctl42" onclick="SafeRunFunction(function() { TagDialogOpener.Open('http:\u002f\u002fsharepoint2010a:45354\u002fen-us\u002fPages\u002fdefault.aspx', document.title, '0'); }, 'SocialData.js', 'TagDialogOpener');" href="javascript:;">Etiquetar página</a>



    5-Encontrar todas las alertas de una site collection mediante una query de SQL

     Add-PSSnapin microsoft.sharepoint.powershell

    $site = Get-SPSite "http://sitiosharepoint2010/sites/sitioalertas/"
    $alertResultsCollection = @()
    foreach ($web in $site.AllWebs)
    {
    foreach ($alert in $web.Alerts)
    {
    $alertURL = $web.URL + "/" + $alert.ListUrl
    $alertResult = New-Object PSObject
    $alertResult | Add-Member -type NoteProperty -name "URL DE LA LISTA" -value $alertURL

    $alertResult | Add-Member -type NoteProperty -name "TITULO DE LA ALERTA" -value $alert.Title
    $alertResult | Add-Member -type NoteProperty -name "TIPO DE ALERTA" -value $alert.AlertType

    $alertResult | Add-Member -type NoteProperty -name USUARIO SUBSCRIPTO
    " -value $alert.User
    $alertResultsCollection += $alertResult
    }

    $site.Dispose()
    $alertResultsCollection

    # Exportar a CSV
    #$alertResultsCollection | Export-CSV "
    Alertas.csv"
    6-Borrar un archivo mediante client object
    ClientContext cc = new ClientContext(url);
    Web w = cc.Web;
    List olist = w.Lists.GetByTitle("Libreria");
    cc.Load(olist);
    var files = olist.RootFolder.Files;
    FileCollection fc =files;
    cc.Load(fc);
    cc.ExecuteQuery();
    File Deleteimtefile = fc[1]; //borro el primer archivo
    Deleteimtefile.DeleteObject();
    cc.ExecuteQuery();
    7-Ocultar la papelera de reciclaje con css
    <style type=”text/css”>

    .ms-quicklaunchheader{

    display:none;}

    .ms-recyclebin{

    display:none;}

    </style>


    8-Error al ejecutar código que trata de consultar algo del Active directory: 

    “An operations error occurred at System.DirectoryServices.AccountManagement.ADStoreCtx.FindPrincipalByIdentRefHelper”

    Ejecute la sección de código fuente que llama al Active Directory con SPSecurity.RunWithElevatedPrivileges.


    9-Mostrar pantalla de procesamiento


    image

    protected void btnEvento_Click(object sender, EventArgs e)
    {
    //Operacion de tiempo extenso
    using (SPLongOperation longOperation = new SPLongOperation(this.Page))
    {
    //Mensaje custom que aparecerá con una rueda de procesamiento
    longOperation.LeadingHTML = "<div><h2>Procesando solicitud</h2></div>";
    longOperation.TrailingHTML = "<div><h3>Por favor espere mientras el procesamiento termina</h3></div>";

    //Inicia la operación con procesamiento extenso
    longOperation.Begin();

    //El codigo del procesamiento extenso va aca


    //termina la operación con procesamiento extenso
    string redirectURL = SPContext.Current.Web.Url + "/SitePages/default.aspx";
    longOperation.End(redirectURL);
    }
    }

    10-Opciones para EventLog
























    NivelDefinición
    NoneNo ocurre ningún logging
    CriticalEste tipo de mensaje indica un error grave que ha causado un gran fallo en la solución.
    ErrorEste tipo de mensaje indica una condición de urgencia. Todos los eventos de error debe ser investigados.
    WarningEste tipo de mensaje indica un problema potencial o problema que podría requerir atención. Los mensajes de advertencia deben ser revisados y analizados en el tiempo.
    InformationLos mensajes de información no requieren ninguna acción,pero pueden proporcionar datos valiosos para el seguimiento del estado de su solución.
    VerboseEste nivel de registro de eventos corresponde a eventos o mensajes.

    11-Opciones para TraceLog
























    LevelDefinition
    NoneNingún trace logs son escritos.
    UnexpectedEste nivel se utiliza para registrar los mensajes sobre eventos que hacen que las soluciones detienen su procesamiento.Cuando se establece a este nivel, el registro sólo incluye los eventos de este nivel.
    MonitorableEste nivel se utiliza para registrar mensajes acerca de eventos irrecuperables que limitan la funcionalidad de la solución, pero no detienen la aplicación. Cuando se establece a este nivel, el registro incluirá también los errores críticos (nivel inesperado).
    High

    Este nivel se usa para registrar los eventos que son inesperados, pero que no detendrá el procesamiento de una solución. Cuando se establece para acceder a este nivel, el registro incluirá advertencias, errores controlables (nivel) y los errores críticos (nivel inesperado).

    MediumCuando se establece en este nivel, el registro de seguimientoincluye todo excepto los mensajes detallados. Este nivel se utiliza para registrar toda la información de alto nivel acerca de las operaciones que se realizaron. En este nivel, hay suficiente detalle para generar el flujo de datos y la secuencia de operaciones. Este nivel de registro puede ser utilizado por los administradores o los profesionales de soporte técnico para solucionar problemas.
    VerboseCuando se establece para acceder a este nivel, el registroincluye mensajes en todos los otros niveles. Casi todas lasacciones que se realizan se registran cuando se utiliza este nivel. Detallado rastreo produce muchos mensajes de registro. Este nivel se utiliza normalmente sólo para la depuración en un entorno de desarrollo.

  • jueves, 24 de mayo de 2012

    Tips /Info # 26 Sharepoint 2010

    1-Ocultar la opción “Download a copy” de la ribbon

    <style>
    A[id$='Ribbon.Documents.Copies.Download-Large'] {
        DISPLAY: none
    }</style>

    2-Cambiar la URL de un site collection

    Sharepoint 2010 no dispone de un mecanismo para cambiar la url de un site collection. Lo que se debe hacer es hace run backup y restore del site collection

    Backup-SPSite -Identity http://sharepoint/sitios/originalsite -Path c:/backupsite
    Remove-SPSite -Identity http://sharepoint/sitios/originalsite
    Restore-SPSite -Identity http://sharepoint/sitios/nuevossite -Path c:/backupsite

    3-Query: cantidad de items agrupados por lista

    select webs.Title,webs.FullUrl, tp_Title,UserDataCount,DocsCount
    from AllLists left outer join
    (select tp_ListId, COUNT(*) as UserDataCount from AllUserData
    group by tp_ListId ) E On E.tp_ListId = AllLists.tp_ID
    left outer join
    (select ListId, COUNT(*) as DocsCount from dbo.Docs
    group by ListId ) P ON AllLists.tp_ID = P.ListId
    left outer join Webs ON AllLists.tp_WebId = Webs.id
    order by DocsCount desc



    UserDataCount : cantidad de registros almacenadps en la tabla AllUserData para la lista. (item borrados no se incluyen)
    DocsCount : cantidad de registros almacenadps en la tabla AllDocs para la lista

    (item borrados no se incluyen)

    4-Error 404 al atachar (Attach) una base de contenidos


    Suele pasar el problema cuando removes la base de contenido desde la UI del Central Administration, desde ese momento no podrás atachar más base de contenidos desde la UI. Se puede realizar mediante powershell:


    Detach content database:

    Dismount-SPContentDatabase “nombre de la base de contenido”

    Attach content database:

    Mount-SPContentDatabase “nombre de la base de contenido” -DatabaseServer “nombre o alias del sql server” -WebApplication http://webapplicationURL

    5-Setear el outgoing mail para un Web Application mediante powershell

    Set-SPWebApplication -Identity http://webapplicationURL -OutgoingEmailAddress mail@email.com –SMTPServer smtp.server.com

    6-Columna lookup en CAML Javascript Client Object Model

    Prestar atención el atributo LookupId
    var list = web.get_lists().getById('<Projects List GUID>');
    var query = '<View Scope=\'RecursiveAll\'>'+
    '<Query>'+
    '<Where>'+
    '<Eq>'+
    '<FieldRef Name=\'Cliente\' LookupId=\'TRUE\'/>' +
    '<Value Type=\'Lookup\'>' + chosenoption.value +'</Value>'+
    '</Eq>'+
    '</Where>'+
    '</Query>'+
    '</View>';
    7-Error “Unable to process the request” al usar Excel Services
    Este error se debe a un error de comunicación con el servicio de excel, haga un iisreset.

    8-Verificar si una lista existe o no mediante Server Object


    SPList myList = SPContext.Current.Web.Lists.TryGetList(“ListaAVerificar”);
    if(myList!=null)
    {
        // existe lista
    }

    9-Error: “The Maximum number of webparts for all zones on this page has been exceeded“

    Por default, el límite máximo de web parts por páginas aspx es de 50.


    Si desea elmininar un web part podrá hacerlo mediante el querystring contents=1,nos ofrecerá la página de mantenimiento.


    10-Error “Cannot find property named PROPERTYNAME on activity type ACTIVITYNAME” al diseñar una actividad de workflow custom


    Cierre Sharepoint Designer y borre el contenido de las siguientes carpetas:


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


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

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

    lunes, 21 de mayo de 2012

    Tips/Info #24 Sharepoint 2010

    1-Algunos errores al hacer un crawl con el servicio de search

    “An unrecognized HTTP response was received when attempting to crawl this item. Verify whether the item can be accessed using your browser.”

    “Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has “Full Read” permissions on the SharePoint Web Application being crawled. ( Error from SharePoint site: HttpStatusCode Unauthorized The request failed with HTTP status 401: Unauthorized. )”

    “The secure sockets layer (SSL) certificate sent by the server was invalid and this item will not be crawled.”

    Soluciones:

  • Dar permisos de lectura sobre el web application a la cuenta configurada en el servicio de search (Policy level—>read)
  • Deshabilitar Loopback Check (
  • New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -value "1" -PropertyType dword

  • En la sección “Farm Search Configuration” marcar la opción “Ignore SSL certificate name warnings” y aumentar la opción “Time-out (seconds)”

    2-Application Addresses Refresh Job

    Mantiene el track de todas las instancias disponibles de todos los endpoints de los servicios de aplicación. Esto significa que si un proxy solicita un endpoint para un servicio de aplicación le preguntará al Topology Service (el Application Discovery and Load Balancer Service) por un endpoint. El Topology Service mantiene una lista de los endpoints que han sido descubiertos por el Application Addresses Refresh Job y pasa uno de esos endpoints al proxy, usando el algoritmo de balance de carga.

    Por default este job corre cada 15 minutos.

    Algunos problemas del tiempo que tiene configurado por default:

  • Al agregar un servicio de aplicación, es posible que al ingresar a configurar el servicio, le lance un error cómo el siguiente: “Cannot complete this action as xxxx is not responding….” Esto se debe a que el job no se ha ejecutado y ha obtenido el nuevo servicio de aplicación.
  • Otro error es cuando agregamos/borramos/reiniciamos servers a la granja

    3-Office Web Apps Cache

    El job  Office Web Apps Cache Creation crea un site collection llamado Office_Viewing_Service_Cache en la base de contenidos junto a los demás site collection funcionales. El site collection de cache tiene permitido crecer por default hasta los 100 GB.

    Cuando un site collection Office_Viewing_Service_Cache es provisionado dentro de un web application por el job Office Web Apps Cache Creation, inicialmente es configurado para mantener cacheado recursos de documentos por 30 días.

    When an Office_Viewing_Service_Cache site collection is provisioned within a Web application by the Office Web Apps Cache Creation timer job, it is initially configured to hold cached document resources for 30 days. As mentioned in Tip No. 1, a cache site collection can also grow by default to a maximum of 100GB.

    image

    El site collection Office_Viewing_Service_Cache site collection es un standart Team Site, y es la localización donde los recursos son almacenados después de la conversión y rendering a word or powerpoint por el office web apps.
    El Team Site tiene una libreria llamada All Documents (muestra un número de recursos de documentos).

    image

    The job Office Web Apps Expiration que es instalado con el Office Web Apps remueve recursos de documentación vieja desde el site collection de cache una vez que llegó a cierta edad.El job asegura que cada site collection tiene adecuado espacio para servir el propósito de cache.

    Más info: http://www.idera.com/News/Newsletters/Quick-Tips-for-Mnging-SP2010-Office-Web-Apps-Cache.pdf

    4-Como saber si un servidor se reinicio

  • En el event viewer puede verificar si hay dos eventos: Event Id 6005, Event Id 6006

    5-Error de javascript al conectar dos web parts en una publishing page: SP.Ribbon.PageState is null

    Hay que agregar el campo PublishingPageContent

    <PublishingWebControls:RichHtmlField id="PageContent" FieldName="PublishingPageContent" runat="server"> </PublishingWebControls:RichHtmlField> 

    6-Error en un web part: Unauthorized The request failed with HTTP status 401: Unauthorized

  • Ir a regedit.exe
  • Navegar a "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa"
  • Click derecho sobre "Lsa"  y crear un valor de 32bit DWORD
  • Renombrar a"DisableLoopbackCheck"
  • Modifica el valor decimal a de "DisableLoopbackCheck" a “1”
  • 7-API RetryDeliveryInterval

    En la nueva API de Sharepoint 2010 SP1 el cual introduce RetryDeliveryInterval en la clase SPIncomingEmailService

    Este valor representa el número de horas que el servicio de correo electrónico entrante ( incoming email service ) intenta procesar un mensaje de correo electrónico valido en la carpeta de entrega antes de que el mensaje de correo electrónico se elimine permanentemente. El default valor es de 24 horas.

    $emailSvc = Get-SPServiceInstance | WHERE { $_.TypeName -eq "Microsoft SharePoint Foundation Incoming E-Mail"}
    Current Value: $($emailSvc.Service.RetryDeliveryInterval)
    $emailSvc.Service.RetryDeliveryInterval = 5
    $emailSvc.Service.Update()

    El código anterior se seteo a 5 horas.

    8-Error: Unexpected System.NullReferenceException después de hacer un restpre de una base de contenidos SharePoint 2010

    “at Microsoft.SharePoint.SPSite.PreinitializeServer(SPRequest request)
    at Microsoft.SharePoint.SPWeb.InitializeSPRequest()
    at Microsoft.SharePoint.WebControls.SPControl.EnsureSPWebRequest(SPWeb web)
    at Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context)
    at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.GetContextWeb(HttpContext context)
    at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostResolveRequestCacheHandler(Object oSender, EventArgs ea)”

  • Detener el servicio OWSTIMER en el WFE del Sharepoint
  • Ir a ProgramData\Microsoft\SharePoint\Config\GUID, y borrar SOLO los archivos XML, NO el archivo cache.ini
  • Abro el archivo cache.ini,y lo edito con un 1.
  • Inicio el servicio OWSTIMER y espero hasta que los archivos xml aparezcan.
  • Hago un iisreset
  • 9-Algunas cosas de App Pool

    Al instalar Sharepoint se instala 6 app ppols:

  • SharePoint Web Services Root
    Identidad: LocalService
    Estado: Detenido
    Hostea SharePoint Web Services IIS Web Site y está en cada server de la farm. Este es el host para web site para Service Applications”. Service Applications WCFs son hosteados en este como Aplicaciones las cuales puede (y deberían) ser ejecutados en diferentes Application Pool. Si tratas de navegarlo obtendrás un error 503.
  • SharePoint Central Administration v4
    Identidad: SharePoint Farm Account
    Estado: iniciado
    This one is pretty straightforward. It’s responsible for Central Administration on the machines hosting it. It will include at least three applications (root, images, inc) plus an app for each Language Pack you have installed
  • SharePoint Web Services System (which is named with a GUID)
    Identidad: SharePoint Farm Account
    Estado: iniciado
    Hostea Topology Service Application, el cual es conocido como Application Discovery and Load Balancer Service Application.
  • SecurityTokenServiceApplicationPool (which is named with a GUID)
    Identidad: SharePoint Farm Account
    Estado: iniciado
    Hostea el Security Token Service Application, requerido internamiente en cada server de la granja para soportar operaciones entre granja y external Claims.
  • SharePoint Web Services Default (which is named with a GUID)
    Identidad: SharePoint Services Account
    Estado: iniciado
    Hostea todos los servicios de aplicaciones. Tendrá muchas aplicaciones.
  • SharePoint – 80
    Identidad: SharePoint Services Account
    Estado: iniciado
    Este es el application pool default usado para hostear Web Applications de contenido.
  • Types of Application Pools

    Con el lanzamiento de SharePoint 2010, Microsoft ha lanzad odos tipos distintos de app ppols. El primero se utiliza para alojar las aplicaciones de contenidos web (web applications). El segundo se utiliza para alojar endpoints de servicios de aplicaciones.

    Crear web application app pools: http://technet.microsoft.com/es-es/library/ff607931.aspx

    Crear app pool para servicios de aplicación: http://technet.microsoft.com/en-us/library/ff607595.aspx

    Algunos comandos útiles:

    Get-SPServiceApplicationPool

    Get-SPWebApplication

    sábado, 19 de mayo de 2012

    Links útiles #23 Sharepoint 2010

    1-Restore contenido de una base de contenido sin atachar (unattached)

    http://blog.sharepoint-recovery.com/2010/06/25/sharepoint-2010-unattached-content-database-recovery-not-recovery-just-export/

    2-Estructura de Directorios de la carpeta 14

    Program Files\Common files\Microsoft Shared\Web Server Extensions\14 -
    Este directorio es el directorio de instalación de los archivos principales de SharePoint Server.

    Program Files\Common files\Microsoft Shared\Web Server Extensions\14\ADMISAPI -
    Este directorio contiene los servicios SOAP para la Central Administración. Si este directorio se altera, la creación de sitio remoto y otros métodos expuestos en el servicio no funcionarán correctamente.

    Program Files\Common files\Microsoft Shared\Web Server Extensions\14\CONFIG -
    Este directorio contiene archivos que se utilizan para extender los sitios Web de IIS con SharePoint Server. Si este directorio o su contenido se alteran, el aprovisionamiento de aplicaciones web no funcionarán correctamente.

    Program Files\Common files\Microsoft Shared\Web Server Extensions\14\LOGS -
    Este directorio contiene información de instalación y run-time tracing logs.

    Program Files\Common files\Microsoft Shared\Web Server Extensions\UserCode -
    Este directorio contiene archivos que se usan para apoyar sus sandboxed solutions.

    Program Files\Common files\Microsoft Shared\Web Server Extensions\WebClients -
    Este directorio contiene los archivos relacionados con el nuevo Client Object Model.

    Program Files\Common files\Microsoft Shared\Web Server Extensions\WebServices -
    Este directorio contiene los archivos de wcf or .svc

    3-Configurar una granja de 3 servidores en Sharepoint 2010

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

    4-Conversión de documentos en Sharepoint 2010

    http://www.sharepointblog.co.uk/2012/05/web-content-management-document-conversion-in-sharepoint/

    5-Agregar una propiedad a nuestro perfil de usuario desde BDC

    http://sharepointreferences.wordpress.com/2012/04/19/how-to-augment-user-profile-properties-using-bdc-and-the-secure-store/

    http://sharepointreferences.wordpress.com/2012/04/19/how-to-augment-user-profile-properties-using-bdc-and-the-secure-store-part2/

    http://sharepointreferences.wordpress.com/2012/04/19/how-to-augment-user-profile-properties-using-bdc-and-the-secure-store-part3/

    6-Proceso de Instalación de Sharepoint 2010

    http://sharepointreferences.wordpress.com/2012/05/14/sharepoint-installation-process-part-1/

    http://sharepointreferences.wordpress.com/2012/05/14/sharepoint-installation-process-part-2/

    http://sharepointreferences.wordpress.com/2012/05/14/sharepoint-installation-process-part-3/

    http://sharepointreferences.wordpress.com/2012/05/14/sharepoint-installation-process-part-4/

    http://sharepointreferences.wordpress.com/2012/05/14/sharepoint-installation-process-part-5/

    http://sharepointreferences.wordpress.com/2012/05/14/sharepoint-installation-process-part-6/

    7-Galería de conectores de search para búsqueda federada

    http://technet.microsoft.com/en-US/sharepoint/ff727944

    Instrucciones de uso: http://technet.microsoft.com/en-US/sharepoint/ff727944#2010

    Tips/Info #23 Sharepoint 2010

    1-Search content sources disponibles para crawl

  • Sitios de Sharepoint
  • Sitios webs
  • Files Shares
  • Carpetas públicas de Exchange
  • Línea de datos de  negocio
  • Repositorio Custom

    2-Error al borrar una solución sandbox

    Si tienes el error: "Unable to access web scoped feature Id: GUID because it references a non-existent or broken web..."

    Ve a la papelera de reciclaje y borra la solucíón sandbox

    3-Setear la ventana de horario para consultas extensas con PowerShell

  • 6038.image_thumb_04B1D8DE

    $hour = "22"

    $minute = "30"

    #la ventana horario, de 0 a 24

    $duration = "16"

    Get-SPWebApplication | % { $_.UnthrottledPrivilegedOperationWindowEnabled = $true; $_.SetDailyUnthrottledPrivilegedOperationWindow($hour, $minute, $duration); $_.Update() }

    4-Ocultar/Mostrar una columna en los formularios New/Edit usando powershell

    $webUrl = Get-SPWeb http://spssite

    $listName = $web.Lists["Tasks"]

    $columnName = $list.Fields["date"]

    Si deseas ocultar la columna en Edit Form entonces usa:

    $columnName.ShowInEditForm = $false

    Si deseas mostrar la columna en New Form entonces usa:

    $columnName.ShowInNewForm=$false

    $columnName.Update()

    $listName.Update()

    $webUrl.Dispose()

    5-Habilitar la búsqueda de contenttypes en el search de Sharepoint 2010

    Set-SPEnterpriseSearchMetadataManagedProperty -Identity ContentType -SearchApplication "Search Service Application" -EnabledForScoping $true
    contenttype
    6-Habilitar Document Conversion 

    En el Central Administration se debe activar los siguientes servicios:


    • Document Conversions Load Balancer Service: gestiona la disponibilidad de los convertidores de documentos y tiene que ponerse en marcha en primer lugar.
    • Document Conversions Launcher Service: pone en marcha la conversión de documentos en unservidor de aplicaciones.

    7-Excluir carpetas del antivirus



    • %ProgramFiles%\Microsoft Office Servers\14.0\Data
    • %ProgramFiles%\Microsoft Office Servers\14.0\Logs
    • %ProgramFiles%\Microsoft Office Servers\14.0\Bin
    • %ProgramFiles%\Microsoft Office Servers\14.0\Synchronization Service
    • %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions
    • %windir%\Microsoft.NET\Framework\v2.0.xxxx\Temporary ASP.NET Files
    • %systemroot%\system32\inetsrv

    Algunos archivos que no se deberían analizar:


    w3wp.exe, owstimer.exe, mssearch.exe, inetinfo.exe.



    En los servidores SQL, no se deberían escanear los archivos .mdf y ldf


    8-Test-SPContentDatabase


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


    Verifica por lo siguiente:



    • Faltan WebTemplates
    • Faltan features
    • Orphaned sites
    • Falta setup files
    • Faltan Webparts
    • Faltan Event reveiver assemblies

    http://blogs.msdn.com/b/subbu/archive/2012/05/19/little-more-about-test-spcontentdatabase-cmdlet.aspx


    http://blogs.msdn.com/b/subbu/archive/2012/05/20/fixing-test-spcontentdatabase-warnings.aspx


    9-Error: An error occurred during the processing of xxxxx. Code blocks are not allowed in this file.


    Sharepoint no permite código de servidor (runat=”server”) que se ejecute en la página indicada. Para que pueda ejecutarlo, debe editar el web.config


    <PageParserPaths>
    <!—Se permite a un sólo archivo -->
    <PageParserPath VirtualPath="/mi pagina.aspx" CompilationMode="Always"AllowServerSideScript="true" />
    <!—Se permite de forma global: -->
    <PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" />
    <!—Se permite de forma global  dentro de un subsite -->
    <PageParserPath VirtualPath="/misitio/*" CompilationMode="Always"AllowServerSideScript="true" />
    </PageParserPaths>

    En VirtualPath definimos en cual directorio queremos habilitar la propiedad que las páginas puedan interpretar código.