]po[ DynField Attribute

DynField attribute represent meta information about an object's attributes/database columns. For an overview on dynamic fields please see the [DynField package documentation].


DynField attributes have been defined in ]po[ to extend the acs_attribute type in order to add a number of features. We hope that the OpenACS community will eventually decide to merge im_dynfield_attributes with acs_attributes.


DynField Attribute Fields


  • Attribute ID:
    ID for the object. DynField attributes are sub-types of acs_object, so it is possible to use the OpenACS permission system for attributes.
  • ACS Attribute ID:
    The ID of the corresponding acs_attribute OpenACS Attribute. acs_attributes contains the most important information about attributes. im_dynfield_attributes only adds the fields to define the attribute's value semantics.
  • Widget Name:
    Defines the [DynField widget] responsible for handling the field's semantics. In particuler, the DynField widget defines the input widget for ad_form input forms.
  • Already Existed?
    Is set to "t" if the attribute's column already existed in the database before defining the attribute. In this case, the database column isn't deleted when the user deletes the attribute.
  • Deprecated?
    Is set if the attribute shouldn't be used anymore, but the System Admin wouldn't like to delete the column entirely.
  • Include in Search?
    Is set to "t" if the attribute should be included in the full-text search engine. This function is disabled at the moment (]po[ V3.4) because of performance issues during the full-text indexing process.
  • Also Hard Coded?
    Set to "t" if the attribute is part of the ]po[ "product". In this case, the object's hard-coded default forms already include an entry for this attribute, so the attribute isn't displayed.


Structure of the im_dynfield_attributes database table:

       Column        |          Type          |          Modifiers
 attribute_id        | integer                | not null
 acs_attribute_id    | integer                | not null
 widget_name         | character varying(100) | not null
 already_existed_p   | character(1)           | not null default 't'::bpchar
 deprecated_p        | character(1)           | not null default 'f'::bpchar
 include_in_search_p | character(1)           | default 'f'::bpchar
 also_hard_coded_p   | character(1)           | default 'f'::bpchar

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com