martes, 17 de abril de 2012

Tips/info #14–Sharepoint 2010

1-Obtener la cantidad de versiones de un documento

   1:  SPListItemCollection myItems = list.GetItems(query);
   2:  foreach (SPListItem item in myItems)
   3:  {
   4:              if (!IsFolder(item))
   5:              {
   6:                         SPListItem itemCurr = item.ParentList.GetItemById(item.ID);
   7:                         total = total + itemCurr.Versions.Count;
   8:              }
   9:   }



2-Ocultando un campo de un content type



 1 # Get a reference to the web we are using
 2 $web = Get-SPWeb https://intranet.domain.com/site
 3 
 4 # Get a reference to the list to which the content type is attached
 5 $list = $web.Lists["Holiday Calendar"]
 6 
 7 # Return a list of the fields
 8 $fields = $list.fields
 9 
10 # Select the field we wish to hide
11 $field = $fields | where {$_.internalname -eq "WorkspaceLink"}
12 
13 # Show the current 'hidden' status of the field
14 $field.Hidden
15 
16 # Set the field to hidden (note that 'CanToggleHidden' must be true to allow this)
17 $field.Hidden = $true
18 
19 # Update the field
20 $field.Update()




3-Qué servicios puede compartirse entre granjas




    • User Profiles
    • Managed Metadata
    • Business Connectivity Services (BCS)
    • Search
    • Secure Store
    • Web Analytics

4-Deshabilitar el DisableLoopbackCheck



Cuando utiliza un nombre de dominio completo (FQDN) o un encabezado de host personalizado para examinar un sitio web local que está alojado en un equipo en el que se ejecuta Servicios de Internet Information Server (IIS) 5.1, o una versión posterior, de Microsoft, puede aparecer un mensaje de error similar al siguiente:

HTTP 401.1 - No autorizado: error de inicio de sesión

Este problema se produce cuando el sitio Web utiliza Autenticación integrada y tiene un nombre que se corresponde con la dirección de bucle invertido local.

Método 1: Deshabilitar la comprobación del bucle invertido

El primer método consiste en deshabilitar la comprobación del bucle invertido mediante la configuración de la clave del Registro DisableLoopbackCheck.



  1. Establezca la entrada del Registro

    DisableStrictNameChecking

    en 1. Para obtener más información acerca de cómo hacerlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    281308 La conexión a un recurso compartido SMB en un equipo basado en Windows 2000 o en Windows Server 2003 puede no funcionar con un nombre de alias (en inglés)


  2. Haga clic en Inicio, Ejecutar, escriba regedit y, a continuación, haga clic en Aceptar.
  3. En el Editor del Registro, busque la clave siguiente y después haga clic en ella:


    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa


  4. Haga clic con el botón secundario del mouse (ratón) en Lsa, seleccione Nuevo y, a continuación, haga clic en Valor DWORD.
  5. Escriba DisableLoopbackCheck y presione Entrar.
  6. Haga clic con el botón secundario del mouse en DisableLoopbackCheck y, a continuación, haga clic enModificar.
  7. En el cuadro Información del valor, escriba 1 y haga clic en Aceptar.
  8. Cierre el Editor del Registro y reinicie el equipo.

Método 2: Especificar nombres de host
Para establecer los nombres de host que se asignan a la dirección de bucle invertido y poder conectarse a sitios Web en el equipo, siga estos pasos:

  1. Establezca la entrada del Registro

    DisableStrictNameChecking

    en 1. Para obtener más información acerca de cómo hacerlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    281308 La conexión a un recurso compartido SMB en un equipo basado en Windows 2000 o en Windows Server 2003 puede no funcionar con un nombre de alias (en inglés)


  2. Haga clic en Inicio, Ejecutar, escriba regedit y, a continuación, haga clic en Aceptar.
  3. En el Editor del Registro, busque la clave siguiente y después haga clic en ella:


    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0


  4. Haga clic con el botón secundario del mouse en MSV1_0, seleccione Nuevo y, a continuación, haga clic en Valor de cadena múltiple.
  5. Escriba BackConnectionHostNames y presiones ENTRAR.
  6. Haga clic con el botón secundario del mouse en BackConnectionHostNames y, a continuación, haga clic en Modificar.
  7. En el cuadro Información del valor, escriba el nombre del host o los hosts de los sitios que están en el equipo local y, a continuación, haga clic en Aceptar.
  8. Cierre el Editor del Registro y reinicie el servicio IISAdmin.

Más info: http://blogs.technet.com/b/sharepoint_foxhole/archive/2010/06/21/disableloopbackcheck-lets-do-it-the-right-way.aspx


http://www.jeremytaylor.net/2010/05/24/sharepoint-disable-loopback-check-disableloopbackcheck-dword-in-registry/


5-Obtener todas las versiones de los documentos con Sharepoint Client Object



 


   1:  using (SPSite mySite = new SPSite("http://sitio de sharepoint"))
   2:      {
   3:          using (SPWeb myWeb = mySite.OpenWeb())
   4:          {
   5:              SPList myList = myWeb.Lists["NombreBiblioteca"];
   6:   
   7:              SPListItemCollection myListItemColl = myList.Items;
   8:              foreach (SPListItem unItem in myListItemColl)
   9:              {
  10:                  SPFileVersionCollection allVersions = unItem.File.Versions;
  11:                  foreach (SPFileVersion simpleVersion in TodasLasVersiones)
  12:                  {
  13:                      //Algunos atributos
  14:                      //simpleVersion.Size;
  15:                      //simpleVersion.VersionLabel 
  16:                      //simpleVersion.Size
  17:                  }
  18:              }
  19:          }
  20:      }
  21:  }

