Actions sur les enregistrements d’emplacement SharePoint

Vous pouvez exécuter les actions décrites dans cette rubrique sur les enregistrements d’emplacement Microsoft SharePoint.

Création, extraction, mise à jour et suppression des enregistrements d’emplacement

À l’aide des messages des services Web Dynamics 365 Customer Engagement sur les entités SharePointSite et SharePointDocumentLocation, vous pouvez créer, récupérer, mettre à jour et supprimer des enregistrements. Pour effectuer ces opérations sur l’entité SharePointSite, vous devez disposer du rôle Administrateur système dans Dynamics 365 Customer Engagement (on-premises). Pour obtenir la liste des messages pris en charge, voir Entité SharePointSite et Entité SharePointDocumentLocation.

Note

Les opérations effectuées sur les enregistrements d’emplacement SharePoint modifient uniquement les données dans Dynamics 365 Customer Engagement (on-premises). Il ne crée pas d’emplacements sur le serveur SharePoint, ni ne les met à jour, ni ne les supprime.

L’attribut SharepointSite.ValidationStatus indique le statut de validation de l’URL de site SharePoint. Les valeurs possibles pour cet attribut sont définies dans le groupe d’options sharepoint_validationstatus.

L’attribut SharepointSite.ValidationStatusErrorCode indique la raison du statut de validation de l’URL de site SharePoint. Les valeurs possibles pour cet attribut sont définies dans le groupe d’options sharepoint_validationstatusreason.

Les emplacements de stockage dans le serveur SharePoint sont placés dans une hiérarchie où la collection de sites SharePoint est le conteneur pouvant contenir plusieurs sites, et chaque site peut contenir plusieurs sites ou bibliothèques de documents. Chaque bibliothèque de documents peut contenir plusieurs dossiers de document. Lors de la création d’enregistrements d’emplacement dans Dynamics 365 Customer Engagement (on-premises), indiquez le chemin d’accès ou l’URL de ces emplacements dans le serveur SharePoint.

URL absolue des enregistrements d’emplacement SharePoint

Il s’agit de l’URL complète d’un emplacement de stockage dans SharePoint. Vous pouvez spécifier l’URL absolue à l’aide de la propriété SharePointSite.AbsoluteURL ou SharePointDocumentLocation.AbsoluteURL.

Pour créer un enregistrement SharePointSite en spécifiant l’URL absolue :



// Instantiate a SharePoint site object.
// See the Entity Metadata topic in the SDK documentation to determine 
// which attributes must be set for each entity.
SharePointSite spSite = new SharePointSite
{
    Name = "Sample SharePoint Site",
    Description = "Sample SharePoint Site Location record",
    
    // TODO: Change this URL to a valid SharePoint URL.                        
    AbsoluteURL = "https://www.example.com",
};

// Create a SharePoint site record named Sample SharePoint Site.
_spSiteId = _serviceProxy.Create(spSite);

De même, pour créer un enregistrement d’emplacement de documents SharePoint en spécifiant l’URL absolue :

SharePointDocumentLocation spDocLoc = new SharePointDocumentLocation  
{  
    Name = "Sample SharePoint Document Location",  
    Description = "Sample SharePoint Document Location record",  
    AbsoluteUrl = "https://www.example.com/spdocloc"     
};  
_spDocLocId = _serviceProxy.Create(spDocLoc);  

Les URL absolues sont généralement fournies pour les enregistrements de site SharePoint, car il s’agit du conteneur ou des objets parents sous lesquels vous souhaitez créer d’autres emplacements pour stocker et gérer vos documents.

Note

L’attribut SharePointDocumentLocation.LocationType détermine si un enregistrement SharePointDocumentLocation pointe vers un dossier SharePoint (0) ou vers un fichier OneNote (1). Lorsque vous créez une instance SharePointDocumentLocation (enregistrement), la valeur de l’attribut SharePointDocumentLocation.LocationType est définie sur 0 par défaut, pour indiquer qu’il pointe vers un dossier SharePoint. Pour plus d’informations sur la prise en charge de OneNote, voir Intégrer Microsoft Dynamics 365 Customer Engagement (on-premises) avec OneNote.

