Utilisation de conseils de classement dans le planificateur

Espace de noms: microsoft.graph

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é.

Veuillez noter que dans les exemples suivants, les valeurs de conseil de classement réelles sont mises entre guillemets simples (') pour plus de clarté, toutefois elles 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 ! !')

Une fois que ces modifications apportées aux valeurs de conseil de classement sont envoyées au service dans les requêtes de correctif, le service calcule les valeurs appropriées qui conservent l’ordre prévu par le client. Le client peut obtenir immédiatement les valeurs si la préférence return=representation est spécifiée dans les requêtes PATCH. 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 : ' ! !')