6-Detectar si la página está en modo “Edit” con jquery



   1:  $(document).ready(function() {
   2:       if(!g_disableCheckoutInEditMode)
   3:       {
   4:            // ingresar lo que se ejecutara en modo NO diseño
   5:       }
   6:  });



7-Desapareció el combo para elegir las vistas en Sharepoint 2010



Abrir la página en modo avanzado, encontrar el siguiente código:

<SharePoint:ListTitleViewSelectorMenu AlignToParent="true" id="LTViewSelectorMenu" runat="server" />


Y reemplazarlo por el siguiente:

<SPAN id=onetidPageTitleSeparator><SPAN><SPAN style="POSITION: relative; WIDTH: 11px; DISPLAY: inline-block; HEIGHT: 11px; OVERFLOW: hidden"><IMG style="POSITION: absolute; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; TOP: -585px !important; LEFT: 0px !important" alt=: src="/_layouts/images/fgimg.png"></SPAN></SPAN></SPAN>
<SharePoint:ViewSelectorMenu ID="viewSelectorMenu1" runat="server" />
8-Borrar una aplicación de servicio: varios métodos



  • Central Administration -> Application Management -> Service Applications -> Manage service applications -> choose service –> Delete

  • get-spserviceapplication /
    remove-spserviceapplication [id]

  • stsadm -o deleteconfigurationobject -id [id]

9-Habilitar Sharepoint Designer para un web application

Hay dos maneras:


  1. Central Administration > General Application Settings > SharePoint Designer: Configure SharePoint Designer Settings

  2. Mediante powershell


   1:  $webapp = Get-SPWebApplication "nombre web application"
   2:  Get-SPDesignerSettings $webappAllowDesigner AllowRevertFromTemplate AllowMasterPageEditing ShowURLStructure
   3:  $webapp.Update()



10-Qué versión de Sharepoint soporta SQL Server 2012



Sólo la versión Sharepoint 2010 con SP1 y versiones superiores.


11-Verificar que role está instalado



HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\ServerRole

-SINGLESERVER : Stand-alone
-WFE : Farm Stand-alone
-APPLICATION : Farm Complete


12-Check box de “Send welcome e-mail to the new users” está activado por default, se puede desactivar de la siguiente manera


1. Navegar hasta la carpeta C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS

2. Encontrar el archivo aclinv.aspx

3. Haz un backup del archivo aclinv.aspx

4. Editar el archivo aclinv.aspx

5. Buscar por el control con ID “chkSendEmail

6. Cambiar la propiedad Checked a False y guarda el archivo

<Template_InputFormControls>
     <wssawc:InputFormCheckBox
      runat="server"
      id="chkSendEmail"
      Checked="False"
      LabelText="<%$Resources:wss,aclver_SendEmailCheckbox%>"
      ToggleChildren=true>
      <SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,aclver_SubjectLabel%>" EncodeMethod='HtmlEncode'/>


13-Mostrar los Events Receivers asociados a una lista mediante powershell


   1:  PS > $spWeb = Get-SPWeb http://sitiodesharepoint
   2:  PS > $spList = $spWeb.Lists["nombrelista"]
   3:  PS > $spList.EventReceivers
   4:  PS > $spWeb.Dispose()



14-Cuenta de Servicio para el servicio SPTraceV4: requerimientos de la misma




  1. Tener permisos de lectura y escritura sobre la carpeta en que se guardaran los logs, que por default es C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS
  2. La cuenta debe estar dentro de los grupos locales Performance Monitor Useres y Performance Log Users

15-Servicios de Sharepoint y las cuentas con las que deberían correr



SharePoint 2010 Administration    - service account
SharePoint 2010 Timer    - farm account
SharePoint 2010 Tracing    - service account
SharePoint 2010 User Code Host    - service account
SharePoint 2010 VSS Writer    - service account
SharePoint Foundation Search V4    - search account
SharePoint Server Search 14    - search account

domingo, 8 de abril de 2012

El problema del límite de 64 bits ACL

Todos los objetos de Active Directory, y todos los objetos que se pueden proteger en un equipo local o en la red, tienen descriptores de seguridad para controlar el acceso a los objetos. Los descriptores de seguridad incluyen información acerca de quién posee un objeto, que puede acceder a él y de qué manera, y qué tipos de acceso son auditados. Los descriptores de seguridad, a su vez, contiene la lista de control de acceso (ACL) de un objeto, que incluye todos los permisos de seguridad que se aplican a dicho objeto. Descriptor de un objeto de seguridad puede contener dos tipos de ACL:

  • Una lista de control de acceso discrecional (DACL) que identifica a los usuarios y grupos a quienes se permite o deniega el acceso
  • Una lista de control de acceso al sistema (SACL) que controla la forma de acceso es auditado

En muchos casos, conseguir aparece el error "The parameter is incorrect" en los logs de search de Sharepoint Microsoft dice que: "Este comportamiento se produce si el tamaño de la lista de control de acceso (ACL) es mayor de 64 kilobytes (KB). El tamaño máximo del búfer de la función InitializeAcl es de 64 KB. Por lo tanto, el tamaño máximo de un ligamento cruzado anterior de Windows, incluyendo las entradas de control de acceso (ACE) que se contienen en la ACL, es de 64 KB. "http://support.microsoft.com/kb/885482

