Ciclo de pruebas Orfeo
Descripción
Ciclo de pruebas generado para el Sistema de Gestión Documental Orfeo. permite corregir problemas presentados una vez se ha realizado la parametrización.
Requerimientos
- Sistema de Gestión Documental Orfeo instalado en servidor
Procedimiento
Asegurese de haber seguido el wiki de instalación y configuración de orfeo. Siga las instrucciones del documento ciclo de pruebas, paso por paso, a continuación se describen posibles problemas en cada ciclo.
1. Ciclo 1: Ingreso al Sistema de Gestión Documental Orfeo
- La pantalla se queda en blanco:
- Verifique que PHP tenga el cliente para conectarse a la BD
- Verifique conexión con la base de datos.
- Verifique errores en las SQL ejecutadas, activando el debug.
2. Ciclo 2: Radicación de entrada
- El usuario no recibe un correo electrónico de Orfeo
- Verifique que tenga postfix arriba y funcionando
- Verifique bitacoras de correo
3. Ciclo 3: Impresión de Sticker
A. Instalar Skinascan
Desde este enlace se puede descargar el Skinascan:
www.orfeolibre.org/inicio/index.php
B. Configurar el origen de base de datos desde panel de control–>Dispositivos Administrativos–>Origenes de Base de Datos
C. Ingresar los datos correspondientes en el configurador de Skinascan para su funcionamiento. Para más ayuda revise los manuales de instalación del Skinascan.
4. Modulo General - Usuario Final
Si se presenta problemas en la paginación de listados en las bandejas de los radicados en Orfeo, se debe realizar los siguientes pasos:
A. Localice el archivo adodb-paginacion.inc.php que se encuentra en /var/www/html/orfeo/adodb.
B. Localice el siguiente codigo:
$next_page = $id.'_next_page';
if (isset($HTTP_GET_VARS[$next_page])) {
$HTTP_SESSION_VARS[$curr_page] = $HTTP_GET_VARS[$next_page];
}
Y se reemplaza por el siguiente codigo:
$next_page = $id.'_next_page';
if (isset($_GET[$next_page])) {
$HTTP_SESSION_VARS[$curr_page] = $_GET[$next_page];
}
5. Radicación de Salida
6. Radicación Masiva
Si se genera error en el content.xml al momento de visualizar la plantila masiva con el numero de radicado asignado, realice los siguientes paso:
- Localice el archivo Esp.php que se encuentra en orfeo/class_control/.
- Localice las lineas que contienen este comentario:
<ESPACIO>
Y reemplazarlo por el siguiente comentario:
<ESPACIO> </ESPACIO>
7. Módulo de Consultas
A. Ubíquese en el modulo de consultas
B. Realice una consulta de un radicado ingresando solo el numero de radicado. Si la consulta general arroja resultados que no concuerdan, realice los siguiente:
- Localice el archivo common.php que se encuentra en la siguiente dirección: /var/www/html/orfeo/busqueda/
- localice el siguiente codigo:
function get_param($param_name)
{
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
$param_value = “”;
if(isset($HTTP_POST_VARS[$param_name]))
$param_value = $HTTP_POST_VARS[$param_name];
else if(isset($HTTP_GET_VARS[$param_name]))
$param_value = $HTTP_GET_VARS[$param_name];
return $param_value;
}
Reemplazar por el siguiente código:
function get_param($param_name)
{
global $_POST;
global $_GET;
$param_value = “”;
if(isset($_POST[$param_name]))
$param_value = $_POST[$param_name];
else if(isset($_GET[$param_name]))
$param_value = $_GET[$param_name];
return $param_value;
}
8. Radicación Saliente (Envío de Documentos)
9. Módulo de Administración
10. Modificación
11. Archivo
Alerta Expediente
Para realizar consultas de radicados que estan por comezar su tiempop en archivo de gestión se debe realizar los siguientes pasos:+__
__
Desde el aplicativo Orfeo:
A. Localizar el archivo alerta.php que se encuentra en /var/www/html/orfeo/archivo/
B. Localice la siguiente linea:
- Para consulta de radicados por rangos de fechas:
$query1=“select sgd_archivo_depe, sgd_archivo_rad, sgd_archivo_fechaf,sgd_archivo_usua, sgd_archivo_orden,sgd_archivo_d emandante from SGD_ARCHIVO_CENTRAL where sgd_archivo_fechaf BETWEEN '$exp_fechaIni' and '$exp_fechaFin' and sgd_archivo_ rad LIKE '%$expe%'”;
y reemplazarlo por las siguientes lineas:
//CONSULTA DIRECTAMENTE DESDE LAS SERIES Y SUBSERIES DE LA TABLA SGD_ARCHIVO_CENTRAL
//
//Modificado con condicion de busqueda
//Si no se selecciona serie ni subserie
if ($codserie==0 and $tsub==0){
$query1=“select sgd_archivo_depe, sgd_archivo_rad, sgd_archivo_fechaf,sgd_archivo_usua, sgd_archivo_orden,sgd_archivo_demandante,sgd_archivo_demandado from SGD_ARCHIVO_CENTRAL where sgd_archivo_fechaf BETWEEN '$exp_fechaIni' and '$exp_fechaFin'”;
}
//Consulta si se selecciona serie y subserie
elseif($codserie!=0 and $tsub!=0) {
$query1=“select sgd_archivo_depe, sgd_archivo_rad, sgd_archivo_fechaf,sgd_archivo_usua, sgd_archivo_orden,sgd_archivo_demandante,sgd_archivo_demandado from SGD_ARCHIVO_CENTRAL where sgd_archivo_fechaf BETWEEN '$exp_fechaIni' and '$exp_fechaFin' and sgd_archivo_srd =$codserie and sgd_archivo_sbrd = $tsub”;
}
//Consulta si solo se selecciona serie
elseif($codserie!=0 and $tsub==0) {
$query1=“select sgd_archivo_depe, sgd_archivo_rad, sgd_archivo_fechaf,sgd_archivo_usua, sgd_archivo_orden,sgd_archivo_demandante,sgd_archivo_demandado from SGD_ARCHIVO_CENTRAL where sgd_archivo_fechaf BETWEEN '$exp_fechaIni' and '$exp_fechaFin' and sgd_archivo_srd =$codserie”;
- Para consulta de radicados por serie y subserie:
$quer2=“select sgd_sbrd_tiemag, sgd_sbrd_tiemac from sgd_sbrd_subserierd where sgd_sbrd_codigo=$s brd and sgd_srd_codigo=$srd”;
y reemplazarlo por las siguientes lineas:
//Si la consulta es por serie
if($codserie!=0 and $tsub==0) {
$quer2=“select sgd_sbrd_tiemag, sgd_sbrd_tiemac from sgd_sbrd_subserierd where (cast(sgd_srd_codigo as varchar))='$codserie'”;
$srd=$rs→fields[“SGD_SRD_CODIGO”];
$sbrd=$rs→fields[“SGD_SBRD_CODIGO”];
}
//Si la consulta es por serie y subserie
else{
$quer2=“select sgd_sbrd_tiemag, sgd_sbrd_tiemac from sgd_sbrd_subserierd where (cast(sgd_sbrd_codigo as varchar))='$tsub' and (cast(sgd_srd_codigo as varchar))='$codserie'”;
Desde la base de datos de Orfeo:
C. Cree una serie y una subserie con codigo (0) que se llame “No definido”.
12. Módulo de Estadísticas
13. Tablas de Retención Documental
14. Solicitud Documentos Físicos
A. Ingrese a la información general de un radicado.
B. Realice la solicitud del físico de ese documento radicado. Si en la solicitud del físico presenta irregulariadades, realice lo siguiente:
- Localice el archivo common.php que se encuentra en la siguiente dirección: /var/www/html/orfeo/solicitar/
- localice el siguiente código:
function get_param($param_name)
{
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
$param_value = “”;
if(isset($HTTP_POST_VARS[$param_name]))
$param_value = $HTTP_POST_VARS[$param_name];
else if(isset($HTTP_GET_VARS[$param_name]))
$param_value = $HTTP_GET_VARS[$param_name];
return $param_value;
}
Reemplazar por el siguiente código:
function get_param($param_name)
{
global $_POST;
global $_GET;
$param_value = “”;
if(isset($_POST[$param_name]))
$param_value = $_POST[$param_name];
else if(isset($_GET[$param_name]))
$param_value = $_GET[$param_name];
return $param_value;
}
15. Préstamo y Control de Documentos
A. Ubíquese en el modulo de préstamo
B. Seleccione el ítem PRESTAMO DE DOCUMENTOS y realice una consulta del un radicado. Realice una consulta de un radicado ingresando solo el numero de radicado. Si la consulta general arroja resultados que no concuerdan, realice los siguiente:
- Localice el archivo common.php que se encuentra en la siguiente dirección: /var/www/html/orfeo/busqueda/
- localice el siguiente código:
function get_param($param_name)
{
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
$param_value = “”;
if(isset($HTTP_POST_VARS[$param_name]))
$param_value = $HTTP_POST_VARS[$param_name];
else if(isset($HTTP_GET_VARS[$param_name]))
$param_value = $HTTP_GET_VARS[$param_name];
return $param_value;
}
Reemplazar por el siguiente código:
function get_param($param_name)
{
global $_POST;
global $_GET;
$param_value = “”;
if(isset($_POST[$param_name]))
$param_value = $_POST[$param_name];
else if(isset($_GET[$param_name]))
$param_value = $_GET[$param_name];
return $param_value;
}
16. Autenticación por LDAP
A. Consulte el archivo config.php en /var/www/html/orfeo/ y agregue las siguientes lineas.
$ldapServer = 'Servidor LDAP';
$cadenaBusqLDAP = 'Cadena de búsqueda - Raiz del arbol donde estan los usuarios';
$campoBusqLDAP = 'Campo de búsqueda en el arbol';
B. Consulto el archivo pruebaLDAP.php y /var/www/html/orfeo/ y edite las siguientes lineas.
$ldapServer = 'Servidor LDAP';
$cadenaBusqLDAP = 'Cadena de búsqueda - Raiz del arbol donde estan los usuarios';
$campoBusqLDAP = 'Campo de búsqueda en el árbol';
$adminLDAP = 'Usuario administrador LDAP';
$paswLDAP='passwd de usuario administrador';
17. Flujo de procesos
Para crear etapa de igual nombre pero en diferentes flujos modifique el script del archivo llamado Proceso.php que se encuentra en orfeo/include/tx/ reemplazando la siguiente line:
$queryYaExiste = “select sgd_fexp_codigo as EXISTE FROM sgd_fexp_flujoexpedient es where sgd_fexp_descrip = '” . $this→etapa→getDescripcion() . “'”;
por la siguiente linea:
$queryYaExiste = “select sgd_fexp_codigo as EXISTE FROM sgd_fexp_flujoexpedientes where sgd_fexp_descrip = '” . $this→etapa→getDescripcion() . “' and sgd_pexp_codigo=” . $codProc . “”;
18. Radicación de Fax
Para realizar la recepción y radicación de fax siga los siguientes pasos:
Instale el haylafax o otro paquete de acuerdo al wiki de Fax server.
A. Modifique el /etc/hylafax/hyla.conf en la forma como presenta los resultados:
- #JobFmt?: “%-5j %1a %15o %-15.15e %5P %5D %5i %7z %.25s”
- #by Skina
- JobFmt? : “|%j|%a|%S|%e|%P|%D|%z|%s|”
- #RcvFmt?: “%7o %-10t %-25s %-20f %5p %1z %-40e”
- #by Skina
- RcvFmt?: “|%f|%Y %a |%h|%s|%p|%o|%e|%z|&j-%i|%b|%d|”
B. Verifique que el paquete ImageMagick este instalado haciendo /usr/bin/convert
C. Solo si el fax server se instala en una maquina diferente de la instalación Orfeo:
- Cree un usuario llamado Orfeo en ambas maquinas
- Haga intercambio de llaves para q se puedan hablar sin solicitar contraseña
- Agregue el usuario Orfeo al /etc/sudoers de la maquina Orfeo
Otra forma de configurar radicación de fax
Desde maquina de Orfeo
- Generar llaves privadas y publicas \tcon el usuario orfeofax .
ssh -keygen -t rsa [nombre \t\tarchivo]
Se crean dos llaves, una privada y otra pública
Privada: [nombrearchivo] con permisos \t\t\t(600)
Pública:[nombrearchivo].pub con permisos \t\t\t(644)
- Pasar parte pública de la llave a \tservidor fax. Puede ser por ftp, rsync, scp [nombre archivo].pub
Desde servidor de fax
- Editar authorized_keys. El archivo \tdebe estar en el home del usuario en la carpeta .ssh. A este archivo \tse agrega la siguiente linea:
from=“[ip_Orfeo_server]”,command=“[ruta \tarchivo de validación]/validate-rsync”
- Crear archivo validate-rsync en el \thome del usuario con permisos 700.
El contenido de este archivo es el siguiente:
- #!/bin/sh
- case “$SSH_ORIGINAL_COMMAND” in
- *\\&*)
- echo “Rejected”
- ;;
- *\\(*)
- echo “Rejected”
- ;;
- *\\{*)
- echo “Rejected”
- ;;
- *\\;*)
- echo “Rejected”
- ;;
- *\\<*)
- echo “Rejected”
- ;;
- *\\`*)
- echo “Rejected”
- ;;
- *\\|*)
- echo “Rejected”
- ;;
- rsync
–server*) - $SSH_ORIGINAL_COMMAND
- ;;
- *)
- echo “Rejected”
- ;;
- esac
- Crea un archivo .sh en el \thome del usuario orfeofax del servidor Orfeo con las \tsiguientes lineas:
sudo rsync -avz -e “ssh -i [ruta \tarchivo .key]/[nombrearchivo].key” \tusuario@[ip_fax_server]:[origen del archivo faxserver]/*.tif [ruta \tdestino en servidor Orfeo]
sudo chown uucp:uucp \t/var/spool/hylafax/recvq/*
sudo chmod 666 \t/var/spool/hylafax/recvq/*.tif
- Programar tarea en el crontab del \tusuario orfeofax del servidor Orfeo
El crontab, es un archivo en donde podemos configurar tareas para que se ejecuten automáticamente en nuestro sistema. Entonces, desde el servidor Orfeo y con el usuario “orfeofax” ejecutamos el comando crontab -e y dejamos el suiente script:
- * 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html /home/orfeofax/[nombre_archivo].sh
El script anterior hace referencia a:
| * * * * comando_a_ejecutar - - - - | | | + Mes(1 - 12) | + Dia del mes (1 - 31) | + Hora (0 - 23) + Minuto (0 - 59) |
D. Si el fax server se instala en la misma maquina:
- Agregue el usuario apache al grupo uucp
- Cambie los permisos a 775 en /var/spool/hylafax/recvq
- Cambie los permisos en el archivo /var/spool/hylafax/etc/config.ttyS0 a en la linea: RecvFileMode?: 0666
- Reinicie hylafax
- modifique el config.php de orfeo y agregue las siguientes lineas
if 1))
{
define(FAXSERVER_IP,'LOCALHOST');
define(FAXSERVER_SSH_USER,'apache');
}
19. Rasigación de radicados por dependencias
Para que la paginación funcione en el listado de radicados reaignados realice los siguientes pasos:
A. Localice la siguiente linea:
if($indi_generar==“SI”)
{
Y se comentarea reemplazandola por la siguiente linea:
//if($indi_generar==“SI”)
//{
Tener en cuenta: Lo que se esta haciendo es eliminado una condición, es decir, que se debe ubicar donde se cierra esta condición y comentariarlo de la siguiente forma.
Asi se representa el cierre de la condición:
}
y se reemplaza por esta linea
//}
B. Cuando se generar el listado de radicados reasignados y esta consulta no arroja resultados el sistema debe arrojar el siguiente mensaje:
«No se encuentra ningun radicado con el criterio de seleccion. »
Para que suceda debe localizar las siguientes lineas:
else{
echo “<hr><center><b><span class='alarmas'>No se encuentra ningun radicado con el criterio de seleccion</span></center></b></hr>”;
}
y reemplazarlas por estas lineas:
elseif($generar_listado){
echo “<hr><center><b><span class='alarmas'>No se encuentra ningun radicado con el criterio de seleccion</span></center></b></hr>”;
}
C. Cuando se cancela la consulta de radicados reasignados a dependencias, el sistema debe arrojar el siguiente mensaje:
«Operacion CANCELADA»
Para que suceda debe localizar las siguientes lineas:
else
{
echo “<hr><center><b><span class='alarmas'>Operacion CANCELADA</span></center></b></hr>”;
}
y reemplazarlas por las siguientes lineas:
if($cancelarAnular)
{
echo “<hr><center><b><span class='alarmas'>Operacion CANCELADA</span></center></b></hr>”;
}
20. CONSULTA WEB ORFEO
Los archivos de configuración se encuentran en la ruta /var/www/html/orfeo/consultaWeb , aqui se deben revisar y si es el caso, modificar los siguientes archivos:
- principal.php: En este archivo se debe incluir las siguientes lineas –> agregar el include del conig.php, entre los include de ver_datosrad y sessionWeb.
include “$ruta_raiz/ver_datosrad.php”;
include “$ruta_raiz/config.php”;
include “sessionWeb.php”;
para incluir el nombre de la empresa o entidad en la pág, se deben incluir las siguientes líneas en el encabezado del php
<tr>
<td class=“titulos2” ALIGN=CENTER >
<FONT SIZE=2><?=$entidad_largo?></FONT>
</td>
</tr>
- index_web.php: incluir el config –> include_once“$ruta_raiz/config.php”;
en la parte baja de la tabla, agregar las siguientes lineas, para que el logo de la empresa y el nombre aparezcan en la página de inicio.
<tr>
<td height=“90”> </td>
<td height=“90”><div align=“center”><img src='imagenes/Rana.png' height=100>
<br>
<font face=“Arial Narrow” style=“font-weight: bold;color:white;” size=“2”><?= $entidad_largo ?></font>
<br>
<font face=“Arial Narrow” style=“color:white;” size=“2”>República de Colombia</font>
</td>
</div>
</tr>
- cabez.php: para que el link de contactenos de la pag de consultaWeb Funcione, verifique que en este archivo se encuentren las siguientes líneas:
<td width=“61”><a href='<?=$entidad_contacto?>' target=\\“_blank\\” onMouseOut=“MM_swapImgRestore()” onMouseOver=“MM_swapImage('Image38','','imagenes/CALLa.jpg',1)”><img src=“imagenes/CALL.jpg” name=“Image38” width=“61” height=“76” border=“0”></a></td>
*** Antes que todo, revisar el config.php y verificar que si tenga los datos de $entidad_largo para el nombre de la empresa, $entidad para el logo y agragarle (en caso que no lo tenga) $entidad_contacto para el link de la pág de contacto de la entidad.
Problemas
Si se presentan problemas en la realización del ciclo de pruebas se debe seguir los siguientes pasos:
1. Activar debug
Cuando se presente alguna irregularidad dentro del sistema, busque el nombre del archivo en la carpeta raíz de Orfeo y edite cambiando la siguiente linea:
//$db→conn→debug=true;
se reemplaza por la siguiente linea:
$db→conn→debug=true;
Esta linea permite mostrar las sentencias de consultas que se están generando.
2. Error de Sintaxis
Una vez que sea visible las sintaxis de consultas que se generan, el sistema arroja el error de sintaxis y en que linea del archivo se encuentra.
Recomendaciones:
A. Ejecutar la sentencia sql desde la consola de consultas de motor de base de datos. Con esto rectificamos cual es el error de sintaxis.
B. Si existen errores de sintaxis, se deben corregir y hacer pruebas desde el motor de la base de datos antes de hacer los cambios en Orfeo.
C. Ubicar el archivo php que contiene la sintaxis sql.
3. Revisar Include - Require
Algunos archivos php de la raiz de Orfeo contienen o incluyen otros archivos mediantes construcciones como include o require que en su contenido estan las sentencias sql que generan las consultas en la base de datos. Los encontramos normalmente como:
- include ('Ruta del archivo php');
- require ('Ruta del archivo php');
4. Conexión Base de Datos
El archivo de configuración del sistema debe estar parametrizado de tal forma que se pueda hacer conexión entre el sistema y la base de datos.
Configure config.php
$servicio='[nombre_base de datos]';
$usuario='[usuario_administrador]';
$contrasena='[passwd_usuario]';
$servidor='[ip_servidor]';
$db=$servicio;
Otros problemas presentados
- Si el servidor PHP es de una versión superior a 4.1.0, las variables HTTP_POST_VARS, HTTP_GET_VARS , HTTP_SESSION_VARS, HTTP_SERVER_VARS, deben ser cambiadas a POST, GET, SESSION, SERVER, en los common.php de /prestamo, /solicitar y /adodb.
- En la base de datos, los tamaños para los campos de usuarios son de 15Bytes, toca agrandarlos en el caso q los nombres de usuario sean mas largos.
- La sesion ID no puede tener caracteres especiales como . revisar session-orfeo.php
- Para generar el reporte de envios se debe generar la planilla o guia de envios.
- No funciona el TOchar(numeric) en postgres (al menos a mi no me funciono) entonces cambio a cast(numeric as varchar(x).)
- Si el servidor de la base de datos es diferente al servidor de Orfeo, se debe permitir el tráfico hacia él, es decir al puerto 1521 de Oracle en el servidor de DB. (Revisar ACL o firewall).
- Cuando un usuario se autentica por LDAP, no funciona en Orfeo el cambio de password con usua_nuevo=0, ya que la aplicación no escribe en el servidor ldap, solo lee.
Bibliografía
- Crontab:
→ es.wikipedia.org/wiki/Cron_(Unix)
- Rsync:
→ es.wikipedia.org/wiki/Rsync
→ troy.jdmz.net/rsync/index.html
FIN
1-Julio-2009 L.A.Rhénals v1.0 Primera version
3-Julio-2009 L.A.Rhénals v2.0 Primera version
13-Julio-2009 L.A.Rhénals v2.0 Primera version
23-Julio-2009 L.A.Rhénals v2.0 Primera version
7-octubre-2009 Carolina Gutierrez Q. V. 2.1
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra le ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.