Documentation
Liferay provides a rich store of resources and knowledge to help our community better use and work with our technology.
Layouts
Set the list of layout types. The display text of each of the layout types is set in content/Language.properties and prefixed with layout.types..
You can create new layout types and specify custom settings for each layout type. End users input dynamic values as designed in the edit page. End users see the layout as designed in the view page. The generated URL can reference properties set in the edit page. Parentable layouts can contain child layouts. You can also specify a comma delimited list of configuration actions that will be called for your layout when it is updated or deleted.
layout.types=portlet,panel,embedded,url,link_to_layout
Input a list of sections that will be included as part of the layout form when adding a layout.
layout.form.add=details
Input a list of sections that will be included as part of the layout form when updating a layout.
layout.form.update=details,seo,look-and-feel,layout,javascript,custom-fields,advanced,mobile-rule-groups
Input a list of sections that will be included as part of the layout set form when updating a layout set.
layout.set.form.update=look-and-feel,logo,javascript,advanced,mobile-rule-groups
Set whether or not private layouts are enabled. Set whether or not private layouts are modifiable. Set whether or not private layouts should be auto created if a user has no private layouts. If private layouts are not enabled, the other two properties are assumed to be false.
layout.user.private.layouts.enabled=true
layout.user.private.layouts.modifiable=true
layout.user.private.layouts.auto.create=true
Set this to true if users must have the Power User role to have private pages.
layout.user.private.layouts.power.user.required=false
Set whether or not public layouts are enabled. Set whether or not public layouts are modifiable. Set whether or not public layouts should be auto created if a user has no public layouts. If public layouts are not enabled, the other two properties are assumed to be false.
layout.user.public.layouts.enabled=true
layout.user.public.layouts.modifiable=true
layout.user.public.layouts.auto.create=true
Set this to true if users must have the Power User role to have public pages.
layout.user.public.layouts.power.user.required=false
Default settings layouts.
Examples:
layout.edit.page=/portal/layout/edit/portlet.jsp
layout.view.page=/portal/layout/view/portlet.jsp
layout.url=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}
layout.url.friendliable=true
layout.parentable=true
layout.sitemapable=true
layout.first.pageable=true
layout.configuration.action.update=
layout.configuration.action.delete=
Settings for portlet layouts are inherited from the default settings.
Examples:
layout.edit.page[portlet]=/portal/layout/edit/portlet.jsp
layout.view.page[portlet]=/portal/layout/view/portlet.jsp
layout.url[portlet]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}
layout.url.friendliable[portlet]=true
layout.parentable[portlet]=true
layout.configuration.action.update[portlet]=
layout.configuration.action.delete[portlet]=
Settings for panel layouts.
layout.edit.page[panel]=/portal/layout/edit/panel.jsp
layout.view.page[panel]=/portal/layout/view/panel.jsp
layout.url[panel]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}
layout.url.friendliable[panel]=true
layout.parentable[panel]=true
layout.first.pageable[panel]=true
Settings for control_panel layouts.
layout.edit.page[control_panel]=/portal/layout/edit/control_panel.jsp
layout.view.page[control_panel]=/portal/layout/view/control_panel.jsp
layout.url[control_panel]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}
layout.url.friendliable[control_panel]=true
layout.parentable[control_panel]=true
layout.first.pageable[control_panel]=true
Settings for embedded layouts.
Examples:
layout.edit.page[embedded]=/portal/layout/edit/embedded.jsp
layout.view.page[embedded]=/portal/layout/view/embedded.jsp
layout.url[embedded]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}
layout.url.friendliable[embedded]=true
layout.parentable[embedded]=false
layout.sitemapable[embedded]=true
layout.first.pageable[embedded]=true
layout.configuration.action.update[embedded]=
layout.configuration.action.delete[embedded]=
Settings for article layouts.
layout.edit.page[article]=/portal/layout/edit/article.jsp
layout.view.page[article]=/portal/layout/view/article.jsp
layout.url.friendliable[article]=true
layout.url[article]=${liferay:mainPath}/portal/layout?p_l_id=${liferay:plid}
layout.parentable[article]=false
layout.sitemapable[article]=true
layout.first.pageable[article]=true
layout.configuration.action.update[article]=com.liferay.portal.model.LayoutTypeArticleConfigurationUpdateAction
layout.configuration.action.delete[article]=com.liferay.portal.model.LayoutTypeArticleConfigurationDeleteAction
Settings for URL layouts.
Examples:
layout.edit.page[url]=/portal/layout/edit/url.jsp
layout.view.page[url]=
layout.url[url]=${url}
layout.url.friendliable[url]=true
layout.parentable[url]=false
layout.sitemapable[url]=false
layout.first.pageable[url]=false
layout.configuration.action.update[url]=
layout.configuration.action.delete[url]=
Settings for page layouts.
Examples:
layout.edit.page[link_to_layout]=/portal/layout/edit/link_to_layout.jsp
layout.view.page[link_to_layout]=
layout.url[link_to_layout]=${liferay:mainPath}/portal/layout?groupId=${liferay:groupId}&privateLayout=${privateLayout}&layoutId=${linkToLayoutId}
layout.url.friendliable[link_to_layout]=true
layout.parentable[link_to_layout]=true
layout.sitemapable[link_to_layout]=false
layout.first.pageable[link_to_layout]=false
layout.configuration.action.update[link_to_layout]=
layout.configuration.action.delete[link_to_layout]=
Specify static portlets that cannot be moved and will always appear on every layout. Static portlets will take precedence over portlets that may have been dynamically configured for the layout.
For example, if you want the Hello World portlet to always appear at the start of the iteration of the first column for user layouts, set the property layout.static.portlets.start.column-1[user] to 47. If you want the Hello World portlet to always appear at the end of the second column for user layouts, set the property layout.static.portlets.end.column-2[user] to 47. You can input a list of comma delimited portlet ids to specify more than one portlet. If the portlet is instanceable, add the suffix _INSTANCE_abcd to the portlet id, where abcd is any random alphanumeric string.
The static portlets are fetched based on the properties controlled by custom filters using EasyConf. By default, the available filters are user, site, and organization.
Examples:
layout.static.portlets.start.column-1[user]=3,6
layout.static.portlets.end.column-1[user]=14
layout.static.portlets.start.column-2[user]=71_INSTANCE_abcd,7
layout.static.portlets.end.column-2[user]=34,70
layout.static.portlets.start.column-3[user]=
layout.static.portlets.end.column-3[user]=
It is also possible to set static portlets based on the layout's friendly URL.
Examples:
layout.static.portlets.start.column-1[user][/home]=3,6
layout.static.portlets.end.column-2[regular-site][/home]=14
Set the static portlets for the pages of regular sites.
Examples:
layout.static.portlets.start.column-1[regular-site]=
layout.static.portlets.end.column-1[regular-site]=
layout.static.portlets.start.column-2[regular-site]=
layout.static.portlets.end.column-2[regular-site]=
layout.static.portlets.start.column-3[regular-site]=
layout.static.portlets.end.column-3[regular-site]=
Set the static portlets for the pages of organization sites.
Examples:
layout.static.portlets.start.column-1[organization]=
layout.static.portlets.end.column-1[organization]=
layout.static.portlets.start.column-2[organization]=
layout.static.portlets.end.column-2[organization]=
layout.static.portlets.start.column-3[organization]=
layout.static.portlets.end.column-3[organization]=
Set the static portlets that will appear for every layout. See /html/portal/layout/view/portlet.jsp for the logic of when these portlets will be shown. For example, these portlets will only show for layouts that can contain portlets and are not in a pop up state.
layout.static.portlets.all=
Set the private group, private user, and public servlet mapping for com.liferay.portal.servlet.FriendlyURLServlet. This value must match the servlet mapping set in web.xml.
For example, if the private group pages are mapped to /group and the group's friendly URL is set to /guest and the layout's friendly URL is set to /company/site, then the friendly URL for the page will be http://www.liferay.com/group/guest/company/site. Private group pages map to a site's private pages and are only available to authenticated users with the proper permissions.
For example, if the public pages are mapped to /web and the group or user's friendly URL is set to "/guest" and the layout's friendly URL is set to /company/site, then the friendly URL for the page will be http://www.liferay.com/web/guest/company/site. Public pages are available to unauthenticated users.
The friendly URL's for users, groups, and layouts can be set during runtime.
layout.friendly.url.private.group.servlet.mapping=/group
layout.friendly.url.private.user.servlet.mapping=/user
layout.friendly.url.public.servlet.mapping=/web
Redirect to this resource if the user requested a friendly URL that does not exist. Leave it blank to display nothing.
Note: For backward compatibility, this overrides the property layout.show.http.status for the 404 status code.
Example:
layout.friendly.url.page.not.found=/html/portal/404.html
Set the reserved keywords that cannot be used in a friendly URL.
layout.friendly.url.keywords=c,combo,delegate,display_chart,dtd,facebook,google_gadget,group,html,image,language,netvibes,page,pbhs,poller,public,private,rss,sharepoint,sitemap.xml,tags,software_catalog,_vti_,wap,web,widget,wsrp,xmlrpc
Set this to true if guest users should see the maximize window icon.
layout.guest.show.max.icon=false
Set this to true if guest users should see the minimize window icon.
layout.guest.show.min.icon=false
Set this to true if users are shown that they do not have access to a portlet. The portlet init parameter show-portlet-access-denied will override this setting.
layout.show.portlet.access.denied=true
Set this to true if users are shown that a portlet is inactive. The portlet init parameter show-portlet-inactive will override this setting.
layout.show.portlet.inactive=true
Set this to true if the portal should show HTTP status codes like 404 if the requested page is not found.
layout.show.http.status=true
Set the default layout template id used when creating layouts.
layout.default.template.id=2_columns_ii
Set this to false to disable parallel rendering. You can also disable it on a per request basis by setting the attribute key com.liferay.portal.util.WebKeys.PORTLET_PARALLEL_RENDER to the Boolean.FALSE in a pre service event or by setting the URL parameter p_p_parallel to 0.
layout.parallel.render.enable=true
Set the name of a class that implements com.liferay.portal.util.LayoutClone. This class is used to remember maximized and minimized states on shared pages. The default implementation persists the state in the browser session.
layout.clone.impl=com.liferay.portal.util.SessionLayoutClone
Set this to true to cache the content of layout templates. This is recommended because it improves performance for production servers. Setting it to false is useful during development if you need to make a lot of changes.
layout.template.cache.enabled=true
Set the default value for the p_l_reset parameter. If set to true, then render parameters are cleared when different pages are hit. This is not the behavior promoted by the portlet specification, but is the one that most end users seem to prefer.
layout.default.p_l_reset=true
Set this to true to enable comments for pages.
layout.comments.enabled=true
Set this to true to remember maximized window states across different pages.
layout.remember.maximized.window.state=false
Set this to specify the initial number of child pages to display in the Manage Pages tree. Set this to -1 to show all.
layout.manage.pages.initial.children=20