URL relative des enregistrements de l’emplacement SharePoint

Il s’agit de l’emplacement associé un enregistrement d’emplacement par rapport à son enregistrement d’emplacement parent sur le serveur SharePoint. Lorsque vous spécifiez une URL relative pour un enregistrement d’emplacement SharePoint, vous devez également spécifier l’objet parent sous lequel il doit être créé. Dynamics 365 Customer Engagement (on-premises) utilise en interne l’URL de l’objet parent pour déterminer l’URL absolue de l’objet enfant. Par exemple, pour créer un enregistrement pour un emplacement de documents SharePoint sous le site SharePoint créé dans l’exemple précédent, vous devez spécifier les éléments suivants :



// Instantiate a SharePoint document location object.
// See the Entity Metadata topic in the SDK documentation to determine 
// which attributes must be set for each entity.
SharePointDocumentLocation spDocLoc = new SharePointDocumentLocation
{
    Name = "Sample SharePoint Document Location",
    Description = "Sample SharePoint Document Location record",
    
    // Set the Sample SharePoint Site created earlier as the parent site.
    ParentSiteOrLocation = new EntityReference(SharePointSite.EntityLogicalName, _spSiteId),
    RelativeUrl = "spdocloc",

    // Associate this document location instance with the Fourth Coffee
    // sample account record.
    RegardingObjectId = new EntityReference(Account.EntityLogicalName, _account1Id)
};

// Create a SharePoint document location record named Sample SharePoint Document Location.
_spDocLocId = _serviceProxy.Create(spDocLoc);

L’URL absolue de l’objet enfant (emplacement de documents dans cet exemple) est la suivante : « URL_Parent/URL_Relative ». Par conséquent, dans cet exemple, l’URL absolue de l’emplacement de documents est https://www.example.com/spdocloc.

Les URL relatives sont généralement disponibles lorsque vous souhaitez créer un enregistrement d’emplacement plus bas dans la hiérarchie ou comme enregistrement enfant.

L’avantage de l’utilisation de l’URL relative est que si vous décidez de stocker vos documents sur un autre serveur SharePoint, il vous suffit de mettre à jour l’URL absolue de l’enregistrement d’emplacement des objets parent (probablement une collection de sites ou un enregistrement de site) dans Dynamics 365 Customer Engagement (on-premises), et tous les autres enregistrements de la hiérarchie continuent de fonctionner comme avant car les URL absolues (déterminées automatiquement par Dynamics 365 Customer Engagement (on-premises)) ne sont pas à endommagées. Si vous avez utilisé des URL absolues pour ces enregistrements d’emplacement enfants, vous devez résoudre les URL individuellement.

Définir un enregistrement d’emplacement de site par défaut

Vous pouvez définir un enregistrement d’emplacement de site SharePoint par défaut afin que tous les emplacements de documents créés dans Dynamics 365 Customer Engagement (on-premises) soient créés automatiquement sous ce site. Pour créer un enregistrement d’emplacement site par défaut, utilisez la propriété SharePointSite.IsDefault, et définissez-la sur true. Vous pouvez définir un enregistrement d’emplacement de site par défaut lors de la création ou de la mise à jour d’un enregistrement d’emplacement de site.

Note

La création automatique des enregistrements d’emplacement de documents n’est possible que si le site cible est un serveur SharePoint 2010 ou SharePoint 2013 et que le composant de la liste Microsoft Dynamics CRM pour le serveur SharePoint est installé sur la collection de sites SharePoint cible. Pour plus d’informations sur le composant de liste Microsoft Dynamics CRM, voir Composant de liste des applications Microsoft Dynamics 365 Customer Engagement (on-premises) pour Microsoft SharePoint Server.

Associer un enregistrement d’emplacement de documents à un enregistrement d’entité

Vous pouvez associer un enregistrement d’emplacement de documents à un enregistrement d’entité. Ensuite, tous les documents pour l’enregistrement d’entité sont enregistrés dans cet emplacement sur le serveur SharePoint. Vous pouvez associer un enregistrement d’emplacement de documents SharePoint à une entité à l’aide de la propriété SharePointDocumentLocation.RegardingObjectId. L’exemple suivant montre comment faire cela :