-Ámbitos de Seguridad - Cada vez que rompemos la herencia en un elemento de la lista, una carpeta o sub-web, que crear un ámbito nuevo de seguridad que cubra ese elemento y sus hijos hasta llegar a un nuevo elemento con la herencia rota.
- (ACL Access Control Lists) - Cada Alcance de Seguridad tendrá un ligamento cruzado anterior, esto es básicamente una estructura de datos que contendrá una lista de ACE.
- ACE - (Entidades de Control de Acceso) - Cada ACE contiene un identificador de un usuario o grupo y una lista de los permisos que tiene este usuario.

sábado, 7 de abril de 2012

Problema al publicar un workflow en Sharepoint Designer 2010

Hay veces que al publicar un workflow con Sharepoint Designer los cambios no impactan en Sharepoint. También suele ocurrir con cambios en páginas que no impactan e Sharepoint o el Designer queda colgado abriendo una página. Acá va una solución para esos problemas

  • Cerrar el Designer
  • Ir a %System Drive%\Users\%user%\AppData\Roaming\Microsoft\SharePoint Designer\ProxyAssemblyCache\ y borrar todos los directorios y archivos (este directorio varia si utiliza windows xp)
  • Ir a %LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\WebTempDir y borrar todos los directorios y archivos
  • Y por último ir a %System Drive%\Users\%user%\AppData\Local\Microsoft\WebsiteCache y borrar todos los directorios y archivos.

Abrir el Designer, y probar de nuevo.

viernes, 6 de abril de 2012

Link útiles #15–Sharepoint

1-Características Sharepoint 2013

http://www.learningsharepoint.com/2012/03/31/sharepoint-2013-features-and-resources/

2- User profile synchronization service no se inicia

http://melick-rajee.blogspot.com.ar/2012/04/user-profile-synchronization-service.html

3-Despertar (warm up) los app pool de Sharepoint

http://sharepointgeorge.com/2010/warm-sharepoint-web-applications-windows-2008-r2-iis-75-application-warmup-module/

http://abdulrafaysbiztalk.wordpress.com/tag/iis-warm-up-module/

http://blogs.iis.net/steveschofield/archive/2012/04/03/app-warm-up-module-released-for-windows-server-2008-r2.aspx

4-Virtualizando Sharepoint 2010

http://programming4.us/enterprise/3098.aspx

5-Configurar la búsqueda para indexar contendio externo, ej: un share

http://sharepoint.mindsharpblogs.com/Timothy/archive/2012/03/31/Finding-and-Targeting-Content.aspx

6-Tesauros en Sharepoint 2010

http://blogs.msdn.com/b/enterprisesearch/archive/2008/09/23/how-to-customize-the-thesaurus-in-sharepoint-search-and-search-server.aspx

7-Mostrar el numero de fax en los resultados de búsqueda Sharepoint 2010

http://sharepointsolutions.com/sharepoint-help/blog/2011/07/how-to-show-the-fax-number-in-people-search-results-in-sharepoint-2010/

8-Indexando contenido case sensitive

http://blogs.msdn.com/b/enterprisesearch/archive/2010/07/09/crawling-case-sensitive-repositories-using-sharepoint-server-2010.aspx

9-Agregando controles safecontrols en Sharepoint con Visual Studio 2010

http://weblogs.asp.net/jan/archive/2010/08/06/easily-adding-safecontrols-in-sharepoint-2010-with-visual-studio-2010.aspx

10-Algunas tools en codeplex

http://sharepointserviceman.codeplex.com/

http://spposter.codeplex.com/

http://spribbonvisibility.codeplex.com/

11-Crear una custom health rule

http://blog.scosby.com/post/2010/04/26/Custom-Health-Rules-in-SharePoint-2010.aspx

12- Solucionar problema de vista mobile en Sharepoint 2010 para usuarios anónimos.

http://blog.mastykarz.nl/inconvenient-sharepoint-2010-mobile-redirect/

Tips/info #13–Sharepoint 2010

1-Soporte para mirroring de base de datos en Sharepoint 2010

hay dos bases de datos que no tienen soporte para mirroring

  • User Profile Service: Synchronization database
  • Web Analytics Service: Staging database

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

2-Características no soportadas para excel services en Sharepoint 2010

  • Comentarios de celdas
  • Referencias de fórmulas a libros externos
  • Query tables (conocidos como external data ranges).
  • Microsoft Visual Basic for Applications (VBA).
  • Cualquier tecnología OfficeArt. Ej, Shapes, WordArt, SmartArt, organization chart, diagrams, signature lines, ink annotations, etc.

3-Rompiendo la herencia de seguridad de una lista mediante Client Object

   1:  using System;
   2:  using Microsoft.SharePoint.Client;
   3:  using SP = Microsoft.SharePoint.Client;
   4:   
   5:  namespace Microsoft.SDK.SharePointServices.Samples
   6:  {
   7:      class BreakSecurityInheritance
   8:      {
   9:          static void Main()
  10:          {
  11:              string siteUrl = "http://MyServer/sites/MySiteCollection";
  12:              ClientContext oContext = new ClientContext(siteUrl);
  13:              SP.List oList = oContext.Web.Lists.GetByTitle("Announcements");
  14:   
  15:              oList.BreakRoleInheritance(true, false);
  16:   
  17:              oContext.ExecuteQuery();
  18:          }
  19:      }
  20:  }




Más info: http://msdn.microsoft.com/en-us/library/ee535228.aspx


