Herramientas de usuario

Herramientas del sitio


waine:package:wcaval

wcaval

Tipo

  • Package

Descripción

wcaval (Waine Custom Attribute-VAlue) es un componente complejo que proporciona tablas, formularios y widgets. El objeto de este paquete es dotar de campos configurables, definibles por el administrador, a las entidades que se desee en una aplicación. Estos campos permiten ciertas validaciones basadas en expresiones regulares y código javascript.

Funcionalides

El paquete wcaval ofrece las siguientes funcionalidades:

  • Modelo de datos En el siguiente Diagrama Entidad-Relación se resume el modelo de datos que wcaval crea para cada entidad que necesita de campos configurables:
    • wcaval_RegExp: Tipos y sus expresiones regulares.
    • <Entity_type>_wcaval_attr: Atributos definidos para los distintos tipos de entidades. Existirá una tabla de nombre Entity_type_wcaval_attr vinculada a las tablas que recogen los distintos tipos de entidades.
    • <Entity>_wcaval_value: Valores asociados a la entidad entity. Existirá una tabla de nombre Entity_wcaval_value vinculada a cada tabla que almacena entidades.
    • <Entity>_wcaval_atval: Vista que devuelve pares campo-valor para cada objeto. Existe una vista por cada tabla que almacena entidades con campos personalizados.
    • <Entity>_wcaval_linear(pk integer, sep boolean, begs varchar, ends varchar, br varchar, er varchar, bas varchar, eas varchar, aq varchar, bvs varchar, evs varchar, vq varchar): funcion que lineariza las tuplas campo-valor de una entidad. Los parámetros necesarios para invocar a la función son:
      • pk: identificador del objeto cuyos campos se desean linearizar
      • sep: Indica si el último campo lleva o no finalizador
      • begs: cadena de inicio
      • ends: cadena de finalización
      • br: cadena de inicio de fila
      • er: cadena de fin de fila
      • bas: cadena de inicio de atributo
      • eas: cadena de fin de atributo
      • aq: comillas a emplear en el atributo
      • bvs: cadena de inicio de valor
      • evs: vadena de fin de valor
      • vq: comillas a usar con el valor
  • Unidades de interacción y formularios
    • wcaval.struct.regexp: Unidad de interacción utilizada para la definición de tipos de datos y expresiones regulares.
    • wcaval.form.attr: Formulario empleado para definir los campos personalizables de un tipo de objeto.
    • wcaval.form.value: Formulario empleado para asignar valores de los campos personalizables de un objeto.
  • Widgets. wcaval define un par de widgets trabajan colaborativamente en el formulario wcaval.form.value para la validación de los valores de los campos introducidos:
    • wcaval.Attr
    • wcaval.Value

Ejemplos

  • Unidad de interacción para definir atributos para tipos de entidades (tabla Entity_type)
  <struct id="s_objtypes" type="relation">
       <param name="form_split" value="rows=33%,*"/>

       <param ord="1" name="formid" value="fdescr.form.descr"/>
       <param ord="1" name="form_source" value="Entity_type"/>
       <param ord="1" name="form_type" value="form"/>
       <param ord="1" name="form_caption" value="Tipos de Objetos"/>
       <param ord="1" name="navigator_position" value="W"/>
       <param ord="1" name="navigator_fields" value="1"/>
       <param ord="1" name="button_data" value="1"/>

       <param ord="2" name="formid" value="wcaval.form.attr"/>
       <param ord="2" name="form_source" value="Entity_type_wcaval_attr"/>
       <param ord="2" name="form_type" value="table"/>
       <param ord="2" name="button_data" value="1"/>

       <param ord="2" name="source_filter_field" value="fk"/>
    </struct>
  • Unidad de interacción que permite la asignación de valores a los campos de una entidad.
    <struct id="s_objects" type="relation">
       <param name="form_split" value="rows=33%,*"/>

       <param ord="1" name="formid" value="f_object"/>
       <param ord="1" name="form_type" value="form"/>
       <param ord="1" name="navigator_position" value="W"/>
       <param ord="1" name="navigator_fields" value="descr"/>
       <param ord="1" name="button_data" value="1"/>

       <param ord="2" name="formid" value="wcaval.form.value"/>
       <param ord="2" name="form_source" value="Entity_wcaval_value"/>
       <param ord="2" name="form_type" value="table"/>
       <param ord="2" name="form_theme" value="wcaval_0.1/buttons.cfg"/>
       <param ord="2" name="button_update" value="1"/>

       <param ord="2" name="source_filter_field" value="fk"/>
    </struct>
  • Ejemplos de uso de la función Entity_wcaval_linear
    • HTML:
      SELECT Entity_wcaval_linear(1,f,'<table>','</table>','<tr>','</tr>','<td><b>','</b></td>','','<td>','</td>','');
      
       <table><tr><td><b>Brand</b></td><td>HP</td></tr><tr><td><b>Model</b></td><td>Pavilion 15-BC450</td></tr><tr><td><b>Price</b></td><td>645.23</td></tr><tr><td><b>CPU</b></td><td>Intel Core i5 8300H / 2.3 GHz</td></tr><tr><td><b>RAM size</b></td><td>8</td></tr><tr><td><b>RAM type</b></td><td>DDR4</td></tr><tr><td><b>Hard Disk</b></td><td>SDD</td></tr><tr><td><b>HD size</b></td><td>1024</td></tr></table>
    • XML :
      SELECT Entity_wcaval_linear(1,f,'<fields>','</fields>','<field>','</field>','<attr>','</attr>','','<value>','</value>','');
      
       <fields><field><attr>Brand</attr><value>HP</value></field><field><attr>Model</attr><value>Pavilion 15-BC450</value></field><field><attr>Price</attr><value>645.23</value></field><field><attr>CPU</attr><value>Intel Core i5 8300H / 2.3 GHz</value></field><field><attr>RAM size</attr><value>8</value></field><field><attr>RAM type</attr><value>DDR4</value></field><field><attr>Hard Disk</attr><value>SDD</value></field><field><attr>HD size</attr><value>1024</value></field></fields>
    • CSV :
      SELECT Entity_wcaval_linear(1,t,'','','','','',';','\'','',';','\'');
      
       'Brand';'HP';'Model';'Pavilion 15-BC450';'Price';'645.23';'CPU';'Intel Core i5 8300H / 2.3 GHz';'RAM size';'8';'RAM type';'DDR4';'Hard Disk';'SDD';'HD size';'1024'
    • JSON:
      SELECT Entity_wcaval_linear(1,t,'{','}','','','',':','"','',',','"');
      
       {"Brand":"HP","Model":"Pavilion 15-BC450","Price":"645.23","CPU":"Intel Core i5 8300H / 2.3 GHz","RAM size":"8","RAM type":"DDR4","Hard Disk":"SDD","HD size":"1024"}
    • TEXT:
      SELECT Entity_wcaval_linear(1,f,'','','',E'\n','- ',': ','','','','');
      
      - Brand: HP
      - Model: Pavilion 15-BC450
      - Price: 645.23
      - CPU: Intel Core i5 8300H / 2.3 GHz
      - RAM size: 8
      - RAM type: DDR4
      - Hard Disk: SDD
      - HD size: 1024

Notas

waine/package/wcaval.txt · Última modificación: 2019/04/25 14:07 (editor externo)