Guía del administrador de negocio de Sun Identity Manager 8.1

ProcedurePara ver la regla de ejemplo Acepta todas las fechas

A continuación se describe la regla de ejemplo interna Acepta todas las fechas.

  1. En un editor de texto, abra el archivo ReconRules.xml, que se halla en el directorio sample de Identity Manager.

  2. Busque la regla SCHEDULING_RULE_ACCEPT_ALL_DATES.

    Para que una regla se incluya en la lista del menú desplegable Regla de repetición de TaskSchedule (en la página Editar directiva de reconciliación), el atributo subtype de dicha regla debe configurarse en SUBTYPE_TASKSCHEDULE_REPETITION_RULE:


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

    Como hemos mencionado antes, las reglas de repetición de programación de tareas pueden modificar la programación de reconciliación predeterminada.

    La variable calculatedNextDate puede aceptar la siguiente fecha, que se calcula de la manera predeterminada, o devolver otra fecha. Como especifica la regla de ejemplo, calculatedNextDate acepta incondicionalmente la fecha predeterminada, lo que se aprecia en este extracto:


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

    Para crear una programación personalizada, sustituya la lógica de la regla entre los elementos <block>. Por ejemplo, para cambiar la hora de inicio de la reconciliación a las 10:00 AM del sábado, incluya esta secuencia JavaScript entre los elementos <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>

    En Para ver la regla de ejemplo Acepta todas las fechas, calculatedNextDate se define inicialmente en la hora de programación predeterminada. Si la siguiente fecha de ejecución programada es un sábado, la regla programa la reconciliación para que empiece a las 10:00. Si la siguiente fecha de ejecución programada no es un sábado, Para ver la regla de ejemplo Acepta todas las fechas devuelve calculatedNextDate sin realizar ningún cambio y se utiliza la programación predeterminada.

    Para obtener más información sobre la creación de reglas personalizadas para usarlas en Identity Manager, consulte el Capítulo 4, Working with Rules de Sun Identity Manager Deployment Reference.