Compartilhar via


Novidades para desenvolvedores de recursos de colaboração e sociais no SharePoint

Saiba mais sobre os recursos sociais e de colaboração novos e alterados para cenários de desenvolvimento do Site do Meu Site e Da Comunidade no SharePoint. Os recursos sociais e de colaboração no SharePoint facilitam a comunicação e a comunicação dos usuários e permanecem engajados e informados. O feed social aprimorado em sites de equipe e sites pessoais ajuda os usuários se manter atualizado com as pessoas e conteúdo que ele está preocupado. O novo recurso de Site da comunidade fornece uma experiência de comunidade avançada que permite aos usuários a encontrar e compartilhar informações e localizar pessoas que têm interesses semelhantes.

Para obter uma visão geral detalhada dos novos recursos sociais e de colaboração no SharePoint, confira Novidades na computação social no SharePoint no TechNet. Para obter mais informações sobre programação com recursos sociais e de colaboração, consulte Recursos sociais e de colaboração no SharePoint.

Novos e alterados recursos do Meu Site no SharePoint

O My Site Social API, que inclui os perfis de usuário e dados sociais, contém muitos recursos novos e alterados. Novas funcionalidades para Meus Sites e sites de equipe fornece uma experiência interativa, conversa dentro feeds que torna mais fácil para os usuários permaneçam conectadas para pessoas e conteúdo que são importantes para eles.

A página do Newsfeed no SharePoint exibe várias dessas melhorias, incluindo uma caixa de texto que permite que os usuários publiquem rapidamente postagens de microblog e um feed interativo e conversacional de postagens e atualizações das pessoas e conteúdo que o usuário está seguindo.

Novo namespace Social fornece APIs feeds sociais e acompanhar pessoas e conteúdo

O namespace Social contém a API principal para trabalhar com feeds e postagens de microblog e para conteúdo e pessoas a seguir. Para obter mais informações, consulte Microsoft.SharePoint.Client.Social para o modelo de objeto do cliente .NET, SP. Social para o modelo de objeto do JavaScript e Microsoft.Office.Server.Social para o modelo de objeto do servidor.

Observação

A API no namespace Microsoft.Office.Server.ActivityFeed é preterida. Consulte Preteridos e removidos My Site Social API e recursos.

Novas APIs de cliente para feeds sociais, seguindo pessoas e conteúdo e propriedades do usuário no SharePoint

O SharePoint inclui novas APIs de cliente que você pode usar para trabalhar com feeds sociais, seguir pessoas e conteúdo e recuperar propriedades do usuário em desenvolvimento online, local e móvel. Quando possível, você deve usar APIs do cliente para desenvolvimento do SharePoint em vez de usar o modelo de objeto do servidor ou serviços Web. APIs do cliente incluem modelos de objeto do cliente gerenciado, um modelo de objeto JavaScript e um serviço de transferência de estado representacional (REST). Se você estiver desenvolvendo um Suplemento do SharePoint, você deve usar a API do cliente.

Nem todas as funcionalidades do lado do servidor no assembly Microsoft.Office.Server.UserProfiles estão disponível de APIs do cliente. Por exemplo, não há acesso do lado do cliente à API no namespace Microsoft.Office.Server.Audience , no namespace Microsoft.Office.Server.ReputationModel ou no namespace Microsoft.Office.Server.SocialData . Para ver quais APIs estão disponíveis, consulte o namespace Microsoft.SharePoint.Client.Social e o namespace Microsoft.SharePoint.Client.UserProfiles .

Para obter informações sobre como acessar as APIs do cliente Do Meu Site Social, confira Introdução ao desenvolvimento com recursos sociais no SharePoint. Para obter mais informações sobre os conjuntos de API no SharePoint e quando usá-los, consulte Escolher o conjunto de API correto no SharePoint.

Use o método ProfileLoader.CreatePersonalSiteEnqueueBulk para provisionar sites pessoais e OneDrive for Business para vários usuários (administradores de HostMy Site em SharePoint Online apenas)

My Site Administradores de host podem usar o método ProfileLoader.CreatePersonalSiteEnqueueBulk programaticamente provisionar sites pessoais para vários usuários no SharePoint Online, que incluem recursos como OneDrive for Business e a página Sites.

O exemplo de código a seguir usa o modelo de objeto do cliente .NET em um aplicativo de console. Antes de executar o exemplo, adicione referências a Microsoft.SharePoint.Client.dll, Microsoft.SharePoint.Client.Runtime.dll e Microsoft.SharePoint.Client.UserProfiles.dll e alterar os valores de espaço reservado para as variáveis userName, passwordStre serverUrl. A variável serverUrl deve ser a URL do SharePoint Online Centro de administração.

Observação

