Liferay Plugin Package 6.1 Properties

Table of Contents

Properties


Top of Page

General


Set the display name of the plugin.

Defaults:

    name=

Examples:

    name=Nosester App


Specify a module group identifier for the plugin.

Defaults:

    module-group-id=

Examples:

    module-group-id=liferay
    module-group-id=nosester


Specify the starting version number of the plugin. Every time a user modifies the plugin, the version number increments by 1.

Defaults:

    module-incremental-version=

Examples:

    module-incremental-version=1


Specify a list of comma delimited tags that categorize the plugin.

Defaults:

    tags=

Examples:

    tags=collaboration, communication


Provide a short description of the plugin for users to read.

Note: the text of this element can contain simple HTML formatting.

Defaults:

    short-description=


Provide a long description of the plugin for users to read.

Note: the text value of this property can contain simple HTML formatting.

Examples:

    long-description=


Describe the changes made in the latest release. Try to offer all information users might need in deciding whether to update from a previous version of the plugin.

Note: the text value of this property can contain simple HTML formatting.

Defaults:

    change-log=


Specify the URL of the plugin's home page.

Defaults:

    page-url=

Examples:

    page-url=http://www.liferay.com
    page-url=http://www.nosester.com


Specify the URL of the plugin's download page.

Examples:

    download-url=
    download-url=http://www.nosester.com/downloads


Specify the plugin's author(s).

Defaults:

    author=

Examples:

    author=Liferay, Inc.
    author=Nosester
    author=Jose Nose and Peter Proboscis


Specify a list of comma delimited licenses under which the plugin is provided.

Defaults:

    licenses=

Examples:

    licenses=AGPL
    licenses=CCA
    licenses=GPL
    licenses=LGPL


Specify a list of comma delimited Liferay versions that are supported by the plugin.

Defaults:

    liferay-versions=

Examples:

    liferay-versions=6.1.10, 6.1.20
    liferay-versions=6.2.0


Specify all JARs the plugin requires. If any of these JAR files are already present in Liferay Portal's "lib" folder, avoid packaging them again by adding them here.

During deployment, these JARs are copied from Liferay Portal's "lib" folder to the deployed plugin's "lib" folder. The JAR files are also added to the plugin's API class path container.

Examples:

    portal-dependency-jars=
    portal-dependency-jars=\
        jstl-api.jar,\
        jstl-impl.jar,\
        slf4j-api.jar


Specify all TLDs the plugin requires. If any of these TLD files are already present in Liferay Portal's "tld" folder, avoid packaging them again by adding them here.

During deployment, these TLDs are copied from Liferay Portal's "tld" folder to the deployed plugin's "tld" folder and setup in web.xml to facilitate design time DTD validation.

Examples:

    portal-dependency-tlds=
    portal-dependency-tlds=c.tld


Specify other plugins that depend on deployment of this plugin. Some plugins require this in order to rely on services and features provided by other plugins.

Examples:

    required-deployment-contexts=
    required-deployment-contexts=\
        chat-portlet,\
        flash-portlet,\
        sample-service-builder-portlet


Top of Page

Resources Importer


Set this to "true" to enable the Resources Importer Developer Mode for a theme plugin. The developer mode requires the "resources-importer-web" plugin, which resides in the Resources Importer CE/EE app. The Resources Importer CE/EE app can be downloaded from Liferay Marketplace.

The "resources-importer-web" plugin allows front-end developers to package layouts, portlet configurations, site pages, and web content together in a theme without saving it as a compiled LAR file. This allows for greater flexibility in the plugin's usage between Liferay Portal versions. When a theme has the developer mode turned on, layouts and resources of the site template are deleted and recreated during new deployment. This allows for modifications to show without manual deletion of site templates.

For marketplace themes, the "resources-importer-web" must be included in the "required-deployment-contexts" list. Also, the "docroot/WEB-INF/src/resources-importer" folder must exist within the theme structure. Failing to comply with these settings will cause an error preventing submission of the theme.

Examples:

    resources-importer-developer-mode-enabled=
    resources-importer-developer-mode-enabled=true


