Expand my Community achievements bar.

SOLVED

Siteimprove for AEMCAAS

Avatar

Community Advisor

Hello All,

 

Started looking into Siteimprove plugin that we use in non cloud AEM versions and it seems that the way to install it according to the Siteimprove manual is to install a jar that they provide (Eg: siteimprove_aem_plugin_all_2.1.0_cloud.zip is available here )

 

For AEM Cloud, so far my understanding is everything goes through code and installing adhoc app packages (and probably third party packages) doesn't seem to be recommended or allowed (Will confirm with our Adobe team as well).

Here is what I see comes as part of the package

Shubham_borole_0-1668605932606.png

Extracting and adding all these to code also seems to be overhead to me at the moment. 

 

Does anyone already use Siteimprove in AEM cloud, please suggest or share what could be the implementation options? Wondering if Siteimprove provides a code package instead of jar. (Will check on that with them and update here as well.

 

Thank you

 

Shubham

1 Accepted Solution

Avatar

Correct answer by
Level 6

Hi @Shubham_borole 

We have installed site improve via deployment on AEM Cloud. We did with the help of filevault-package-maven-plugin. 

1. Keep siteimprove plugin zip in our project.all folder and added its dependency in pom as system dependency.

2. add siteimprove dependency in parent pom.xml

 

<dependency>
	<groupId>com.siteimprove.aem</groupId>
	<artifactId>siteimprove-aem-plugin-all</artifactId>
	<version>2.1.0</version>
	<type>zip</type>
	<scope>system</scope>
	<systemPath>${project.basedir}/all/src/main/content/siteimprove/siteimprove_aem_plugin_all_2.1.0_cloud.zip</systemPath>
</dependency>

3. embed all artifacts from siteimprove in your pom.xml in file vault plugin

 

<embeddeds>
	<embedded>
		<artifactId>siteimprove-aem-plugin-all</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>zip</type>
		<target>/apps/siteimprove/install</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-apps</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>zip</type>
		<target>/apps/siteimprove-packages/application/install.author</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-content</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>zip</type>
		<target>/apps/siteimprove-packages/content/install.author</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-api</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>jar</type>
		<target>/apps/siteimprove-packages/content/install.author</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-bundle</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>jar</type>
		<target>/apps/siteimprove-packages/content/install.author</target>
	</embedded>
</embeddeds>

4. add siteimprove dependency in all pom.xml

<dependency>
	<groupId>com.siteimprove.aem</groupId>
	<artifactId>siteimprove-aem-plugin-all</artifactId>
	<type>zip</type>
	<scope>system</scope>
	<systemPath>${project.basedir}/src/main/content/siteimprove/siteimprove_aem_plugin_all_2.1.0_cloud.zip</systemPath>
</dependency>

5. Update filter.xml of your all module. Add below filters in it.

<filter root="/apps/siteimprove/install"/>
<filter root="/apps/siteimprove-packages/application/install"/>
<filter root="/apps/siteimprove-packages/content/install"/>

6. Deploy code

Verify in package manager if all sub packages of siteimprove are installed or not.

View solution in original post

4 Replies

Avatar

Correct answer by
Level 6

Hi @Shubham_borole 

We have installed site improve via deployment on AEM Cloud. We did with the help of filevault-package-maven-plugin. 

1. Keep siteimprove plugin zip in our project.all folder and added its dependency in pom as system dependency.

2. add siteimprove dependency in parent pom.xml

 

<dependency>
	<groupId>com.siteimprove.aem</groupId>
	<artifactId>siteimprove-aem-plugin-all</artifactId>
	<version>2.1.0</version>
	<type>zip</type>
	<scope>system</scope>
	<systemPath>${project.basedir}/all/src/main/content/siteimprove/siteimprove_aem_plugin_all_2.1.0_cloud.zip</systemPath>
</dependency>

3. embed all artifacts from siteimprove in your pom.xml in file vault plugin

 

<embeddeds>
	<embedded>
		<artifactId>siteimprove-aem-plugin-all</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>zip</type>
		<target>/apps/siteimprove/install</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-apps</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>zip</type>
		<target>/apps/siteimprove-packages/application/install.author</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-content</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>zip</type>
		<target>/apps/siteimprove-packages/content/install.author</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-api</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>jar</type>
		<target>/apps/siteimprove-packages/content/install.author</target>
	</embedded>
	<embedded>
		<artifactId>siteimprove-aem-plugin-bundle</artifactId>
		<groupId>com.siteimprove.aem</groupId>
		<type>jar</type>
		<target>/apps/siteimprove-packages/content/install.author</target>
	</embedded>
</embeddeds>

4. add siteimprove dependency in all pom.xml

<dependency>
	<groupId>com.siteimprove.aem</groupId>
	<artifactId>siteimprove-aem-plugin-all</artifactId>
	<type>zip</type>
	<scope>system</scope>
	<systemPath>${project.basedir}/src/main/content/siteimprove/siteimprove_aem_plugin_all_2.1.0_cloud.zip</systemPath>
</dependency>

5. Update filter.xml of your all module. Add below filters in it.

<filter root="/apps/siteimprove/install"/>
<filter root="/apps/siteimprove-packages/application/install"/>
<filter root="/apps/siteimprove-packages/content/install"/>

6. Deploy code

Verify in package manager if all sub packages of siteimprove are installed or not.

Avatar

Community Advisor

Thanks a lot @salamswapnil , I have done something similar for multi project structure and this makes sense, will give this a try.

 

Regards,

Shubham 

Avatar

Community Advisor

@salamswapnil - One question, how was below resolved in terms of pipeline builds?

${project.basedir} 

 

Avatar

Level 6

@Shubham_borole We don't require to do anything in pipeline for this. Maven resolves this variable to appropriate directory automatically.