4- Opción Accuracy Index en el panel de refinamiento



Hay algunos conceptos erroneos con respecto al panel de refinamiento y cómo se general los refinamientos. A continuación los conceptos erroneos:




  • Los refinamientos son generados del conjunto completo de resultados de búsqueda


  • Los refinamientos son generados de la primera página de los resultados de búsqueda


  • Los refinamientos son generados de forma random

Ninguno de estos conceptos son correctos, los refinamientos son generados en base a una propiedad del panel de refinamiento: Accuracy Index.



image_thumb


Define cuántos elementos se consideran en la creación de los refinamientos. Por defecto se establece en 50 de modo que sólo los primeros 50 elementos en sus resultados de búsqueda se utiliza para generar los refinamientos.




  • Esto tiene varias consecuencias importantes:
    Si usted tiene más de 50 resultados (por ejemplo 20000) podría haber algunas categorías de refinamiento que no aparecen porque no están en los primeros 50 resultados


  • Si usted tiene contadores para los refinamientos, verá que el número total contadores podría no sumar el número total de resultados.

Sin embargo, usted puede aumentar este valor hasta un máximo de 500. Si usted quiere ser capaz de generar refinamientos para todos los resultados de búsqueda, llamados deep refiners, entonces usted tendrá que usar FAST Search.


Entre más refinamientos tengas, menor performance tendrá en la consulta.


5-Mostrar contadores en el panel de refinamiento



Hacer click en “Filter Category Definition” en el web part de panel de refinamiento.



image_thumb1


En la categoría deseada, ej: Title, agregar ShowCounts=”Count”


image_thumb2


La inclusión del contador es determinado por xlst en el web part de refinamiento.


image_thumb3


6-Evitar dos llamadas a ItemUpdating después de subir un documento a una document library



   1:  public override void ItemUpdating(SPItemEventProperties properties)
   2:    {  
   3:      base.ItemUpdating(properties);
   4:      if (properties.AfterProperties["vti_sourcecontrolcheckedoutby"] == null && properties.BeforeProperties["vti_sourcecontrolcheckedoutby"] != null)
   5:       {
   6:         //do stuff
   7:       }
   8:    }




Más info: http://www.simple-talk.com/content/print.aspx?article=1424


7-Habilitar HTML 5 en Sharepoint 2010



En tu master page default, buscar la siguiente línea:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

Modificarla por:

<!DOCTYPE html>

Después modifica la siguiente línea:

<meta http-equiv="X-UA-Compatible" content="IE=8"/>

Por la siguiente:

<meta http-equiv="X-UA-Compatible" content="IE=9"/>









8-Error: al abrir un archivo word desde Sharepoint 2010



Word experienced an error trying to open the file.

Try these suggestions.

* Check the file permissions for the document or drive.

* Make sure there is sufficient free memory and disk space.

* Open the file with the Text Recovery converter.

word_error



Para solucionarlo, ir a File/Options/Trust Center/Trusted Center Settings.


Después seleccionar la sección Protected View, y desmarcar todas las opciones.


protected_view-300x172



9-Donde crear un servicio de WCF en Sharepoint 2010



Si está creando un servicio WCF básicamente tienes dos opciones:
-Crear un servicio WCF en un contexto de SharePoint.
-Crear un servicio WCF independiente.



Si está creando un servicio WCF en un contexto de SharePoint, básicamente hará lo siguiente: crear un proyecto de SharePoint, agregue el servicio WCF y desplegar a la carpeta ISAPI. Véase: http://msdn.microsoft.com/en-us/library/ff521581.aspx  para obtener más información. Además, puede utilizar http://cksdev.codeplex.com/  , que contiene una plantilla WCF útil.



Si está creando un servicio WCF independiente, básicamente creará un proyecto WCF y publicar el servicio. Ver
http://sharepointdragons.com/2011/10/07/parallel-programming-in-sharepoint-2010-the-back-to-the-future-pattern/



¿Por lo tanto, a la hora de elegir uno de los dos escenarios, cuál es la mejor práctica, y por qué?


Crear un servicio WCF en un contexto de SharePoint
-Si necesita que el servicio se ejecute en el contexto actual de SharePoint
-Si desea utilizar el soporte completo de API de SharePoint
-Si desea que su cliente acceda a su servicio con la misma experiencia como los servicios de SharePoint OOB
-Si se extiende algunos funcionalidad personalizada de su solución que no sea por defecto proporcionados por servicios de SharePoint.
-Si desea utilizar y proporcionar la misma autenticación/autorización configurada en la granja al acceder a su servicio.
-Si el servicio será usado entre las granjas de SharePoint.


Crear un servicio WCF independiente
-Si desea exponer algunas funcionalidades de su solución al mundo exterior.
-Sólo puede utilizar la API de cliente / SharePoint webservice / o su referencia de código personalizado dentro de su servicio WCF.
-Desea prestar atención a la autenticación y autorización
-Si puede accederlo por otro cliente, sin siquiera conocer la existencia de SharePoint en el back-end.



Si deseas crear un servicio WCF independiente, es recomendable ejecutar en un sitio web de IIS independiente (No Sharepoint).

jueves, 5 de abril de 2012

Auditar Sharepoint 2010