Specify a directory on the portal host from which to import resources with this theme.

By default, the Resources Importer looks in the theme's /WEB-INF/classes/resources-importer/ for resources to import.

Examples:

    resources-importer-external-dir=
    resources-importer-external-dir=\
        ${context.path}/WEB-INF/classes/test/resource/


Specify the name of the class into which the theme's resources are to be imported. This property should only be set if resources are to be imported with the theme.

To import resources directly into a specific site, specify target class name com.liferay.portal.model.Group and the site's name for the "resources-importer-target-value" property.

For example, Liferay's Welcome theme specifies class name com.liferay.portal.model.Group and Guest for the "resources-importer-target-value" property.

By default, resources are imported into a com.liferay.portal.model.LayoutSetPrototype (site template).

Examples:

    resources-importer-target-class-name=
    resources-importer-target-class-name=com.liferay.portal.model.Group


Specify the name of the target class instance into which the theme's resources are to be imported. A new instance of the target class is created if an instance with the specified name does not exist.

For example, Liferay's Welcome theme specifies Guest as the target value, to import the theme's resources to the Guest group.

By default, if no target value is specified, the theme's resources are imported into an instance of the target class named after the theme.

Examples:

    resources-importer-target-value=
    resources-importer-target-value=Guest
    resources-importer-target-value=Some Site


Top of Page

Security Manager


Set to "true" to enable the Security Manager. If the plugin is being distributed either through Liferay Marketplace or through a web site, it must be turned on. Also, the security manager should be turned on when doing final testing on applications, due to the assumption that potential users will also have the security manager turned on.

As a suggested plugin development approach, disable the security manager (by setting this property to false) until plugin development is complete.

By default, the security manager is turned off.

Defaults:

    security-manager-enabled=false


Top of Page

Access Declared Members Security


Set to "true" if the plugin is permitted to change the accessibility of private members (constructors, fields, inner classes, methods) of classes outside the plugin.

Defaults:

    security-manager-access-declared-members=false


Top of Page

AWT Security


Specify the AWT operations the plugin is permitted to access.

Examples:

    security-manager-awt-operations=
    security-manager-awt-operations=\
        accessClipboard,\
        accessEventQueue,\
        accessSystemTray,\
        createRobot,\
        fullScreenExclusive,\
        listenToAllAWTEvents,\
        readDisplayPixels,\
        replaceKeyboardFocusManager,\
        setAppletStub,\
        setWindowAlwaysOnTop,\
        showWindowWithoutWarningBanner,\
        toolkitModality,\
        watchMousePointer


Top of Page

Class Loader Security


Specify the reference IDs of plugins for this plugin to access.

Examples:

    security-manager-class-loader-reference-ids=
    security-manager-class-loader-reference-ids=\
        1_WAR_flashportlet,\
        flash-portlet


Top of Page

Create Class Loader Security


Specify if the plugin can create class loaders.

Defaults:

    security-manager-create-class-loader=false


Top of Page

Environment Variable Security


Specify regular expression patterns used to match environment variables that the plugin is permitted to access.

Examples:

    security-manager-environment-variables=
    security-manager-environment-variables=\
        java.home,\
        java.vendor,\
        java.version,\
        java.vm.v.*


Top of Page

Exando Bridge Security


Specify models having Expando Bridge attributes the plugin is permitted to access. The plugin can also access Expando Bridge attributes via the wrapper classes of the models.

Examples:

    security-manager-expando-bridge=
    security-manager-expando-bridge=\
        com.liferay.portal.model.User


Top of Page

File Security


Specify files the plugin is permitted to delete.

Examples:

    security-manager-files-delete=
    security-manager-files-delete=\
        ${auto.deploy.installed.dir}/chat-portlet/WEB-INF/src/com/liferay/chat/util/ChatUtil.java,\
        \
        ${auto.deploy.installed.dir}/chat-portlet.war/WEB-INF/src/com/liferay/chat/util/ChatUtil.java,\
        \
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/WEB-INF/src/com/liferay/chat/util/ChatUtil.java,\
        \
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/WEB-INF/src/com/liferay/chat/util/ChatUtil.java


