I have an installable AEM package(external-app-1.0.7.zip) and I am able to install this in my local AEM by uploading it in the package manager. In cloud I can not install as it contains /app/mypackage since it is an un-mutable AEM cloud instance and could not install the package through package manager. Hence I am planning to keep the external-app-1.0.7.zip in the resource folder like ...all/src/main/resources/external-app-1.0.7.zip as part of the codebase itself. I am planning to use the <embedded> feature to embed this package.
Solved! Go to Solution.
Views
Replies
Total Likes
Hello @Mario248
Glad that it had helped you a bit.
Have you tried local repo as well?
Once you have the details, please refer to https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/including-3rd-party-aem-pa...
It explains how to use Local filesystem repo to deploy packages that are not public
Hello @Mario248
We can get the artifactID and groupID by unzipping the package.
Example: acs-aem-commons-all-6.0.14\META-INF\maven\com.adobe.acs\acs-aem-commons-all
You should be able to use the recommended <embedded> way
Once you have the details, please refer to https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/including-3rd-party-aem-pa...
It explains how to use Local filesystem repo to deploy packages that are not public
Thank you for your input. I got the artifactID and groupID by using your steps. I have prepared below embed and deployed the code into my local, the build is success but I dont see package in /apps/myproject/application/install in crxde.
<embedded>
<groupId>com.green.grass</groupId>
<artifactId>com.green.grass.digital</artifactId>
<type>zip</type>
<target>/apps/myproject/application/install</target>
</embedded>
Hello @Mario248
Glad that it had helped you a bit.
Have you tried local repo as well?
Once you have the details, please refer to https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/including-3rd-party-aem-pa...
It explains how to use Local filesystem repo to deploy packages that are not public
Thank you for providing the references. I followed above doc and executed the steps,
mvn install:install-file \
-Dfile=/xxx/aem-green-grass.ui.content-1.0.7.zip \
-DgroupId=com.green.grass \
-DartifactId=com.green.grass.digital \
-Dversion=1.0.7 \
-Dpackaging=zip \
-DlocalRepositoryPath=/xxx/repository
<repository>
<id>project.local</id>
<name>project</name>
<url>file://${project.basedir}/repository</url>
</repository>
<embedded>
<groupId>com.green.grass</groupId>
<artifactId>com.green.grass.digital</artifactId>
<type>zip</type>
<target>/apps/myproj/application/install</target>
</embedded>
<dependency>
<groupId>com.green.grass</groupId>
<artifactId>com.green.grass.digital</artifactId>
<type>zip</type>
</dependency>
I found something interesting in the maven build log. It is trying to download the zip file in different locations. I am not sure why it is "file://${project.basedir}/repository" going to the "all" module instead of the parent pom location.
It should be like,
Downloading from project.local: file:///Users/xxx/all/repository/com/adobe/aem/green/grass-1.0.7/com.green.grass.digital-1.0.7.pom
[WARNING] The POM for com.green.grass.digital:zip:1.0.7 is missing, no dependency information available
Hi @Mario248,
You can refer to the LinkedIn Article, which provides detailed step-by-step instructions.
https://www.linkedin.com/pulse/how-add-third-party-bundle-you-aem-package-veena-vikraman/
Please take a look at this article: https://www.albinsblog.com/2015/06/deploying-bundlespackages-to-different-env-maven-adobecq5-adobeae... where It shows how to use the "content-package-maven-plugin" plugin. By specifying the packageFile property I think you should be able to achieve what you need.
Reference:
https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/implementing/develo...
Hi @Mario248 ,
Please follow below steps
steps to include a third-party package in AEM as a Cloud Service:
Check the Adobe Experience Manager as a Cloud Service - Supported Integrations documentation to ensure that the third-party package you want to include is supported in the cloud environment. Adobe maintains a list of supported integrations and packages that are tested and verified to work with AEM as a Cloud Service.
Create a Maven project for your custom code and dependencies. Use Maven as the build tool to manage your project's dependencies and package them into an AEM package.
Add the third-party package as a dependency in your Maven project's pom.xml
file. Specify the appropriate version of the package that is compatible with AEM as a Cloud Service.
Build your Maven project to generate an AEM package that includes your custom code and the third-party package as dependencies.
Deploy the AEM package to your AEM as a Cloud Service instance using the Cloud Manager or the Package Manager in AEM. Follow the recommended deployment practices provided by Adobe for AEM as a Cloud Service.
Test your custom code and the integration with the third-party package in the AEM as a Cloud Service environment.
@Mario248 Do you find the suggestions from users useful? Please let us know if more information is required. Otherwise, please mark the answer as correct for posterity.
Views
Replies
Total Likes
Sharing a blog which explains how to use Third-party bundles when:
https://techrevel.blog/2023/09/27/managing-third-party-dependencies-in-aem/
It also explains the configurations needed to deploy via cloud manager
Views
Replies
Total Likes
Views
Likes
Replies
Views
Like
Replies