lunes, 31 de diciembre de 2012

KMKey en CentOS 6.3

6 comentarios
 

Hemos realizado ya un par de instalaciones exitosas de KMKey en CentOS 6.3.  Os compartimos aquí las notas al respecto

# INSTALL DEPENDENCIES

yum install python-devel
yum install make gcc gcc-c++ zlib-devel glibc glibc-devel gettext httpd subversion

wget ftp://ftp.muug.mb.ca/mirror/fedora/archive/extras/6/x86_64/xlhtml-0.5-6.fc6.x86_64.rpm
rpm -i xlhtml-0.5-6.fc6.x86_64.rpm

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
yum update
yum --enablerepo=rpmforge install antiword catdoc libxslt python-lxml poppler-utils patch lynx

yum --enablerepo=rpmforge install sudo less tnef ghostscript-fonts ghostscript-gtk exim


# INSTALL PYTHON 2.4

wget http://www.python.org/ftp/python/2.4.6/Python-2.4.6.tgz
tar xzf Python-2.4.6.tgz
cd Python-2.4.6
./configure --with-zlib=/usr/include
make
make install
ln -s /usr/local/bin/python /usr/bin/python2.4


# INSTALL ZOPE

wget -c http://www.zope.org/Products/Zope/2.9.4/Zope-2.9.4-final.tgz
tar -zxf Zope-2.9.4-final.tgz
cd Zope-2.9.4-final
vi configure # Añadir 2.4.6 a ACCEPTABLE
./configure --prefix=/usr/local/zope294
make
make install

mkdir /usr/local/kmkey
cd /usr/local
zope294/bin/mkzopeinstance.py -d kmkey/zope -u admin:$PASSWORD
zope294/bin/mkzopeinstance.py -d kmkey/zope2 -u admin:$PASSWORD
zope294/bin/mkzeoinstance.py kmkey/zeo 8100
ln -s /usr/local/zope294 /usr/local/zope


# INSTALL POSTGRES AND RELSTORAGE

yum install postgresql postgresql-devel postgresql-server postgresql-contrib

wget http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.0.13.tar.gz
tar xvzf psycopg2-2.0.13.tar.gz
cd psycopg2-2.0.13
python2.4 setup.py install


/etc/init.d/postgresql initdb
/etc/init.d/postgresql start

wget http://pypi.python.org/packages/source/R/RelStorage/RelStorage-1.4.0c3.tar.gz
tar xzf RelStorage-1.4.0c3.tar.gz
cd RelStorage-1.4.0c3
export PYTHONPATH="/usr/local/zope/lib/python/"
python2.4 setup.py install --install-lib=/usr/local/zope/lib/python
cd /usr/local/zope/lib/python/ZODB
patch < $HOME/RelStorage-1.4.0c3/poll-invalidation-zodb-3-7.patch

echo -e "Write zope postgresql password "
read -e PASSWORD
su postgres <
psql -c "CREATE USER zope WITH password '$PASSWORD' createdb" template1
psql -c "\i /usr/share/pgsql/contrib/tsearch2.sql" template1
ENDSU

su zope <
createdb kmkey_zodb
ENDSU

su postgres <
psql -c "update pg_database set encoding=16 where datname='kmkey_zodb'" template1
ENDSU


# INSTALL OPENOFFICE

wget http://openoffice.org.mirrors.irontec.com/stable/3.3.0/OOo_3.3.0_Linux_x86-64_install-rpm-wJRE_en-US.tar.gz
tar xvzf OOo_3.3.0_Linux_x86-64_install-rpm-wJRE_en-US.tar.gz
cd OOO330_m20_native_packed-1_en-US.9567/RPMS
rpm -i *rpm


# INSTALAR PRODUCTOS

