<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Author Archives - Sourced Code</title>
	<atom:link href="https://sourcedcode.com/blog/category/aem/author/feed" rel="self" type="application/rss+xml" />
	<link>https://sourcedcode.com</link>
	<description>AEM Blog Made Just for You.</description>
	<lastBuildDate>Mon, 28 Aug 2023 07:07:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.8</generator>

<image>
	<url>https://sourcedcode.com/wp-content/uploads/2019/09/cropped-favicon-32x32.png</url>
	<title>Author Archives - Sourced Code</title>
	<link>https://sourcedcode.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Granite UI, Touch UI helpPath</title>
		<link>https://sourcedcode.com/blog/aem/granite-ui-touch-ui-helppath</link>
					<comments>https://sourcedcode.com/blog/aem/granite-ui-touch-ui-helppath#respond</comments>
		
		<dc:creator><![CDATA[briankasingli]]></dc:creator>
		<pubDate>Mon, 28 Aug 2023 05:37:20 +0000</pubDate>
				<category><![CDATA[AEM]]></category>
		<category><![CDATA[Author]]></category>
		<category><![CDATA[Touch UI]]></category>
		<guid isPermaLink="false">https://sourcedcode.com/?p=5981</guid>

					<description><![CDATA[<p>helpPath typically refers to a configuration property that defines the path to the location where help content or documentation is stored within the AEM repository. The helpPath configuration property is often used in AEM components or templates to specify the location where users can access contextual help documentation related to the specific component or template. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://sourcedcode.com/blog/aem/granite-ui-touch-ui-helppath">Granite UI, Touch UI helpPath</a> appeared first on <a rel="nofollow" href="https://sourcedcode.com">Sourced Code</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span class="code-highlight-primary">helpPath</span> typically refers to a configuration property that defines the path to the location where help content or documentation is stored within the AEM repository.</p>
<p>The <span class="code-highlight-primary">helpPath</span> configuration property is often used in AEM components or templates to specify the location where users can access contextual help documentation related to the specific component or template. This can be helpful for content authors and administrators who need guidance on how to use certain features or elements within the AEM interface.</p>
<p>By setting the <span class="code-highlight-primary">helpPath</span> property, you provide a reference to the relevant documentation that users can access directly from the AEM interface, making it easier for them to understand and work with different components and features. Clicking on the help path will redirect the author to documentation which may be useful for them to understand how the component works as expected.</p>
<p><a href="https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath.png"><img fetchpriority="high" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath.png" alt="helpPath Granite Ui, Touch UI" width="1258" height="448" class="alignnone size-full wp-image-5995" srcset="https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath.png 1258w, https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath-300x107.png 300w, https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath-1024x365.png 1024w, https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath-768x274.png 768w, https://sourcedcode.com/wp-content/uploads/2023/08/teaser-component-helpPath-600x214.png 600w" sizes="(max-width: 1258px) 100vw, 1258px" /></a></p>
<p>Keep in mind that the exact implementation and usage of <span class="code-highlight-primary">helpPath</span> can vary based on the specific version of AEM and the customizations made by the organization. Always refer to the official AEM documentation or any relevant resources specific to your version of AEM for the most accurate and up-to-date information.</p>
<hr class="spacer-larger" />
<h3>Example Code</h3>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #339933;">&lt;</span>jcr<span style="color: #339933;">:</span>root xmlns<span style="color: #339933;">:</span>sling<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://sling.apache.org/jcr/sling/1.0&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlns<span style="color: #339933;">:</span>jcr<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.jcp.org/jcr/1.0&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlns<span style="color: #339933;">:</span>nt<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.jcp.org/jcr/nt/1.0&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlns<span style="color: #339933;">:</span>cq<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.day.com/jcr/cq/1.0&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlns<span style="color: #339933;">:</span>granite<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.adobe.com/jcr/granite/1.0&quot;</span><br />
&nbsp; &nbsp; jcr<span style="color: #339933;">:</span>primaryType<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;nt:unstructured&quot;</span><br />
&nbsp; &nbsp; jcr<span style="color: #339933;">:</span>title<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;My Custom Component&quot;</span><br />
&nbsp; &nbsp; sling<span style="color: #339933;">:</span>resourceType<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;cq/gui/components/authoring/dialog&quot;</span><br />
&nbsp; &nbsp; extraClientlibs<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;[myproject.components.mycustomcomponent.editor]&quot;</span><br />
&nbsp; &nbsp; helpPath<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;/content/myproject/help/mycustomcomponent.html&quot;</span><br />
&nbsp; &nbsp; trackingFeature<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;myproject:mycustomcomponent&quot;</span><span style="color: #339933;">&gt;</span><br />
&nbsp; &nbsp; <span style="color: #339933;">&lt;!--</span> Define your component<span style="color: #0000ff;">'s dialog structure here --&gt;<br />
&lt;/jcr:root&gt;</span></div></td></tr></tbody></table></div>
<p>The post <a rel="nofollow" href="https://sourcedcode.com/blog/aem/granite-ui-touch-ui-helppath">Granite UI, Touch UI helpPath</a> appeared first on <a rel="nofollow" href="https://sourcedcode.com">Sourced Code</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sourcedcode.com/blog/aem/granite-ui-touch-ui-helppath/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AEM Components are not showing up on Page Templates</title>
		<link>https://sourcedcode.com/blog/aem/aem-components-are-not-showing-up-on-page-templates</link>
					<comments>https://sourcedcode.com/blog/aem/aem-components-are-not-showing-up-on-page-templates#comments</comments>
		
		<dc:creator><![CDATA[briankasingli]]></dc:creator>
		<pubDate>Sun, 11 Sep 2022 18:37:43 +0000</pubDate>
				<category><![CDATA[AEM]]></category>
		<category><![CDATA[Author]]></category>
		<guid isPermaLink="false">https://sourcedcode.com/?p=3715</guid>

					<description><![CDATA[<p>As an AEM content author, you will sometimes notice that no components are available in the parsys (drag and drop area). You try to double-click on the parsys or try to view components on the component&#8217;s finder, and nothing shows up. This is because the page mis-configured to allow components to be used on the [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://sourcedcode.com/blog/aem/aem-components-are-not-showing-up-on-page-templates">AEM Components are not showing up on Page Templates</a> appeared first on <a rel="nofollow" href="https://sourcedcode.com">Sourced Code</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As an AEM content author, you will sometimes notice that no components are available in the parsys (drag and drop area). You try to double-click on the parsys or try to view components on the component&#8217;s finder, and nothing shows up. This is because the page mis-configured to allow components to be used on the page. </p>
<p>Before we solve this issue, you must understand that AEM templates are made up of two different types of templates; static templates and editable templates. Static templates ensure that template structures are only created and modified by the developer, while editable templates are template structures that can be created and modified by the authors.</p>
<p><strong>In this article, you will be given instructions on how to enable allowed components to be used on Static templates &#038; Editable Templates.</strong></p>
<ol>
<li><a href="#how-to-allow-components-to-be-used-on-static-templates">How to allow components to be use on Static Templates</a></li>
<li><a href="#how-to-allow-components-to-be-used-on-editable-templates">How to allow components to be use on Editable Templates</a></ol>
<div class="mention-block">In this article, we will configure allowed components as an admin. If you don&#8217;t have the correct permissions to access these configuration areas, you can contact your administrator to provide you with the correct rights. Typically template configuration permissions are restricted to super authors.</div>
<hr class="spacer-large" />
<h2 id="how-to-allow-components-to-be-used-on-static-templates">A. How to allow components to be use on Static Templates</h2>
<p>After the creation of the page using a static template, follow the steps below to enable components. Please make sure the steps below are followed when you have the page opened. </p>
<h5>1. On a static AEM template, you will realize that the parsys has no available components. From the component finder, you can find empty results.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components.png"><img decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components.png" alt="" width="1607" height="616" class="alignnone size-full wp-image-3720" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components.png 1607w, https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components-300x115.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components-1024x393.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components-768x294.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components-1536x589.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/1.static-template-no-available-components-600x230.png 600w" sizes="(max-width: 1607px) 100vw, 1607px" /></a></p>
<h5>2. From the page, enter design mode by clicking on the top right drop-down button; select on &#8220;design&#8221; and the page will flash. (if not please refresh the page).</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/2.static-template-no-available-components-design-mode.png"><img decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/2.static-template-no-available-components-design-mode.png" alt="" width="442" height="419" class="alignnone size-full wp-image-3716" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/2.static-template-no-available-components-design-mode.png 442w, https://sourcedcode.com/wp-content/uploads/2022/09/2.static-template-no-available-components-design-mode-300x284.png 300w" sizes="(max-width: 442px) 100vw, 442px" /></a></p>
<h5>3. Click on the target parsys, and click on the page icon; this should make visible of Touch UI modal with options inside.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button.png" alt="" width="1581" height="618" class="alignnone size-full wp-image-3724" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button.png 1581w, https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button-300x117.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button-1024x400.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button-768x300.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button-1536x600.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/3.static-template-no-available-components-design-mode-button-600x235.png 600w" sizes="(max-width: 1581px) 100vw, 1581px" /></a></p>
<h5>4. Select components via group or individual component&#8217;s that you would like to enable, and then click on save.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save.png" alt="" width="1598" height="636" class="alignnone size-full wp-image-3725" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save.png 1598w, https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save-300x119.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save-1024x408.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save-768x306.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save-1536x611.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/4.static-template-no-available-components-design-mode-save-600x239.png 600w" sizes="(max-width: 1598px) 100vw, 1598px" /></a></p>
<h5>5. Making sure you refresh the page, and navigate back to &#8220;edit&#8221; mode (by clicking on the drop down in the top right hand side), scroll down to the page to the target parsys. Now you should see a + button when you click on it. In the component&#8217;s finder, you are able to see the available components too. At this point, you should be able to drag and drop components into the parsys.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available.png" alt="" width="1591" height="630" class="alignnone size-full wp-image-3722" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available.png 1591w, https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available-300x119.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available-1024x405.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available-768x304.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available-1536x608.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/5.static-template-no-available-components-now-available-600x238.png 600w" sizes="(max-width: 1591px) 100vw, 1591px" /></a></p>
<div class="mention-block">When the configuration is enabled allow component&#8217;s to be used on a page, developers should find the configuration saved in CRX/DE, /etc/designs/my-site/jcr:content/${template}. Making sure if you are a developer, save this configuration into your code to ensure that the configurations. You&#8217;ll realize in the node consist of a new property named &#8220;components&#8221;; this is where the configuration is saved. <a href="https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable.png" alt="" width="1087" height="271" class="alignnone size-full wp-image-3730" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable.png 1087w, https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable-300x75.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable-1024x255.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable-768x191.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/static.component-avaiable-600x150.png 600w" sizes="(max-width: 1087px) 100vw, 1087px" /></a></div>
<hr class="spacer-larger" />
<h2 id="how-to-allow-components-to-be-used-on-editable-templates">B. How to allow components to be use on Editable Templates</h2>
<p>After the creation of the page using an editable template, follow the steps below to enable components. Please make sure the steps below are followed when you have the page opened. </p>
<h5>1. On a editable AEM template, you will realize that the parsys has no available components. From the component finder, you can find empty results.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components.png" alt="" width="1650" height="603" class="alignnone size-full wp-image-3719" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components.png 1650w, https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components-300x110.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components-1024x374.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components-768x281.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components-1536x561.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/6.editable-template-no-components-600x219.png 600w" sizes="(max-width: 1650px) 100vw, 1650px" /></a></p>
<h5>2. From the top left options of the editor.html, click on the second icon. A drop down should be visible. Click on the &#8220;edit template&#8221; button, and you should be redirected to the editable template page.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/7.editable-template-no-components-edit-template-button-2.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/7.editable-template-no-components-edit-template-button-2.png" alt="" width="1606" height="752" class="alignnone size-full wp-image-3723" /></a></p>
<h5>3. From the editable template page, click on the target parsys; there should be some options made visible. Click on the icon that looks like a cog, and the components policies UI should be visible.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices.png" alt="" width="1602" height="418" class="alignnone size-full wp-image-3717" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices.png 1602w, https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices-300x78.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices-1024x267.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices-768x200.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices-1536x401.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/8.editable-template-no-components-edit-template-page-polices-600x157.png 600w" sizes="(max-width: 1602px) 100vw, 1602px" /></a></p>
<h5>4. Polices UI</h5>
<p>Editable templates handles allowed component&#8217;s configuration differently than static templates. They are defined with component policies. Component policies are configurations that is saved under /conf/my-product/wcm/*; and will be bound to a component. Unlike static templates, these configurations can be shared (which means that you can define a policy once, and re-use it over and over again without the overhead of redefining these again). When you see &#8220;Select Policies&#8221;, these are policies that are defined by either the developer or super author.</p>
<p>If your organization already configured some component policies, then some options will be visible, and if not, create your own! Most of the time, there will be some pre-configured options for you to select. Please understand that component policies are binding to one component (most common component policies be configured, will be the wcm/foundation/components/responsivegrid component (after all, this out of the box component created by Adobe allows content authors to drag and drop components on to the page).</p>
<p>In this scenario, we will create a new policy. We add in a title and description, so that in the future, other editable templates that are created can re-use this policy. Next select the component group of individual components that you will want to be allowed on the page. Click save.<br />
<a href="https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general.png" alt="" width="1574" height="632" class="alignnone size-full wp-image-3721" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general.png 1574w, https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general-300x120.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general-1024x411.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general-768x308.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general-1536x617.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/9.editable-template-no-components-edit-template-page-polices-allow-general-600x241.png 600w" sizes="(max-width: 1574px) 100vw, 1574px" /></a></p>
<h5>5. Making sure you refresh the page, and head back to &#8220;edit&#8221; mode (by clicking on the drop down in the top right hand side), scroll down to the page to the target parsys. Now you should see a + button when you click on it. In the component&#8217;s finder, you are able to see the available components too. At this point, you should be able to drag and drop components into the parsys.</h5>
<p><a href="https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available.png"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available.png" alt="" width="1577" height="606" class="alignnone size-full wp-image-3718" srcset="https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available.png 1577w, https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available-300x115.png 300w, https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available-1024x393.png 1024w, https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available-768x295.png 768w, https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available-1536x590.png 1536w, https://sourcedcode.com/wp-content/uploads/2022/09/10.editable-template-no-components-now-available-600x231.png 600w" sizes="(max-width: 1577px) 100vw, 1577px" /></a></p>
<div class="mention-block">When component policies are defined, you developers should be able to find this saved configuration under, /conf/my-site/settings/wcm/policies/*.</div>
<p>The post <a rel="nofollow" href="https://sourcedcode.com/blog/aem/aem-components-are-not-showing-up-on-page-templates">AEM Components are not showing up on Page Templates</a> appeared first on <a rel="nofollow" href="https://sourcedcode.com">Sourced Code</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sourcedcode.com/blog/aem/aem-components-are-not-showing-up-on-page-templates/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How many times is an AEM Component used in the JCR?</title>
		<link>https://sourcedcode.com/blog/aem/how-many-times-is-an-aem-component-used-in-the-jcr</link>
					<comments>https://sourcedcode.com/blog/aem/how-many-times-is-an-aem-component-used-in-the-jcr#comments</comments>
		
		<dc:creator><![CDATA[briankasingli]]></dc:creator>
		<pubDate>Thu, 11 Jun 2020 23:09:16 +0000</pubDate>
				<category><![CDATA[AEM]]></category>
		<category><![CDATA[Author]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Quick Reference]]></category>
		<guid isPermaLink="false">https://sourcedcode.com/?p=1870</guid>

					<description><![CDATA[<p>Can we detect and remove unused components from our codebase? Is this AEM component being used at all? How many times is my component used within my running AEM instance? These are the common questions we have when we are trying to figure out the number of use and the node-paths of the targeted searched [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://sourcedcode.com/blog/aem/how-many-times-is-an-aem-component-used-in-the-jcr">How many times is an AEM Component used in the JCR?</a> appeared first on <a rel="nofollow" href="https://sourcedcode.com">Sourced Code</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Can we detect and remove unused components from our codebase? Is this AEM component being used at all? How many times is my component used within my running AEM instance? </p>
<p>These are the common questions we have when we are trying to figure out the number of use and the node-paths of the targeted searched component within the Java content repository, known as &#8220;JCR&#8221;. In this article, you will discover one of the quickest techniques used to retrieve the total number of uses and node-paths of a component within the JCR by using the Query Builder API, <a href="#query-debugger-tool">query debugger tool</a>. </p>
<p>If you don&#8217;t have certain user priveledges within your AEM instance, there&#8217;s another way to find out the usage of your component(s), <a href="#components-console">Components Console</a>; however, the Components Console is restricted in a sense where the component search results-list only display pages of a given component and does not provide a total number of how many pages are returned from the search.</p>
<div class="mention-block">
<strong>Quick Links</strong></p>
<ol>
<li><a href="#query-debugger-tool">Component Search by the Query Builder API, Query Builder Debugger Tool</a></li>
<li><a href="#components-console">Component Search by the Components Console</a></li>
<li><a href="#search-by-cq-template"><strong>Extra</strong>: How many pages are using an AEM template?</a></li>
<li><a href="#search-for-all-nodes-with-the-existing-property"><strong>Extra</strong>: How to search for all nodes in AEM, JCR, with an existing property?</a></li>
</ol>
</div>
<hr class="spacer-large"/>
<h2 id="query-debugger-tool">1. Component Search by the Query Builder API, Query Builder Debugger Tool</h3>
<p>The AEM Query Builder is an API which can be used to search for nodes in JCR. Well defined &#8220;Predicates&#8221; are typically created from using the Query Builder Debugging Tool, as this tool serves instant search results within the UI.</p>
<p><strong>Step 1</strong>: With your running AEM instance, visit <a href="http://localhost:4502/libs/cq/search/content/querydebug.html" rel="noopener noreferrer" target="_blank">http://localhost:4502/libs/cq/search/content/querydebug.html</a>.</p>
<p><strong>Step <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component.jpg">2</a></strong>: Paste in the search query below &#038; hit search; <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component.jpg">view screenshot</a>.<br />
<em style="color: red; font-size:12px;">Replace with your component&#8217;s path: weretail/components/content/heroimage</em><br />
<em style="color: blue; font-size:12px;">Note!: sometimes the descendant path must be more nested, so /content/we-retail/gb/en</em></p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;"><div>1<br />2<br />3<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">path<span style="color: #339933;">=/</span>content<span style="color: #339933;">/</span>we<span style="color: #339933;">-</span>retail<br />
<span style="color: #cc66cc;">1</span>_property<span style="color: #339933;">=</span>sling<span style="color: #339933;">:</span>resourceType<br />
<span style="color: #cc66cc;">1</span>_property.<span style="color: #006633;">value</span><span style="color: #339933;">=</span>weretail<span style="color: #339933;">/</span>components<span style="color: #339933;">/</span>content<span style="color: #339933;">/</span>heroimage</div></td></tr></tbody></table></div>
<p><i>This query searches for all types of nodes with the sling:resourceType equals to the value, weretail/components/content/heroimage, and where the path is descendant from /content/we-retail; to learn more about the Query builder API and queries, <a href="https://docs.adobe.com/content/help/en/experience-manager-64/developing/platform/query-builder/querybuilder-api.html" rel="noopener noreferrer" target="_blank">click here (Adobe Documentation)</a></i></p>
<p><strong>Step 3</strong>: Review the results.<br />
<a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component.jpg"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component-300x128.jpg" alt="Query Builder Debugger" width="300" height="128" class="alignnone size-medium wp-image-1889" srcset="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component-300x128.jpg 300w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component-1024x436.jpg 1024w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component-768x327.jpg 768w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component-600x255.jpg 600w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-image-query-builder-find-component.jpg 1300w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<div id="search-by-cq-template" class="mention-block">
<strong>Extra:</strong></p>
<h2 style="font-size: 16px;">Find out How many pages are using an AEM template?</h2>
<p>The query below will find all cq:Page nodes in the JCR, which cq:template equals to /conf/we-retail/settings/wcm/templates/hero-page; under the content path /content/we-retail. The search results will show you the absolute node page path of whom has the matched property and value set.</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">type<span style="color: #339933;">=</span>cq<span style="color: #339933;">:</span>Page<br />
path<span style="color: #339933;">=/</span>content<span style="color: #339933;">/</span>we<span style="color: #339933;">-</span>retail<br />
<span style="color: #cc66cc;">1</span>_property<span style="color: #339933;">=</span>jcr<span style="color: #339933;">:</span>content<span style="color: #339933;">/</span>cq<span style="color: #339933;">:</span>template<br />
<span style="color: #cc66cc;">1</span>_property.<span style="color: #006633;">value</span><span style="color: #339933;">=/</span>conf<span style="color: #339933;">/</span>we<span style="color: #339933;">-</span>retail<span style="color: #339933;">/</span>settings<span style="color: #339933;">/</span>wcm<span style="color: #339933;">/</span>templates<span style="color: #339933;">/</span>hero<span style="color: #339933;">-</span>page</div></td></tr></tbody></table></div>
<p>Ensuring that the &#8220;path&#8221; property is set is important, because you would not want to excessively triverse through the entire JCR; which will exhaust the AEM environment performance.
</p></div>
<div id="search-for-all-nodes-with-the-existing-property" class="mention-block">
<strong>Extra:</strong></p>
<h2 style="font-size: 16px;">How to search for all nodes in AEM, JCR, with an existing property?</h2>
<p>The query below will search all nodes in the JCR, which &#8220;myCustomProperty&#8221; exists; under the content path /content/we-retail. The search results will show you the absolute node page path of whom has the matched property and value set.</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;"><div>1<br />2<br />3<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">path<span style="color: #339933;">=/</span>content<span style="color: #339933;">/</span>we<span style="color: #339933;">-</span>retail<br />
property<span style="color: #339933;">=</span>myCustomProperty<br />
property.<span style="color: #006633;">operation</span><span style="color: #339933;">=</span>exists</div></td></tr></tbody></table></div>
<p>Ensuring that the &#8220;path&#8221; property is set is important, because you would not want to excessively triverse through the entire JCR; which will exhaust the AEM environment performance.
</p></div>
<hr class="spacer-large"/>
<h2 id="components-console">2. Component Search by the Components Console</h3>
<p>This out of the box Components Console, CC, is available from AEM 6.2+ right under Tools -> General -> Components. The CC displays search results in a form of pages where the component is being used; rather than each node from the example above. This console is accessible to authors so that even they can check for which pages use the searched component.</p>
<p><strong>Step 1</strong>: Within your running AEM instance, visit <a href="http://localhost:4502/libs/wcm/core/content/sites/components.html">http://localhost:4502/libs/wcm/core/content/sites/components.html</a>.</p>
<p><strong>Step <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a.jpg"><a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a.jpg">2</a></strong>: Search for a component. Insert your search criteria with either by &#8220;keyword&#8221;, &#8220;component path&#8221;, or &#8220;component group&#8221;. On every change of the search criteria, you should see results in a list format on the right hand side of the search left side bar.<br />
<strong>Step <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a.jpg">3</a></strong>: Click on the targeted component, and you will be redirected to the details page.<br />
<strong>Step <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b.jpg">4</a></strong>: From the details page, click on &#8220;live usage&#8221;, and a results-list of pages will be displayed, where the targeted component can be found.<br />
<strong>Step <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b.jpg">5</a></strong>: From the results-list, clicking on a link will open the page&#8217;s editor.</p>
<table>
<tr>
<td align="center" width="50%" style="border: none;">Components Console &#8211; Steps 2 &#038; 3<a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a.jpg"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a-300x164.jpg" alt="Components Console - Steps 2 &#038; 3" width="300" height="164" class="alignnone size-medium wp-image-1913" srcset="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a-300x164.jpg 300w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a-1024x559.jpg 1024w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a-768x419.jpg 768w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a-600x328.jpg 600w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-a.jpg 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></td>
<td align="center" width="50%" style="border: none;">Components Console &#8211; Steps 4 &#038; 5 <a class="foobox" href="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b.jpg"><img loading="lazy" decoding="async" src="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b-300x164.jpg" alt="Components Console - Steps 4 &#038; 5" width="300" height="164" class="alignnone size-medium wp-image-1914" srcset="https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b-300x164.jpg 300w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b-1024x559.jpg 1024w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b-768x419.jpg 768w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b-600x328.jpg 600w, https://sourcedcode.com/wp-content/uploads/2020/06/blog-post-component-console-steps-b.jpg 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></td>
</tr>
</table>
<p>The post <a rel="nofollow" href="https://sourcedcode.com/blog/aem/how-many-times-is-an-aem-component-used-in-the-jcr">How many times is an AEM Component used in the JCR?</a> appeared first on <a rel="nofollow" href="https://sourcedcode.com">Sourced Code</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sourcedcode.com/blog/aem/how-many-times-is-an-aem-component-used-in-the-jcr/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