Specify files the plugin is permitted to execute.

Examples:

    security-manager-files-execute=
    security-manager-files-execute=\
        /bin/bash,\
        C:\\WINDOWS\\system32\\ping.exe


Specify files the plugin is permitted to read.

The '*' character in a path name indicates all files in the current directory. The '-' character in a path name indicates all files in the current directory and in its subdirectories.

Examples:

    security-manager-files-read=
    security-manager-files-read=\
        ${auto.deploy.installed.dir}/chat-portlet/images/*,\
        ${auto.deploy.installed.dir}/chat-portlet/WEB-INF/liferay-releng.properties,\
        ${auto.deploy.installed.dir}/chat-portlet/WEB-INF/src/-,\
        \
        ${auto.deploy.installed.dir}/chat-portlet.war/images/*,\
        ${auto.deploy.installed.dir}/chat-portlet.war/WEB-INF/liferay-releng.properties,\
        ${auto.deploy.installed.dir}/chat-portlet.war/WEB-INF/src/-,\
        \
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/images/*,\
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/WEB-INF/liferay-releng.properties,\
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/WEB-INF/src/-,\
        \
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/images/*,\
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/WEB-INF/liferay-releng.properties,\
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/WEB-INF/src/-,\
        \
        /bin/bash,\
        C:\\WINDOWS\\system32\\ping.exe


Specify files the plugin is permitted to overwrite.

Examples:

    security-manager-files-write=
    security-manager-files-write=\
        ${auto.deploy.installed.dir}/chat-portlet/images/*,\
        ${auto.deploy.installed.dir}/chat-portlet/WEB-INF/*,\
        ${auto.deploy.installed.dir}/chat-portlet/WEB-INF/src/com/liferay/chat/util/ChatUtil.java,\
        \
        ${auto.deploy.installed.dir}/chat-portlet.war/images/*,\
        ${auto.deploy.installed.dir}/chat-portlet.war/WEB-INF/*,\
        ${auto.deploy.installed.dir}/chat-portlet.war/WEB-INF/src/com/liferay/chat/util/ChatUtil.java,\
        \
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/images/*,\
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/WEB-INF/*,\
        ${org.apache.geronimo.home.dir}/repository/liferay/chat-portlet/${release.info.version}.1/chat-portlet-${release.info.version}.1.car/WEB-INF/src/com/liferay/chat/util/ChatUtil.java,\
        \
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/images/*,\
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/WEB-INF/*,\
        ${websphere.profile.dir}/installedApps/liferay-cell/chat-portlet.ear/chat-portlet.war/WEB-INF/src/com/liferay/chat/util/ChatUtil.java


Top of Page

Get Protection Domain Security


Set to "true" if the hook plugin is permitted to get the protection domain of a class.

Defaults:

    security-manager-get-protection-domain=false


Top of Page

Modify Thread Security


Set to "true" if the plugin is permitted to modify threads.

Defaults:

    security-manager-modify-thread=false


Top of Page

Portal Bean Security


Specify portal bean properties the plugin is permitted to acquire. Use the "#" character as a delimiter between a class and its property.

Examples:

    security-manager-get-bean-property[portal]=
    security-manager-get-bean-property[portal]=\
        com.liferay.portal.kernel.bean.PortalBeanLocatorUtil
        com.liferay.portal.kernel.xml.SAXReaderUtil,\
        com.liferay.portal.util.PortalUtil


Top of Page

Plugin Bean Security


For each portlet the plugin accesses, replicate this property substituting "some-portlet" in the '[' square brackets ']' with the name of the accessible portlet.

Specify bean properties the plugin is permitted to acquire. Use the "#" character as a delimiter between a class and its property.

Examples:

    security-manager-get-bean-property[some-portlet]=
    security-manager-get-bean-property[some-portlet]=\
        com.liferay.portal.kernel.bean.PortletBeanLocatorUtil


Top of Page

Hook Security


Set to "true" if the hook plugin is permitted to use custom JSPs.

By default, the hook plugin is not permitted to use custom JSPs.

Examples:

    security-manager-hook-custom-jsp-dir-enabled=false


Specify entities for which the hook plugin is permitted to customize indexing. Customizing the indexing can involve modifying the search, summary, and/or queries for these entities.

Examples:

    security-manager-hook-indexers=
    security-manager-hook-indexers=\
        com.liferay.portal.model.User


Specify which language property locales the plugin is permitted to override.

Example:

This example grants the plugin permission to override the Great Britain locale of English, the Spain locale of Spanish, and all Portuguese locales.

Examples:

    security-manager-hook-language-properties-locales=
    security-manager-hook-language-properties-locales=\
        en_GB,\
        es_ES,\
        pt


Specify which portal properties the plugin is permitted to override.

Examples:

    security-manager-hook-portal-properties-keys=
    security-manager-hook-portal-properties-keys=\
        phone.number.format.impl


Specify which services the plugin is permitted to access.

Examples:

    security-manager-hook-services=
    security-manager-hook-services=\
        com.liferay.portlet.blogs.service.BlogsEntryLocalService


Specify whether to allow the plugin's servlet filter hooks. Setting this to "true" gives the plugin permission to pre-process requests going to the portal's servlets and post-process requests coming from the portal's servlets.

By default, the plugin's servlet filter hooks are not allowed.

Examples:

    security-manager-hook-servlet-filters-enabled=false


Specify struts action paths that the hook plugin is permitted to add or override.

Examples:

    security-manager-hook-struts-action-paths=
    security-manager-hook-struts-action-paths=\
        /portal/test/pacl/success


Top of Page

JNDI Security


Specify which services the plugin can look up. Use regular expressions to make this dynamic.

Example:

Using the sample values below, the plugin can look up objects for key names matthew, mark, Mark, luke, and Luke. In addition, the plugin can look-up objects for key names containing john with zero or more characters preceding and/or trailing john.

Examples:

    security-manager-jndi-names=
    security-manager-jndi-names=\
        test-pacl-matthew,\
        test-pacl-[mM]ark|test-pacl-[lL]uke,\
        test-pacl-.*john.*


Top of Page

Message Bus Security


Specify which services the plugin is permitted to listen on via the portal's message bus.

Examples:

    security-manager-message-bus-listen=
    security-manager-message-bus-listen=\
        liferay/test_pacl,\
        liferay/test_pacl_listen_success


Specify which message bus destinations the plugin is permitted to call (send messages to) via the portal's message bus.

Examples:

    security-manager-message-bus-send=
    security-manager-message-bus-send=\
        liferay/message_bus/default_response,\
        liferay/test_pacl_listen_failure,\
        liferay/test_pacl_listen_success,\
        liferay/test_pacl_send_success


Top of Page

Portlet Bag Pool Security


Specify regular expression patterns used to match any portlet IDs that the plugin is permitted to access from the portlet bag pool.

Examples:

    security-manager-portlet-bag-pool-portlet-ids=
    security-manager-portlet-bag-pool-portlet-ids=\
        1_WAR_flashportlet,\
        .*_WAR_chatportlet


Top of Page

Search Engine Security


Specify the IDs of search engines the plugin is permitted to access.

Examples:

    security-manager-search-engine-ids=
    security-manager-search-engine-ids=\
        SYSTEM_ENGINE


Top of Page

Portal Service Security


Specify portal service classes and/or methods the plugin is permitted to access. Use the "#" character as a delimiter between a class and its method.

Examples:

    security-manager-services[portal]=
    security-manager-services[portal]=\
        com.liferay.portal.service.GroupLocalService,\
        com.liferay.portal.service.PortalService#getBuildNumber,\
        com.liferay.portal.service.persistence.CompanyPersistence,\
        com.liferay.portlet.blogs.service.BlogsEntryLocalService,\
        com.liferay.portlet.blogs.service.BlogsStatsUserLocalService
    


Top of Page

Portlet Service Security


For each portlet the plugin accesses, replicate this property substituting "some-portlet" in the '[' square brackets ']' with the name of the accessible portlet.

Specify portlet service classes and/or methods the plugin is permitted to access. Use the "#" character as a delimiter between a class and its method.

Examples:

    security-manager-services[some-portlet]=
    security-manager-services[some-portlet]=com.liferay.chat.service.EntryLocalService, com.liferay.chat.service.StatusLocalService#getStatuses
    security-manager-services[some-portlet]=com.liferay.sampleservicebuilder.service.FooLocalService


Top of Page

Set Context Class Loader Security


Set to "true" if the plugin is permitted to set the context class loader.

Defaults:

    security-manager-set-context-class-loader=false


Top of Page

Socket Security


Specify sockets permitted to accept connections in the plugin.

Examples:

    security-manager-sockets-accept=
    security-manager-sockets-accept=\
        localhost:4320


Specify connections the plugin is permitted to make with the outside world.

Examples:

    security-manager-sockets-connect=
    security-manager-sockets-connect=\
        localhost:4316,\
        www.cbs.com:80,\
        www.google.com:80,\
        www.google.com:443,\
        www.yahoo.com:443


Specify sockets the plugin can listen on.

Example:

This example specifies socket range 4316-4318, socket 4320, and socket 4321.

Examples:

    security-manager-sockets-listen=
    security-manager-sockets-listen=\
        4316-4318,\
        4320,\
        4321


Top of Page

SQL Security


Specify SQL statements that are always allowed. Semicolons are used to separate multiple SQL statements.

Defaults:

	# separate multiple SQL statements.
	#	update Contact_ set firstName = 'Joe', lastName = 'Bloggs';\n
	#	update User_ set firstName = ?, lastName = ?;

Examples:

    security-manager-sql-statements=\n
		update Contact_ set firstName = 'Joe', lastName = 'Bloggs';\n
		update User_ set firstName = ?, lastName = ?;


Specify tables on which the plugin can do any and all operations.

Examples:

    security-manager-sql-tables-all=
    security-manager-sql-tables-all=\
        TestPACL_Foo


Specify tables the plugin can create.

Examples:

    security-manager-sql-tables-create=
    security-manager-sql-tables-create=\
        TestPACL_CreateSuccess,\
        TestPACL_DropSuccess,\
        TestPACL_InsertSuccess,\
        TestPACL_ReplaceSuccess,\
        TestPACL_TruncateSuccess


Specify tables from which the plugin can delete records.

Examples:

    security-manager-sql-tables-delete=
    security-manager-sql-tables-delete=\
        ClassName_


Specify tables the plugin can drop.

Examples:

    security-manager-sql-tables-drop=
    security-manager-sql-tables-drop=\
        TestPACL_CreateSuccess,\
        TestPACL_DropSuccess,\
        TestPACL_InsertSuccess,\
        TestPACL_ReplaceSuccess,\
        TestPACL_TruncateSuccess


Specify tables into which the plugin can insert records.

Examples:

    security-manager-sql-tables-insert=
    security-manager-sql-tables-insert=\
       TestPACL_InsertSuccess


Specify tables in which the plugin can replace records.

Examples:

    security-manager-sql-tables-replace=
    security-manager-sql-tables-replace=\
        TestPACL_ReplaceSuccess


Specify tables the plugin can query.

Examples:

    security-manager-sql-tables-select=
    security-manager-sql-tables-select=\
       Counter,\
       TestPACL_Bar


Specify tables from which the plugin can delete all records.

Examples:

    security-manager-sql-tables-truncate=
    security-manager-sql-tables-truncate=\
        TestPACL_TruncateSuccess


Specify the tables the plugin can update.

Examples:

    security-manager-sql-tables-update=
    security-manager-sql-tables-update=\
        ListType


Top of Page

Suppress Access Checks Security


Set to "true" if the plugin is permitted to suppress the access checks on private members (constructors, fields, inner classes, methods) of classes outside the plugin.

Defaults:

    security-manager-suppress-access-checks=false


Top of Page

Thread Security


Specify regular expression patterns used to match thread pool executors that the plugin is permitted to access.

Examples:

    security-manager-thread-pool-executor-names=
    security-manager-thread-pool-executor-names=\
        liferay/test_pacl,\
        liferay/test_pacl_listen_failure,\
        liferay/test_pacl_listen_success