Utilisation de conseils de classement dans le planificateur

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Les objets du planificateur identifient leur ordre de tri à l’aide de conseils de classement. Les valeurs de conseil de classement sont des chaînes. Les clients peuvent trier les chaînes en fonction de la valeur ordinale de caractères contenus pour identifier l’ordre des éléments. Les caractères sont comparés à partir du début de la chaîne, jusqu’à ce qu’une différence soit trouvée dans les valeurs ordinales de caractères, ou qu’une chaîne se termine, auquel cas la chaîne plus courte est triée avant la plus longue. Les valeurs peuvent contenir tout caractère entre les ordinaux 32 (espace) et 126 (~)

Par exemple, un élément avec conseil de classement a (valeur ordinale 97) sera placé avant un autre élément avec conseil de classement z (valeur ordinale 122). Un élément avec conseil de classement abc (valeurs ordinales 97, 98, 99) sera placé avant un autre élément avec conseil de classement abd (valeurs ordinales 97, 98, 100). Un élément avec conseil de classement a pourra être placé avant un autre élément avec conseil de classement ab dans la mesure où tous les caractères existants sont les mêmes, et où a est plus court.

Les valeurs de tous les conseils de classement sont calculées par le service. Le client peut réorganiser les éléments en spécifiant le conseil de classement pour l’élément qui a été déplacé entre deux éléments en définissant le conseil de classement sur la valeur suivante : <previous order hint> <next order hint>!, où <previous order hint> est remplacé par le conseil de classement de l’élément qui vient avant le nouvel emplacement souhaité, et où <next order hint> est remplacé par le conseil de classement de l’élément qui vient après le nouvel emplacement souhaité. Il existe un caractère d’espace entre ces valeurs de conseil de classement et la valeur entière est suivie du suffixe !. Si aucun n’est présent, une chaîne vide doit être utilisée à la place. Cette valeur peut également être composée de calculs précédents et peut servir dans le client à trier les éléments exactement comme le service renvoie des conseils de classement. Une fois que le client envoie ces valeurs dans une mise à jour, le service calcule une valeur courte qui trie dans l’emplacement souhaité.

Note: Dans les exemples suivants, les valeurs d’indicateur d’ordre réelles sont entourées de guillemets simples (') pour plus de clarté, mais celles-ci ne font pas partie des données et ne doivent pas être envoyées au service.

Par exemple, considérez la liste des conseils de classement suivante :

  1. Élément 1 (conseil de classement : '5637')
  2. Élément 2 (conseil de classement : 'adhg')

Placez un élément 3 avant l’élément 1, puis placez l’élément 4 entre l’élément 1 et l’élément 2, puis placez l’élément 5 après l’élément 2 pour créer les conseils de classement suivants sur le client.

  1. Élément 3 (conseil de classement : ' 5637!')
  2. Élément 1 (conseil de classement : '5637')
  3. Élément 4 (conseil de classement : '5637 adhg!')
  4. Élément 2 (conseil de classement : 'adhg')
  5. Élément 5 (conseil de classement : 'adhg !')

Ensuite, le déplacement de l’élément 1 à la fin de la liste entraînerait ce qui suit :

  1. Élément 3 (conseil de classement : ' 5637!')
  2. Élément 4 (conseil de classement : '5637 adhg!')
  3. Élément 2 (conseil de classement : 'adhg')
  4. Élément 5 (conseil de classement : 'adhg !')
  5. Élément 1 (conseil de classement : 'adhg ! !')

Pour finir, le déplacement de l’élément 5 entre l’élément 3 et l’élément 4 générerait :

  1. Élément 3 (conseil de classement : ' 5637!')
  2. Élément 5 (conseil de classement : ' 5637! 5637 adhg!!')
  3. Élément 4 (conseil de classement : '5637 adhg!')
  4. Élément 2 (conseil de classement : 'adhg')
  5. Élément 1 (conseil de classement : 'adhg ! !')

Lorsque ces modifications apportées aux valeurs d’indicateur d’ordre sont envoyées au service dans les demandes de correctif, le service calcule les valeurs appropriées qui conservent l’ordre prévu par le client. Le client peut obtenir les valeurs immédiates si l’en-tête Prefer: return=representation de préférence est spécifié dans les PATCH demandes. Les valeurs de l’exemple ci-dessus peuvent se présenter comme suit (les valeurs réelles peuvent différer).

  1. Élément 3 (conseil de classement : '432b')
  2. Élément 5 (conseil de classement : '6F"#')
  3. Élément 4 (conseil de classement : '7A$6')
  4. Élément 2 (conseil de classement : 'adhg')
  5. Élément 1 (conseil de classement : 'de5%')

Des conseils de classement peuvent être spécifiés pour créer le premier élément dans la liste en tant que !, car il n’existe aucun élément précédent ou suivant dans ce cas, cependant cela n’est pas nécessaire, car le service génère automatiquement des valeurs pour toutes les valeurs de conseil de classement sur des éléments s’ils ne sont pas indiqués lors de la création de l’élément. L’exemple suivant illustre les conseils de classement à utiliser lorsque vous placez des éléments dans une liste précédemment vide. Ajoutez le premier élément :

  1. Élément 1 (conseil de classement : ' !')

Ajoutez le deuxième élément en haut :

  1. Élément 2 (conseil de classement : ' !!')
  2. Élément 1 (conseil de classement : ' !')

Ajoutez le troisième élément en bas :

  1. Élément 2 (conseil de classement : ' !!')
  2. Élément 1 (conseil de classement : ' !')
  3. Élément 3 (conseil de classement : ' ! !')