Para obter as DLLs de cliente necessárias, baixe o SDK de Componentes do Cliente do SharePoint Online.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.UserProfiles;

namespace CreatePersonalSiteBulkConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            string userName = "administrator@contoso.onmicrosoft.com";
            string passwordStr = "password";
            string serverUrl = "https://contoso-admin.sharepoint.com/";

            using (var clientContext = new ClientContext(serverUrl))
            {
                SecureString password = new SecureString();
                Array.ForEach(passwordStr.ToCharArray(), c => password.AppendChar(c));

                var credentials = new SharePointOnlineCredentials(userName, password);

                clientContext.Credentials = credentials;

                var web = clientContext.Web;
                clientContext.Load(web);
                clientContext.ExecuteQuery();
                ProfileLoader loader = ProfileLoader.GetProfileLoader(clientContext);

                if (loader == null)
                {
                    throw new InvalidOperationException("Failed to get ProfileLoader");
                }

                string[] userEmails = { "usera@contoso.onmicrosoft.com", "userb@contoso.onmicrosoft.com" };
                loader.CreatePersonalSiteEnqueueBulk(userEmails);
                loader.Context.ExecuteQuery();
            }
        }
    }
}

Para usar o método CreatePersonalSiteEnqueueBulk com Windows PowerShell, primeiro, altere os valores de espaço reservado (a URL do SharePoint Online Centro de administração e os nomes de usuário) nos seguintes comandos e, em seguida, execute os comandos no SharePoint Management Shell.


$webUrl = "https://yoursharepointadmin.sharepoint.com"
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($webUrl)

$web = $ctx.Web
$username = "admin@myadmin.sharepoint.com"
$password = read-host -AsSecureString

$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username,$password)

$ctx.Load($web)
$ctx.ExecuteQuery()

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.UserProfiles")

$loader =[Microsoft.SharePoint.Client.UserProfiles.ProfileLoader]::GetProfileLoader($ctx)

#To get profile
$profile = $loader.GetUserProfile()
$ctx.Load($profile)
$ctx.ExecuteQuery()
$profile 
#To enqueue profile
$loader.CreatePersonalSiteEnqueueBulk(@("user1@domain.com")) 
$loader.Context.ExecuteQuery()

Para obter mais informações, consulte Usar Windows PowerShell para administrar o SharePoint.

Novos objetos para usuários e propriedades de usuário SharePoint

O SharePoint inclui novos objetos que representam usuários e propriedades do usuário:

  • O objeto SocialActor representa usuários (e outras entidades) para atividades de feed e a seguir.

  • O objeto PersonProperties contém propriedades gerais do usuário e propriedades de perfil de usuário.

Observação

As versões do modelo de objeto do servidor são o objeto SPSocialActor e o objeto PersonProperties .

O SharePoint também inclui um novo objeto UserProfile do lado do cliente que fornece métodos que você pode usar para criar um site pessoal para o usuário atual. No entanto, ele não contém todas as propriedades de usuário que contém o objeto do servidor UserProfile . Para acessar todas as propriedades de usuário do código do lado do cliente, use o método de PeopleManager.GetMyProperties ou o método PeopleManager.GetPropertiesFor (perfil de usuário propriedades são armazenadas na propriedade PersonProperties.UserProfileProperties ) ou usar o método PeopleManager.GetUserProfilePropertiesFor ou PeopleManager.GetUserProfilePropertyFor .

Novo controle de selecionador de pessoas do lado do cliente

O controle People Picker de cliente é um controle HTML e JavaScript que fornece suporte a vários navegadores para selecionar pessoas, grupos e declarações. Você pode configurar o seletor com as mesmas configurações como a versão do servidor do controle, incluindo as propriedades de controle específico (como permitindo que vários usuários ou grupos e usuários) e definições de configuração de nível de aplicativo (como parâmetros Active Directory Domain Services ou florestas determinadas direcionamento) da web. Para obter mais informações, consulte Usar o controle picker Pessoas do lado do cliente em Suplementos do SharePoint hospedados pelo SharePoint.

Preteridos e removidos My Site Social API e recursos