SharePoint 2010 proporciona la capacidad para auditar el uso del entorno de SharePoint. Las capacidades de auditorías del servidor de SharePoint permiten realizar un seguimiento de todas las actividades que se producen en el entorno. El administrador de la colección de sitios tiene la capacidad para establecer requisitos dentro del entorno que determinan los tipos de acciones que deben realizar un seguimiento de auditoría. Los informes están disponibles para revisar los eventos registrados. Estos informes también podrían utilizarse para crear informes de auditoría necesario o estadísticas. También tienen la capacidad para establecer la configuración de registro de auditoría para controlar el volumen de información de auditoría que mantiene en el tiempo.

Para activar la auditoria ir a Site settings –>Site Collection Administration –> Site Collection Audit Settings

1Audit-253x300

Se divide en tres secciones:

image_thumb_3320BC2F

Audit Log Trimming

  • Automatically trim the audit log for this site
  • specify the number of days of audit log data to retain
  • specify a location to store audit reports before trimming the audit log

Specify the events to audit

  • Opening or downloading documents, viewing items in lists, or viewing item properties
  • Editing items
  • Checking out or checking in items
  • Moving or copying items to another location in the site
  • Deleting or restoring items

Specify the events to audit

  • Editing content types and columns
  • Searching site content
  • Editing users and permissions

Para ver los reportes:Site settings –>Site Collection Administration –>Audit Log Reports

lunes, 2 de abril de 2012

Tips/info #12 Sharepoint 2010

1-Base de datos WSS_Logging

La base de datos WSS_Logging almacena varias cosas:

  • ULS Logs from 14 Hive\LOGS (pulled in through a timer job)
  • Raw Resource Usage Data

Los ULS logs son tomados de cada server y colocados en la base de datos a traves de un timer job Diagnostic Data Provider: Trace Log.  Los datos de Raw Resource Usage incluye las siguientes categorías:

  • Clickthrough Usage
  • Content Export Usage
  • Content Import Usage
  • Feature Use
  • Page Requests
  • Rating Usage
  • Sandboxed Requests
  • Sandboxed Requests Monitored Data
  • Search Query Usage
  • Site Inventory Usage
  • Timer Jobs
  • Workflow

Los datos sin procesar de estas categorías se utilizan para la parte analítica Web de SharePoint. Dos trabajos del temporizador (Microsoft SharePoint Foundation Usage Data Import and Microsoft SharePoint Foundation Usage Data Processing) son responsables de la importación y procesamiento de datos raw en las bases de datos de Web Analytics.

Podemos verificar mediante la vista RequestUsage si se guardo data analítica:

select MIN(LogTime),MAX(LogTime) from RequestUsage
2011-09-05 00:00:01.580                2011-09-19 20:29:43.

2-Listar todos los comandos de powershell

Get-Command -Noun SP*

3-Listar todos los comandos de powershell relacionados a solutions

Get-Command -Noun *solution*

4-SPSite y SPWeb

# Obtener todos los site collections en la farm
Get-SPSite -Limit ALL
# Obtener el site collection de la siguiente URL http://siteurl
Get-SPSite "http://siteurl"

# Obtener el site de la siguiente URL http://weburl
Get-SPWeb "http://weburl"

# Obtener todos los sites de todos los site collections
Get-SPSite | Get-SPWeb
5-Obtener ayuda de un determinado comando

Get-Help Get-SPWeb
6-Error al guardar una página en el Sharepoint DesignerCode blocks are not allowed in this file.

Este error ocurre cuando hay un web part corrupto
7-Opción de “Add to My Links” de Sharepoint 2007 en 2010

MyLinks3
8-Crear tag y notes

Cuando se clickea en los iconos de Tags and Notes se irá a la siguiente ubicación /_layouts/socialdataframe.aspx?Url=http://your_page&Title=Home&mode=0&IsDlg=1
2012-03-30-SharePointSocialFeatures-02
Otra manera es hacerlo desde el Central Administration
Central Administration -> Manage service applications -> User Profile Service Application -> Manage Social Tags and Notes.
2012-03-30-SharePointSocialFeatures-03
9-Actualizar la UI de todos los subsitios después de una migración de Sharepoint 2007 a 2010


$SPSite = Get-SPSite http://MySiteCollection
foreach ($SPWeb in $SPSite.AllWebs)
{
    $SPWeb.UIVersion = 4;
    $SPWeb.Update();
}




10-No aparece la opción de “navigation” en la sección de look and feel



navigationlookandfeel


Se debe activar la siguiente feature


publishingfeature


11-OData en Sharepoint 2010



3252.SharePoint_Foundation_2010_REST_URI_Structure_172D52D4


En SharePoint Server 2010 cada lista en SharePoint es expuesta como OData REST API (a veces referenciado como WCF Data Services)





12-Exportar la lista de usuarios de un site mediante OWSSVR



Ve a la lista de usuarios (página People and Groups), copia el ID de la lista (LISTID) y copia el ID de la vista (VIEWID)


http://[site]/_vti_bin/owssvr.dll?CS=109&Using=_layouts/query.iqy&List=[LISTID]&View=[VIEWID]&CacheControl=1


13-Mantenimiento de base de datos



Microsoft recomienda lo siguiente en pocas palabras:


  • Una vez a la semana, fuera del horario: DBCC CHECKDB para comprobar coherencia para garantizar que sus datos y los índices no están dañados.

  • Medir y reducir la fragmentación del índice, especialmente la tabla AllDocs

  • Supervisar otras bases de datos *de fragmentación y reconstrucción de índices dentro de estas bases de datos cuando la fragmentación supera el 30%.

  • Fragmentación hasta 10% y luego reorganizar (online), 10-75% – reconstrucción (online), 75%: reconstruir (offline)

  • Directrices y medidas para shrinking de archivos de datos


