Nouveautés pour les développeurs de fonctionnalités sociales et de collaboration dans SharePoint
Découvrez les fonctionnalités sociales et de collaboration nouvelles et modifiées pour les scénarios de développement de sites Mon site Community sites dans SharePoint. Les fonctionnalités sociales et de collaboration SharePoint aux utilisateurs de communiquer et de rester impliqués et informés. Le flux sociaux amélioré sur les sites personnels et les sites d'équipe permet aux utilisateurs de maintenir à jour avec les personnes et le contenu qui les intéressent. La nouvelle fonctionnalité de Site de la Communauté fournit une expérience riche Communauté qui permet aux utilisateurs de rechercher facilement et partager des informations et de rechercher des personnes qui ont les mêmes centres d'intérêt.
Pour une vue d’ensemble détaillée des nouvelles fonctionnalités sociales et de collaboration dans SharePoint, voir Nouveautés de l’informatique sociale dans SharePoint sur TechNet. Pour plus d’informations sur la programmation avec des fonctionnalités sociales et de collaboration, voir les fonctionnalitéssociales et de collaboration dans SharePoint .
Fonctionnalités Mon site nouvelles et modifiées dans SharePoint
Le Mon site social API, qui inclut les profils utilisateur et données sociales, contient de nombreuses fonctionnalités de nouvelles et modifiées. Nouvelles fonctionnalités pour les sites Mon site et les sites d'équipe fournit une expérience interactive, sous forme de conversation au sein de flux qui facilite pour les utilisateurs de rester connectés aux personnes et le contenu qui comptent leur.
La page Flux d’actualités sur SharePoint affiche plusieurs de ces améliorations, notamment une zone de texte qui permet aux utilisateurs de publier rapidement des billets de microblog et un flux interactif de conversations de publications et de mises à jour des personnes et du contenu suivis par l’utilisateur.
Nouvel espace de noms Social fournit des API pour les flux sociaux et suivi des personnes et des contenus
L'espace de noms Social contient l'API principale pour travailler avec des flux et des billets de microblog et pour le contenu et les personnes suivantes. Pour plus d'informations, voir Microsoft.SharePoint.Client.Social pour le modèle objet client .NET, SP. Mise en réseau pour le modèle d'objet JavaScript et Microsoft.Office.Server.Social pour le modèle objet serveur.
Notes
[!REMARQUE] L'API dans l'espace de noms Microsoft.Office.Server.ActivityFeed est obsolète. Voir les Déconseillées et supprimées Mon site social API et des fonctionnalités.
Nouvelles API clientes pour les flux sociaux, le suivi des personnes et du contenu, ainsi que les propriétés utilisateur dans SharePoint
SharePoint inclut de nouvelles API clientes que vous pouvez utiliser pour travailler avec des flux sociaux, suivre des personnes et du contenu, et récupérer des propriétés utilisateur dans le développement en ligne, local et mobile. Dans la mesure du possible, vous devez utiliser les API clientes pour SharePoint développement au lieu d’utiliser le modèle objet serveur ou les services web. API clientes inclure des modèles d'objet client géré, un modèle d'objet JavaScript et un service Representational State Transfer (REST). Si vous développez une Complément SharePoint, vous devez utiliser un client API.
Certaines fonctionnalités côté serveur dans l'assembly Microsoft.Office.Server.UserProfiles sont disponible à partir de l'API clientes. Par exemple, il n'existe aucun accès côté client pour l'API dans l'espace de noms Microsoft.Office.Server.Audience , l'espace de noms Microsoft.Office.Server.ReputationModel ou l'espace de noms Microsoft.Office.Server.SocialData . Pour les API disponibles, consultez l'espace de noms Microsoft.SharePoint.Client.Social et l'espace de noms Microsoft.SharePoint.Client.UserProfiles .
Pour plus d’informations sur l’accès aux API client mon site social, voir Commencer à développer avec des fonctionnalités sociales dans SharePoint. Pour plus d’informations sur les ensembles d’API dans SharePoint et quand les utiliser, voir Choisir l’ensemble d’APISharePoint .
La méthode ProfileLoader.CreatePersonalSiteEnqueueBulk permet de mettre en service des sites personnels et OneDrive Entreprise pour plusieurs utilisateurs (administrateurs de l'hôteSite Mon site sur SharePoint Online uniquement)
Site Mon site Administrateurs de l'hôte peuvent utiliser la méthode ProfileLoader.CreatePersonalSiteEnqueueBulk par programme mise en service des sites personnels pour plusieurs utilisateurs sur SharePoint Online, qui incluent des fonctionnalités telles que OneDrive Entreprise et la page Sites.
L'exemple de code suivant utilise le modèle d'objet client .NET dans une application console. Avant d'exécuter l'exemple, ajoutez des références à Microsoft.SharePoint.Client.dll, Microsoft.SharePoint.Client.Runtime.dll et Microsoft.SharePoint.Client.UserProfiles.dll et modifier les valeurs d'espace réservé pour les variables userName, passwordStr et serverUrl. La variable serverUrl doit être l'URL de la SharePoint Online centre d'Administration.
Notes
[!REMARQUE] Pour obtenir le client requis DLL, téléchargez le SDK de composants Client 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();
}
}
}
}
Pour utiliser la méthode CreatePersonalSiteEnqueueBulk avec Windows PowerShell, tout d'abord modifier les valeurs d'espace réservé (l'URL de la SharePoint Online centre d'Administration et les noms d'utilisateur) dans les commandes suivantes, puis exécutez les commandes dans le 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()
Pour plus d’informations, voir Utiliser Windows PowerShell pour administrer SharePoint.
Nouveaux objets pour les utilisateurs et les propriétés utilisateur dans SharePoint
SharePoint comprend de nouveaux objets qui représentent des utilisateurs et des propriétés utilisateur :
L’objet SocialActor représente les utilisateurs (et autres entités) pour le flux et les activités suivantes.
L’objet PersonProperties contient les propriétés utilisateur générales et les propriétés de profil utilisateur.
Notes
Les versions du modèle objet serveur sont l’objet SPSocialActor et l’objet PersonProperties.
SharePoint inclut également un nouvel objet UserProfile côté client qui fournit des méthodes que vous pouvez utiliser pour créer un site personnel pour l’utilisateur actuel. Cependant, il ne contient pas toutes les propriétés utilisateur que contient l'objet UserProfile côté serveur. Pour accéder à toutes les propriétés utilisateur à partir du code côté client, utilisez la méthode PeopleManager.GetMyProperties ou PeopleManager.GetPropertiesFor (les propriétés de profil utilisateur sont stockées dans la propriété PersonProperties.UserProfileProperties) ou la méthode PeopleManager.GetUserProfilePropertiesFor ou PeopleManager.GetUserProfilePropertyFor.
Nouveau contrôle S sélectionneur de personnes côté client
Le contrôle Sélecteur de personnes côté client est un contrôle HTML et JavaScript qui permet de sélectionner des personnes, des groupes et des revendications dans plusieurs navigateurs. Vous pouvez configurer le sériateur avec les mêmes paramètres que la version côté serveur du contrôle, y compris les propriétés spécifiques au contrôle (par exemple, autoriser plusieurs utilisateurs ou utilisateurs et groupes) et les paramètres de configuration au niveau de l’application web (comme les paramètres des services de domaine Active Directory ou le ciblage de forêts particulières). Pour plus d’informations, voir Utiliser le contrôle S sélectionneur de personnes côté client dans SharePoint de SharePoint de recherche.
Api et fonctionnalités sociales mon site supprimées et supprimées
L’API et les fonctionnalités sociales de Mon site suivantes sont SharePoint :
[!REMARQUE] L'API dans l'espace de noms Microsoft.Office.Server.ActivityFeed est obsolète. L’espace de noms Social fournit l’API permettant d’travailler par programme avec des flux sociaux dans SharePoint. Pour des raisons de compatibilité ascendante, les éléments ActivityEvent de SharePoint 2010 sont affichés dans les flux SharePoint comme des événements qui ne peuvent pas être répondus. (La migration des événements hérités doit être activée dans l’Administration centrale.)
Le flux RSS mon site (ActivityFeed.aspx) est remplacé par de nouvelles API dans le service REST, le modèle objet client et le modèle objet JavaScript. Pour migrer du code SharePoint 2010 personnalisé qui utilise cette API (de préférence une API cliente), remplacez toutes les demandes à ActivityFeed.aspx par des appels à la nouvelle API et traitez les données de flux qui sont renvoyées au format JavaScript Object Notation (JSON).
Le partie Web Activités récentes est remplacée par un nouveau volet Web Flux d’actualités qui prend en charge les conversations multithread et la récupération dynamique des flux.
Notes
Nous ne personnalisations pas du composant Web Part Flux d’actualités ou d’autres composants Web Parts de flux (par exemple, le composant Web Part Flux de site sur les sites d’équipe). Si vous personnalisez ces composants Web Parts, par exemple en utilisant des substitutions JavaScript, sachez que vos personnalisations peuvent se rompre dans les mises à jour SharePoint.
Le volet Web Commentaires sociaux est supprimé.
Les événements d’activité suivants n’informent plus automatiquement le flux : mise à jour de profil, anniversaire à venir, anniversaire de l’espace de travail à venir, nouvelle appartenance et changement de responsable. Toutefois, vous pouvez créer des récepteurs d’événements personnalisés pour ces activités. Aucun nouvel événement social n’a été ajouté.
Les champs suivants de l’éumération confidentialité sont supprimés : Contacts, Organisation et Responsable. SharePoint offre uniquement les paramètres de confidentialité Privé (Moi seul) et Public (Tout le monde). Les paramètres de confidentialité existants sont conservés jusqu’à ce qu’ils soient modifiés par l’utilisateur. Pour migrer du code SharePoint 2010 qui utilise cette API, remplacez toutes les références aux champs de confidentialité supprimés.
L’API Personnes suivantes accessible à partir de SocialFollowingManager remplace la fonctionnalité Collègues de SharePoint Server 2010. La page Collègues est remplacée par la page Personnes que je suis. La fonctionnalité Groupes qui permettait aux utilisateurs d’organiser des collègues en groupes n’est plus disponible.
Les profils d’organisation sont obsolètes dans SharePoint et les types suivants sont obsolètes : OrganizationProfile, OrganizationProfileManager, OrganizationMembershipType, OrganizationNotFoundException, OrganizationProfileChange, OrganizationProfileChangeQuery, OrganizationProfileMembershipChange et OrganizationProfileValueCollection.
La fonctionnalité Mes liens est SharePoint.
Nouvelle fonctionnalité Community site dans SharePoint
La nouvelle fonctionnalité Community site inclut un nouveau modèle de site et une meilleure expérience de discussion. Les fonctionnalités telles que la réputation, les catégories, les discussions, le type de question-post et les meilleures réponses permet aux membres de la communauté de trouver facilement des discussions populaires, des informations pertinentes et des personnes ayant des intérêts similaires. Les membres créent une réputation à mesure qu’ils participent à des communautés.
La fonctionnalité Community site web n’expose pas d’API spécifique pour le développement. Pour étendre Community fonctionnalités de site web, vous SharePoint les API de site et de liste directement. Par exemple, vous pouvez utiliser les API SharePoint pour personnaliser les modèles de site et de liste, créer des activités personnalisées à partir de communautés pour le flux social, intégrer des informations de réputation dans les résultats de recherche, personnaliser le modèle de réputation ou créer des flux de travail pour modérer les discussions.
La liste suivante contient des informations pour le développement avec les fonctionnalités Community site web :
Community Les sites utilisent Community modèle de site ( ID = 62). Le modèle de site n’est pas disponible pour les sites web publics. Le type de modèle de la liste de forum de discussion est DiscussionBoard (valeur = 108).
L’activation de la Community site active le récepteur d’événements CommunityEventReceiver.
Pour personnaliser l’affichage liste rendue côté client, vous devez utiliser des substitutions JavaScript pour remplacer l’affichage. Les affichages de liste ne peuvent pas être étendus via l SharePoint API. Pour plus d’informations, voir Personnaliser un affichage liste dans SharePoint à l’aide du rendu côté client.
Community Les sites utilisent des événements asynchrones pour mettre à jour des objets. Si des événements asynchrones s’exécutent en arrière-plan, vous pouvez rencontrer des conflits d’enregistrer lorsque vous essayez de mettre à jour des listes ou des éléments de liste, et votre handle vers l’objet peut devenir obsolète.
Pour contourner ce problèmes, traitez les exceptions renvoyées par les appels de mise à jour, actualisez l’instance avant de réessayer l’appel et bouclez-la pour plusieurs tentatives, comme illustré dans l’exemple de code suivant.
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);
}
}