sábado, 29 de junio de 2013

Tips info #13 Sharepoint 2013

1-Search Center Pages en Sharepoint 2013

En SharePoint 2013 hay uno nuevo concepto relacionado al Search llamado "Search Verticals", el mismo hace referencia a las Categorías que se muestran en el Search box de un centro de búsqueda (Search Center).

SearchNavigation_OOTB

Por default muestra las siguientes categorías: Everything, People, Conversations and Video

Cuando se crea un Search Center se crean también páginas asociadas:

  • default.aspx: la página inicial del Search Center, y en donde los usuarios ingresan sus consultas
  • results.aspx: la página default de resultados de búsqueda para el Search Center, también es la página de resultados para el search vertical Everything.
  • peopleresults.aspx: la página default de resultados de búsqueda para el People search vertical.
  • conversationresults.aspx: la página default de resultados de búsqueda para el  Conversations search vertical.
  • videoresults.aspx: la página default de resultados de búsqueda para el Videos search vertical.
  • advanced.aspx: es la página para búsquedas avanzadas, donde se puede agregar restricciones a las consultas.
  • image_thumb1

    Para agregar un nuevo Search Vertical, deberemos crear primero una página asociada a la categoría.

    SearchCreatePageRibbon

    SearchCreatePage

    Una vez que se crea la página, deberás editar la página, y a continuación Editar el web part de resultados. Click en change query, y a continuación podrás realizar una custom query para el resultado de búsqueda. En la parte superior elige el modo avanzado, click en el combo de Keyword filter y selecciona “Only return sites”, y presiona el botón “Add Keyword Filter”.

    image

    Detén la edición de la página, y redirígete a la sección de Search Settings del site.

    SiteSettingsSearch

    Baja hasta la sección de “Configure Search Navigation” y haz click en “Add Link”. Agrega la url de la página y el texto del Search Vertical o Categoría

    image

    2-Sharepoint Color Palette Tool

    Hay una herramienta llamada Sharepoint Color Palette Tool (http://www.microsoft.com/en-us/download/details.aspx?id=38182) que permite diseñar los colores (.spcolor file) de nuestros sites en Sharepoint 2013.

    sharepoint 2013 theme wizard

    El archivo .spcolor es un archivo xml que define el valor del color en hexadecimal para los colores del site.Ej:

    <?xml version="1.0" encoding="utf-8"?>

    <s:colorPalette isInverted="false" previewSlot1="BackgroundOverlay" previewSlot2="BodyText" previewSlot3="AccentText" xmlns:s="http://schemas.microsoft.com/sharepoint/">

    <s:color name="BodyText" value="444444" />

    <s:color name="SubtleBodyText" value="777777" />

    <s:color name="StrongBodyText" value="262626" />

    <s:color name="DisabledText" value="B1B1B1" />

    <s:color name="SiteTitle" value="262626" />

    <s:color name="WebPartHeading" value="444444" />

    <s:color name="ErrorText" value="BF0000" />

    <s:color name="AccentText" value="0072C6" />

    <s:color name="SearchURL" value="338200" />

    <s:color name="Hyperlink" value="0072C6" />

    <s:color name="BackgroundOverlay" value="D8FFFFFF" />

    ...

    </s:colorPalette>

    Para mayor información de este archivo puede consultar el siguiente link:http://msdn.microsoft.com/en-us/library/jj945889.aspx

    SharePoint 2013 Color Palette Tool

    Una vez que termino de editar el archivo spcolor, lo podrá subir con el Sharepoint designer 2013 a la carpeta _catalogs/theme/15/

    3-Conectores que vienen por default en Sharepoint 2013

    El crawler usa conectores para conectarse a contenido remoto, en las versiones anteriores se llamaban protocol handlers.

    Connector

    Content repository

    Bcs

    Business Connectivity Services (internal protocol)

    Bcs2

    Business Connectivity Services URLs (internal protocol)

    File

    File shares

    http

    Web sites

    https

    Web sites over Secure Sockets Layer (SSL)

    Notes

    Lotus Notes databases

    Rb

    Exchange public folders for versions prior to Microsoft Exchange Server 2003

    Rbs

    Exchange public folders over SSL for versions prior to Exchange Server 2003

    Sps

    People profiles in Microsoft Office SharePoint Portal Server 2003

    Sps3

    People profiles in Microsoft Office SharePoint Server 2007

    Sps3s

    People profiles in Office SharePoint Server 2007 over SSL

    Spss

    People profiles in SharePoint Portal Server 2003 over SSL

    Sts3

    Windows SharePoint Services 3.0 and Office SharePoint Server 2007 sites

    Sts3s

    Windows SharePoint Services 3.0 and Office SharePoint Server 2007 sites over SSL

    Sts4

    Microsoft SharePoint Foundation 2010, SharePoint Server 2010, SharePoint Foundation 2013, and SharePoint Server 2013 sites

    Sts4s

    SharePoint Foundation 2010, SharePoint Server 2010, SharePoint Foundation 2013, and SharePoint Server 2013 sites over SSL

    4-Aumentar el tamaño para subir archivos en Sharepoint 2013

    El valor máximo definido por default para subir archivos en Sharepoint es de 50 MB, y el tamaño máximo permitido es de 2 GB. Algunos errores que pueden aparecer cuando se sobrepasa el tamaño default son:

  • "An unexpected error has occurred"
  • "The page cannot be displayed”
  • "An unknown error occurred"
  • "HTTP 404 – Page Not Found”
  • “Request timed Out’
  • Para cambiar el límite default de upload, realice lo siguiente

  • SharePoint Central Administration > Application Management'
  • Slecciona el web application adonde deseas cambiar el valor máximo de subida
  • En la sección de “Maximum upload size”, escribe el nuevo valor en MB, ej: 250 MB
  • image

    En el caso que quieras setear esta configuración para tipos de archivos predefinidos usa el siguiente comando.

    $WebApp = Get-SPWebApplication "http://webapplication
    $WebApp.MaximumFileSizePerExtension.Add("wmv",250)
    $WebApp.Update()

    En el script setee que se podrá subir archivos wmv de 250 MB de tamaño máximo.

    A continuación se deberá modificar el web.config del web application.

  • Abre el web.config desde 'C:\Inetpub\wwwroot\wss\VirtualDirectories\<Virtual Directory>'
  • <httpRuntime maxRequestLength="51200" /> with <httpRuntime executionTimeout="999999" maxRequestLength="51200" />

  • Ejecuta IISReset
  • Después de haber editado el web config, se deberá editar el tiempo de conexión del IIS (por default es de 120 seg), pero para conexiones lentas puede ser un problema

    image

    image

    Para finalizar la configuración, se deberá la propiedad “Maximum allowed content length(Bytes)” del IIS.

    Selecciona el local host (nombre del server), Request Filtering -> Edit Feature Settings –> cambia la propiedad Maximum allowed content length(Bytes)

    En el caso que uses client object podrás setear la propiedad RequestTimeout del contexto.

    context.RequestTimeout = 3600000; // Time in milliseconds
    Microsoft.SharePoint.Client.File.SaveBinaryDirect(context, relativePath, filestream, overWrite);.

    5-Transaction Log Full en la base de contenido de Sharepoint 2013


    Realizando un check in de una página, me lanzó el error “Cannot complete this action. The URL 'Pages/default.aspx' is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.”


    Revisando los logs, me aparecía “The transaction log for database ‘WSS_Content’ is full.


    A continuación deberás realizar lo siguiente:


  • Abre el SQL Management Studio
  • Click en ‘New Query’
  • Ejecuta lo siguiente

  • USE [WSS_Content];


    –  Set Recovery Model a SIMPLE

    ALTER DATABASE WSS_Content

    SET RECOVERY SIMPLE;

    GO

    DBCC SHRINKFILE ( WSS_Content_log, 100);

    GO

    –  Set Recovery Model a FULL

    ALTER DATABASE WSS_Content

    SET RECOVERY FULL;

    Se realizará un truncate de los logs a 100 MB. Haz un IISRESET a continuación.


    Para saber el nombre del nombre lógico de los logs, has click derecho sobre la base, ve a las propiedad de la base, y selecciona la sección files.


    IMPORTANTE: nunca realizar shrinks de los datafiles, genera fragmentación.

    martes, 18 de junio de 2013

    MySite – Distributed Cache Sharepoint 2013

    Configurando MySites de Sharepoint 2013, me dí cuenta que el web part de “I´m Following”, no aparecía en la sección de la derecha de NewsFeeds

    Untitled

    Revisando los logs, aparecía el error:

    "The operation failed because an internal error occurred. Internal type name: Microsoft.Office.Server.Microfeed.MicrofeedException. Internal error code: 55."

    “SPMicrofeedFeedCacheService.GetUserProfile() - UserProfileApplicationProxy not available”

    También puede aparecer el error: "We're still collection the latest news. You may see more if you try again a little later."

    Este error indica “ServerErrorFetchingConsolidatedFeed”, por lo tanto supuse que era un problema de la feature Distributed Cache, la cual está relacionada con la cache de Feeds del User Profile.

    A continuación, revise la configuración de la distributed cache.

    use-cachecluster

    get-cachehost

    add-PSSnapin Microsoft.SharePoint.PowerShell

    get-AFCacheHostConfiguration -ComputerName WFEName1 -CachePort "22233"

    get-AFCacheHostConfiguration -ComputerName WFEName1 -CachePort "22233"

    get-CacheClusterHealth

    image

    Los dos cache host estaban “Up” y funcionando correctamente. Por lo tanto el problema debería algún permiso faltante en la configuración, y en estaba en lo correcto:

    Los permisos correctos son los siguientes:

    • Al usuario de Distributed Cache (Ej: SP_AppFabric) darle permisos de full control sobre el User Profile Service Application, y de administrador sobre el mismo.

    $account = New-SPClaimsPrincipal <domain\user> -IdentityType WindowsSamAccountName

    $UPA = Get-SPServiceApplication <ID>,

    donde el <ID> es el ID del service application  de USer Profile.

    $sec = Get-SPServiceApplicationSecurity $UPA

    Grant-SPObjectSecurity $sec2 -Principal $account -Rights "Full Control"

    Set-SPServiceApplicationSecurity -Identity $UPA -ObjectSecurity $sec

    Estos permisos también lo puedes realizar desde el Central Administration –> Service Application –> Seleccionar User Profile Service Application –> Permissions

    image

    • Al usuario de App Pool que ejecuta los services application (Ej: SP_ServiceApps ) darle permisos de full control sobre el User Profile Service Application y de administrador sobre el service.
    • Darle permisos al grupo WSS_WPG

    use-CacheCluster

    Grant-AFCacheAllowedClientAccount WSS_WPG

    Después de setear los permisos, reinicie los servers WFE1 y WFE 2, y empezó a aparecer “I´m Following” de NewsFeeds:

    Untitledcorrecto

    A continuación te listo todos los errores posibles de excepciones microfeed:

    "The operation failed because an internal error occurred. Internal type name: Microsoft.Office.Server.Microfeed.MicrofeedException. Internal error code: XY."

    Code

    Description

    0

    Success

    1

    ServerError

    2

    InsufficientPermissions

    3

    InterimPlaceholderEntity

    4

    InvalidItemId

    5

    InvalidThreadId

    6

    InvalidUriInPostOptions

    7

    InvalidMediaLinkName

    8

    InvalidMediaLinkURI

    9

    InvalidMediaLinkSnippetURI

    10

    MediaLinkAddFailure

    11

    NoServiceContext

    12

    Invalid_MicroBlogType_Requested

    13

    Only_One_ContentUri_Allowed_Per_Post

    14

    Invalid_Content_Null_Or_Empty

    15

    Invalid_Content_Length_Greater_Than_512_Chars

    16

    Invalid_KeyWord_Found_In_Content

    17

    Invalid_MediaLinks_SerializedString

    18

    Invalid_MicroBlogPost_SerializedString

    19

    MicroBlogEntity_Error_PublishedFeedList_NotFound

    20

    MicroBlogEntity_Invalid_GetPublishedFeed

    21

    MicroBlogPost_Error_SavingToPublishedFeed

    22

    MicroBlogPost_Error_PublishingToCache

    23

    MicroBlogPost_Error_DeletingFromCache

    24

    MicroBLogList_Error_FetchingList

    25

    MicroBlogList_Error_ExecutingQuery

    26

    MicroBlogList_Error_FetchingItem

    27

    MicroBlogList_Error_AddingItem

    28

    MicroBlogList_Error_Updating_Item

    29

    MicroBlogList_Error_FetchMBProfileItem

    30

    MicroBlogList_Error_AccessingProperty

    31

    InvalidRequest

    32

    InvalidLikeRequest

    33

    InvalidLockRequest

    34

    InvalidRootPost

    35

    InvalidReplyRequest

    36

    InvalidReplyRequest_MaxRepliesPerRootPost_LimitReached

    37

    InvalidLikeRequest_AlreadyMarkedAsLiked

    38

    InvalidUnLikeRequest_AlreadyMarkedAsUnLike

    39

    InvalidEMailSubscriptionRequest_AlreadyUnsubscribed

    40

    InvalidEMailSubscriptionRequest_AlreadySubscribed

    41

    InvalidEMailSubscriptionRequest_NotThread

    42

    InvalidLockRequest_AlreadyMarkedAsLocked

    43

    InvalidUnLockRequest_AlreadyMarkedAsUnLocked

    44

    InvalidLockRequest_LockingNonRootPost

    45

    ServerErrorCanReplyIsFalse

    46

    ServerErrorFeatureDisabled

    47

    ServerErrorSiteNotFound

    48

    ServerErrorMicroBlogListNotFound

    49

    ServerErrorRootPostNotFound

    50

    ServerErrorPublishedFeedListNotFound

    51

    ServerErrorPublishedFeedListItemNotFound

    52

    ServerErrorSavingListItemField

    53

    ServerErrorInvalidFeedRequest

    54

    ServerErrorFetchingPublishedFeed

    55

    ServerErrorFetchingConsolidatedFeed

    56

    ServerErrorFetchingCategoricalFeed

    57

    ServerErrorFetchingActivityFeed

    58

    ServerErrorSecurityTrimmer

    59

    ServerErrorDuplicateMessageId

    60

    ServerErrorOpeningPersonalSite

    61

    ServerError_Initialization

    62

    ServerErrorInvalidContentURI

    63

    ServerErrorInvalidFollowedItemType

    64

    ServerErrorPublishingToList

    65

    ServerErrorPublishingToCache

    66

    MicroBlogDeletionError_NotOwner

    67

    ServerCacheError_CacheNotFound

    68

    ServerCacheError_NotAuthorized

    69

    ServerCacheError_ThreadNotFound

    70

    IncorrectTenantPartition

    71

    InvalidUserAccount

    72

    InvalidKeywordTag

    73

    Taxonomy_TagNotAvailabelForTagging

    74

    Taxonomy_TermStoreNotFound

    75

    InvalidEntityIdentifier

    76

    UnexpectedEntityType

    77

    WarningPersonalSiteNotFoundCannotCreate

    78

    WarningPersonalSiteNotFoundCanCreate

    79

    WarningPersonalSiteNotFoundCanCreateNoPermissions

    80

    WarningPersonalSiteNotFoundCanCreateError

    81

    ErrorPersonalSiteNotFound

    82

    GuidStringConversionError

    83

    ServerErrorUnableToFetchUserProfile

    84

    SP_MFPD_DataBase_Exception

    85

    SP_MFPD_DataBase_DefinitionNotFound

    86

    SP_MFPD_Invalid_Operation

    87

    SP_MFPD_Invalid_Value

    88

    SP_MFPD_Partition_Mismatch

    89

    SP_MFPD_Definition_Disabled

    90

    Invalid_MicroBlogPost_DefinitionNameIsRequired

    91

    Invalid_MicroBlogPost_InvalidDefinitionName

    92

    InvalidRequest_PostIsLocked

    93

    ServerErrorUnableToAttachPicture

    94

    InvalidFeedCacheEntity_UserMissingURI

    95

    InvalidFeedCacheEntity_DocMissingURI

    96

    RestrictedListStorageCompromised

    97

    InvalidPostTarget