]po[ Component Plugin

Component Plugins represent HTML widgets. They are implemented using a database table containing the TCL code to render the HTML widgets and API calls in the business objects .adp pages:

 

  • Plugin Name:
    A unique name that identifies the plugin in case an error occurs and to avoid the duplicate installation of plugins.

  • Package Name:
    The name of the package that creates the plugin. This field is used to cleanup when uninstalling a package.

  • Sort Order:
    An integer indicating the order of the component in a component bay. Values should go like 10, 20, 30 etc. (like old Basic) to allow future modules to insert its components.

  • Page URL:
    A URL starting with /intranet/, but without the '.tcl' extension. Page_url currently depends on where the module is mounted. Bad but no better idea around yet...

  • Location:
    An identifier (left, right or bottom) where in the page the component should be displayed.

  • Component TCL:
    (Relatively) plain TCL code to call the component. See below.


Data-Model

 

Structure of the im_component_plugins database table:

 

create table im_component_plugins (
        plugin_id               integer
                                constraint im_component_plugin_id_pk
                                primary key
                                constraint im_component_plugin_id_fk
                                references acs_objects,

        plugin_name             varchar(200) not null,

        package_name            varchar(200) not null,

        sort_order              integer not null,

        page_url                varchar(200) not null,
                                -- One of "left", "right" or "bottom".
        location                varchar(100) not null
                                constraint im_comp_plugin_location_check
                                check(location in ('left','right','bottom')),
        component_tcl           varchar(4000),
                constraint im_component_plugins_un
                unique (plugin_name, package_name)
);
  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

E-08907 Hospitalet de Llobregat (Barcelona)

 Tel Europe: +34 932 202 088
 Tel US: +1 415 429 5995
 Mail: info@project-open.com