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

sábado, 22 de septiembre de 2012

Tips/Info #71 Sharepoint 2010

1-Validación del lado del cliente para un form

El botón submit tiene un evento onclick:

if (!PreSaveItem()_) return false;WebForm_DoPostBackWithOptions(new ...

La función PreSaveItem invoca la función PreSaveAction que puedes sobrescribir con tu propia definición.Si PreSaveAction retorna true, entonces el form procede a guardar la información, de otra manera, se detiene con una alerta.

Con Sharepoint Designer 2010, abre la página en modo avanzado y agrega lo siguiente:

<script type="text/javascript" src="/Scripts/jquery.min.js"></script>
<!—sobrescribo PreSaveAction -->
<script type="text/javascript">
function PreSaveAction(){
   var field_to_validate = $("select[title='titulo del campo']").val();
   if(field_to_validate == ""){
     alert("Alerta: complete el campo");
     return false;
   }
   return true;
}
</script>

2-Cambiar el app pool de un web application

Nunca se debe cambiar el app pool desde el IIS, sino que se debe hacer mediante powershell, de esta manera consolida los datos entre las distintas granjas.

$webService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$pool = $webService.ApplicationPools["SharePoint - AppPoolWebApplication80"]
$app = Get-SPWebApplication  http://WebApplication_url
$app.ApplicationPool = $pool
$app.Update()
$app.ProvisionGlobally()

La propiedad ProvisionGlobally permite hacer los cambios tanto en IIS como en la configuración de Sharepoint. Sin esta propiedad, sólo se cambiará en la base de datos de configuración de Sharepoint, y no en IIS.

3-El botón de “Alert Me” no está visible

image_thumb

Esto se debe a que no tiene configurado un servidor de smtp para la granja.

Para configurarlo vaya a la Central administration edite la categoría Settings dentro de la sección System Settings

image_thumb1

image_thumb2

4-Error en Sharepoint Designer: “Your server may be of higher version than the currently installed SharePoint Designer”

Esto se debe a que un servidor de la granja necesita un upgrade. Para solucionarlo, ejecute el configuration wizard  y a su finalización, realice un iisreset.

5-Sharepoint Draft Folder

image004

Para configurar el draft local se debe realizar lo siguiente:

  • Abrir Microsoft Word 2007 o 2010
  • Ir a las opciones de  Word (Office Button > Word Options)
  • En la sección “Save”, cambia la opción “Save checked-out files to”a “The web server” (Office 2007) o “The Office Document Cache” (Office 2010)

image

Esta configuración también se puede realizar vía una GPO (Group Policy)

  • En Office 2007:
    Key: [HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Offline\Options]
    Registry Value Name: Local
    Registry Value: 0 (DWORD)
  • En Office 2010:
    Category: Microsoft Office Document Cache
    Policy: Check-out to local disk
    Associated Registry Key: [software\policies\microsoft\office\common\offline\options]
    Registry Value Name: UseLocalDrafts
    Registry Value: 0

Al finalizar, recuerde realizar un a logoff or gpupdate.

sábado, 18 de agosto de 2012

Tips / Info #58 Sharepoint 2010

1-Error:“Cannot read from source file or disk”. al tratar de cortar y pegar desde vista del explorador de una librería a otra

Hay dos posibilidades:

  • COPY and PASTE la información requerida; y después elimine los archivos en vez de usar CUT and PASTE.
  • Cree dos unidades mapeadas usando el comando “net use”, y después podrá usar CUT/PASTE.

2-No le llegan las alertas de “storage quota” a los administradores del site collection.

Las alertas del site le llegan solo a los site owners, los cuales se definen al crear el site collection. Esta opción se puede cambiar en el central administration (Application Managment/View All Site Collections) o mediante stsadm

stsadm -o siteOwner -url <Site Collection> -ownerLogin <Domain\Alias>

3-Mostrar sólo documentos en los resultados de búsqueda

En el web part de resultados agregar la propiedad isDocument:1, y habilitar la opción “Append additional terms to query”

080512_1927_restricting6_thumb1

4-El servicio WebClient no inicia, por lo tanto la vista del explorador no funciona.

Abre una línea de comandos, y ejecuta lo siguiente:

taskkill /fi “imagename eq svchost.exe” /fi “Services eq WebClient” /F

y a continuación

Net start webclient

5-"The workstation driver is not installed" al agregar un site mediante UNC

Abra una línea de comandos y ejecute los siguientes comandos:

stop webclient

net stop mrxdav

net start mrxdav

net start webclient

viernes, 6 de julio de 2012

Tips/Info #43 Sharepoint

1-Error: "The web server process that was being debugged has been terminated by Internet Information Services(IIS).  This can be avoided by configuring Application Pool ping settings in IIS."

iisdebugtimeout

Ir al app pool que deseamos deployar, y hacemos click derecho sobre el mismo  y elegimos Advanced Settings. A continuación cambiamos “Ping Enabled” a False o Ping Maximun response time a un valor mayor que 90

iisapppooladvancedsettings

2-Content Database Default al crear un site collection

Para cambiar la content database default donde se creará los próximos site collections, deberemos cambiar la propiedad el campo “Maximum number of sites that can be created in this database” al número actual de site para cada base de contenido del web application deseado excepto para la content database que quiere dejar como default.

Maximum-Sites

Con esta modificación un nueva collection será creado en la content database WSS_Content_2

Content-Database-Info

3-Habilitar finger scroller para Sharepoint para IPhone o IPad

#s4-workspace { -webkit-overflow-scrolling: touch; }

4-Borrar todoas las alertas de un site mediante PowerShell

$cantidadSites = 0
$cantidadBorradas = 0;

$sp = Get-SPWebApplication ("http://siteCollection/)
foreach ($site in $sp.Sites)
{
    foreach ($web in $site.AllWebs)
    {
        $cantidadSites++;        
        $alertIds = @();
        foreach ($alert in $web.Alerts)
        {
            $alertIds += $alert.ID;
            $cantidadBorradas++;   
        }        
        foreach ($alertId in $alertIds)
        {
            try
            {
                $web.Alerts.Delete($alertId);
            }
            catch [system.exception]
            {            
                # La excepción puede ser porque el usuario no existe (Ej: se cambio de dominio)
                # Actualizamos la alerta para que apunte a un usuario valido
                # Después la borramos
                if ($_.Exception.Message.Equals("El usuario no puede encontrarse"))
                {
                    $alertaParaActualizar = $web.Alerts[$alertId];
                    $alertaParaActualizar.User = $web.SiteUsers[0]; //le asigno el primer usuario disponible
                    $alertaParaActualizar.Update();
                   
                    #se trata de borrar de nuevo, pero esta vez con un usuario valido
                    $web.Alerts.Delete($alertId);                    
                }
            }
        }
    }
}

Write-Host "Número de Webs verificadas: " + $cantidadSites;
Write-Host "Número de alertas borradas: " + $cantidadBorradas;

Si deseamos borrar todas las alertas de un usuario específico, deberiamos cambiar la siguiente línea

foreach ($alert in $web.Alerts)
{
$alertIds += $alert.ID;
$cantidadBorradas++;
}

con la siguiente

foreach ($alert in $web.Alerts)
{
    if ($alert.User.LoginName –eq “nombre usuario”)
    {
        $alertIds += $alert.ID;

        $cantidadBorradas++;

    }
}

5-Dos errores que aparecen cuando no tenés configurado de forma correcta los AAM (Alternate Access Mapping)

  • Las alertas o envio de mails de SharePoint Designer Workflow con links a documentos o item muestran la URL interna u otra URL de los AAM´s antes que la URL pública
  • Loa resultados del search no muestran ningún resultado cuando busca sobre un scope específico 
    • Ej: En un subsite, you enter a search criteria which is scoped to "This site" and receive no results even though the content has been indexed.  "All Sites" scope works correctly regardless

martes, 3 de julio de 2012

Links útiles #41 Sharepoint

1-Timer Jobs

http://www.codeproject.com/Articles/403323/SharePoint-2010-Create-Custom-Timer-Jobs

http://adicodes.com/timer-job-in-sharepoint-for-specific-site/

2-Feature: activación de dependencias

http://karinebosch.wordpress.com/2011/03/12/feature-activation-dependencies-in-visual-studio-2010/

3-ECMA ejemplos

http://adicodes.com/javascript-object-model-in-sharepoint-2010/

4-Actions Ribbon Sharepoint 2010

http://sharepointwings.blogspot.com.ar/2012/06/sharepoint-2010-ribbon-button.html

5-Enviar un mail con adjunto en un workflow de Sharepoint (actividad)

http://sharepointstuff.codeplex.com/releases/view/66258

6-Conectando un WCF service con Infopath

https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/Connecting-a-WCF-Service-to-an-InfoPath-Form.aspx

7-Deployando Sharepoint en Azure Virtual Machines

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AZR327

8-Crear job en Sharepoint que escriba en Base de Datos

http://www.codeproject.com/Articles/403323/SharePoint-2010-Create-Custom-Timer-Jobs

9-Abrir PDF en el navegador en Office 365

http://sharepointontop.blogspot.com.ar/2012/06/office-365-open-pdf-files-in-browser.html

10-Habilitar & Deshabilitar alertas en Sharepoint 2010

http://code.msdn.microsoft.com/sharepoint/Enable-Disable-Alerts-for-cb765602

viernes, 22 de junio de 2012

Tips/Info #36 Sharepoint 2010

1-Usuarios con permisos “Read Only” o “View” no pueden acceder a WebDAV

Darle permisos de “Browse Directories”

image_thumb_276EC742

2-Error:"Invalid Caracter” en el handler ScriptResource.axd?d=

Hay que deshabilitar la comprensión de scripts en el web.config

<system.web.extensions>
    <scripting>
        <scriptResourceHandler enableCompression="false" enableCaching="true" />
        ...
    </scripting>
</system.web.extensions>

Este cambio hay que hacerlo en cada WFE de la granja. Recuerde hacer un iisreset.

3-Enviar alertas de una Vista

image

4-Forzar la activación de la feature Publishing

Enable-spfeature Publishing -url http://site_collection/subsite –force

Disabled-spfeature Publishing -url http://site_collection/subsite –force

5-La opción “Edit in Datasheet” está oculta

Ir a Advance Settings de la librería, y marcar la opción: “Allow items in this document library to be edited using the datasheet?”

sábado, 26 de mayo de 2012

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.

  • domingo, 11 de marzo de 2012

    Links útiles #9–Sharepoint 2010

    1-Alertas- Mensaje de “Contactando al servidor para información” para usuarios externos al dominio de Sharepoint.

    http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2012/03/09/sharepoint-alerts-contacting-the-server-for-information.aspx

    2-BCS con SQL Server, agregar auditoria a SQL Server (Created By, Modified By)

    http://blog.allegient.com/blog/csi-code-crib/auditing-with-sharepoint-2010-business-connectivity-services-bcs

    3-El Servicio de Security Token no esta disponible

    http://sharepointknowledgebase.blogspot.com/2012/03/security-token-service-is-not-available.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+AmolGhugesSharepointBlogmvpSharepoint+%28Amol+Ghuge%27s+SharePoint+Blog+%5BMVP+SharePoint%5D%29

    4-Servicios Web de Sharepoint 2010

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

    http://ybbest.wordpress.com/2012/03/10/how-to-create-item-in-sharepoint2010-document-library-using-sharepoint-web-service/

    5-Infopath: obtener el usuario actual sin código

    http://moss-net4u.blogspot.com/2012/02/infopath-get-current-user-without.html

    6-Verificar si un usuario tiene permisos sobre un objeto

    http://platinumdogs.wordpress.com/2012/03/08/sharepoint-checking-arbitrary-user-permissions-and-why-splistitem-doesuserhavepermissions-is-a-big-fat-dirty-liar/

    7-SharePoint Diagnostic Studio 2010 – Reportes preconfigurados

    http://www.jeremytaylor.net/2012/03/06/sharepoint-diagnostic-studio-2010/

    8-Crear un health rule

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

    9-Script de PowerShell para encontrar todos los site collections donde hay una feature habilitada

    http://geekswithblogs.net/steveclements/archive/2012/03/09/powershell-script-to-find-where-in-a-site-collection-a.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+SteveClements+%28Steve+Clements%29

    10-El detrás de escena al abrir un documento de una document library

    http://blogs.msdn.com/b/russmax/archive/2012/03/10/behind-the-scenes-opening-a-document-from-a-sharepoint-2010-document-library.aspx

    sábado, 10 de marzo de 2012

    Links útiles #8–Sharepoint 2010

    1- Cargar archivos a Sharepoint 2010 con la fecha "Modified" que se desea

    http://code4admins.blogspot.com/2011/01/cargar-archivos-en-sharepoint-con-la.html

    2- Manejar perfiles vía programación

    http://burcakcakiroglu.com/?p=2774

    3-February 2012 Cumulative Update for the SharePoint 2010

    http://blogs.technet.com/b/stefan_gossner/archive/2012/03/07/february-2011-cu-for-sharepoint-2010-has-been-released.aspx

    Office Web Apps CU is avail here: support.microsoft.com/.../KBHotfix.aspx

    4-Controles delegados

    Personalizar uno existente: http://geeks.ms/blogs/ciin/archive/2011/10/22/sharepoint-2010-controles-delegados-i.aspx

    Crear uno nuevo>http://geeks.ms/blogs/ciin/archive/2012/03/08/sharepoint-2010-controles-delegados-ii.aspx

    5-Todo sobre alertas Sharepoint 2010

    http://blogs.technet.com/b/steve_chen/archive/2009/11/20/alerts-in-sharepoint-troubleshooting-moss-wss.aspx#Database Tables

    6-Evento de WebProvisioned en SharePoint 2010

    http://www.anhero.org/to-use-webprovisioned-event-in-sharepoint-2010/

    7-SharePoint 2010 CSS Reference Chart

    http://sharepointexperience.com/csschart/csschart.html

    8-Subir un form template (infopath) a Infopath form services

    http://geeks.ms/blogs/marchena/archive/2012/03/08/publicando-infopath-web-forms-con-c-243-digo.aspx

    jueves, 12 de enero de 2012

    Alertas custom Sharepoint 2010

    Custom Alerts in Sharepoint 2010

    Alerts are automated emails generated by Sharepoint when something changes (a list item for example) and if any user has created an alert for that particular change in the list item.


    In some scenarios, we may want to customize the alert email generated by the Sharepoint 2010. This can be done in two ways


    1. Altering the OOTB alert template xml to use whatever the text you would like to have in the alert email
    2. Adding a custom alert handler in the dll deployed to GAC and alter the alert template xml to make use of that


    I personally prefer the second method since we (programmers) have more control over the email subject and body and I find it little complex to achieve my particular situation (altering the default url to link the edited/changed item).