Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Permissions for packages

Every policy that opens a package page or button - the package module's functions and their Type, CreatorType and Role limitations, ezupdate's update/ezupdate and update/manage, package/export_extension - with role…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/site-packages/admin-gui/permissions-for-packages.md

On this page

Permissions for packages

This page is for administrators who decide who may look at, import, install, create and remove packages. Installing a package changes content and settings, so these policies belong to trusted roles only. The Administrator role with all functions has every one of them.

Roles, where the package policies are granted
Roles, where the package policies are granted

Contents

  1. The package module
  2. The limitations
  3. Exporting extensions
  4. The update module (ezupdate)
  5. Role examples
  6. Switches that lock the pages anyway

The package module

From kernel/package/module.php:

FunctionOpensLimited by
package/listthe package list (package/list)Type
package/reada package's page (package/view), its files (package/viewfile), Compare (package/compare)Type
package/exportDownload (package/export)Type
package/importImport new package (package/upload)Type
package/installInstall, Reinstall (package/install) and Uninstall (package/uninstall); the import actions of CompareType
package/removeRemove selected, RemoveType
package/createCreate new package (package/create)Type, CreatorType, Role
package/editdefined, but no view of the module asks for itType
package/export_extensionexporting an extension as a package (see below)none

Every form of these pages carries the form token; a post without it is refused with 403 (Packages, section 10).

The limitations

LimitationValuesEffect
Typepackage.ini [PackageSettings] TypeList[]: Content object (contentobject), Content class (contentclass), Site style (sitestyle), Site (site)the policy applies only to packages of these types (eZPackage::canUsePackagePolicyFunction()); a policy without it applies to every type
CreatorTypethe creators of package.ini [CreationSettings]: ezcontentobject, ezcontentclass, ezextension, ezstylewhich wizards Create new package offers
Rolepackage.ini [MaintainerSettings] RoleList[]: lead, developer, designer, contributor, testerwhich maintainer roles the wizard lets you give; with none, the Maintainer step is left out

The checks are per package: package/install limited to contentclass lets a role install a classes package but not a content package, and the install page asks the policy for the package's own type, not for any type.

Note

A Type limitation only offers the types of TypeList[]. Packages of other types (the index of 6.0.15 also lists extension packages) are reached only by a policy without a Type limitation.

Exporting extensions

package/export_extension is asked when an extension is exported in the administration and package.ini [ExtensionExportSettings] RequirePolicy=enabled (the default). Independent of roles, the extension must also be listed in AllowedExtensions[] (empty by default: none), and an extension holding secret values or key material is always refused. The command line runs as no user and is not asked for the policy (Exporting an extension as a package).

The update module (ezupdate)

From extension/ezupdate/modules/update/module.php:

FunctionOpens
update/ezupdatethe ezupdate pages: overview, installed packages, Packagist search, a server's packages (update/packages), runs, funding; checks and dry runs
update/managechanges: updating and installing with Composer, Fetch of .ezpkg packages, and the Package servers page (update/servers) with adding and removing servers

"Every page needs update/ezupdate; every change needs update/manage ... Checked on every request, in the view, not only by hiding buttons." (extension/ezupdate/doc/SECURITY.md)

Role examples

RolePolicies
Reader of packages (auditors, support)package/list, package/read
Content packagerthe above, package/export, package/create limited to CreatorType ezcontentobject and ezcontentclass
Package installer on a staging sitethe above, package/import, package/install
Package server maintainerupdate/ezupdate, update/manage
Cleanerpackage/list, package/read, package/remove

Give package/install and update/manage sparingly: both change the site, and an uninstall cannot be undone.

Switches that lock the pages anyway

SwitchLocks
site.ini [ConfigurationSettings] ManagedByDeployment=enabledin a web request: package/upload, package/install, package/uninstall, package/create, package/export, the remove actions, and every settings file write (so adding an ezupdate server as well); the list, a package's page and Compare stay open (kernel/classes/expmanagedconfiguration.php)
ezupdate.ini [UpdateSettings] AllowUpdate, AllowInstall (both disabled by default)Composer updates and installs from the admin; fetching .ezpkg packages is not affected

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x