* Las siguientes bases de datos necesitan supervisar fragmentación y reconstrucción de índice manualmente:



Secure Store Database
State Service Database
Profile Sync Database
Usage Database
Managed Metadata Database
Business Connectivity Services Database
PerformancePoint Services Database
Search Administration Database


Para más información:http://technet.microsoft.com/en-us/library/cc262731.aspx

Links útiles #14–Sharepoint 2010

1-Requerimientos de espacio para Sharepoint 2010

http://blogs.msdn.com/b/mohamed_el_ashmawi/archive/2012/03/19/sharepoint-2010-capacity-management-disk-space-requirements.aspx

2-Resetear un theme a default

http://blog.falchionconsulting.com/index.php/2011/08/resetting-sharepoint-2010-themes/

3-Aplicar tema via programación a un sitio nuevo mediante una feature y event receiver

http://www.enjoysharepoint.com/Articles/Details/how-to-use-webprovisioned-event-in-sharepoint-2010-3.aspx

http://hermansberghem.blogspot.com.ar/2011/11/alternatecssurl-save-site-to-template.html?utm_source=BP_recent

http://howtosharepoint.blogspot.com.ar/2010/04/how-to-apply-theme-programmatically.html

http://blog.qumsieh.ca/2010/10/07/how-to-attach-an-event-receiver-to-the-web-added-event-and-for-what-purpose/

4-Organizador de contenido

http://geeks.ms/blogs/marchena/archive/2012/03/30/content-organizer-moviendo-documentos-entre-repositorios.aspx

5-Content By Query Web Part

http://chrisstahl.wordpress.com/2011/07/18/display-news-pages-with-cqwp-part-3/

http://chrisstahl.wordpress.com/2011/08/09/image-slideshow-with-cqwp-in-sharepoint-2010/

http://farhanfaiz.wordpress.com/2012/03/28/sharepoint-content-query-web-part-more-than-three-filters-and-queryoverride/

6-Data View Web Part

http://chrisstahl.wordpress.com/2011/09/18/how-to-customize-a-grouped-view-in-the-data-view-web-part/

http://chrisstahl.wordpress.com/2011/02/14/display-random-items-with-the-data-view-web-part/

7-Visualización de Workflows con Visio

http://blogs.technet.com/b/meamcs/archive/2012/03/27/walkthrough-sharepoint-2010-workflow-visualization.aspx

8-SharePoint Online for Office 365: Developer Guide

http://www.microsoft.com/download/en/details.aspx?id=17069

9-Renombrar la base de datos de metadata

http://blog.brainlitter.com/2012/03/30/renaming-the-sharepoint-2010-managed-metadata-database/

10-Content Type Syndication Hub

https://docs.google.com/open?id=0BylR0frusV7oY2lpZWYxMWVTNHUtMzRaSkUzLVJMdw

11-Reemplazar todas las instancias de un usuario de los campos Modified By y Created By

http://blog.blksthl.com/2012/04/02/replace-all-instances-of-a-user-in-last-modified-and-created-by-using-powershell/

FAQ y limitaciones de Content Type Hub

Content type hub es una nueva característica en SharePoint 2010 para administrar de manera centralizada los tipos de contenido y publicar en los sitios suscritos. Como cualquier otra novedad introducida en SharePoint 2010, el concentrador de tipo de contenido también tiene sus limitaciones conocidas y algunas soluciones para esas limitaciones.

A continuación se muestran algunas de las limitaciones/FAQ sobre centros de tipo de contenido:

1. Qué tipos de campo son compatibles?No se admiten los campos personalizados y columnas de datos externos (no se puede crear columnas de datos externos en la Galería de tipo de contenido).


2. ¿Qué sucede si una aplicación web es miembro de dos Content Type Hubs? El Managed Metadata Service(MMS)  obtiene la prioridad y será su content type hub. Sin embargo, si usted personaliza las asociaciones de solicitud de servicio para la aplicación web, puede seleccionar al proxy de aplicación apropiado de MMS para el content type hub.

3. ¿Qué sucede si un usuario cambiar un tipo de contenido sincronizado dentro de la colección de sitios de destino?Los tipos de contenido suscritos están marcados "sólo lectura" en la colección de sitios de destino. Los usuarios son incapaces de administrar o cambiar los tipos de contenido sincronizados dentro de la colección de sitios de destino. Cambios en el tipo de contenido deben hacerse siempre en el content type hub y republihsed para impulsar los cambios a los sitios suscritos.

4. ¿Qué sucede con los tipos de contenido dentro de la estructura de subsitio?
Suscripción de tipo de contenido es una función de nivel de colección de sitios, por lo que consume los tipos de contenido en la web raíz superior y fluye hacia abajo los subsitios.

5. Flujos de trabajo limitaciones?Lamentablemente no se admiten los flujos de trabajo. Sin embargo, una vez que tenga el tipo de contenido publicado en la colección de sitios de destino, puede crear y asociar flujos de trabajo para los tipos de contenido suscritos en el sitio de destino. Pero al hacerlo, he encontrado cuestiones tales como la Asociación de flujo de trabajo se elimina una vez que el tipo de contenido se vuelve a publicar. Es un simple workaround crear flujos de trabajo de lista en la colección de sitios de destino y no asociar con los tipos de contenido.


6. ¿Qué sucede con las plantillas de documento?Plantillas de documento asociadas con el tipo de contenido también se publican junto con el tipo de contenido suscrito.


