Layout Manager Config 1.4 (obsolete)
This article provides information about features which have been removed in version 6.
This DTD defines and maps the components of the Layout Manager to URLs through the following file:
/WEB-INF/template/default/layout/config.xml
An Administrator role is required to see this file through Project Files under the Dev menu in the Developer perspective.
For additional information about the associated files, see Layout Manager folders and files.
Entities
Generic definition for boolean attribute values:
<!ENTITY % BOOLEAN "( true | false )" >
A comma-separated list of scopes ( group | server | project):
<!ENTITY % SCOPE "CDATA" >
A URI Pattern as defined in the URI Template specifications:
<!ENTITY % URI_PATTERN "CDATA" >
A string which contains dynamic tokens and is resolved dynamically.
- {...} (curly brackets) indicate that the value is dynamically constructed.
@
prefixes the name config property.$
prefixes the name an HTTP parameter.#
prefixes the name an URL Pattern parameter or a variable.- Any other value is considered static and transmitted ‘as is’.
<!ENTITY % TOKENIX "CDATA" >
Containers
<layout-config>
The top level element for a layout configuration.
<content-security-policy>
<navigation> The container for sections
<blocks> The container for blocks (and block sets)
<dialogs> The container for dialogs
<pages> The container for pages
@version The version of this layout configuration; must be "1.4"
.
<!ELEMENT layout-config ( navigation?, blocks?, dialogs?, pages? ) > <!ATTLIST layout-config version CDATA #FIXED "1.4" >
<navigation>
Represents the general navigation within a page.
<menu> The list of menus (which appear as tabs)
<!ELEMENT navigation ( menu* ) >
<blocks>
Groups the blocks.
<block> The list of blocks defined in the layout
<block-set> The list of block sets that can be used
<!ELEMENT blocks ( block*, blockset* ) >
<dialogs>
Groups the dialogs.
<dialog> The list of dialogs
<!ELEMENT dialogs ( dialog* ) >
<pages>
Groups the pages.
<page> The list of pages
<!ELEMENT pages ( page* ) >
<content-security-policy>
Groups the directives.
<directive> The list of directives
<!ELEMENT content-security-policy ( directive* ) >
Layout Components
<menu>
Defines a menu in the navigation, that might appear as a tab or other form. The first link is the default.
<link> A list of links.
@name A unique menu name for reference.
@title The title of the section, displayed on the page.
@scope Specifies the scope for which the navigation item can be displayed.
@permission Specifies the permission required for this menu to display.
@role A role for this menu to qualify it (for use in the output).
<!ELEMENT menu ( link* ) > <!ATTLIST menu title CDATA #REQUIRED name NMTOKEN #IMPLIED scope %SCOPE; #IMPLIED permission NMTOKEN #IMPLIED role NMTOKEN #IMPLIED >
<link>
Defines a Tab subsection.
A subsection is a selection UI component that is displayed when its parent section is selected in the navigation Tab Panel.
@idref The page ID to display if the tab is clicked. Optional for now as not all pages (popups) have IDs in new Layout view.
@name A unique link name for reference.
@title The title of the subsection, displayed on the page.
@default If multiple subsections this is the default to display if the section is clicked.
@optional Only display if this page matches the current URL.
@scope Specifies the scope for which the link can be displayed.
@also A list of Page ID refs that would make this link active.
@role A role for this link to further qualify it (for use in the output).
<!ELEMENT link EMPTY > <!ATTLIST link idref IDREF #REQUIRED title CDATA #REQUIRED name NMTOKEN #IMPLIED href CDATA #IMPLIED default %BOOLEAN; "false" optional %BOOLEAN; "false" scope %SCOPE; #IMPLIED permission NMTOKEN #IMPLIED also IDREFS #IMPLIED role NMTOKEN #IMPLIED >
<block>
Defines a block. A block is a UI component which can be included inside other pages, or produced as a standalone component for inclusion inside a page.
The servlets are invoked in the order in which they are specified.
<url> How this block can be accessed.
<servlet> A servlet to invoke to produce content.
<generator> A content generator to invoke to produce content.
<script> A script to import with the block.
@id A specific identifier for this block.
@style-id Style ID (used for XSLT and CSS).
@permission Only display if the specified permission is true
(e.g. edit-group).
@shared The name of the shared script/css used (e.g. block-account
). Added in v1.4.
@method Restricts this component to an HTTP method get
or post
. Added in v1.4.
@title The title for the block.
@scope Specifies the scope for which the dialog can be displayed.
<!ELEMENT block ( url+, (servlet | generator)*, script*) > <!ATTLIST block id ID #REQUIRED style-id IDREF #IMPLIED permission NMTOKEN #IMPLIED shared NMTOKEN #IMPLIED method NMTOKENS "get post" title CDATA #IMPLIED scope %SCOPE; #IMPLIED >
<blockset>
Defines a set of blocks for inclusion in a page.
<block-ref> A referenced block (note: referenced block must not require parameters).
@id A specific identifier for this block.
<!ELEMENT blockset ( block-ref* ) > <!ATTLIST blockset id ID #REQUIRED >
<dialog>
An interface component for re-usable, standalone pages that do not require any blocks or navigation, for example, workflow.
The servlets are invoked in the order in which they are specified.
<url> How this dialog can be accessed.
<servlet> A servlet to invoke to produce content.
<generator> A content generator to invoke to produce content.
<script> A script to import with the dialog.
@id A specific identifier for this dialog.
@style-id Style ID (used for XSLT and CSS).
@permission Only display if the specified permission is true
(e.g. edit-group).
@shared The name of the shared script/css used (e.g. dialog-account
). Added in v1.4.
@method Restricts this component to an HTTP method get
or post
. Added in v1.4.
@title The title for the dialog.
@scope Specifies the scope for which the dialog can be displayed.
<!ELEMENT dialog ( url+, (servlet | generator)*, script*) > <!ATTLIST dialog id ID #REQUIRED style-id IDREF #IMPLIED permission NMTOKEN #IMPLIED shared NMTOKEN #IMPLIED method NMTOKENS "get post" title CDATA #IMPLIED scope %SCOPE; #IMPLIED >
<page>
This element aggregates multiple content sources and interface components such as <blockset>
into a cohesive object accessible by a URI. The servlets are invoked in the order in which they are specified.
<url> How this element is accessed. The value must be a valid URI Pattern.
<var> A variable for use in the page definition.
<servlet> The servlets to invoke for the required content.
<generator> The generators to invoke for the required content.
<script> Any scripts to be imported with the page content.
<block-ref> Reference to any individual blocks to include on the page.
<blockset-ref> Reference to any combined blocksets included on the page.
@id A specific identifier for this page.
@style-id The ID of a page (affects for XSLT and CSS).
@permission Only display if the specified permission is true
(e.g. edit-group).
@shared The name of the shared script/css used (e.g. page-account
). Added in v1.4.
@method Restricts this component to an HTTP method get
or post
. Added in v1.4.
@title The title of the HTML page.
@scope Specifies the scope for which the page can be displayed.
<!ELEMENT page (url+, var*, servlet*, generator*, script*, blockset-ref?, block-ref*) > <!ATTLIST page id ID #REQUIRED style-id IDREF #IMPLIED permission NMTOKEN #IMPLIED shared NMTOKEN #IMPLIED method NMTOKENS "get post" title CDATA #IMPLIED scope %SCOPE; #IMPLIED >
Basic Elements
<block-ref>
A reference to an existing block or block set.
<parameter> A URL parameter to send to the referenced block.
@idref The ID of the referenced block.
<!ELEMENT block-ref (parameter*) > <!ATTLIST block-ref idref IDREF #REQUIRED >
<blockset-ref>
A reference to an existing block or block set.
@idref The ID of the referenced block set.
<!ELEMENT blockset-ref EMPTY > <!ATTLIST blockset-ref idref IDREF #REQUIRED >
<url>
The URL to access the UI component.
The scope can narrow down.
@pattern A URI pattern to match for this component.
@scope Indicates the scope of this URL.
<!ELEMENT url EMPTY > <!ATTLIST url pattern %URI_PATTERN; #REQUIRED scope %SCOPE; #IMPLIED >
<var>
Defines a variable for use in the component (page, block) –Advanced feature.
@name The name of the variable.
@type The type (constructor) for instantiating the variable.
@value The value to use to instantiate a variable.
<!ELEMENT var EMPTY > <!ATTLIST var name NMTOKEN #REQUIRED type NMTOKEN #IMPLIED value %TOKENIX; #IMPLIED >
<servlet>
Specifies a Java servlet to invoke.
<parameter> Parameters to transmit the Java servlet when invoked; they are ordered.
@class The Java servlet class.
@tunnel Specifies whether all parameters on the URL should be tunnelled through.
<!ELEMENT servlet ( parameter* ) > <!ATTLIST servlet class NMTOKEN #REQUIRED tunnel %BOOLEAN; "false" >
<generator>
Specifies a content generator to invoke.
<parameter> Parameters to transmit the Java servlet when invoked; they are ordered.
@class The Java generator class.
<!ELEMENT generator ( parameter* ) > <!ATTLIST generator class NMTOKEN #REQUIRED >
<parameter>
A parameter to pass.
The meaning of the parameter depends on the context element.
@name The name of the parameter that the servlet receives.
@value How the value is constructed.
@default A fallback value in case the value is empty.
<!ELEMENT parameter EMPTY > <!ATTLIST parameter name NMTOKEN #REQUIRED value %TOKENIX; #IMPLIED default %TOKENIX; #IMPLIED >
<script>
A script required for the UI component. All scripts are assumed to be JavaScript.
@src The source of the script from the PageSeeder public web area.
<!ELEMENT script EMPTY > <!ATTLIST script src CDATA #REQUIRED >
<directive>
Defines a content security policy (add in v1.4).
@name The name of the directive.
@value The value of the directive.
<!ELEMENT directive EMPTY > <!ATTLIST directive name CDATA #REQUIRED value CDATA #REQUIRED >