cd /usr/local/kmkey
mkdir source
cd source
svn co https://joinup.ec.europa.eu/svn/kmkey/bundles/kmkey-stable
ln -s kmkey-stable current
cd current
python2.4 KMKeyCore/utils/generate_mo_files.py
cd /usr/local/kmkey/zope/Products
ln -s ../../source/current/* .
cd /usr/local/kmkey/zope2/Products
ln -s ../../source/current/* .
cp ZSQLCatalog/Extensions/zsqlbrain.py /usr/local/kmkey/zope/Extensions/
cp ZSQLCatalog/Extensions/zsqlbrain.py /usr/local/kmkey/zope2/Extensions/
cd /usr/local/kmkey/zope/Products/TextIndexNG3/extension_modules
python2.4 setup.py install

Leer más...
miércoles, 19 de diciembre de 2012

Como crear una base de datos soluciones

0 comentarios
 
En KMKey Helpdesk una actividad corriente es aplicar soluciones a las asistencias/incidencia/casos recibidos, la experiencia demuestra que buena parte de los casos son repetitivos

KMKey tiene la capacidad de gestionar documentación y comportarse como un gestor de documentación y conocimiento, aprovechando esta capacidad es muy simple la creación de una base de datos de soluciones

El concepto es usar la información de resumen de la asistencia/incidencias/casos como fuente de información para la base de datos soluciones, con los campos Descripción/Diagnosis y Solución como punto de partida.
Otra opción más especifica es gestionar una colección de fichas/expedientes de soluciones

Pasos

1. Configurar la asistencia de forma estructurada para facilitar la identificación de caso/solución
2. Opcionalmente se puede crear patron de soluciones e ir acumulando
3. Configurar la visibilidad de las asistencias para que sean visibles a los técnicos y/o usuarios
4. Configurar un filtro especifico para la búsqueda de soluciones. Suele incluir campos como síntomas

A continuación se incluye una imagen de una búsqueda especifica

Búsqueda Especifica
Destacan los campos de las asistencias/incidencias/casos que son de utilidad para crear la base de datos


Leer más...
martes, 11 de diciembre de 2012

Como localizar los documentos a Revisar, Aprobar etc

0 comentarios
 
En KMKey Quality se gestiona el ciclo de aprobación de la documentación, cada documento tiene asignado unos responsables para las acciones de Edición, Revisión, Aprobación.

Cuando un usuario solicita la Revisión o Aprobación de un documento KMKey notifica a los responsables por correo electrónico y/o mensaje KMKey.

Sin embargo es posible localizar los documentos que estén bajo nuestra responsabilidad y pendientes de alguna acción, basta con filtrar la vista de documentos por los atributos pertinentes

Pasos

1. Situarse en el expediente deseado o filtrar los expediente de documentación
2. Elegir las solapa/vista Documentos
3. Filtrar la vista con la acción Opciones por los atributos :
        Filtrar Estado, p.e. 'en revisión' para determinar la acción pendiente
        Pendiente de acción del usuario.  p.e. Joan Messi
     
Obtendremos las lista de documentos pendientes de revisar por Joan Messi

Aplica a : KMKey Quality
Leer más...
viernes, 30 de noviembre de 2012

KMKey Quality Zapata

4 comentarios
 
Hola,

Quiero invitaros a visualizar el vídeo en el que presentamos la nueva versión de KMKey Quality Zapata, lo encontraréis en el siguiente link http://youtu.be/zmKBT9JBMZ0

Veremos algunas de las mejoras introducidas que facilitan el uso de la aplicación para gestionar nuestro Sistema de Gestión de Calidad,  como por ejemplo, el "Mapa de Procesos" y como funciona el sistema de navegación basado en procesos.

Mostramos varias opciones nuevas, como la de RRHH, desde donde podemos gestionar a nuestros trabajadores, departamentos y cargos para posteriormente definir el organigrama de nuestra organización.  También, la "Matriz de Responsabilidades", desde donde determinamos quien va a participar y con que permisos en la gestión documental, que nos permitirá administrar el flujo de trabajo y la publicación de nuestros documentos electrónicos.

Finalmente introducimos como la aplicación KMKey Quality nos ayuda desde la opción de MEJORA, a gestionar las Auditorías, No Conformidades y Acciones Correctivas/Preventivas.

Saludos
Leer más...
miércoles, 28 de noviembre de 2012

Lanzar procesos en background

0 comentarios
 
Muchas veces nos resultará útil lanzar algún tipo de proceso en background con tal de no bloquear el navegador. Por ejemplo, procesos que impliquen actualización o creación de muchos objetos

Para ello, podemos utilizar los siguientes fragmentos de código para hacerlo

1-Por un lado, crearemos un adaptador o incluiremos este código para gestionar la llamada a procesos externos

class CommandLauncher(threading.Thread):
    def __init__(self, command,params=[]):
        threading.Thread.__init__(self)
        self.command = command
        self.result  = None
        if len(params):
            self.command = '%s %s'%(self.command,' '.join(params))       
       
    def run(self):       
        command_in, command_out = os.popen4(self.command, bufsize=0)       
        self.result = command_out.read()       
        command_in.close()       
        command_out.close()
       
    def abort(self):
        import os, sys
        if sys.platform == 'win32':
            os.abort()
        my_pid = str(os.getpid())
        command_in, command_out = os.popen4("/bin/ps -Af | /bin/grep %s | /bin/grep -v grep" % my_pid) 
        result = str(command_out.read())
        for line in result.split('\n'):
            while line.find('  ') > -1:
                line = line.replace('  ',' ')
            parts = line.split(' ')
            if len(parts)>1 and parts[2] == my_pid:
                # A child process to be killed
                os.kill(long(parts[1]), 9)
                os.waitpid(long(parts[1]), 0)
        command_in.close()
        command_out.close()


2- Dentro de nuestro código, haríamos una llamada de este tipo:

def miProcesoEnBatch(self,portal):
        try:                       
            command = '/usr/local/kmkey/zope/bin/zopectl run miscript.py'
            thread = CommandLauncher(command)
            thread.start()           
        except:  
             llamar a algun proceso que reporte el error(log propio o envío de mail)
             raise "Export error", thread.result
        return

Con esto , conseguimos hacer una llamada a un proceso externo desde nuestro navegador (en el proceso externo deberemos montar algún sistema para enviar aviso de que ha finalizado o ha dado error)

Un ejemplo de proceso externo sería este:


if __name__ == "__main__":   
    try:  
        import_products()
        #low priority   
        os.nice(5)   
       
        app = makerequest(app)
        site = app.unrestrictedTraverse('mi_sitio_kmkey')
        user = site.acl_users.getUser('manager').__of__(site.acl_users)
        newSecurityManager({}, user)
        app = makerequest(app)
        site = app.unrestrictedTraverse('mi_sitio_kmkey')              

        #todo mi proceso aquí#  (con commits parciales)
        get_transaction().commit()       
    except:  
        (exc, msg, tb) = sys.exc_info()
        out = StringIO()
        traceback.print_exception(exc,msg,tb,None,out)
        out.seek(0)
        body = str(out.read())
        #montar algún sistema para reportar errores, ya
        #sea con log propio, envió de mail o logger de zope
        escribelog(body)
        enviarMail(site,subject="Traceback Error a importació de matrícules",body=body)
        logger.error("Importar matricules Traceback:\n%s", body)



Leer más...
jueves, 27 de septiembre de 2012

KMKey Quality - Evaluación de proveedores

0 comentarios
 
Hola,

En el siguiente link, http://youtu.be/TW_X9qzK5QI  podéis acceder al vídeo en el que se muestra un ejemplo del registro de Evaluación de Proveedores con la aplicación KMKey Quality.

En primer lugar, damos de alta un nuevo proveedor en el sistema y a continuación introducimos una evaluación inicial desde el punto de vista de la gestión de la calidad.

Tras realizar la evaluación de los criterios y selección de proveedores, en función de su capacidad para suministrar productos/servicios de acuerdo con los requisitos de nuestra organización, determinaremos si nuestro proveedor es apto o no apto, el resultado de este análisis lo registraremos en el sistema.
Las posteriores evaluaciones periódicas que se vayan realizando para verificar si la calidad del producto/servicio se mantiene a lo largo del tiempo, nos permitirá realizar el seguimiento del proveedor.

Finalmente veremos algún ejemplo de los informes que podemos generar.

Saludos.
Leer más...
miércoles, 8 de agosto de 2012

KMKey Help Desk – Mantenimiento Preventivo

0 comentarios
 

Hola,

Hoy os presento un nuevo vídeo en el que podemos ver un ejemplo básico de gestión de un expediente de Mantenimiento Preventivo de periodicidad semanal con la aplicación KMKey Help Desk.

Realizaremos el alta y registro del expediente en la aplicación, en función de la duración y periodicidad seleccionada en el alta, veremos como se genera una estructura de tareas adaptada al tiempo y fechas definidas. En este ejemplo como indicamos que se trata de un expediente de mantenimiento preventivo con periodicidad semanal que durará únicamente un mes, la aplicación KMKey Help Desk generará 5 tareas de mantenimiento, distribuidas en el tiempo dentro del periodo seleccionado.

Posteriormente, el usuario receptor, será el responsable de ir realizando las revisiones programadas y alimentará semanalmente en cada una de las tareas, todas aquellas acciones que haya realizado, incidencias detectadas, así como elementos de progreso y notificaciones que envíe desde el expediente, para ello utilizará el Tab de GESTION.
En el vídeo por ejemplo, se muestra como adjuntar un documento al expediente, la imputación en el sistema de las horas de trabajo y como realizar el envío de un email al cliente, adjuntando el documento con el estado del elemento revisado.

Finalmente el supervisor, podrá generar desde el Tab de CONTROL, aquellos listados que tengamos definidos en la aplicación para controlar por ejemplo, los mantenimientos preventivos que tenemos en estado pendiente.


Os invito a consultarlo en la siguiente URL: http://youtu.be/dGWFCAsHR_U

Saludos.
Leer más...
miércoles, 25 de julio de 2012

Símbolo de moneda en KMKey

0 comentarios
 
Para modificar el  símbolo de moneda en KMKey simplemente hay que añadir una variable string a nivel de site , des de zmi , pestaña properties, llamada kmkey_currency_symbol, indicando el símbolo a utilizar

Saludos

Leer más...
martes, 24 de julio de 2012

Subir el IVA en KMKey (2012)

0 comentarios
 
Como estamos otra vez de subida de IVA.... reactualizamos el post, esperamos no tener que actualizarlo muy a menudo.....




Realizaremos los mismos pasos indicados en el post anterior :


1) Entramos en el ZMI (http://url_de_nuestro_kmkey/manage)
2) Vamos al site kmkey, apartado portal_skins/custom
3) Creamos un objeto de tipo "Script (python)", escogiéndolo en el seleccionable de arriba a la derecha
4) Lo podemos llamar, por ejemplo "paga_y_calla", y pulsamos el botón "Add and Edit"
5) Escribimos o copiamos las siguientes linias de codigo:

voc = context.portal_vocabularies.kmkey_tax
voc.clear()

voc.set('21.0', '21 %')
voc.set('18.0', '18 %')
voc.set('16.0', '16 %')

voc.set('10.0', '10 %')
voc.set('8.0', '8 %')
voc.set('7.0', '7 %')
voc.set('4.0', '4 %')
voc.set('0.0', '0 %')
return 'Subida del IVA completada'
6) Pulsamos la pestaña "Test"

Y a pagar...


Tened en cuenta que cada "voc.set" crea el tipo de IVA indicado, debéis añadir los nuevos, pero dejar los antiguos para mantener la integridad de los datos ya introducidos


Leer más...
miércoles, 18 de julio de 2012

Ahorro de espacio en postgresql

0 comentarios
 

Si vuestra base de datos de KMKey está creciendo mucho más de lo esperado a pesar de hacer regularmente pack y vacuum, puede que esteis afectados por una peculiaridad de Relstorage.   Esta implementación de ZODB usa dos tablas para calcular los objetos huérfanos y borrarlos, que en entornos con pocos borrados pueden acabar ocupando mucho más que los propios objetos a borrar. La solución pasa por desactivar el Garbage Collection de Relstorage y limpiar las tablas:

1) En zope.conf, dentro del tag relstorage, añadir "pack-gc false"

2) TRUNCATE TABLE object_ref

3) TRUNCATE TABLE object_refs_added

Asi de sencillo, ya teneis algunos GB más libres
Leer más...
viernes, 6 de julio de 2012

KMKey Quality - Gestión documental

2 comentarios
 
Hola, os invito a visualizar un nuevo vídeo en el que vamos a ver un ejemplo de gestión documental con la aplicación KMKey Quality.

Durante todo el proceso, veremos el flujo de trabajo a seguir en el ciclo de creación, revisión y aprobación de un documento, así como las notificaciones que se van a emitir a los respectivos responsables de cada fase.

Como sabéis la gestión documental, permite administrar todos los documentos de nuestro sistema, asegurando el control, mantenimiento y actualización de toda la documentación, así como garantizar que los usuarios finales puedan acceder a la última versión aprobada.

Veremos como identificar visualmente la situación actual de cada documento, mediante la representación gráfica de su estado:

- Si se trata de una versión final (de trabajo), estará en color verde.
- Si por lo contrario se trata de una versión bloqueada, estará en color naranja.

Si el documento está bloqueado, nos indicará que existe una nueva versión que se encuentra en el ciclo de edición/revisión/aprobación. Las tres columnas asociadas nos permitirán determinar exactamente en que estado de un ciclo documental ISO nos encontramos.

Diferenciaremos los distintos perfiles de usuario que intervienen, sus funciones y como interactúan entre ellos: Editor, Revisor y Aprobador.

Consultaremos versiones anteriores de documentos y su historial, con el detalle de las acciones y modificaciones que ha ido teniendo.

A continuación os detallo la URL en la que podéis visualizar el vídeo http://youtu.be/NjhfpCz79AQ

Saludos
Leer más...

KMKey Quality - Gestión de Auditorías

0 comentarios
 
Hemos realizado un nuevo vídeo, en el que se ha simulado el registro y gestión de una auditoría con la aplicación KMKey, esta es la URL:  http://youtu.be/M74fJbL-sDk

Como sabéis, KMKey Quality como software de gestión de calidad, nos permitirá generar planes de auditorías, gestionarlas y realizar el control y seguimiento de su ejecución.

Una vez establecidos los criterios de la auditoría y definidos los objetivos, alcance y seleccionado el equipo auditor junto al líder del equipo, procederemos a registrar en la aplicación la nueva auditoría.

Veremos la información que se puede obtener de cada uno de los TAB's: Definición, Planificar, Gestión, Contactos e Informes.

Como, todos los usuarios que estén autorizados a trabajar en esta auditoría, irán registrando todas sus acciones y adjuntando la documentación asociada, introduciendo en el sistema elementos informativos y temporales.

En el ejemplo durante la realización de la auditoría, simularemos que se detectan anomalías, procediendo con el alta de la No Conformidad correspondiente, la cual quedará vinculada directamente a su auditoría de origen.

También será interesante ver como desde Planificar, tenemos el control y una visión gráfica de la ejecución de todo el proyecto, permitiéndonos ir realizando el control de su progreso.

Las notificaciones que se generan entre los participantes en la gestión de la auditoría y finalmente los informes que podemos generar.
Leer más...
jueves, 5 de julio de 2012

KMKey Quality - Gestión de No Conformidades y Acciones correctivas

0 comentarios
 
Sistema de Gestión de Calidad

Hemos subido al canal de KMKey en YouTube, dos nuevos vídeos en los que podemos ver ejemplos de la gestión de las No Conformidades y sus Acciones Correctivas asociadas.

Una vez detectada la No Conformidad, sea cual sea su origen, por ejemplo durante la realización de una auditoría ya sea interna como externa, o una reclamación de un cliente, o detectada directamente por el personal durante su actividad diaria, etc, seguirá el siguiente procedimiento.

Se comunicará y registrará en el sistema y tras analizarla, el receptor de la No Conformidad como responsable de su gestión, procederá a su tratamiento, generando si fuera oportuno las acciones correctivas pertinentes, con el objetivo de corregir la causa del problema y evitar que vuelva a suceder en un futuro.

En los vídeos veremos los distintos usuarios que intervendrán en su gestión; el creador, el receptor y el verificador,
durante las distintas fases del proceso; la inicial con el registro en el sistema, su gestión y tratamiento, y su posterior verificación y cierre.

Finalmente, desde el TAB de Informes, podemos ver los distintos documentos que podemos generar.

Os invito a consultar los siguientes dos vídeos, a continuación detallo los links:

URL del vídeo:  http://youtu.be/cAyBzoZnKyg
URL del vídeo:  http://youtu.be/DEbKcuAkOzY

en el primero veremos un caso simple de No Conformidad y en el segundo una No Conformidad que requiere de una Acción Correctiva y el vinculo que se establece entre ambos.


Hasta la próxima.
Leer más...
jueves, 21 de junio de 2012

Instalar en CentOS

3 comentarios
 
Recientemente hemos llevado a cabo una instalación sobre CentOS 5.8   Como hay bastantes diferencias en los paquetes respecto a Debian, compartimos aquí las notas al respecto:


# INSTALL DEPENDENCIES

yum install python-devel
yum install make gcc gcc-c++ zlib-devel glibc glibc-devel gettext httpd subversion

wget ftp://ftp.muug.mb.ca/mirror/fedora/archive/extras/6/i386/xlhtml-0.5-6.fc6.i386.rpm
rpm -i xlhtml-0.5-6.fc6.i386.rpm

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -i rpmforge-release-0.5.2-2.el5.rf.*.rpm
yum update
yum --enablerepo=rpmforge install antiword catdoc libxslt python-lxml poppler-utils patch lynx

yum --enablerepo=rpmforge install sudo less tnef ghostscript-fonts ghostscript-gtk exim

wget http://elders.princeton.edu/data/puias/unsupported/5/i386/msttcorefonts-2.0-1.noarch.rpm
rpm -i msttcorefonts-2.0-1.noarch.rp


# INSTALL ZOPE

wget -c http://www.zope.org/Products/Zope/2.9.4/Zope-2.9.4-final.tgz
tar -zxf Zope-2.9.4-final.tgz
cd Zope-2.9.4-final
vi configure # Añadir 2.4.3 a ACCEPTABLE
./configure --prefix=/path/a/zope294
make
make install

mkdir /path/a/kmkey
zope294/bin/mkzopeinstance.py -d kmkey/zope -u admin:$PASSWORD
zope294/bin/mkzopeinstance.py -d kmkey/zope2 -u admin:$PASSWORD
zope294/bin/mkzeoinstance.py kmkey/zeo 8100


# INSTALL POSTGRES AND RELSTORAGE

yum install postgresql84 postgresql84-devel postgresql84-server postgresql84-contrib
yum --enablerepo=rpmforge install python-psycopg2
/etc/init.d/postgresql initdb
/etc/init.d/postgresql start

wget http://pypi.python.org/packages/source/R/RelStorage/RelStorage-1.4.0c3.tar.gz
tar xzf RelStorage-1.4.0c3.tar.gz
cd RelStorage-1.4.0c3
export PYTHONPATH="/usr/local/zope/lib/python/"
python2.4 setup.py install --install-lib=/usr/local/zope/lib/python
cd /usr/local/zope/lib/python/ZODB
patch < $HOME/RelStorage-1.4.0c3/poll-invalidation-zodb-3-7.patch

echo -e "Write zope postgresql password "
read -e PASSWORD
su postgres <
psql -c "CREATE USER zope WITH password '$PASSWORD' createdb" template1
psql -c "\i /usr/share/pgsql/contrib/tsearch2.sql" template1
ENDSU

su zope <
createdb kmkey_zodb
ENDSU

su postgres <
psql -c "update pg_database set encoding=16 where datname='kmkey_zodb'" template1
ENDSU


# INSTALL OPENOFFICE

wget http://download.services.openoffice.org/files/stable/3.3.0/OOo_3.3.0_Linux_x86_install-rpm_en-US.tar.gz
tar xvzf OOo_3.3.0_Linux_x86_install-rpm_en-US.tar.gz
cd OOO330_m20_native_packed-1_en-US.9567/
rpm -i *rpm

Leer más...
lunes, 28 de mayo de 2012

NTLM en Windows 7

0 comentarios
 
Aquellos que tengan un KMKey con Single Sign On sobre NTLM http://kmkey-es.blogspot.com.es/2010/03/single-sign-on-sso-con-kmkey.html se pueden encontrar con problemas en los puestos de trabajo que migren a Windows 7.    La administradora de KMKey en la diputación de Guipúzcoa, Eva Serrano, ha encontrado una solución.  La compartimos aquí con vosotros y le agradecemos enormemente el ponerla a disposición de todos:


Situación:
No reconoce el usuario y clave al tratar de acceder al KMKey en un computador con el Sistema Operativo Windows 7.

Causa:
Windows 7 por defecto no utiliza el tipo de autenticación utilizada en el KMKey, autenticación NTLM.
Solución:
Activar la opción para que el Windows 7 utilice el mismo mecanismo de autenticación NTLM.
Para ello realizar el siguiente procedimiento.
  • Abrir el [Panel de Control]
  • Abrir las [Herramientas Administrativas]
  • Doble Clic en la opción [Directiva de Seguridad Local]
  • Ubicarse en [Configuración de Seguridad]
  • Abrir la carpeta [Directivas Locales]
  • Escoger la opción: [Opciones de Seguridad]
  • En las opciones a la derecha doble clic en la opción [Seguridad de Red: Nivel de Autenticación de LAN Manager].
  • En la pantalla que se despliega a continuación, elegir la opción [Enviar respuestas LM y NTLM]
  • Verificar el acceso.
Leer más...
lunes, 21 de mayo de 2012

KMKey Quality gestión de solicitudes

0 comentarios
 
Mediante el siguiente link https://www.youtube.com/watch?v=38C7gGeHpqA podéis acceder al vídeo en el que podemos ver un ejemplo de la gestión de solicitudes mediante KMKey Quality, concretamente se realiza una petición de vacaciones al departamento de recursos humanos.


KMKey Quality gestión de solicitudes, nos permite gestionar el ciclo completo de las solicitudes realizadas por los empleados de nuestra empresa, desde su creación, hasta su posterior aceptación o denegación por parte de los responsables de departamento o recursos humanos encargados de su revisión.

La aplicación nos permite gestionar cualquier tipo de solicitud, ya sea una petición de vacaciones, un permiso por asuntos propios, trámites, ausencias médicas, etc, ... podemos definir cualquier concepto que nos interese atender, en función de las necesidades de nuestra empresa.

La metodología es muy sencilla:

El usuario dará de alta una nueva petición, una vez creada, la aplicación generará una notificación automática que será enviada a sus respectivos responsables, informando de la existencia de una nueva solicitud pendiente de evaluar.

Estos avisos son totalmente configurables, se puede generar un correo electrónico y/o una notificación a través del sistema de mensajería de la propia aplicación.

El empleado durante el proceso inicial, deberá indicar el tipo, el detalle de los días solicitados, el ejercicio al que pertenece y el motivo de su solicitud. Y si lo desea, podrá disponer de un comprobante de dicha solicitud, generandolo desde el apartado de Control - Informes.

El sistema creará en la agenda del trabajador una asignación de recursos cuyo estado figurará como pendiente, hasta que finalice se evaluación.

Tanto el flujo como los permisos de aprobación son completamente configurables, en el ejemplo de este vídeo se requiere la aprobación de tres departamentos; Recursos Humanos, Comercial y Dirección, cada uno de ellos deberá evaluar la solicitud del trabajador, añadiendo los comentarios que crea oportunos, remarcar que estos campos de evaluación serán únicamente visibles por los responsables de los departamentos que intervienen, nunca por el empleado.

Una vez atendida, se procederá al cierre de la solicitud, desde donde se podrá comunicar a su solicitante si la petición ha sido aprobada o denegada, adjuntando el documento de “Carta de Resolución”, que se podrá generar desde las plantillas predefinidas en KMKey.

Finalmente, recordar que desde el apartado de Gestión, la aplicación permitirá generar diversos listados para consultar por ejemplo, el estado de todas las solicitudes registradas por los empleados, el comprobante de una solicitud concreta, etc.
Leer más...
miércoles, 16 de mayo de 2012

Notificaciones en KMKey Quality

0 comentarios
 
En KMKey existen dos tipos de notificaciones, las explícitas y las implícitas.  Las primeras son las que decide mandar voluntariamente un usuario al realizar una acción.  Siempre que se entra una nota, un trabajo o un documento, nos aparece un campo "Notificar" donde podemos seleccionar uno o varios usuarios que serán avisados de ello.



Observaremos que los posibles usuarios a notificar NO son todos los del sistema, sino que únicamente nos aparecen aquellos usuarios que tienen otorgado algún permiso sobre el expediente en el que nos encontramos.  Recordemos que para asignar nuevos usuarios a un expediente basta con situarse en él y usar la pantalla de Permisos:


El otro tipo de notificaciones que existen, las implícitas, son aquellas que se generan automáticamente en determinados pasos, y que dependen de la configuración del patrón de trabajo que estemos usando. Por ejemplo, en KMKey Quality disponemos de un patrón para la gestión de la documentación controlada, donde podemos  definir editores, revisores, aprobadores y lectores.   Cada vez que un editor envía una nueva  versión del documento a revisar, los usuarios definidos como revisores serán notificados de ello, y cada vez que el revisor de el visto bueno serán avisados los aprobadores.  Finalmente, cuando una nueva versión del documento sea aprobada, se notificará a los lectores de ello.  Ciclos parecidos de notificaciones se encuentran definidos en la gestión de No Conformidades y de Acciones Correctivas.

Leer más...
lunes, 7 de mayo de 2012

Gestión de Calidad Completa

1 comentarios
 
Después de la buena aceptación que ha tenido la versión paquetizada de KMKey para Sistemas de Gestión Integrados (S.G.I.) que presentamos en enero (ver entrada), estamos ya trabajando en una versión más extensa, que incorpore versiones estandarizadas de los procedimientos más usados en las ya muchas implantaciones de KMKey Quality personalizadas que hemos llevado a cabo.

Recordemos primero cuáles son las funcionalidades incluidas en el paquete básico para S.G.I.:


  • Procedimiento de Documentación controlada. Sirve para gestionar el acceso, modificación e historia de toda la documentación del sistema, como Manuales, Procedimientos, Formatos o Instrucciones de Trabajo, en cualquier formato de fichero (PDF, DOC, XLS, ODT, ODS, etc.). Para ello se garantiza que los usuarios únicamente puedan acceder a la última versión aprobada de cada documento, y para cada punto de la norma se definen los perfiles del Editor, el Revisor y el Aprobador de los documentos, obligando a seguir el ciclo establecido en la norma para cada nueva revisión de los documentos, y notificando a cada uno de los intervinientes cuando se producen modificaciones.
  • Procedimiento de Control de los Registros. Se usa para almacenar en el gestor documental la información de los registros obtenidos en cualquier formato, quedando a disposición de los usuarios a los que se les otorgue acceso, y siendo indexados sus contenidos para que el proceso de búsqueda permita localizarlos con facilidad.
  • Procedimiento de Planificación y ejecución de Auditorías. Permite la planificación, ejecución y control de auditorías tanto internas como externas, seleccionando los procedimientos a auditar y el equipo auditor. Durante la ejecución de la auditoría es posible lanzar No Conformidades que se vayan detectando, y el sistema impedirá que la Auditoría se pueda dar por concluída hasta que todas las no conformidades detectadas se hayan resuelto. El entorno web de la herramienta la hace especialmente indicada para que auditores externos puedan realizar remotamente el seguimiento de todas esas cuestiones.
  • Procedimiento de No Conformidades. Pueden iniciarse desde una Auditoria, pero también pueden tener su origen en otros ámbitos, como las quejas de clientes o la observación del personal. Una vez se registra una No Conformidad y el/los procedimiento/s afectados, se designa un Receptor de la misma, que es notificado por e-mail y será la persona encargada de llevarla a cabo. Está previsto registrar los costos de la corrección asociados, y de ser necesario incluso se pueden lanzar Acciones Correctivas. En este último caso, el sistema impedirá el cierre de la No Conformidad hasta que se hayan resuelto todas las acciones correctivas asociadas.
  • Procedimiento de Acciones Correctivas, Preventivas o de Mejora. Pueden tener su origen en una No Conformidad, pero también puede iniciarlas directamente algún usuario autorizado. Se registran los procedimientos afectados y se designa un Receptor (el encargado de ejecutarla) y un Plazo de ejecución. También puede designarse un Verificador, que será notificado en el momento que el Receptor dé por implementada la acción. En caso de que la acción tenga su origen en una No Conformidad, cuando se  cierre se notificará al Receptor de la misma para que tenga constancia.


  • De todos los procedimientos que tenemos implementados en diversos clientes, hemos pensado que una buena selección a añadir en una versión paquetizada más completa sería la siguiente:


  • Comités de Calidad. Para la convocatoria, ejecución y asignación de tareas derivadas de las reuniones del comité de Calidad
  • Objetivos e Indicadores. Permite definir los objetivos anuales y los indicadores, y hacer un seguimiento de su cumplimiento
  • Quejas y SugerenciasPara el registro de quejas, sugerencias y reclamaciones de distintos ámbitos, con su posible derivación hacia No Conformidades cuando así se requiera.
  • Mantenimientos Periódicos. Para la planificación y seguimiento de mantenimientos periódicos de máquinas o instrumental
  • Empleados y Puestos de Trabajo. Para la definición, asignación y evaluación de puestos de trabajo.
  • Formaciones.  Permite controlar la planificación de cursos de formación y la asistencia a los mismos por parte de los empleados.
  • Evaluación de Proveedores. Permite evaluar a los proveedores desde el punto de vista de la gestión de la calidad


  • ¿ Que os parece el pack previsto ? ¿ Añadirías algún procedimiento que considereis fundamental a la herramienta ?  Agradecemos vuestras opiniones


    Leer más...
    jueves, 15 de marzo de 2012

    Servidor KMKey de Debian Lenny a Squeeze

    0 comentarios
     
    Hace algunas semanas dejó de soportarse Debian Lenny.  Para aquellos que tengais KMKey en esta versión y deseis subir a Debian Squeeze, aquí teneis los pasos a seguir:

    1) Verificar y copiar fuera del servidor el último backup de los datos

        su zope
        cd /var/zope/storages/kmkey/backups
        cp * /mnt/algun_sitio_externo


    2) Hacer copia de los fuentes de KMKey y duplicarlos fuera del servidor

        su zope
        cd /usr/local/kmkey/
        tar czf kmkey_source.tgz source/
        cp kmkey_source.tgz /mnt/algun_sitio_externo


    3) Ponerse a la última en Lenny antes de actualizar

        su
        apt-get update
        apt-get upgrade
        apt-get dist-upgrade


    4) Comprobar que no tenemos paquetes problemáticos o bloqueados

        su
        dpkg --audit
        dpkg --get-selections | grep hold

        aptitude
        # pulsar g y solucionar hasta que diga que todo está OK


    5) Editar el sources.list y poner los repositorios de Squeeze

        su
        vi /etc/apt/sources.list
        # Por ejemplo:
        deb http://ftp.es.debian.org/debian/ squeeze main contrib non-free
        deb-src http://ftp.es.debian.org/debian/ squeeze main contrib non-free
        deb http://security.debian.org/ squeeze/updates main contrib non-free
        deb-src http://security.debian.org/ squeeze/updates main contrib non-free


    5) Actualizar paquetes y cambiar kernel y grub, para reiniciar

        su
        apt-get update
        apt-get upgrade
        update-grub
        apt-get install udev
        reboot


    6) Actualizamos versión y reniciamos

        su
        apt-get -d dist-upgrade
        apt-get dist-upgrade
        # Hay un warning de dpkg-reconfigure sysv-rc relativo a kmkey pero se puede ignorar
        reboot

        # Entramos con primera opción del Gurb
        su
        upgrade-from-grub-legacy
        reboot


    7) Instalar psycopg2 para python2.4 (éste no se pierde)

        su
        apt-get install dpkg-dev libpq-dev
        apt-get source python-psycopg2
        cd psycopg2-2.2.1/
        python2.4 setup.py install

       
    8) Si teníamos ZPsycopgDA, lo cambiamos:
           
        mv /usr/local/kmkey/zope/Products/ZPsycopgDA /usr/local/kmkey/zope/Products/ZPsycopgDA.old
        cp -a ZPsycopgDA /usr/local/kmkey/zope/Products
        chown -R zope.zope /usr/local/kmkey/zope/Products/ZPsycopgDA
        su zope
        /usr/local/kmkey/zope/bin/zopectl restart

       
    9) Si se desea cambiar de postgres 8.3 a 8.4 (opcional):
       
        su
        apt-get install postgresql-8.4
        pg_dropcluster --stop 8.4 main
        /etc/init.d/kmkey stop
        pg_upgradecluster -v 8.4 8.3 main
        pg_dropclustere 8.3 main
        /etc/init.d/postgresql start
        /etc/init.d/kmkey start
    Leer más...

    Schema kmkey_document en SQL

    0 comentarios
     
    Algunas configuraciones de KMKey, especialmente de calidad, tienen el schema kmkey_document en SQL. Hemos detectado que eso, junto con el uso de DiskFile, puede provocar serios problemas en la gestión de las transacciones, que además no resultan fácilmente reproducibles. Es por ello que aconsejamos a todos los usuarios que cambien su configuración, si se dá el caso descrito. Básicamente la solución consiste en separar el schema kmkey_document en dos, uno sin Diskfile y en SQL, y otro con Diskfile y sin SQL. Para un entorno en producción se requieren algunos pasos más a fin de conservar los datos. Son los que detallamos a continuación:

    1- Añadir un schema kmkey_document_file, con un campo 'file' de tipo CPS Disk File, con una write expresion python:file

    2- NO eliminar aún el campo file de kmkey_document

    3- Añadir al portal_type el schema, pero ojo, el primero:

    metadata common kmkey_document_file kmkey_document

    4- Regrabar todos los documentos, por consola (via kmkey/zope/bin/zopectl debug):

    site = app.kmkey
    site._p_jar.cacheGC()
    site._p_jar.sync()
    from AccessControl.SecurityManagement import newSecurityManager
    from Testing.makerequest import makerequest
    user = site.acl_users.getUser('manager').__of__(site.acl_users)
    newSecurityManager({}, user)
    app = makerequest(app)
    site = app.kmkey
    cat = site.portal_catalog
    site._p_jar.cacheGC()
    site._p_jar.sync()
    brains = cat(meta_type='KM Document')
    erronis=[]
    i=0
    for brain in brains:
      i=i+1
      ob = brain.getObject().getContent()
      try:
          dm = ob.getDataModel()
      except 'StorageError':
         erronis.append(brain)
      dm._commit()
      if i%5==0 or i>=len(brains):
         get_transaction().commit()
         site._p_jar.sync()
         i

    5- Ir al schema kmkey_document_file y eliminar la write expression

    6- Eliminar el campo file del schema kmkey_document

    7- Eliminar el campo file de la tabla SQL

    psql kmkey_zodb
    alter table kmkey_document add column file_old text;
    update kmkey_document set file_old = file;
    alter table kmkey_document drop column file;
    Leer más...
    viernes, 27 de enero de 2012

    Carga automática de valores en vocabularios

    0 comentarios
     
    Como ya sabemos, ya sea vía edición de patrón (Admin,Patrones,Campos) o vía zmi; portal_vocabularies, cargar manualmente valores en un vocabulario es algo engorroso, sobre todo cuando tenemos muchos valores

    Para facilitarlo hemos habilitado la url /uploadCSV que permite cargar los valores de un vocabulario a partir de un archivos .csv separado por ";"

    Especificaciones del archivo de entrada:
    - 2 columnas. La primera contiene el ID y la segunda el texto
    - Separado por ; (punto y coma)
    - Sin comillas ni separador de campos
    - Cada item separado por salto de línea \n

    Ejemplo:

    A;valor1
    B;valor2
    C;valor3

    Leer más...
    martes, 24 de enero de 2012

    Método de grabación de vídeos en GNU/Linux

    1 comentarios
     
    Para aquellos que estén interesados en cómo grabamos nuestros vídeos de KMKey desde nuestros PC's con GNU/Linux, aquí os adjunto las instrucciones:

    1) Instalar gtk-recordmydesktop:

        sudo apt-get install gtk-recordmydesktop mencoder

    2) Ejecutarlo con gtk-recordmydesktop y, ANTES de grabar, indicar el destino con el botón "Guardar Como"

    3) Seleccionar una área de grabación arrastrando el mouse sobre el Preview

    4) Eso nos generará un vídeo en format OGV.   Para poder subirlo a youtube necesitamos pasarlo a AVI, ejecutando:

        mencoder video.ogv -o video.avi -oac mp3lame -ovc lavc

     
    Leer más...

    Video presentación de la configuración SGI

    3 comentarios
     
    Adjuntamos vídeo de presentación de la nueva configuración de KMKey Quality para Sistemas de Gestión Integrados (Calidad, Medio Ambiente y Seguridad):



    Se puede obtener más información en la página comercial: KMKey SGI
    Leer más...
    jueves, 12 de enero de 2012

    Personalizar envío de notificaciones

    0 comentarios
     
    Veréis que al agregar una pill tenéis la opción de "Notificar". Esto envía una notificación por defecto a los usuarios seleccionados

    Para personalizar esta notificación realizaremos los siguientes pasos:

    1 - Crear un scrit en zmi/portal_skins/custom. (podéis utilizar cualquier nombre de script)
    2 - Parámetros de entrada : ob,project,notif,field,translate,_=None,usernames=''
    3 - Contenido orientativo del script :

    if not ob:
    return False

    proxy = ob
    dm = ob.getContent().getDataModel()
    project_dm = project.getContent().getDataModel()
    utool = context.portal_url

    subject = "Mi Subject"
    if not usernames:
    usernames = dm['notify_to']

    mfrom=''
    member = dm['member']
    remitente = ''
    if member:
    brains = catalog(username=member)
    if len(brains):
    remitente = brains[0].Title
    aux = brains[0].getObject().getContent().getDataModel()
    if aux['email']:
    mfrom = aux['email']

    url = utool.getRelativeContentURL(proxy)
    if '__' in url:
    url = '/'.join(url.split('/')[:-1])

    body = """
    Aquí va el texto del cuerpo del mensaje, donde podemos adjuntar todos los datos
    obtenidos
    """

    notif.notifyUsersFromIds(members_ids=usernames, subject=subject, body=body,related_path='',mfrom=mfrom,send_notification_url=False)
    something_done = True
    return True

    4 - Finalmente damos una propiedad a nivel de site (zmi , pestaña properties) , llamada : "custom_skin_for_sendNotifications", del tipo string, y le daremos el nombre de nuestro script

    a partir de ahí, las notificaciones enviadas con un campo del tipo KMKey Notification Field, utilizarán este custom script




    Leer más...