Hooks

A las reglas no nos hizo falta agragarlas al core. Las pusimos dentro de personalizaciones/php/nucleo/_lib/reglas, pero tuvimos que agregar las referencias a las clases en personalizacones/php/guarani_autoload_clases_nuevas.php

La forma menos conflictiva con las actualizaciones que se me ocurre es en donde necesites que se realice un control, podrías personalizar la función y forzar el control, es decir, por ejemplo si supieramos que el momento en que una inscripción se acepta es en la función guardar() de la clase ci_inscripcion.php, y al requisito lo pegamos en el punto de control alumno_operacion, podríamos hacer lo siguiente:

class ci_inscripciones_pers extends ci_inscripciones {

function guardar() {
    //Ejecutamos guardar de la clase padre
    parent::guardar();

   $ptos_control_a_validar = array(guarani_punto_de_control::alumno_operacion);
$params = array('alumno'		=> $datos_alumno['alumno'],
					'persona'		=> $datos_alumno['persona'],    
					'plan_version'	=> $datos_alumno['plan_version'],    
					'fecha'			=> guarani_fecha::get_hoy(),
					'propuesta'		=> $datos_alumno['propuesta']);

    $retorno = guarani::validador_puntos_de_control($pto_control_a_validar, $params)->controlar();

}

}

Esto valdría la pena sólo si el requisito se implementa en varios lugares… si sólo se hace en ese punto, no se si sería mejos directamente hacer una llamada a una api y listo.

Saludos.