Os seguintes recursos e a API Social do Meu Site são preteridos no SharePoint:

  • A API no namespace Microsoft.Office.Server.ActivityFeed é preterida. O namespace social fornece a API para trabalhar programaticamente com feeds sociais no SharePoint. Para compatibilidade com atraso, os itens ActivityEvent do SharePoint 2010 são exibidos em feeds do SharePoint como eventos que não podem ser respondidos. (Migração do evento de legado deve ser habilitada na Administração Central).

  • My Site RSS feed (ActivityFeed.aspx) é substituído pelo novo APIs no modelo de objeto do JavaScript, o modelo de objeto do cliente e o serviço REST. Para migrar o código personalizado SharePoint 2010 que usa essa API (preferencialmente um cliente API), substitua todas as solicitações para ActivityFeed.aspx chamadas para a nova API e alça de feed de dados que são retornados no formato JavaScript Object Notation (JSON).

  • A Web Part de Atividades Recentes é substituída por uma nova Web Part do Newsfeed que dá suporte a conversas multithread e recuperação dinâmica de feed.

    Observação

    Não oferecemos suporte a personalizações da Web Part do Newsfeed ou de outras web parts do feed (como a Web Part do Feed do Site em sites de equipe). Se você personalizar essas web parts, por exemplo, usando substituições JavaScript, esteja ciente de que suas personalizações podem interromper as atualizações no SharePoint.

  • A Web Part de Comentários Sociais é preterida.

  • Os seguintes eventos de atividade não são mais automaticamente informam o feed: atualização, Aniversário próximo, aniversário de tempo futuras na, nova associação e alteração de gerente de perfis. No entanto, você pode criar receptores de eventos personalizados para essas atividades. Nenhum novos eventos sociais foram adicionados.

  • Os seguintes campos na enumeração Privacidade são preteridos: Contatos, Organização e Gerente. O SharePoint oferece apenas configurações de privacidade privadas ( somente eu) e públicas ( todos). Configurações de privacidade existentes são mantidas até que eles são alterados pelo usuário. Para migrar o código personalizado SharePoint 2010 que usa essa API, substitua todas as referências a campos de privacidade preteridos.

  • As Seguintes pessoas API que é acessado a partir do SocialFollowingManager substitui a funcionalidade de colegas do SharePoint Server 2010. A página de colegas foi substituída com a página de pessoas que estou seguindo. O recurso de grupos de usuários para organizar colegas em grupos habilitados não está mais disponível.

  • Os perfis da organização estão obsoletos no SharePoint e os seguintes tipos são preteridos: OrganizationProfile, OrganizationProfileManager, OrganizationMembershipType, OrganizationNotFoundException, OrganizationProfileChange,OrganizationProfileChangeQuery, OrganizationProfileMembershipChange e OrganizationProfileValueCollection.

  • O recurso Meus Links é preterido no SharePoint.

Novo recurso site da comunidade no SharePoint

O novo recurso de Site da comunidade inclui um novo modelo de site e discussão experiência aprimorada. Recursos como reputação, categorias, discussões em destaque, um tipo de pergunta-post e melhores respostas permitem que os membros da comunidade facilmente localizar pessoas com interesses semelhantes, informações relevantes e discussões populares. Membros construa reputação conforme eles participarem de comunidades.

O recurso de Site da comunidade não expõe uma API específica para desenvolvimento. Para estender os recursos do Site da comunidade, você usa sites do SharePoint e APIs de lista diretamente. Por exemplo, você pode usar APIs do SharePoint para personalizar os modelos de site e uma lista, criar atividades personalizadas de comunidades para o feed social, integrar as informações de reputação em resultados da pesquisa, personalize o modelo de reputação ou criar fluxos de trabalho para discussões moderados.

A lista a seguir contém informações para desenvolver com recursos do Site da comunidade:

  • Sites de comunidade usam o modelo de site Community ( Id = 62). O modelo de site não está disponível para sites públicos. O tipo de modelo da lista de painéis de discussão é DiscussionBoard (valor = 108).

  • Ativando o recurso de Site da comunidade ativa o receptor de evento CommunityEventReceiver.

  • Para personalizar o modo de exibição de lista renderizada do lado do cliente, você deve usar JavaScript substituições para substituir o modo de exibição. As exibições de lista não podem ser estendidas por meio da API do SharePoint. Para obter mais informações, consulte Personalizar uma exibição de lista em Suplementos do SharePoint usando a renderização do lado do cliente.

  • Sites da comunidade usam eventos assíncronos para atualizar objetos. Se eventos assíncronos forem executados em segundo plano, você poderá encontrar Salvar conflitos quando tentar atualizar listas ou listar itens e seu identificador para o objeto pode ficar obsoleto.

    Como alternativa, manipular exceções que são retornados pelas chamadas de atualização, atualize a instância antes de repetir a chamada e executar um loop para várias tentativas, conforme mostrado no exemplo de código a seguir.

  
int retries = 1;
while (retries <= 10)
{
    try
    {
        spListItem.IconOverlay = urlString;
        spListItem.Update();
        break;
    }
    catch (SPException saveConflict)
    {
        spListItem = web.Lists.GetItemById(spListItem.ID);
        retries++;
        if (retries > 10) throw;
        System.Threading.Thread.Sleep(1000);
    }
}

Confira também