Guide de l'administrateur d'entreprise de Sun Identity Manager 8.1

ProcedurePour afficher l'exemple de règle Accepter toutes les dates

Cette section décrit l'exemple de règle Accepter toutes les dates.

  1. Dans un éditeur de texte, ouvrez ReconRules.xml, qui figure dans le répertoire sample d'Identity Manager.

  2. Recherchez la règle nommée SCHEDULING_RULE_ACCEPT_ALL_DATES.

    Pour qu'une règle soit listée dans le menu déroulant Règle Répétition TaskSchedule (sur la page Éditer la stratégie de réconciliation), l'attribut subtype de la règle doit être défini sur SUBTYPE_TASKSCHEDULE_REPETITION_RULE:.


    <Rule subtype=’SUBTYPE_TASKSCHEDULE_REPETITION_RULE’ 
    name=’SCHEDULING_RULE_ACCEPT_ALL_DATES’>

    Comme nous l'avons fait remarquer précédemment, les règles Répétition TaskSchedule peuvent modifier la programmation de réconciliation par défaut.

    La variable calculatedNextDate peut soit accepter la date suivante, qui est calculée selon la méthode par défaut, soit retourner une autre date. Comme écrit dans l'exemple de règle, calculatedNextDate accepte sans condition la date par défaut, comme indiqué dans l'extrait suivant :


    <RuleArgument name=’calculatedNextDate’/>
    <block>
      <ref>calculatedNextDate</ref>
    </block>

    Pour créer un programme personnalisé, remplacez la logique de règle entre les éléments <block>. Par exemple, pour remplacer l'heure de début de la réconciliation par 10h00 le samedi, incluez le JavaScript suivant entre les éléments <block> :


    <block>
      <script>
         var calculatedNextDate = env.get(’calculatedNextDate’);
    
        // Test to see if this task is scheduled for a Saturday
        // (Note that 6 is used to denote Saturday in JavaScript)
        if(calculatedNextDate.getDay() == 6) {
          // If so, set the time to 10:00:00
          calculatedNextDate.setHours(10);
          calculatedNextDate.setMinutes(0);
          calculatedNextDate.setSeconds(0);
        }
        // Return the modified date
        calculatedNextDate;
      </script>
    </block>

    Dans Pour afficher l'exemple de règle Accepter toutes les dates, calculatedNextDate est au départ défini sur l'heure programmée par défaut. Si l'heure de la prochaine exécution est un samedi, la règle programme donc le début de la réconciliation pour 10h00. Si la date de la prochaine exécution programmée n'est pas un samedi, l'exemple de règle Pour afficher l'exemple de règle Accepter toutes les dates retourne calculatedNextDate sans effectuer aucun ajustement d'heure et la programmation par défaut est utilisée.

    Pour plus d'informations sur la création et l'utilisation de règles personnalisées dans Identity Manager, voir le Chapitre 4, Working with Rules du Sun Identity Manager Deployment Reference.