Note |
---|
This page is a work in progress.... It's in pretty good shape at this point though. |
You can create a new fragment layout by modify creating a new fragment-layout XML file, or alter an existing fragment layout by modifying an existing fragment-layout XML file. When done, you import the fragment using one of the data import approaches (see Importing and Exporting data).
...
The following are the general attributes for folders. Specific folder subsections clarify usage.
Attribute | Description | layout/v2uP4.3: api/v4-3/dlm/layout.json field name | Required | Default | |||
---|---|---|---|---|---|---|---|
ID | ID value. By convention folders are "s#" and channels are "n#" where # is a numeric value. The letter designations are arbitrary. The numeric portion must be a unique numeric value (unique among all folders and channels) within the XML file; e.g. you cannot have both an "s1" and an "n1" in the same XML file as the "s" and "n" are not stored to the database. User customizations to a page are represented in the database by "remove ID x" so once a layout is used in production, you must not change the existing ID values or re-use ID values or uPortal will not be able to properly render a user's page that has modified their layout. After modifying a layout with the Admin UI you should export the fragment-layout and store it in your source code repository so you can recreate the layout in other environments with ant initdb or ant initportal. | Y | |||||
hidden | Set to false for folders that are displayed to users. Set to true for folders that are not displayed to users, but are displayed when you do select Manage DLM Fragments in the Admin UI. Certain channels must exist for the fragment owner to edit fragments. These channels include dynamic-respondr-skin (for Respondr them), fragment-admin-exit (allows exiting Manage DLM Fragments user impersonation), and personalization-gallery (allows using Customize to find and add portlets to the page). | Y | |||||
immutable | obsolete parameter from uPortal 2.x days | ? | false | ||||
name | Name of the folder. If a folder is a tab, this is the name of the tab. Columns by convention have a name of Column or perhaps Column1, Column2. Users do not see column names. | Y | |||||
type | Type of the folder. Due to historic reasons, this generally indicates the placement of the contents of the folder on the page. Options are:
| Y | |||||
unremovable | Obsolete parameter from earlier uPortal releases. Do not use. | N | false | ||||
dlm:addChildAllowed | For a tab folder or column folder, determines whether a user who has permissions to customize their layout can add children (columns for tabs, portlets or for columns as appropriate) to the folder. | hasColumnAddChildAllowed | N | true | |||
dlm:deleteAllowed | For a tab folder or column folder, determines whether a user who has permissions to customize their layout can remove children (portlets or columns as appropriatethe item (tab for tab, column for column) to the folder. | deleteAllowed | N | true | |||
dlm:editAllowed | For a tab folder, determines whether a user who has permissions to customize their layout can rename the folder | editAllowed | N | (practically only useful on a tab to rename the tab) | editAllowed | N | true |
dlm:moveAllowed | For a tab folder or column folder, determines whether a user who has permissions to customize their layout can move the tab or column on the page | moveAllowed | N | true |
...
Child elements of a structure-attribute element vary depending upon where this is at in the hierarchy.
Child of tab folder:
...
The structure XSLT transform doesn't care whether the structure-attributes apply to a tab or column, but the theme XSLT transform does as it acts upon the value when present at a specific level in the folder hierarchy. Structure attributes have the form:
Code Block |
---|
<structure-attribute>
<name>width</name>
<value>40%</value>
</structure-attribute> |
For a structure attribute name to be valid, it must be defined in the structure stylesheet definition file. See https://github.com/Jasig/uPortal/blob/uportal-4.2.1/uportal-war/src/main/data/required_entities/stylesheet-descriptor/DLMTabsColumns.stylesheet-descriptor.xml#L49-L67 as an example.
Tip |
---|
New with uPortal 4.3: The value field can be a Spring Expression Langugage (SpEL) expression (see http://docs.spring.io/spring/docs/4.0.5.RELEASE/spring-framework-reference/html/expressions.html) of the form ${expression} where the expression is of the form:
|
Child of tab folder:
Name Element | Value Element | Description | ||
---|---|---|---|---|
external-id | URL-safe-value | Indicates folder has an external ID name. Allows creating an URL of the form /f/URL-safe-value (see Consistent Portal URLs ("Deep Linking"). | ||
tabGroup | value | URL-safe-value | String that is present in an URL link to the foldertab group name | Used when the optional feature of tab groups is enabled. See TabGroups ('Super-tabs') Feature for more information. |
Child of a column folder:
Name Element | Value Element | Description | |||
---|---|---|---|---|---|
namewidth | widthpercentage | Defines the width of the column in percentage; e.g. 50% | value | percentage | Percentage of the row width to allot for the column.. The column widths in a tab/row should add up to 100 |
Info | ||
---|---|---|
| ||
Additional References |
...