7. ¿Qué sucede con los Document Set content Types?Sí, puede suscribirse a document set content types. En este caso, establecen todos los tipos de contenido dependientes con el documento y el documento fijado se publicará en el sitio de destino. Sin embargo, debe tener la Document set feature  activada en el sitio de destino.

8. Qué pasa con las dependencias de la feature? Las dependencias de la feature no se activan automáticamente en la colección de sitios de destino. Por lo tanto, necesitan activarse manualmente antes del proceso de suscripción.

Tips/Info #11–Sharepoint 2010

1-Algunos nombres que no pueden ser usados para la creación de contenido

    • A nivel de site collection
        • Long Running Operation Status
        • Notification Pages
        • PublishedLinks
        • Quick Deploy Items
        • Relationships List
        • Reports Lists
        • ReusableContent
        • Variation Labels
    • Para subsites
        • _catalogs  ("Error: Site names cannot contain certain reserved words and
          cannot begin with an underscore.")
        • _cts
        • _private
        • images
        • Lists
        • m

2-Execadmsvcjobs

Ejecuta todos los trabajos administrativos del temporizador inmediatamente en lugar de esperar a que se ejecute el trabajo del temporizador.

Cuando la cuenta de proceso del servicio de temporizador de Windows SharePoint Services (SPAdmin) está deshabilitada (es necesario en algunas instalaciones por motivos de seguridad), la operación execadmsvcjobs se debe ejecutar en todos los equipos para llevar a cabo el aprovisionamiento y otras tareas administrativas que normalmente se realizarían mediante el servicio de temporizador de Windows SharePoint Services (SPTimer).

stsadm -o execadmsvcjobs

3-Mover un site collection a un subsite

4-Columna fecha con formato ISO 8601. Creo una columna autocalculada desde a columna Created

032712_0008_Workingwith71

5-Obtener información de un correlation ID mediante powershell

get-splogevent ?{$_.Correlation -eq "GUID"} select Area, Category, Level, EventID, Message
Format-List

Cambie el GUID por el correlation ID que desea buscar

Les recuerdo que tienen disponible:

http://archive.msdn.microsoft.com/ULSViewer

http://ulsviewer.codeplex.com/

6-Error "Operation is not valid due to the current state of the object" al ejecutar un timer job

Setee el contexto a null en el código de la activación de la feature

HttpContext.Current = null;

7-Diferentes maneras de guardar datos de configuración

más info: http://todosharepoint.blogspot.com.ar/2012/02/guardando-data-de-configuracion-en.html

8- Tener cuidado con la opción de mostrar Subsites en la navegación global, puede ocasionar cargas lentas en las páginas. Desmarcar la opción de Show Subsites en ambas categorías

image

9-Obtener la actual retención de información de los distintos reportes asociados a WSS_LOGGING DATABASE

Get-SPUsageDefinition


10-Setear los días de retención de los distintos reportes de la base de datos de WSS_LOGGING


Set-SPUsageDefinition –Identity “categoria” –DaysRetained cant_dias

Ej: se retiene por 5 días los request de las distintas sanboxed solutions
Set-SPUsageDefinition -Identity "Sandboxed Requests" -DaysRetained 5
Otras categorias:
Content Import Usage, Workflow,Clickthrough Usage,Content Export Usage,Page Requests,Feature Use,Search Query Usage,Site Inventory Usage,Sandboxed Requests Monitored Data,Timer Jobs,Rating Usage

domingo, 1 de abril de 2012

Sharepoint 2010 BI cual elegir

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

Caso de negocio
Herramienta o BI a utilizar
Obtener data desde una base de datos SQL
SQL Server 2008 R2
. Database Engine
Data connection library
. External Data connection
Secure Store
. Target Application
. Unattended service account
External content types
 
Análisis OLAP
Reportes de datos
Data mining
Grandes volúmenes de datos, consultas rápidas
Fuentes de datos heterogéneas
Las consultas que implican las trasacciones y jerarquías de información
SQL Server Analysis Services
. Unfied Data Model
. Cubes
SQL Server Reporting Services
. SSRS Reports
. Access Services
Excel services
. Calculation services
. REST based access
. Rendering of Excel in browser
SSRS Add-in for SharePoint
. Integration mode
SSRS Report builder 3
Report Library
Performance Point services
Dashboard designer
SharePoint BI Center
. Dashboards
. Data connections
. Libraries
. Performance Point content
 
Reportes
PowerPivot for Excel
. Client side analysis of PowerPivot
PowerPivot for SharePoint
. Excel sheets with PowerPivot data
Excel services
. Excel sheets
. Calculation services
Report Builder 3
Dashboard Designer
. Analytic chart
. Analytic grid
. Strategy map
. KPI details
. Reporting services
. Pro clarity
. Web page
SharePoint designer
. List views
. Dataviews
. External content types
Obtener notificaciones
SSRS subscriptions
. static e-mail
. rdp to xlsx conversion in library
SharePoint alerts
Self-service analysis
Excel services
Excel Pivottables and charts
Dashboard items
. Scorecards
… Analysis Services data source
… Blank scorecard
… Fixed Values scorecard
… Excel Services
… Excel Workbook
… SharePoint list
… SQL Server Table
. Filters
… Custom table
… MDX Query
… Member selection
… Named set
… Time intelligence
. KPIs
… Blank KPI
… Objective (rollup) KPI
. Indicator
… Gauges
… Progress bars
… Smileys
… Stoplights
… Thermometer
… Trends
. Data source
 
 

Tips #10–Sharepoint 2010

1-Cuando usar PerformancePoint versus Reporting Services

PerformancePoint Services sirve para crear KPIs y scorecards. Si necesitas otro tipo de reportes (tabular, interactive, visual, o freeform), es recomendable usar SQL Server Reporting Services (SSRS).

2-Parámetro “IsDlg=1″ en las urls de Sharepoint

Abrirá el link ocultando la topbar, quick launch y ribbon

3--Parámetro “Contents=1″ en las urls de Sharepoint

Abrirá la página en modo mantenimiento

4-Borrar un servicio de aplicación de search

Abro una venta de powershell y ejecuto lo siguiente:

Get -SPServiceApplication

Tomo el ID del Search Service Application – Ej: 45b15b57-8bdc-46b5-110d-541d88bab42b

Después uso:

Stsadm -o deleteconfigurationobject -id 45b15b57-8bdc-46b5-110d-541d88bab42b

ó

Remove-SPServiceApplication -id [id of Search Service Application] -confirm:$false -RemoveData

5-No me aparecen los iconos en los resultados de búsqueda

Agrego una entrada para la extensión en el siguiente archivo: DOCICON.xml y hago un IISreset

El mismo se encuentra en : %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\DocIcon.xml

<DocIcons>
<ByProgID>
<Mapping
Key="Excel.Sheet"
Value="ichtmxls.gif"
EditText="Microsoft Office Excel"
OpenControl="SharePoint.OpenDocuments" />
<Mapping
Key="FrontPage.Editor.Document"
Value="ichtmfp.gif"
EditText="Microsoft Office FrontPage"
OpenControl="SharePoint.OpenDocuments" />
...
</ByProgID>
6-Obtener todos los documentos una libreria y subcarpetas de forma recursiva


   1:  ClientContext clientContext =
   2:      new ClientContext("http://sharepoint/");
   3:      List sharedDocumentsList = clientContext.Web.Lists.GetByTitle("Libreria");
   4:      CamlQuery camlQuery = new CamlQuery();
   5:     camlQuery.ViewXml = @"<View Scope='Recursive'><Query><Where><Eq><FieldRef Name='FSObjType' /><Value Type='Lookup'>0</Value></Eq></Where></Query></View>"
   6:   
   7:   
   8:      ClientOM.ListItemCollection listItems =
   9:          sharedDocumentsList.GetItems(camlQuery);
  10:      clientContext.Load(listItems);
  11:      clientContext.ExecuteQuery();
  12:      foreach (var item in listItems)
  13:      {
  14:         // obtengo todos los documentos
  15:      }



7- Algunos controles delegados




  • AdditionalPageHead – (permite varios controles)
  • GlobalSiteLink0
  • GlobalSiteLink1
  • GlobalSiteLink2
  • SmallSearchInputBox
  • TopNavigationDataSource
  • PublishingConsole
  • QuickLaunchDataSource


Para utilizarlos desde tu solución de Visual Studio, deberás editar el element.xml y agregar lo siguiente:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!--Add Global Link SharePoint PT using Custom Action-->
<Control Id="AdditionalPageHead" Sequence="100" ControlSrc="~/_CONTROLTEMPLATES/CustomHeader/CustomHeader.ascx"></Control>
</Elements>
Recuerda que la feature deberá ser de tipo farm.


Más info: https://msmvps.com/blogs/sundar_narasiman/archive/2011/02/19/sharepoint-2010-delegate-control-to-replace-smallsearchinputbox.aspx


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


8- SP.SOD.executeOrDelayUntilScriptLoaded



SP.SOD.executeOrDelayUntilScriptLoaded(func, depScriptFileName);
Ejecuta la función del archivo pasado como parámetro si la página que contiene el código se cargo, en caso contrario se agrega a una cola de pendientes. Esta función se encuentra en init.js
http://www.ilovesharepoint.com/2010/08/sharepoint-scripts-on-demand-spsod.html
9-Sharepoint 2010 ventanas modales


   1:          var options = SP.UI.$create_DialogOptions();
   2:          options.width = 600;
   3:          options.height = 600;
   4:          options.url = "/_layouts/pagina.aspx";
   5:          options.showClose = true;
   6:          options.title = "Titulo de la venta";
   7:          options.dialogReturnValueCallback =
   8:              Function.createDelegate(null, dialogoModalCloseCallback);
   9:          SP.UI.ModalDialog.showModalDialog(options);



   1:  function dialogoModalCloseCallback(result, value) {
   2:      //codigo que se ejecutará cuando se cierra la ventana
   3:  }




Abrir todos los links que tienen #openinwindow en el link


   1:  $('a[href*=openinwindow]').
   2:      filter(':not(.ms-dialog a)').
   3:      click(function () {
   4:          var options = {
   5:              url: $(this).attr('href'),
   6:              width: $(this).attr('width') ? $(this).attr('width') : 700,
   7:              height: $(this).attr('height') ? $(this).attr('height') : 700,
   8:              dialogReturnValueCallback: function () {
   9:              }
  10:          };
  11:      SP.UI.ModalDialog.showModalDialog(options);
  12:      return false;
  13:  });



   1:  <a href="/Pages/pagina.aspx?#openinwindow">Lorem Ipsum</a>
   2:  <a width="500" height="400" href="/Pages/pagina2.aspx?#openinwindow">Lorem Ipsum with custom width and height</a>