Anteriormente se ha revisado la manera en la que se puede modificar una MetaPropertyPage en Hopex para adaptarla a nuestras necesidades, incluyendo el uso de herramientas como los MetaTests para hacer un poco más dinámica la forma en que se visualizarán los datos. Ahora, podremos utilizar ese conocimiento para crear y modificar los objetos de Hopex llamados Meta Wizard, que, de forma simplificada, los podemos ver como las ventanas emergentes que se ejecutarán cuando solicitemos o realicemos alguna acción y en este caso, nos enfocaremos en los Meta Wizard de Creación. Estos Meta Wizards son utilizados en el momento que crearemos algún objeto, ya sean objetos del tipo Riesgo, Incidente, Procesos de Negocio, Procesos Organizacionales, etc. Con ellos, podemos definir los parámetros que se requieran para tener una mayor definición del objeto final, es decir, que nuestro objeto de determinada MetaClase, tenga más información al momento de crearse e inclusive, volver mandatorio el llenado de dicha información.
En esta primera parte, se dará una explicación breve de las modificaciones más sencillas que se pueden realizar en un Meta Wizard de creación, con el fin de que los objetos contengan de forma obligatoria u opcional, más información al momento de crearse.
Para empezar la demostración, se creará un objeto del tipo "Proceso de Negocio". Hay que prestar atención a la ventana que aparece en la siguiente imagen al querer crear un nuevo Proceso de Negocio.
Este sería el Meta Wizard que viene por defecto incluido en Hopex. Como se puede notar, únicamente nos proporciona un Poseedor y el Nombre que se le dará al Proceso de Negocio. Y al terminar dando click en Aceptar, se observa lo siguiente:
El proceso de negocio ha sido creado, sin embargo, nada adicional se ha añadido al momento de su creación. Los demás atributos del proceso de negocio estarán en blanco.
Explorando la MetaClase de Proceso de Negocio, podemos notar que hay un campo llamado "Meta Wizard Creator". Es aquí donde estará definido el Meta Wizard que ayuda a la creación del objeto.
Lo primero que debemos hacer para comenzar con la personalización, es retirar el Meta Wizard que viene por defecto y crear uno nuevo (o vincular si ya se cuenta con uno). En este caso, el nombre del nuevo Meta Wizard será "Creación Proceso de Negocio".
A partir de aquí será necesario recordar los conceptos más básicos de las MetaPropertyPages, puesto que se creará una adicional y también se utilizarán comandos similares para la parametrización del propio Meta Wizard.
Por ejemplo, supongamos que se desea que el atributo "Tipo de Proceso de Negocio" aparezca justo debajo del Poseedor y del nombre del Proceso de Negocio en el Meta Wizard de Creación, para esto, es necesario entrar en las propiedades del Meta Wizard y navegar en la pestaña de "Textos", de este modo podemos observar un campo llamado "_Parametrization", un campo que también es utilizado en la definición de las MetaPropertyPages, entonces, añadimos lo siguiente:
De forma similar, creamos una nueva MetaPropertyPage con la siguiente parametrización y recordando vincularla donde corresponde:
Una vez aplicados los cambios descritos anteriormente, podemos observar que el atributo de "Tipo de Proceso de Negocio" aparece en nuestra ventana principal al momento de crear un nuevo Proceso de Negocio, este proviene de la primera parametrización hecha.
También, ahora tenemos una nueva página que puede ser visualizada dando click en "Siguiente" y antes de terminar la creación. En ella aparecen los atributos "Código del Proceso de Negocio" y "Comentario", que son los que añadimos en la parametrización de la MetaPropertyPage que vinculamos con el Meta Wizard de Creación.
Como se puede notar, estos campos pueden ser llenados en este proceso y al terminar la creación del Proceso de Negocio, estos atributos ya estarán completos.
Otro tipo de modificación que se puede aprovechar para el MetaWizard de Creación, sería el uso de los valores definidos en "Detailed Behavior". Este campo aparece en la definición de todos los Meta Atributos de una Meta Clase. En este caso, al entrar a las propiedades de la Meta Clase "Proceso de Negocio", se puede ver una lista con dichos atributos.
En este espacio, nos dirigiremos a la columna de Detailed Behavior y los atributos que editaremos serán, Existencia y Código del Proceso de Negocio.
En el caso del atributo "Existencia" lo que haremos será darle valores de "Creación" y "Obligatorio". Esto indica internamente que el atributo debe ser completado cuando el Objeto de tipo Proceso de Negocio se esté por crear y para el valor de Obligatorio, nos recordará al parámetro añadido en las PropertyPages que se llama "Mandatory()", esto volverá obligatorio el atributo, lo que significa que antes de que se termine de crear, este atributo debe tener un valor bien definido.
En el caso de la Existencia, no importa que este atributo sea Obligatorio, puesto que al ser un atributo de tipo Booleano, siempre tendrá un valor, 0 o 1.
Podemos notar ahora, que simplemente modificando ese valor desde la lista de los MetaAtributos, el atributo de "Existencia" ahora aparece de forma automática en el Meta Wizard, sin tener que añadir una parametrización adicional en la MetaPropertyPage que antes modificamos.
Ahora, para el atributo de "Código del proceso de negocio", este valor si será obligatorio de completar o el objeto no podrá ser creado. Esto es muy útil cuando se quiere tener un control sobre la información de los objetos, un tipo de información que no puede faltar y obligará a los usuarios finales a rellenar dicho espacio.
Al modificar este valor para un atributo que puede tener más valores además de 1 y 0, podemos ver que si ahora intentamos crear el objeto de tipo Proceso de Negocio, nos aparecerá un mensaje indicando que es necesario completar la propiedad de "Código de Proceso de Negocio", por lo que hasta que este valor sea rellenado, se podrá proceder con la creación.
Esperamos que esta pequeña introducción haya sido de utilidad para comprender los Meta Wizards y como se pueden utilizar los conocimientos previamente aprendidos sobre las MetaPropertyPages para poder modificar el comportamiento por defecto de un Wizard y así controlar más la creación de los objetos que se requieran. Próximamente estaremos aprendiendo a cómo utilizar Macros en VB Script para automatizar los campos que nosotros queramos definir en estos Meta Wizards.