Événements
Conférence de la communauté Microsoft 365
6 mai, 14 h - 9 mai, 00 h
Compétence pour l’ère de l’IA à l’événement Microsoft 365 dirigé par la communauté ultime, le 6 au 8 mai à Las Vegas.
En savoir plusCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
L’approche que vous utilisez pour implémenter des flux de travail et leurs composants associés est différente dans le nouveau modèle de complément SharePoint de celui du code de confiance totale. Dans un scénario ftC (Full Trust Code) /Solution de batterie de serveurs classique, les flux de travail et leurs composants associés ont été générés avec du code côté serveur et déployés via des solutions SharePoint. Les flux de travail et les composants associés s’exécutaient sur le serveur SharePoint.
Dans un scénario de modèle de complément SharePoint, les flux de travail et les composants associés sont développés avec du code qui s’exécute sur des serveurs distants. Les workflows et leurs composants associés sont inscrits auprès du service de flux de travail, mais tout le code s’exécute sur des serveurs distants.
En règle générale, nous aimerions fournir les instructions générales suivantes pour la création de flux de travail et de leurs composants associés dans le nouveau modèle de complément SharePoint.
Vous avez plusieurs options pour créer des workflows personnalisés et leurs composants associés.
Dans cette option, des flux de travail personnalisés sont créés, déployés et associés à host-web dans SharePoint.
L’exemple de code suivant montre comment utiliser CSOM pour provisionner un flux de travail et les listes qui prennent en charge le flux de travail.
public void ProvisionIncidentWorkflowAndRelatedLists(string incidentWorkflowFile, string suiteLevelWebAppUrl, string dispatcherName)
{
//Return the list the workflow will be associated with
var incidentsList = CSOMUtil.GetListByTitle(clientContext, "Incidents");
//Create a new WorkflowProvisionService class instance which uses the
//Microsoft.SharePoint.Client.WorkflowServices.WorkflowServicesManager to
//provision and configure workflows
var service = new WorkflowProvisionService(clientContext);
//Read the workflow .XAML file
var incidentWF = System.IO.File.ReadAllText(incidentWorkflowFile);
//Create the WorkflowDefinition and use the
//Microsoft.SharePoint.Client.WorkflowServices.WorkflowServicesManager
//to save and publish it.
//This method is shown below for reference.
var incidentWFDefinitionId = service.SaveDefinitionAndPublish("Incident",
WorkflowUtil.TranslateWorkflow(incidentWF));
//Create the workflow tasks list
var taskListId = service.CreateTaskList("Incident Workflow Tasks");
//Create the workflow history list
var historyListId = service.CreateHistoryList("Incident Workflow History");
//Use the Microsoft.SharePoint.Client.WorkflowServices.WorkflowSubscriptionService to
//subscibe the workflow to the list the workflow is associated with, register the
//events it is associated with, and register the tasks and history list.
//This method is shown below for reference.
service.Subscribe("Incident Workflow", incidentWFDefinitionId, incidentsList.Id,
WorkflowSubscritpionEventType.ItemAdded, taskListId, historyListId);
}
public Guid SaveDefinitionAndPublish(string name, string translatedWorkflows)
{
var definition = new WorkflowDefinition(ClientContext)
{
DisplayName = name,
Xaml = translatedWorkflows
};
var deploymentService = workflowServicesManager.GetWorkflowDeploymentService();
var result = deploymentService.SaveDefinition(definition);
ClientContext.ExecuteQuery();
deploymentService.PublishDefinition(result.Value);
ClientContext.ExecuteQuery();
return result.Value;
}
public Guid Subscribe(string name, Guid definitionId, Guid targetListId, WorkflowSubscritpionEventType eventTypes, Guid taskListId, Guid historyListId)
{
var eventTypesList = new List<string>();
foreach (WorkflowSubscritpionEventType type in Enum.GetValues(typeof(WorkflowSubscritpionEventType)))
{
if ((type & eventTypes) > 0)
eventTypesList.Add(type.ToString());
}
var subscription = new WorkflowSubscription(ClientContext)
{
Name = name,
Enabled = true,
DefinitionId = definitionId,
EventSourceId = targetListId,
EventTypes = eventTypesList.ToArray()
};
subscription.SetProperty("TaskListId", taskListId.ToString());
subscription.SetProperty("HistoryListId", historyListId.ToString());
var subscriptionService = workflowServicesManager.GetWorkflowSubscriptionService();
var result = subscriptionService.PublishSubscriptionForList(subscription, targetListId);
ClientContext.ExecuteQuery();
return result.Value;
}
Quand est-elle adaptée ?
Lorsque vous devez créer des flux de travail personnalisés avec du code derrière eux, cette option est adaptée.
Prise en main
Les articles suivants montrent comment créer des workflows personnalisés.
Dans cette option, des activités de flux de travail personnalisées sont créées et déployées sur SharePoint.
Quand est-elle adaptée ?
Lorsque vous devez implémenter des flux de travail dans des processus métier dont les exigences ne sont pas satisfaites par la bibliothèque prête à l’emploi d’actions de flux de travail dans SharePoint Designer
Prise en main
L’article suivant montre comment créer une activité de workflow personnalisée avec Visual Studio.
Workflow.Activities (exemple PnP O365) inclut plusieurs activités de flux de travail personnalisées créées avec Visual Studio. Il montre également comment utiliser les activités de flux de travail personnalisées dans un flux de travail.
Dans cette option, des événements de flux de travail personnalisés sont créés et déployés sur SharePoint.
Quand est-elle adaptée ?
Lorsque vous devez implémenter des flux de travail dans des processus métier dont les exigences exigent que les flux de travail attendent un événement personnalisé avant de continuer.
Prise en main
Workflow.CustomEvents (exemple PnP O365) montre comment créer un workflow qui attend qu’un personnalisé se déclenche avant de continuer. Il montre également comment utiliser le modèle JSOM (Client Side Object Model) JavaScript pour le Gestionnaire des services de workflow afin de déclencher un événement personnalisé.
Dans cette option, des formulaires de flux de travail personnalisés sont créés et déployés sur SharePoint.
Quand est-elle adaptée ?
Lorsque vous devez implémenter des flux de travail dans des processus métier dont les exigences nécessitent des formulaires personnalisés.
Prise en main
L’article suivant montre comment créer des formulaires d’association et d’initiation de flux de travail personnalisés et les utiliser dans un flux de travail.
Workflow.CustomTasks (exemple PnP O365) montre comment créer des formulaires de tâche et d’initiation personnalisés et les utiliser dans un flux de travail.
Vous disposez de deux options pour mettre à jour les données SharePoint à partir d’un flux de travail personnalisé.
Dans cette option, vous transmettez le jeton de contexte et l’URL du site web de complément du flux de travail au service que le workflow appelle via des en-têtes HTTP. Le service utilise le jeton de contexte et l’URL du site web de complément pour s’authentifier auprès de SharePoint et retourner un jeton d’accès avant de mettre à jour les données SharePoint.
Quand est-elle adaptée ?
Lorsque vous souhaitez que la communication avec SharePoint se produise au niveau du client.
Prise en main
L’exemple suivant montre comment utiliser le jeton de contexte et l’URL du site web de complément pour s’authentifier auprès de SharePoint et mettre à jour les données SharePoint.
Pour plus d’informations sur le passage du jeton de contexte et de l’URL du site web de complément à partir du flux de travail à partir du flux de travail vers le service, consultez la section Service d’API Web d’appel dans le lisez-moi Workflow.CallCustomService (exemple PnP O365).
Les autres sections du fichier README Workflow.CallCustomService (exemple PnP O365) fournissent des informations détaillées sur l’ensemble du flux de travail et du service distant, et vous guident également dans la configuration de tous les composants dans Microsoft Azure.
Dans cette option, lorsque le flux de travail démarre, vous passez l’URL du site web de complément du flux de travail au service que le workflow appelle. Le service transmet l’URL du site web de complément au proxy web SharePoint. Le proxy web SharePoint utilise l’URL du site web de complément pour s’authentifier auprès de SharePoint et retourner un jeton d’accès. Ensuite, le proxy web SharePoint ajoute le jeton d’accès aux en-têtes HTTP avant d’effectuer l’appel à la mise à jour des données SharePoint.
Quand est-elle adaptée ?
Lorsque vous souhaitez que la communication avec SharePoint se produise au niveau du serveur.
Prise en main
L’exemple suivant montre comment utiliser l’URL du site web de complément et le proxy web SharePoint pour s’authentifier auprès de SharePoint et mettre à jour les données SharePoint.
Pour plus d’informations sur l’appel du proxy web SharePoint, consultez la section Appeler le service API web via un proxy web dans le FICHIER LISEZ-moi Workflow.CallServiceUpdateSPViaProxy (exemple PnP O365 ).
Les autres sections du fichier LISEZ-moi Workflow.CallServiceUpdateSPViaProxy (exemple PnP O365) fournissent des informations détaillées sur l’ensemble du flux de travail et du service distant et vous guident tout au long de la configuration de tous les composants dans Microsoft Azure.
Consultez l’article Interroger un service distant à l’aide du proxy web dans SharePoint 2013 (MSDN) pour plus d’informations sur le proxy web SharePoint.
Événements
Conférence de la communauté Microsoft 365
6 mai, 14 h - 9 mai, 00 h
Compétence pour l’ère de l’IA à l’événement Microsoft 365 dirigé par la communauté ultime, le 6 au 8 mai à Las Vegas.
En savoir plus