// Instantiate a SharePoint document location object.
// See the Entity Metadata topic in the SDK documentation to determine 
// which attributes must be set for each entity.
SharePointDocumentLocation spDocLoc = new SharePointDocumentLocation
{
    Name = "Sample SharePoint Document Location",
    Description = "Sample SharePoint Document Location record",
    
    // Set the Sample SharePoint Site created earlier as the parent site.
    ParentSiteOrLocation = new EntityReference(SharePointSite.EntityLogicalName, _spSiteId),
    RelativeUrl = "spdocloc",

    // Associate this document location instance with the Fourth Coffee
    // sample account record.
    RegardingObjectId = new EntityReference(Account.EntityLogicalName, _account1Id)
};

// Create a SharePoint document location record named Sample SharePoint Document Location.
_spDocLocId = _serviceProxy.Create(spDocLoc);

Récupérer les URL absolues et de collection de sites pour un enregistrement d’emplacement

Comme expliqué précédemment, le serveur SharePoint suit un modèle hiérarchique pour enregistrer les enregistrements. Si vous souhaitez récupérer l’URL (complète) absolue d’un enregistrement d’emplacement dans la hiérarchie et l’URL SiteCollection sous laquelle l’enregistrement d’emplacement est présent. Pour ce faire, vous pouvez utiliser le message RetrieveAbsoluteAndSiteCollectionUrlRequest.

Le message RetrieveAbsoluteAndSiteCollectionUrlRequest s’exécute correctement uniquement si les deux sont vrais :

  • Le composant de liste Microsoft Dynamics CRM pour le serveur SharePoint est installé sur la collection de sites SharePoint sur le serveur SharePoint 2010 ou SharePoint 2013 cible. Pour plus d’informations, voir Composant de liste de Microsoft Dynamics 365 Customer Engagement (on-premises) pour Microsoft SharePoint Server.

  • L’enregistrement d’emplacement pour la collection de sites SharePoint parent existe dans Dynamics 365 Customer Engagement (on-premises), et la propriété SharePointSite.IsGridPresent a été définie sur true lors de la création de l’enregistrement d’emplacement parent.

    Sinon, vous recevez une valeur vide ou une valeur incorrecte pour la propriété SiteCollectionUrl.

    Pour plus d’informations, voir RetrieveAbsoluteAndSiteCollectionUrlRequest.

    L’exemple suivant montre comment utiliser le message RetrieveAbsoluteAndSiteCollectionUrl :

    
    
    // Retrieve the absolute URL and the Site Collection URL
    // of the SharePoint document location record.
    RetrieveAbsoluteAndSiteCollectionUrlRequest retrieveRequest = new RetrieveAbsoluteAndSiteCollectionUrlRequest
    {
        Target = new EntityReference(SharePointDocumentLocation.EntityLogicalName, _spDocLocId)
    };
    RetrieveAbsoluteAndSiteCollectionUrlResponse retriveResponse = (RetrieveAbsoluteAndSiteCollectionUrlResponse)_serviceProxy.Execute(retrieveRequest);
    
    Console.WriteLine("Absolute URL of document location record is '{0}'.", retriveResponse.AbsoluteUrl.ToString());
    Console.WriteLine("Site Collection URL of document location record is '{0}'.", retriveResponse.SiteCollectionUrl.ToString());
    
    

Voir aussi

RetrieveAbsoluteAndSiteCollectionUrlRequest
RetrieveAbsoluteAndSiteCollectionUrlResponseIntégrer Dynamics 365 Customer Engagement (on-premises) à SharePoint
Présentation de l’intégration à SharePoint
Activer la gestion des documents pour les entités
Exemple : Activer la gestion des documents pour les entités
Exemple : créer, récupérer, mettre à jour et supprimer un enregistrement d’emplacement SharePoint
Exemple : Récupérer l’URL absolue et de collection de sites pour un enregistrement d’emplacement
Intégrer Microsoft Dynamics 365 Customer Engagement (on-premises) avec OneNote