Dynamic panels extension point
Identifier:
com.ibm.designer.domino.xsp.editor.panels
Since:
IBM Domino Designer 8.5.3
Description:
This extension point is used to provide design time support for dynamically contributing panels for any given tag.
Configuration Markup:
<!ELEMENT extension (panels+)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
An extension point that allows parties to contribute panels to Domino Designer which may be surfaced dynamically by the Domino Designer UI.
- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance
<!ELEMENT panels (panel*)>
<!ATTLIST panels
panelFactory CDATA #IMPLIED
>
Specify settings for a group of panels
<!ELEMENT panel EMPTY>
<!ATTLIST panel
namespace CDATA #REQUIRED
tagName CDATA #REQUIRED
panelFactory CDATA #IMPLIED
panelClass CDATA #IMPLIED
contextID CDATA #IMPLIED
>
Specify settings for an individual panel.
- namespace - A qualified XML namespace URI. The URI must be identical to URI as defined in the XPages runtime. The ComplexComposite that uses this extension point will most likely look up the contributed panels be namespace URI and local tag name.
- tagName - The DOM tag's local name (node.getLocalName()).
- panelFactory - A fully qualified name of a class that implements com.ibm.designer.domino.xsp.api.panels.complex.IComplexPanelFactory. The factory will return a Composite which will be placed within a ComplexPanelComposite. Each panel may override/define their own panel factory.
- panelClass - A Composite that also implements the IComplexPanel interface. The composite will be displayed within a ComplexPanelComposite.
- contextID - An optional attribute that allows the contributor contribute multiple complex panels for a single tag.
Examples:
<extension point="com.ibm.designer.domino.xsp.editor.panels">
<panels panelFactory="com.myco.components.tooling.panels.ComplexPanelFactory">
<panel
<!-- Define a dynamic panel for the rdbmsQuery tag-->
namespace="http://www.myco.com/xsp/ext"
panelClass="com.myco.components.tooling.panels.datasource.RDBMSQueryDataSourcePanel"
tagName="rdbmsQuery"/>
<panel
namespace="http://www.myco.com/xsp/ext"
panelClass="com.myco.components.tooling.panels.datasource.RDBMSRecordDataSourcePanel"
tagName="rdbmsRecord"/>
<panel
panelFactory="com.myco.components.tooling.panels.SimpleActionComplexPanelFactory"
namespace="http://www.myco.com/xsp/ext"
panelClass="com.myco.components.tooling.panels.simpleaction.SortRDBMSColumnSimpleActionPanel"
tagName="sortRDBMSColumnSimpleAction"/>
</panels>
</extension>
API Information:
Core Domino Designer property panels such as the Data Panel make extensive use of this extension point. If a third party contributes a data source for instance, then the contributor should implement this extension point referring to the tag name of the data source and the namespace URI.
Those wishing to contribute property panels, to the XPage's Data tab, for a data source should not include the 'contextID' attribute, just the data source tag name and namespace URI. Those wishing to contribute converters and validators also need not include a 'contextID'.
A 'contextID' attribute is only required when providing data source information to the viewColumn's Data property panel. In that case a 'contextID' of 'column' should be provided for a data source, and a 'contextID' of 'page_data_source_column' when the data source is defined outside of the viewPanel control.
(C) Copyright IBM Corp. 2011, 2014