Si vous envisagez une mise à niveau sautant plusieurs niveaux, veillez à consulter également les remarques concernant la mise à niveau des sections suivantes : Les remarques sur la mise à niveau des versions successives d'Identity Manager s'appliquent également à votre mise à niveau.
Depuis la version 7.1.1, les attributs d'utilisateur étendus d'Identity Manager prennent complètement en charge les attributs à valeurs multiples. (ID-14863)
Vous pouvez ajouter un attribut d'utilisateur étendu à valeurs multiples au tableau de la liste des comptes, la liste sera rendue sans erreur. Cependant, toute tentative de tri portant sur cette colonne entraînera l'erreur suivante :
java.lang.ClassCastException: java.util.ArrayList
Une condition d'attribut faisant référence à un attribut étendu à valeurs multiples n'effectuera l'évaluation correctement pour un objet utilisateur qu'après que la resérialisation de cet objet utilisateur. Si vous voulez qu'une telle condition d'attribut effectue correctement l'évaluation pour tous les objets utilisateur, vous devez resérialiser tous les objets utilisateur. Pour les instructions, reportez-vous à Actualisation des objets Utilisateur dans la section suivante.
Après certains types de modifications, l'administrateur doit actualiser tous les objets Utilisateur. Par exemple, vous devez actualiser l'ensemble des objets Utilisateur quand vous modifiez les attributs en ligne pour Type.USER dans RepositoryConfiguration. Quand vous marquez un attribut comme interrogeable ou récapitulatif dans l'objet IDMSchemaConfiguration, vous devez actualiser tous les objets Utilisateur pour que la modification soit appliquée sur les anciens objets non modifiés. La logique est la même quand une nouvelle version d'Identity Manager contient un nouvel attribut ou change les valeurs d'un attribut existant — le processus de mise à niveau ou l'administrateur doit actualiser tous les objets Utilisateur pour que la modification soit appliquée sur les anciens objets non modifiés.
Les utilisateurs existants peuvent être resérialiser de trois façons ::
En modifiant un objet utilisateur individuel pendant le fonctionnement normal.
Par exemple, en ouvrant un compte utilisateur via l'interface utilisateur et en l'enregistrant avec ou sans modifications.
Inconvénient : cette méthode prend du temps et l'administrateur doit être méticuleux pour assurer la resérialisation de tous les utilisateurs existants.
Utilisez l'utilitaire lh refreshType pour resérialiser tous les utilisateurs. La sortie de l'utilitaire refreshType est une liste actualisée des utilisateurs.
lh console
refreshType User
Inconvénient : l'utilitaire refreshType s'exécutant au premier plan et non pas en arrière-plan, ce processus peut prendre du temps. S'il y a beaucoup d'utilisateurs, tous les resérialiser sera particulièrement long.
Utilisez Deferred Task Scanner.
Avant d'exécuter le processus Deferred Task Scanner (Scanner des tâches différées), vous devez éditer l'objet System Configuration (Configuration système) en utilisant environnement de développement intégré Sun Identity Manager (IDE) ou une autre méthode.
Recherchez « refreshOfType » et supprimez les attributs relatifs à « 2005Q4M3refreshOfTypeUserIsComplete » et « 2005Q4M3refreshOfTypeUserUpperBound ».
Une fois l'objet System Configuration édité, vous devez l'importer dans le référentiel pour que vos modifications soient présentes.
Inconvénient : avec cette méthode, l'exécution de Deferred Task Scanner est longue car il examine et réécrit pratiquement tous les objets User (Utilisateur). La vitesse et la durée des exécutions suivantes de Deferred Task Scanner devraient toutefois être normales.