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.
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.
Post Reply
rbahntje
Junior Boarder
Junior Boarder
Posts: 32
Joined: Mon Dec 24, 2012 12:52 am

Seleccionar campos múltiples en PropertyGroup

Post 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
jllort
Moderator
Moderator
Posts: 11384
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Seleccionar campos múltiples en PropertyGroup

Post 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.
rbahntje
Junior Boarder
Junior Boarder
Posts: 32
Joined: Mon Dec 24, 2012 12:52 am

Re: Seleccionar campos múltiples en PropertyGroup

Post 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
jllort
Moderator
Moderator
Posts: 11384
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Seleccionar campos múltiples en PropertyGroup

Post 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 ?
rbahntje
Junior Boarder
Junior Boarder
Posts: 32
Joined: Mon Dec 24, 2012 12:52 am

Re: Seleccionar campos múltiples en PropertyGroup

Post 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)
jllort
Moderator
Moderator
Posts: 11384
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Seleccionar campos múltiples en PropertyGroup

Post 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 ).
Post Reply