Package Manager module
Unbundled: Extension Magnolia 6.2 compatible
Edition |
DX Core |
License |
|
Issues |
|
Maven site |
|
Latest |
1.0.0-alpha2 |
This module is in beta state. This beta version is intended for testing and evaluation purposes only and must not be used in production environments. |
The Package Manager module installs the Package Manager app allowing users to configure packages on author instances and use the packages on both author and public instances. This page contains details for setting up your environment, from installation to deployment and audit logging.
When installing any package that overwrites or restructures existing content, schedule a maintenance window for the affected paths. During this window, team members must not edit, publish, move, delete, or run bulk operations on the impacted content. Use a system-wide notification to inform all affected users before and during the window. |
Package manager is incompatible with assets that include binaries stored outside of JCR. This applies to hybrid assets and DAM version 5, version 6, and later. |
Installing with Maven
Maven is the easiest way to install the module. Add the following to your bundle:
<dependency>
<groupId>info.magnolia.packagemanager</groupId>
<artifactId>magnolia-package-manager-core</artifactId>
<version>1.0.0-alpha2</version> (1)
</dependency>
1 | Should you need to specify the module version, do it using <version> . |
<dependency>
<groupId>info.magnolia.packagemanager</groupId>
<artifactId>magnolia-package-manager-api</artifactId>
<version>1.0.0-alpha2</version> (1)
</dependency>
1 | Should you need to specify the module version, do it using <version> . |
<dependency>
<groupId>info.magnolia.packagemanager</groupId>
<artifactId>magnolia-package-manager-app</artifactId>
<version>1.0.0-alpha2</version> (1)
</dependency>
1 | Should you need to specify the module version, do it using <version> . |
<dependency>
<groupId>info.magnolia.packagemanager</groupId>
<artifactId>magnolia-package-manager-compatibility</artifactId>
<version>1.0.0-alpha2</version> (1)
</dependency>
1 | Should you need to specify the module version, do it using <version> . |
<dependency>
<groupId>info.magnolia.warp</groupId>
<artifactId>warp-frontend</artifactId>
<version>1.0.0-beta1-packman</version>
</dependency>
Deployment
Local and remote deployment
This section outlines the process for installing the Package Manager on Magnolia 6.2 and 6.3.
The core steps involve adding the Package Manager and warp-frontend-1.0.0-beta1-packman.jar
file to your webapp, regardless of your environment (development, local, or remote).
-
Add Package Manager jars, version
1.0.0-alpha2
, to the webapp.-
core
-
api
-
app
-
compatibility
-
-
Add the frontend jar, version
1.0.0-beta1-packman
, to webapp.
Remote deployment without the frontend
For remote installations of the Package Manager on Magnolia 6.2 and 6.3 where the frontend isn’t included, the steps are the same as for local and remote deployment. However, the key difference is how the frontend is managed separately.
-
Deploy and configure the frontend independently.
-
The specific configuration for the frontend’s URL,
magnolia.warp.url
, is handled at the frontend deployment level, not within the Magnolia webapp. The example below is for a Kubernetes configuration, if you have a Tomcat on the host, configure it in the properties file.magnolia.api.url
is used to define the URL for the backend API. With that, you can specify the endpoint where the API can be accessed.values.ymlglobal: ... env: - name: magnolia.warp.url value: "<FRONTEND_SERVER>" (1) - name: magnolia.api.url value: <AUTHOR_SERVER>/.rest/ (2)
1 Frontend URL value. 2 Backend URL value.
-
-
Add a CORS filter because the backend and frontend have different origins.
-
If you’re using, for example, a Nginx/Apache proxy configuration, add the CORS filter on the proxy and set the file size limit for uploads in Package Manager:
values.ymlingress: enabled: true annotations: ... nginx.ingress.kubernetes.io/proxy-body-size: 512m (1) nginx.ingress.kubernetes.io/cors-allow-headers: "Authorization, Tus-Resumable, Upload-Length, Upload-Metadata, Upload-Offset, Accept, Content-Type, Origin, upload-concat, x-http-method-override, X-PINGOTHER, X-Requested-With" (2) nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, HEAD, OPTIONS, DELETE, PATCH" (2) nginx.ingress.kubernetes.io/cors-allow-origin: "http://localhost:3000, <AUTHOR_SERVER>" (2) nginx.ingress.kubernetes.io/enable-cors: "true" (2)
1 File size limit. 2 CORS filter creation. If you add CORS configuration on a proxy, you don’t need to add it in Magnolia instances. -
If you’re not using a proxy, import this CORS filter to your site definition:
/modules/travel-demo/config/travel/cors
.
-
Audit logging configuration
Audit logging can be activated for the Package Manager app to track who performed actions and when.
To activate Package Manager audit logging, go to the log configuration for packages in the Configuration app and set active
to true
to enable it.
For more details, see Audit.
Node name | Value |
---|---|
⸬ package |
|
⬩ active |
true |
⬩ logName |
log-audit |
