]po[ DynField

This package allows administrators to add custom fields to any of the ]project-open[ main business objects without touching the ]po[ code. Instead, administration screens exist that allow to define field names, storage type, value range and widgets for DynFields.

This mechanism allows ]po[ to be modified according to specific customer needs, in a more time and energy efficient manner.  See: DynFields Administration for more on how this is done specifically within ]project-open[.

 

References

For a more amplified discussion of DynFields see:

Tutorials:

Related Object Types

  • [Dynfield Widget]

 

Package Documentation

Procedure Files

tcl/attribute-procs.tcl       Procs to help with attributes for object types 
tcl/calculated-sql-widget-procs.tcl       Additional Widgets for use with the intranet-dynfield extensible architecture 
tcl/generic-sql-widget-procs.tcl       Additional Widgets for use with the intranet-dynfield extensible architecture 
tcl/generic-tcl-widget-procs.tcl       Additional Widgets for use with the intranet-dynfield extensible architecture 
tcl/hidden-widget-procs.tcl       Additional OpenACS Widgets for use with the DynField extensible architecture 
tcl/instant-message-widgets-procs.tcl       Widget procs for instant messaging 
tcl/intranet-dynfield-install-procs.tcl        
tcl/intranet-dynfield-procs.tcl       Support procs for the intranet-dynfield package 
tcl/mobile-number-widget-procs.tcl       Mobile_Number input widget and utilities procs for the OpenACS templating system. 
tcl/recurrence-widget-procs.tcl       Address input widget and datatype for the OpenACS templating system. 
tcl/telecom-number-widget-procs.tcl       Telecom_Number input widget and datatype for the OpenACS templating system. 

Procedures

attribute::delete_xt       Intranet-Dynfield extended version of deleting the specified attribute id and all its values. 
attribute::name       this code returns the name of an attribute 
im_dynfield::append_attribute_to_form       Append a single attribute to a form 
im_dynfield::append_attributes_to_form       Append intranet-dynfield attributes for object_type to an existing form.<p> 
im_dynfield::append_attributes_to_im_view       Returns a list with three elements: Element 0: A list of PrettyNames, suitable to be appended to the "column_headers" list of a project-open im_view type of ListPage (such as ProjectListPage, CompanyListPage, ...) Element 1: A list of "display_tcl" expressions suitable to be appended to the "column_vars" list of a project-open im_view ListPage. 
im_dynfield::attribute::add       Create a completely new im_dynfield attribute and handle all strange side conditions. 
im_dynfield::attribute::exists_p       Check if the intranet-dynfield attribute already exists.<br> Considers the case that intranet-dynfield got installed and deinstalled before, so it only considers attributes that exist in both acs_attributes and im_dynfield_attributes. 
im_dynfield::attribute::exists_p_not_cached       Check if the intranet-dynfield attribute already exists.<br> Considers the case that intranet-dynfield got installed and deinstalled before, so it only considers attributes that exist in both acs_attributes and im_dynfield_attributes. 
im_dynfield::attribute::get       Returns the im_dynfield_attribute_id, or 0 if there is none. 
im_dynfield::attribute::get_name_from_id       Returns the cached name for the dynfield attribute 
im_dynfield::attribute::map       Map an ams option for an attribute to an option_map_id, if no value is supplied for option_map_id a new option_map_id will be created. 
im_dynfield::attribute::optional       Specify and ams_attribute as optional in an ams list 
im_dynfield::attribute::required       Specify and ams_attribute as required in an ams list 
im_dynfield::attribute::unmap       Unmap an ams option from an ams list 
im_dynfield::attribute_store       Store intranet-dynfield attributes. 
im_dynfield::attribute_validate       Validates intranet-dynfield attributes and ensures a clean error handling. 
im_dynfield::create_clone_update_sql       Returns an SQL update statement that can be executed in the context of an object clone() procedure in order to update dynfields from variables in memory, pulled out of the DB by a statement such as "select p.* from im_projects...". 
im_dynfield::datatype_options       Return the default list of datatypes cached 
im_dynfield::datatype_options_not_cached       Return the default list of datatypes not cached 
im_dynfield::dynfields_per_object_subtype       Returns the list of dynfield_attributes for each subtype 
im_dynfield::dynfields_per_object_subtype_helper       Returns the list of dynfield_attributes that are common to all object subtypes 
im_dynfield::elements       This returns a list of lists with the attribute information It checks for permission on the dynfield 
im_dynfield::left_navbar       Return a HTML component with the list of DynField pages. 
im_dynfield::object_attributes_derefs       Returns a list list of dereferentiation "SELECT" statements. 
im_dynfield::object_attributes_for_select       Returns a list {key1 value1 key2 value2 ...} of attributes and pretty_names for object. 
im_dynfield::package_id       TODO: Get the INTRANET-DYNFIELD package ID, not the connection package_id Get the package_id of the intranet-dynfield instance 
im_dynfield::package_install        
im_dynfield::plsql::index_column       Returns the index column for the object's main table 
im_dynfield::plsql::new_object_create_call       Returns the Pl/SQL call to create a new object of type object_type. 
im_dynfield::plsql::required_variables       Returns the list of variables that need to be present in order to execute the new_object_create_call Pl/SQL call successfully. 
im_dynfield::search_sql_criteria_from_form       This procedure generates a subquery SQL clause "(select object_id from ...)" that can be used by a main query clause either as a "where <*>_id in ..." or via a join in order to limit the number of object_ids to the ones that fit to the filter criteria. 
im_dynfield::set_form_values_from_http       Set the values of a form based on the values from "ns_conn form". 
im_dynfield::set_local_form_vars_from_http       Set local variables to the values passed on in HTTP, so that we don't need to add all of them into the ad header. 
im_dynfield::status_category_for_object_type       Get the category for the status_id of a given object_type 
im_dynfield::subtype_have_same_attributes_p       Returns "1" if all object subtypes have the same list of dynfields. 
im_dynfield::type_categories_for_object_type        
im_dynfield::type_category_for_object_type       Get the category for the type_id of a given object_type 
im_dynfield::util::missing_attributes_from_table       Returns a list of list of column names from the table which are not in acs_attributes. 
im_dynfield::widget_options       Return the default list of widgets cached 
im_dynfield::widget_options_not_cached        
im_dynfield::widget_options_not_cached_procs       Pulls out all procedures following a patters. 
im_dynfield::widget_request       Corresponds to ::ams::widget::${widget} functions to answer to "request". 
im_dynfield_multimap_id       Return the storage type id of a table 
im_dynfield_multimap_ids       Return the multimap ids 
im_dynfield_multimap_table       Return the table_name of a storage_type_id 
im_dynfield_multimap_tables       Return the multimap tables 
im_dynfield_multimaps       Return a list of list of the multimap storage types and their table which at the moment is 10005 for normal multimapping and 10006 for im_category multimapping 
im_dynfield_storage_type_id_multimap        
im_dynfield_storage_type_id_value        
template::widget::calculated_sql       Calculated Sql Widget 
template::widget::dynfield_hidden       Hidden Widget 
template::widget::generic_sql       Generic SQL Select Widget 
template::widget::generic_tcl       Generic TCL Select Widget 

SQL Files

sql/postgresql/intranet-dynfield-create.sql        
sql/postgresql/intranet-dynfield-drop.sql        
sql/postgresql/upgrade/upgrade-5.0.3.0.3-5.0.3.0.4.sql        

Content Pages

www/
     admin/
           menu-action.tcl Delete selected menus
           new.adp
           new.tcl Create a new dynamic value or edit an existing one.
      attribute-delete.adp
      attribute-delete.tcl Bulk delete attributes
      attribute-new.adp
      attribute-new.tcl
      attribute-type-map-2.tcl Set the display mode for the specific acs_object_type.
      attribute-type-map-toggle.tcl Toggle attribute display mode
      attribute-type-map.adp
      attribute-type-map.tcl Show an Attribute - Object (Sub-) Type table.
      export.xml.tcl testing xml and tdom
      extension-table-delete.tcl
      extension-table-new-2.tcl
      extension-table-new.adp
      extension-table-new.tcl
      import.tcl Import an XML file with the DynField data
      index.adp
      index.tcl
      layout-adp.adp
      layout-adp.tcl
      layout-default.tcl
      layout-del.tcl
      layout-manager.adp
      layout-manager.tcl
      layout-page.adp
      layout-page.tcl
      layout-position-2.adp
      layout-position-2.tcl
      layout-position-del.tcl
      layout-position.adp
      layout-position.tcl
      list-attributes-map.tcl
      list-attributes-optional.tcl
      list-attributes-required.tcl
      list-attributes-unmap.tcl
      list-attributes.tcl
      list-form-preview.adp
      list-form-preview.tcl
      list-order-update.tcl Update sort order
      list-text.adp
      list-text.tcl
      master.adp
      master.tcl
      object-new.adp
      object-new.tcl Edit/Create an Object This pages allows to edit and create objects generically.
      object-type.adp
      object-type.tcl
      object-type2.adp
      object-type2.tcl
      object-types.adp
      object-types.tcl
      permissions.adp
      permissions.tcl Show the permissions for all menus in the system
      upload.adp
      upload.tcl upload an XML file with the dynfield data
      widget-examples.adp
      widget-examples.tcl
      widget-new.adp
      widget-new.tcl
      widgets-delete.tcl
      widgets.adp
      widgets.tcl
 

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

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