• Seleccionar campos múltiples en PropertyGroup

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #23104  by rbahntje
 
Utilizando la opción de seleccionar los metadatos de una tabla, es posible cargar más de un campo con un mismo select?

Tomando el ejemplo publicado en http://wiki.openkm.com/index.php/Form_E ... escription

En la definición del Property Group el select utiliza 2 variables pero solo una es utilizada:
Code: Select all
 <select label="Provincia" name="okp:provincia" type="simple" 
      	table="provincia" 
        optionsQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia'"/>
Que determina que el valor de okp:provincia sea $pro_nombre y no $pro_id?

Es posible aplicarle al documento ambos metadatos? (pro_id y pro_nombre)?

Gracias
Ruben
 #23118  by jllort
 
Uno es la clave primaria pro_id de hecho podrías hacer una select del tipo:
Code: Select all
select $pro_id, concat($pro_id, "-", $pro_nombre) from DatabaseMetadataValue dmv where dmv.table='provincia'
Notese que esto se ha hecho pensado en una mysql ( concat ) !

Se podría intentar hacer una select de varias tablas
dmv.table into ('tabla1', 'tabla2') pero ojo que entonces o las dos tienen un $pro_id o esto lo tendras que plantear de otra forma. Date cuenta que el $pro_id internamente lo que hace es hacer un getString("pro_id") esta es un poco la idea de la implementacion interna ( podrías probar con un $0 ? sinceramente tendría que ver el código fuente para hacer una estimación de lo que puede pasar ).

De todas formas la idea de que un metadata venga de varias tablas fuente es un poco raro. Me gustaría entender el caso.
 #23124  by rbahntje
 
Me exprese mal, los metadatos vienen todos de la misma tabla, lo que busco es poder traer más de un dato.
Supongamos que a la tabla provincia le agregamos un campo para el código postal (pro_zipcode), no me queda claro como hacer para que el select devuelva ambos datos y los aplique como metadatos, ej:

Provincia: Nombre_de_la_Pcia
ZipCode: 00010
 #23139  by jllort
 
Tu lo que quieres es que un campo dependa de otro no ? A partir de la provincia que te añada el código postar. Es esto ?
 #23154  by rbahntje
 
Exacto, seleccionando un campo pueda aplicar como metadatos el resto de los datos almacenados en la misma fila (no se trata de hacer joins ni buscar datos en diferentes tables, sino de aplicar un PropertyGroup que contiene más de un campo)
 #23171  by jllort
 
Esto no esta implementado. Se puede hacer pero tiene su trabajo. Requiere primero un cambio en el dtd para que se puedan establecer relaciones entre properties y lo segundo es modificar el FormManager.java para contemplar este caso ( obviamente el cambio del dtd implica algun que otro cambio en el Select.java y en la forma como se leen los datos del xml ).

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.