tag:blogger.com,1999:blog-54706937117909945362024-03-16T00:32:29.570-07:00Keep Calm and Code It.Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-5470693711790994536.post-79783744589765516452018-04-11T10:59:00.001-07:002018-04-11T11:04:08.530-07:00Authenticating Web Console Users against the JCR Repository<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Ever encountered a use case to provide users logged in to the JCR, access to the Felix Web Console?</span></div>
<div style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The <b>Apache Sling Web Console Security Provider</b> bundle verifies user credentials and grants access to the Apache Felix Web console based on registered JCR repository users.</span></div>
<div style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">The following configuration is used to add users that have to be granted access:</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMJCDbNPjZV6u2fCNCimGotrVK7I0B3acWSHEWyfxgaNiR3xoQnFgMuMw_0zTZBGME6ClzDFSOJJlv8pAYF4kHsuPxtURwv5lzs57M4GecO9nO1qXPUYV6DFpliuf0SNIgTAQVyqQOOuY/s1600/Screen+Shot+2018-04-11+at+1.02.29+PM.png" imageanchor="1"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMJCDbNPjZV6u2fCNCimGotrVK7I0B3acWSHEWyfxgaNiR3xoQnFgMuMw_0zTZBGME6ClzDFSOJJlv8pAYF4kHsuPxtURwv5lzs57M4GecO9nO1qXPUYV6DFpliuf0SNIgTAQVyqQOOuY/s400/Screen+Shot+2018-04-11+at+1.02.29+PM.png" width="400" /></a><br />
<br /></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;"><b>User Names</b> - The list of users granted access to web console.</span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;"><b>Group Names</b> - The list of groups whose members are granted access to the web console.</span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;"><br /></span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;">The default configuration explicitly grants the user 'admin' access to the felix web console.</span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;"><br /></span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;">If the web console security provider bundle is not activated, then the default web console authentication is used. </span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;"><br /></span></div>
<div class="p1" style="text-align: left;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: small;">Hope this helps!</span></div>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
span.s1 {font-kerning: none}
</style></div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-12792064858163582762017-06-13T08:30:00.000-07:002017-06-13T08:30:29.888-07:00extraClientlibs in AEM<div dir="ltr" style="text-align: left;" trbidi="on">
To define styling and behavior of our AEM components, we create client libraries that defines our custom CSS and JS. In order to create clientlibs that load only in the Authoring mode, the general practice is to create a client library and load that only in the Author mode:<br />
<br />
<pre style="background-color: white;"><span style="font-family: "courier new";"><span style="font-size: 12px;"><i><b><sly data-sly-test.author="${wcmmode.edit || wcmmode.design}" </b></i></span></span></pre>
<pre style="background-color: white;"><span style="font-family: "courier new";"><span style="font-size: 12px;"><i><b>data-sly-call="${clientlib.js @categories='custom.authorjs'}" /> </sly></b></i></span></span></pre>
<pre style="background-color: white;"><span style="font-family: "courier new";"><span style="font-size: 12px;"><i><b>
</b></i></span></span></pre>
Further, if we want our client library loaded for all dialogs, we can set the category property to '<span style="background-color: white; font-family: "courier new"; font-size: 12px;"></span><span style="background-color: white; color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif; font-size: 14px;"><i><b>cq.authoring.dialog</b></i>'. This would let the client library load for all dialogs.</span><br />
<span style="background-color: white; color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif;"><span style="background-color: white;"><span style="font-size: 14px;">This created performance issues sometimes when my client library is too big and I try loading it in all dialogs even when it is not needed. Sometimes, I would just want to have my client library only for a specific component's dialog.</span></span></span><br />
<br />
<span style="color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif;"><span style="background-color: white; font-size: 14px;">To have my client library loaded solely for my component dialog, I need to the set the property 'extraClientLibs' of my dialog to the category name of the client library.</span></span><br />
<span style="color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif;"><span style="background-color: white; font-size: 14px;"><br /></span></span>
<span style="color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif;"><span style="background-color: white; font-size: 14px;">Here is an example:</span></span><br />
<span style="color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif;"><span style="background-color: white; font-size: 14px;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJkSjtVPo2cNKYDyZXIjGwb-JBHNv-80y-6mDkZXGJjrOXW57Re9KcLGu5zUyk2O3j9hKNbMEGboIvN8Q0FmjEzXzaUvLWH4epwyxspEldQmBqJ0AeiAqOtwTf9MByy8-QD1b-YDhicgw/s1600/extraClientLibs.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJkSjtVPo2cNKYDyZXIjGwb-JBHNv-80y-6mDkZXGJjrOXW57Re9KcLGu5zUyk2O3j9hKNbMEGboIvN8Q0FmjEzXzaUvLWH4epwyxspEldQmBqJ0AeiAqOtwTf9MByy8-QD1b-YDhicgw/s400/extraClientLibs.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hope this helps!</div>
<span style="color: #4f5051; font-family: , "helvetica neue" , "arial" , sans-serif;"><span style="background-color: white; font-size: 14px;"><br /></span></span>
<br />
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"></pre>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com3tag:blogger.com,1999:blog-5470693711790994536.post-40966403869941895112017-06-07T08:30:00.000-07:002017-06-07T08:30:15.097-07:00Sling Pipes<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
Ever encountered a situation where code changes were introduced after the client started authoring and some pages had to be re-authored? <span class="s1" style="margin: 0px; padding: 0px;">Ever spent time writing code just to modify a few hundred pages that were already authored, or with removing a component from hundreds of authored pages?</span> Have you struggled to modify content already in the repository? Need a script to change existing production content? Sling Pipes to the rescue.</div>
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
Sling Pipes is a tool for doing extract – transform – load operations through a resource tree configuration. This tiny toolset provides the ability to do such transformations with proven and reusable blocks, called <em style="margin: 0px; padding: 0px;">pipes</em>, streaming resources from one to the other.</div>
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
A pipe is a JCR node with:</div>
<ul style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 12px; margin: 10px 0px 10px 40px; padding: 0px;">
<li style="margin: 0px; padding: 0px;">sling:resourceType property – Must be a pipe type registered by the plumber</li>
<li style="margin: 0px; padding: 0px;">name property – Used in bindings as an id</li>
<li style="margin: 0px; padding: 0px;">path property – Defines pipe’s input</li>
<li style="margin: 0px; padding: 0px;">expr property – Expression through which the pipe will execute</li>
<li style="margin: 0px; padding: 0px;">additionalBinding node – Node you can add to set “global” bindings (property=value) in pipe execution</li>
<li style="margin: 0px; padding: 0px;">additionalScripts – Multivalue property to declare scripts that can be reused in expressions</li>
<li style="margin: 0px; padding: 0px;">conf child node – Contains addition configuration of the pipe</li>
</ul>
<div>
<span style="font-family: "myriad" , "arial" , sans-serif;"><span style="font-size: 12px;"><br /></span></span></div>
<div>
<span style="font-family: "myriad" , "arial" , sans-serif;"><span style="font-size: 12px;"><b>Registered Pipes:</b></span></span></div>
<div>
<span style="font-family: "myriad" , "arial" , sans-serif;"><span style="font-size: 12px;"><b><br /></b></span></span></div>
<div>
<div class="MsoNormal">
<b>Container Pipes<o:p></o:p></b></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184; width: 593px;">
<tbody>
<tr style="height: 21.0pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td nowrap="" style="background: #9BC2E6; border: solid windowtext 1.0pt; height: 21.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.1pt;" valign="bottom" width="132"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Pipe<o:p></o:p></div>
</td>
<td style="background: #9BC2E6; border-left: none; border: solid windowtext 1.0pt; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 207.0pt;" valign="bottom" width="276"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Description<o:p></o:p></div>
</td>
<td nowrap="" style="background: #9BC2E6; border-left: none; border: solid windowtext 1.0pt; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 138.6pt;" valign="bottom" width="185"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
sling:resourceType<o:p></o:p></div>
</td>
</tr>
<tr style="height: 21.0pt; mso-yfti-irow: 1;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.1pt;" width="132"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Container Pipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 207.0pt;" valign="bottom" width="276"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">assemble a sequence of pipes<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 138.6pt;" valign="bottom" width="185"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/container<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 21.0pt; mso-yfti-irow: 2; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 99.1pt;" width="132"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
ReferencePipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 207.0pt;" valign="bottom" width="276"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">execute the pipe referenced in path property<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 21.0pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 138.6pt;" valign="bottom" width="185"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/reference<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Reader Pipes<o:p></o:p></b></div>
<div class="MsoNormal">
<o:p>
</o:p></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184; width: 578px;">
<tbody>
<tr style="height: 28.6pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td nowrap="" style="background: #9BC2E6; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" valign="bottom" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Pipe<o:p></o:p></div>
</td>
<td style="background: #9BC2E6; border-left: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Description<o:p></o:p></div>
</td>
<td nowrap="" style="background: #9BC2E6; border-left: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
sling:resourceType<o:p></o:p></div>
</td>
</tr>
<tr style="height: 28.6pt; mso-yfti-irow: 1;">
<td nowrap="" style="border-top: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" valign="bottom" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Base Pipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">outputs what is in input<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/base<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 28.6pt; mso-yfti-irow: 2;">
<td nowrap="" style="border-top: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" valign="bottom" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
SlingQuery Pipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">executes $(getInput()).children(expression)<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/slingQuery<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 28.6pt; mso-yfti-irow: 3;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
JsonPipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">feeds bindings with remote json<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/json<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 57.25pt; mso-yfti-irow: 4;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 57.25pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
MultiPropertyPipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 57.25pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">iterates through values of input multi value property and
write them to bindings<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 57.25pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/multiProperty<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 28.6pt; mso-yfti-irow: 5;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
XPathPipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">retrieve resources resulting of an xpath query<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/xpath<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 57.25pt; mso-yfti-irow: 6;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 57.25pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
AuthorizablePipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 57.25pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">retrieve authorizable resource corresponding to the id passed
in expression<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 57.25pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/authorizable<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 28.6pt; mso-yfti-irow: 7;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
ParentPipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">outputs the parent resource of input resource<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/parent<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 28.6pt; mso-yfti-irow: 8; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 100.15pt;" width="134"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
FilterPipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 198.15pt;" valign="bottom" width="264"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">outputs the input resource if its matches its configuration<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 28.6pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 135.0pt;" valign="bottom" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/filter<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
</div>
<div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
<b>Writer Pipes<o:p></o:p></b></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184; width: 583px;">
<tbody>
<tr style="height: 16.95pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td nowrap="" style="background: #9BC2E6; border: solid windowtext 1.0pt; height: 16.95pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 97.45pt;" valign="bottom" width="130"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Pipe<o:p></o:p></div>
</td>
<td style="background: #9BC2E6; border-left: none; border: solid windowtext 1.0pt; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 203.5pt;" valign="bottom" width="271"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Description<o:p></o:p></div>
</td>
<td nowrap="" style="background: #9BC2E6; border-left: none; border: solid windowtext 1.0pt; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 136.25pt;" valign="bottom" width="182"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
sling:resourceType<o:p></o:p></div>
</td>
</tr>
<tr style="height: 16.95pt; mso-yfti-irow: 1;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 97.45pt;" width="130"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Write Pipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 203.5pt;" valign="bottom" width="271"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">writes given nodes & properties to current input<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 136.25pt;" valign="bottom" width="182"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/write<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 33.9pt; mso-yfti-irow: 2;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 33.9pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 97.45pt;" width="130"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
MovePipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 33.9pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 203.5pt;" valign="bottom" width="271"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">JCR move of current input to target path (can be a node or a
property)<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 33.9pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 136.25pt;" valign="bottom" width="182"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/mv<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 16.95pt; mso-yfti-irow: 3;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 97.45pt;" width="130"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
RemovePipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 203.5pt;" valign="bottom" width="271"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">removes the input resource<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 136.25pt;" width="182"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-char-indent-count: 1.0; text-indent: 11.0pt;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/rm<o:p></o:p></span></div>
</td>
</tr>
<tr style="height: 16.95pt; mso-yfti-irow: 4; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 97.45pt;" width="130"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
PathPipe<o:p></o:p></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 203.5pt;" valign="bottom" width="271"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">get or create path given in expression<o:p></o:p></span></div>
</td>
<td nowrap="" style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 16.95pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 136.25pt;" valign="bottom" width="182"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="color: #3b3b3b; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-hansi-font-family: Calibri;">slingPipes/path<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
</div>
</div>
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
<br /></div>
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
Here is a demo video with more on how to use and execute sling pipes in AEM.</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzZaZUVLgl9W0X721tMfgceWSxJDjICvoPtCpYbhyQvXrhzLW5Hyr4XWWLl28Otua_n0JgZ708kBkUOD6LZyw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
<br /></div>
<div class="wp-video" style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 12px; height: auto; margin: 0px; max-width: 100%; padding: 0px; width: 1280px;">
<span class="mejs-offscreen" style="clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px); clip: rect(1px 1px 1px 1px); height: 1px; margin: 0px; overflow: hidden; padding: 0px; position: absolute !important; width: 1px;">Vid</span></div>
<div style="background-color: white; font-family: Myriad, Arial, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 15px; padding: 0px;">
More details can be found in the official documentation at <a href="https://sling.apache.org/documentation/bundles/sling-pipes.html" style="color: #44709a; margin: 0px; padding: 0px; text-decoration-line: none;">https://sling.apache.org/documentation/bundles/sling-pipes.html</a></div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-55890281075138807402017-05-29T08:30:00.000-07:002017-05-29T08:30:07.045-07:00Component Error Handling AEM<div dir="ltr" style="text-align: left;" trbidi="on">
There might be a use case when we would want to handle errors at the component level. We would not want a single component throwing errors breaking the entire page. To handle such a situation in AEM, we can write a filter that does not let the component render on the page when it has errors.<br />
<br />
Here is a sample example:<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #555555; font-weight: bold;">@Component</span><span style="color: #333333;">(</span>
label <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"Component Level Error Handler"</span><span style="color: #333333;">,</span>
description <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"Handles errors at the component level. Allows blank HTML renditions to display for erring in publish mode"</span><span style="color: #333333;">,</span>
metatype <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">true</span>
<span style="color: #333333;">)</span>
<span style="color: #555555; font-weight: bold;">@Service</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">class</span> <span style="color: #bb0066; font-weight: bold;">ComponentErrorHandlerImpl</span> <span style="color: #008800; font-weight: bold;">implements</span> Filter <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> Logger LOGGER <span style="color: #333333;">=</span> LoggerFactory<span style="color: #333333;">.</span><span style="color: #0000cc;">getLogger</span><span style="color: #333333;">(</span>ComponentErrorHandlerImpl<span style="color: #333333;">.</span><span style="color: #0000cc;">class</span><span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String BLANK_HTML <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">""</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> <span style="color: #333399; font-weight: bold;">boolean</span> DEFAULT_PUBLISH_ENABLED <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">true</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #333399; font-weight: bold;">boolean</span> publishModeEnabled <span style="color: #333333;">=</span> DEFAULT_PUBLISH_ENABLED<span style="color: #333333;">;</span>
<span style="color: #555555; font-weight: bold;">@Property</span><span style="color: #333333;">(</span>label <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"Publish Error Handling"</span><span style="color: #333333;">,</span>
description <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"Enable handling of Edit-mode errors (PREVIEW and READONLY)"</span><span style="color: #333333;">,</span>
boolValue <span style="color: #333333;">=</span> DEFAULT_PUBLISH_ENABLED<span style="color: #333333;">)</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String PROP_PUBLISH_ENABLED <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"publish.enabled"</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String REQ_ATTR_PREVIOUSLY_PROCESSED <span style="color: #333333;">=</span>
ComponentErrorHandlerImpl<span style="color: #333333;">.</span><span style="color: #0000cc;">class</span><span style="color: #333333;">.</span><span style="color: #0000cc;">getName</span><span style="color: #333333;">()</span> <span style="color: #333333;">+</span> <span style="background-color: #fff0f0;">"_previouslyProcessed"</span><span style="color: #333333;">;</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">init</span><span style="color: #333333;">(</span>FilterConfig filterConfig<span style="color: #333333;">)</span> <span style="color: #008800; font-weight: bold;">throws</span> ServletException <span style="color: #333333;">{</span>
<span style="color: #333333;">}</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">doFilter</span><span style="color: #333333;">(</span>ServletRequest servletRequest<span style="color: #333333;">,</span> ServletResponse servletResponse<span style="color: #333333;">,</span>
FilterChain chain<span style="color: #333333;">)</span> <span style="color: #008800; font-weight: bold;">throws</span> IOException<span style="color: #333333;">,</span> ServletException <span style="color: #333333;">{</span>
<span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletRequest request <span style="color: #333333;">=</span> <span style="color: #333333;">(</span>SlingHttpServletRequest<span style="color: #333333;">)</span> servletRequest<span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletResponse response <span style="color: #333333;">=</span> <span style="color: #333333;">(</span>SlingHttpServletResponse<span style="color: #333333;">)</span> servletResponse<span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(!</span><span style="color: #008800; font-weight: bold;">this</span><span style="color: #333333;">.</span><span style="color: #0000cc;">accepts</span><span style="color: #333333;">(</span>request<span style="color: #333333;">,</span> response<span style="color: #333333;">))</span> <span style="color: #333333;">{</span>
chain<span style="color: #333333;">.</span><span style="color: #0000cc;">doFilter</span><span style="color: #333333;">(</span>request<span style="color: #333333;">,</span> response<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">return</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletRequest slingRequest <span style="color: #333333;">=</span> <span style="color: #333333;">(</span>SlingHttpServletRequest<span style="color: #333333;">)</span> request<span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletResponse slingResponse <span style="color: #333333;">=</span> <span style="color: #333333;">(</span>SlingHttpServletResponse<span style="color: #333333;">)</span> response<span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>publishModeEnabled
<span style="color: #333333;">&&</span> WCMMode<span style="color: #333333;">.</span><span style="color: #0000cc;">DISABLED</span><span style="color: #333333;">.</span><span style="color: #0000cc;">equals</span><span style="color: #333333;">(</span>WCMMode<span style="color: #333333;">.</span><span style="color: #0000cc;">fromRequest</span><span style="color: #333333;">(</span>slingRequest<span style="color: #333333;">))</span>
<span style="color: #333333;">&&</span> <span style="color: #333333;">!</span><span style="color: #008800; font-weight: bold;">this</span><span style="color: #333333;">.</span><span style="color: #0000cc;">isFirstInChain</span><span style="color: #333333;">(</span>slingRequest<span style="color: #333333;">))</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// Publish Modes; Requires special handling in Published Modes - do not process first filter chain</span>
<span style="color: #008800; font-weight: bold;">this</span><span style="color: #333333;">.</span><span style="color: #0000cc;">doFilterWithErrorHandling</span><span style="color: #333333;">(</span>slingRequest<span style="color: #333333;">,</span> slingResponse<span style="color: #333333;">,</span> chain<span style="color: #333333;">,</span> BLANK_HTML<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span> <span style="color: #008800; font-weight: bold;">else</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// Normal Behavior</span>
chain<span style="color: #333333;">.</span><span style="color: #0000cc;">doFilter</span><span style="color: #333333;">(</span>request<span style="color: #333333;">,</span> response<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #333399; font-weight: bold;">boolean</span> <span style="color: #0066bb; font-weight: bold;">isFirstInChain</span><span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletRequest request<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>request<span style="color: #333333;">.</span><span style="color: #0000cc;">getAttribute</span><span style="color: #333333;">(</span>REQ_ATTR_PREVIOUSLY_PROCESSED<span style="color: #333333;">)</span> <span style="color: #333333;">!=</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span> <span style="color: #008800; font-weight: bold;">else</span> <span style="color: #333333;">{</span>
request<span style="color: #333333;">.</span><span style="color: #0000cc;">setAttribute</span><span style="color: #333333;">(</span>REQ_ATTR_PREVIOUSLY_PROCESSED<span style="color: #333333;">,</span> <span style="color: #008800; font-weight: bold;">true</span><span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">true</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">doFilterWithErrorHandling</span><span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletRequest slingRequest<span style="color: #333333;">,</span>
<span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletResponse slingResponse<span style="color: #333333;">,</span>
<span style="color: #008800; font-weight: bold;">final</span> FilterChain chain<span style="color: #333333;">,</span>
<span style="color: #008800; font-weight: bold;">final</span> String pathToHTML<span style="color: #333333;">)</span> <span style="color: #008800; font-weight: bold;">throws</span> ServletException<span style="color: #333333;">,</span> IOException <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">try</span> <span style="color: #333333;">{</span>
chain<span style="color: #333333;">.</span><span style="color: #0000cc;">doFilter</span><span style="color: #333333;">(</span>slingRequest<span style="color: #333333;">,</span> slingResponse<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span> <span style="color: #008800; font-weight: bold;">catch</span> <span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> Exception ex<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// Handle error using the Component Error Handler HTML</span>
<span style="color: #008800; font-weight: bold;">this</span><span style="color: #333333;">.</span><span style="color: #0000cc;">handleError</span><span style="color: #333333;">(</span>slingResponse<span style="color: #333333;">,</span> slingRequest<span style="color: #333333;">.</span><span style="color: #0000cc;">getResource</span><span style="color: #333333;">(),</span> pathToHTML<span style="color: #333333;">,</span> ex<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">handleError</span><span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletResponse slingResponse<span style="color: #333333;">,</span> <span style="color: #008800; font-weight: bold;">final</span> Resource resource<span style="color: #333333;">,</span>
<span style="color: #008800; font-weight: bold;">final</span> String pathToHTML<span style="color: #333333;">,</span> <span style="color: #008800; font-weight: bold;">final</span> Throwable ex<span style="color: #333333;">)</span> <span style="color: #008800; font-weight: bold;">throws</span> IOException <span style="color: #333333;">{</span>
<span style="color: #888888;">// Log the error to the log files, so the exception is not lost</span>
LOGGER<span style="color: #333333;">.</span><span style="color: #0000cc;">error</span><span style="color: #333333;">(</span>ex<span style="color: #333333;">.</span><span style="color: #0000cc;">getMessage</span><span style="color: #333333;">(),</span> ex<span style="color: #333333;">);</span>
<span style="color: #888888;">// Write the html out to the response</span>
<span style="color: #008800; font-weight: bold;">this</span><span style="color: #333333;">.</span><span style="color: #0000cc;">writeErrorHTML</span><span style="color: #333333;">(</span>slingResponse<span style="color: #333333;">,</span> resource<span style="color: #333333;">,</span> pathToHTML<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">writeErrorHTML</span><span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletResponse slingResponse<span style="color: #333333;">,</span> <span style="color: #008800; font-weight: bold;">final</span> Resource resource<span style="color: #333333;">,</span>
<span style="color: #008800; font-weight: bold;">final</span> String pathToHTML<span style="color: #333333;">)</span> <span style="color: #008800; font-weight: bold;">throws</span> IOException <span style="color: #333333;">{</span>
LOGGER<span style="color: #333333;">.</span><span style="color: #0000cc;">info</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"Component-Level Error Handling trapped error for: {}"</span><span style="color: #333333;">,</span>
resource<span style="color: #333333;">.</span><span style="color: #0000cc;">getPath</span><span style="color: #333333;">());</span>
<span style="color: #888888;">//print blank HTML</span>
slingResponse<span style="color: #333333;">.</span><span style="color: #0000cc;">getWriter</span><span style="color: #333333;">().</span><span style="color: #0000cc;">print</span><span style="color: #333333;">(</span>pathToHTML<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">protected</span> <span style="color: #008800; font-weight: bold;">final</span> <span style="color: #333399; font-weight: bold;">boolean</span> <span style="color: #0066bb; font-weight: bold;">accepts</span><span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletRequest request<span style="color: #333333;">,</span> <span style="color: #008800; font-weight: bold;">final</span> SlingHttpServletResponse response<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">try</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(!(</span>request<span style="color: #333333;">.</span><span style="color: #0000cc;">getRequestURI</span><span style="color: #333333;">().</span><span style="color: #0000cc;">endsWith</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">".html"</span><span style="color: #333333;">))</span> <span style="color: #333333;">||</span>
<span style="color: #333333;">!(</span>response<span style="color: #333333;">.</span><span style="color: #0000cc;">getContentType</span><span style="color: #333333;">().</span><span style="color: #0000cc;">contains</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"html"</span><span style="color: #333333;">)))</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// Do not inject around non-HTML requests</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span> <span style="color: #008800; font-weight: bold;">catch</span> <span style="color: #333333;">(</span>NullPointerException e<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">final</span> ComponentContext componentContext <span style="color: #333333;">=</span> WCMUtils<span style="color: #333333;">.</span><span style="color: #0000cc;">getComponentContext</span><span style="color: #333333;">(</span>request<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>componentContext <span style="color: #333333;">==</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// ComponentContext is null</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span> <span style="color: #008800; font-weight: bold;">else</span> <span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>componentContext<span style="color: #333333;">.</span><span style="color: #0000cc;">getComponent</span><span style="color: #333333;">()</span> <span style="color: #333333;">==</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// Component is null</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span> <span style="color: #008800; font-weight: bold;">else</span> <span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>componentContext<span style="color: #333333;">.</span><span style="color: #0000cc;">isRoot</span><span style="color: #333333;">())</span> <span style="color: #333333;">{</span>
<span style="color: #888888;">// Suppress on root context</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">false</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">return</span> <span style="color: #008800; font-weight: bold;">true</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">destroy</span><span style="color: #333333;">()</span> <span style="color: #333333;">{</span>
<span style="color: #333333;">}</span>
<span style="color: #555555; font-weight: bold;">@Activate</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">final</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">activate</span><span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> Map<span style="color: #333333;"><</span>String<span style="color: #333333;">,</span> String<span style="color: #333333;">></span> config<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">final</span> String legacyPrefix <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"prop."</span><span style="color: #333333;">;</span>
publishModeEnabled <span style="color: #333333;">=</span> PropertiesUtil<span style="color: #333333;">.</span><span style="color: #0000cc;">toBoolean</span><span style="color: #333333;">(</span>config<span style="color: #333333;">.</span><span style="color: #0000cc;">get</span><span style="color: #333333;">(</span>PROP_PUBLISH_ENABLED<span style="color: #333333;">),</span>
PropertiesUtil<span style="color: #333333;">.</span><span style="color: #0000cc;">toBoolean</span><span style="color: #333333;">(</span>config<span style="color: #333333;">.</span><span style="color: #0000cc;">get</span><span style="color: #333333;">(</span>legacyPrefix <span style="color: #333333;">+</span> PROP_PUBLISH_ENABLED<span style="color: #333333;">),</span>
DEFAULT_PUBLISH_ENABLED<span style="color: #333333;">));</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
</pre>
</div>
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"></pre>
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"></pre>
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"><div style="font-family: "Times New Roman"; font-size: medium; white-space: normal;">
Hope this helps!</div>
</pre>
<br /></div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-35920085052458253832017-05-24T21:18:00.000-07:002017-05-24T21:22:49.990-07:00AEM Search Suggestions<div dir="ltr" style="text-align: left;" trbidi="on">
AEM provides out of the box Suggester API to populate suggestions for a particular keyword. <span style="background-color: white; font-family: "courier new"; font-size: 9pt;">com.day.cq.search.suggest.</span><span style="background-color: #e4e4ff; font-family: "courier new"; font-size: 9pt;">Suggester</span> API provides methods to fetch suggestions and it provides a spell check feature as well.<br />
<br />
An example would be:<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">com.day.cq.search.suggest.Suggester</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">com.soh.services.SearchSuggestion</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.apache.felix.scr.annotations.Component</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.apache.felix.scr.annotations.Reference</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.apache.felix.scr.annotations.Service</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.apache.sling.api.resource.ResourceResolver</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.apache.sling.commons.json.JSONArray</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.slf4j.Logger</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">org.slf4j.LoggerFactory</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">import</span> <span style="color: #0e84b5; font-weight: bold;">javax.jcr.Session</span><span style="color: #333333;">;</span>
<span style="color: #888888;">/**</span>
<span style="color: #888888;"> * SOH Search Suggester</span>
<span style="color: #888888;"> */</span>
<span style="color: #555555; font-weight: bold;">@Component</span>
<span style="color: #555555; font-weight: bold;">@Service</span><span style="color: #333333;">(</span>SearchSuggestion<span style="color: #333333;">.</span><span style="color: #0000cc;">class</span><span style="color: #333333;">)</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">class</span> <span style="color: #bb0066; font-weight: bold;">SearchSuggestionImpl</span> <span style="color: #008800; font-weight: bold;">implements</span> SearchSuggestion <span style="color: #333333;">{</span>
<span style="color: #888888;">/**</span>
<span style="color: #888888;"> * The Suggester Index</span>
<span style="color: #888888;"> */</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String INDEX <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"oak-cq:Page"</span><span style="color: #333333;">;</span>
<span style="color: #888888;">/**</span>
<span style="color: #888888;"> * CQ Suggester Reference</span>
<span style="color: #888888;"> */</span>
<span style="color: #555555; font-weight: bold;">@Reference</span>
<span style="color: #008800; font-weight: bold;">private</span> Suggester suggester<span style="color: #333333;">;</span>
<span style="color: #888888;">/**</span>
<span style="color: #888888;"> * </span>
<span style="color: #888888;"> * @param keyword</span>
<span style="color: #888888;"> * to search for</span>
<span style="color: #888888;"> * @return JSONArray containing search suggestions</span>
<span style="color: #888888;"> */</span>
<span style="color: #555555; font-weight: bold;">@Override</span>
<span style="color: #008800; font-weight: bold;">public</span> JSONArray <span style="color: #0066bb; font-weight: bold;">getSuggestions</span><span style="color: #333333;">(</span>String keyword<span style="color: #333333;">,</span> <span style="color: #333399; font-weight: bold;">int</span> noOfItems<span style="color: #333333;">,</span> ResourceResolver resourceResolver<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">final</span> <span style="color: #333399; font-weight: bold;">boolean</span> spellCheck <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">true</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">final</span> JSONArray suggestions <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> JSONArray<span style="color: #333333;">();</span>
<span style="color: #008800; font-weight: bold;">final</span> Session session <span style="color: #333333;">=</span> resourceResolver<span style="color: #333333;">.</span><span style="color: #0000cc;">adaptTo</span><span style="color: #333333;">(</span>Session<span style="color: #333333;">.</span><span style="color: #0000cc;">class</span><span style="color: #333333;">);</span>
<span style="color: #333399; font-weight: bold;">int</span> counter <span style="color: #333333;">=</span> <span style="color: #0000dd; font-weight: bold;">0</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">for</span> <span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> String suggestion <span style="color: #333333;">:</span> suggester<span style="color: #333333;">.</span><span style="color: #0000cc;">getSuggestions</span><span style="color: #333333;">(</span>session<span style="color: #333333;">,</span> INDEX<span style="color: #333333;">,</span> keyword<span style="color: #333333;">,</span> spellCheck<span style="color: #333333;">))</span> <span style="color: #333333;">{</span>
counter<span style="color: #333333;">++;</span>
suggestions<span style="color: #333333;">.</span><span style="color: #0000cc;">put</span><span style="color: #333333;">(</span>suggestion<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>counter <span style="color: #333333;">==</span> noOfItems<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">break</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>suggestions<span style="color: #333333;">.</span><span style="color: #0000cc;">length</span><span style="color: #333333;">()</span> <span style="color: #333333;"><</span> <span style="color: #0000dd; font-weight: bold;">1</span><span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">final</span> String spellSuggestion <span style="color: #333333;">=</span> suggester<span style="color: #333333;">.</span><span style="color: #0000cc;">spellCheck</span><span style="color: #333333;">(</span>session<span style="color: #333333;">,</span> keyword<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">for</span> <span style="color: #333333;">(</span><span style="color: #008800; font-weight: bold;">final</span> String suggestion <span style="color: #333333;">:</span> suggester<span style="color: #333333;">.</span><span style="color: #0000cc;">getSuggestions</span><span style="color: #333333;">(</span>session<span style="color: #333333;">,</span> INDEX<span style="color: #333333;">,</span> spellSuggestion<span style="color: #333333;">,</span> spellCheck<span style="color: #333333;">))</span> <span style="color: #333333;">{</span>
counter<span style="color: #333333;">++;</span>
suggestions<span style="color: #333333;">.</span><span style="color: #0000cc;">put</span><span style="color: #333333;">(</span>suggestion<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">if</span> <span style="color: #333333;">(</span>counter <span style="color: #333333;">==</span> noOfItems<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">break</span><span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">return</span> suggestions<span style="color: #333333;">;</span>
<span style="color: #333333;">}</span>
<span style="color: #333333;">}</span>
</pre>
</div>
<br />
Further, we can configure our index to specify which JCR properties do we want to include while populating suggestions. <span style="background-color: #e4e4ff; color: blue; font-family: "courier new"; font-size: 9pt; font-weight: bold;">useInSuggest</span><span style="background-color: #efefef; color: green; font-family: "courier new"; font-size: 9pt; font-weight: bold;">="{Boolean}true" </span>is the property that we have to specify. Here is a sample index which includes jcr:title property in the suggestions:<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #557799;"><?xml version="1.0" encoding="UTF-8"?></span>
<span style="color: #007700;"><jcr:root</span> <span style="color: #0000cc;">xmlns:oak=</span><span style="background-color: #fff0f0;">"http://jackrabbit.apache.org/oak/ns/1.0"</span> <span style="color: #0000cc;">xmlns:cq=</span><span style="background-color: #fff0f0;">"http://www.day.com/jcr/cq/1.0"</span> <span style="color: #0000cc;">xmlns:jcr=</span><span style="background-color: #fff0f0;">"http://www.jcp.org/jcr/1.0"</span> <span style="color: #0000cc;">xmlns:nt=</span><span style="background-color: #fff0f0;">"http://www.jcp.org/jcr/nt/1.0"</span> <span style="color: #0000cc;">xmlns:rep=</span><span style="background-color: #fff0f0;">"internal"</span>
<span style="color: #0000cc;">jcr:mixinTypes=</span><span style="background-color: #fff0f0;">"[rep:AccessControllable]"</span>
<span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><customLuceneIndex</span>
<span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"oak:QueryIndexDefinition"</span>
<span style="color: #0000cc;">async=</span><span style="background-color: #fff0f0;">"async"</span>
<span style="color: #0000cc;">evaluatePathRestrictions=</span><span style="background-color: #fff0f0;">"{Boolean}true"</span>
<span style="color: #0000cc;">includedPaths=</span><span style="background-color: #fff0f0;">"[/content/myproject]"</span>
<span style="color: #0000cc;">reindex=</span><span style="background-color: #fff0f0;">"{Boolean}false"</span>
<span style="color: #0000cc;">type=</span><span style="background-color: #fff0f0;">"lucene"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><analyzers</span> <span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><default</span>
<span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span>
<span style="color: #0000cc;">class=</span><span style="background-color: #fff0f0;">"org.apache.lucene.analysis.standard.StandardAnalyzer"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><stopwords/></span>
<span style="color: #007700;"></default></span>
<span style="color: #007700;"></analyzers></span>
<span style="color: #007700;"><indexRules</span> <span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><cq:Page</span> <span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><properties</span> <span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span><span style="color: #007700;">></span>
<span style="color: #007700;"><jcrTitle</span>
<span style="color: #0000cc;">jcr:primaryType=</span><span style="background-color: #fff0f0;">"nt:unstructured"</span>
<span style="color: #0000cc;">name=</span><span style="background-color: #fff0f0;">"jcr:content/jcr:title"</span>
<span style="color: #0000cc;">nodeScopeIndex=</span><span style="background-color: #fff0f0;">"{Boolean}true"</span>
<span style="color: #0000cc;">ordered=</span><span style="background-color: #fff0f0;">"{Boolean}false"</span>
<span style="color: #0000cc;">propertyIndex=</span><span style="background-color: #fff0f0;">"{Boolean}true"</span>
<span style="color: #0000cc;">type=</span><span style="background-color: #fff0f0;">"String"</span>
<span style="color: #0000cc;">useInSuggest=</span><span style="background-color: #fff0f0;">"{Boolean}true"</span><span style="color: #007700;">/></span>
<span style="color: #007700;"></properties></span>
<span style="color: #007700;"></cq:Page></span>
<span style="color: #007700;"></indexRules></span>
<span style="color: #007700;"></customLuceneIndex></span>
<span style="color: #007700;"></jcr:root></span>
</pre>
</div>
<br />
<br />
<pre></pre>
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"><span style="background-color: transparent;">Hope this helps!</span></pre>
<pre style="background-color: white; font-family: "Courier New"; font-size: 9pt;"><span style="background-color: transparent;">
</span></pre>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-51703530988444719122017-05-22T03:39:00.000-07:002017-05-22T03:40:16.217-07:00Too Many Calls Excpetion - AEM 6.2<div dir="ltr" style="text-align: left;" trbidi="on">
If we have a number of components in our AEM 6.2 Author instance and we are also running samplecontent on our AEM, then we might encounter this error:<br />
<br />
<b><i>org.apache.sling.api.request.TooManyCallsException</i></b><br />
<b><i><br /></i></b>
This happens to occur when the number of components are typically more than 1000.<br />
<br />
An ideal solution would be to restrict the number of components we use in an AEM instance and deleting the geometrixx content. However, there might come a use case where we are bound to deal with it.<br />
<br />
Here are the configuration details which are needed to be taken care of:<br />
<br />
1. Go to the Felix Configuration Managerh: http://localhost:4502/system/console/configMgr<br />
2. Search for 'Apache Sling Main Servlet'<br />
3. Edit the '<b>Number of calls per Request</b>' - It should be high enough not to limit request processing and at the same time not too high not to break the mechanism to limit the resources in case of errors.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqohrtqRrRtJMXazkVk2NMx-qsYCnu9fswX7Tk2J-tFTN5_uAm5E4zzu7yN8a2ReHJ54_Kr4aYprHDu3tWsxH258BWn6skCXymOCxISRQbJ3JaxjtLD4uSlNPlIbOziihK5CYCjBw3GDk/s1600/ApacheSlingMainServlet.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqohrtqRrRtJMXazkVk2NMx-qsYCnu9fswX7Tk2J-tFTN5_uAm5E4zzu7yN8a2ReHJ54_Kr4aYprHDu3tWsxH258BWn6skCXymOCxISRQbJ3JaxjtLD4uSlNPlIbOziihK5CYCjBw3GDk/s400/ApacheSlingMainServlet.JPG" width="400" /></a></div>
<br /></div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-69111328562834621482016-10-04T09:24:00.003-07:002016-10-04T09:24:54.919-07:00adaptTo() 2016 - Day 3<div dir="ltr" style="text-align: left;" trbidi="on">
The third and final day at adaptTo() 2016. Finally the grand finale!<br />
<br />
Session Details:<br />
<ul style="text-align: left;">
<li><b>Managing Cloud Performance and Large Data sets</b> by Mike Tilburg and Tom Blackford</li>
<li><b>OSGi R7</b> by Carsten Ziegeler and David Bosschaert</li>
<li><b>Test-driven development with AEM</b> by Jan Wloka</li>
<li><b>Introduction to Sling Pipes</b> by Nicolas Peltier</li>
<li><b>AC tool</b> by Jochen Koschorke and Roland Gruber</li>
<li><b>APM - AEM Permission Management</b> by Mateusz Chromiński</li>
<li><b>Using Thymeleaf for rendering HTML and Text in AEM 6.x</b> by Oliver Lietz</li>
<li><b>Hey Sling, what are you doing? Sling Tracer to the rescue</b> by Chetan Mehrotra</li>
<li><b>Apache Sling and Karaf for Web Sites and Applications</b> by Oliver Lietz</li>
</ul>
<div>
Loved being a part of adaptTo() 2016!</div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-23907773262967965112016-09-28T01:52:00.003-07:002016-09-28T01:53:44.290-07:00adaptTo() 2016 Day 2<div dir="ltr" style="text-align: left;" trbidi="on">
Another knowledgeable day at adaptTo() 2016 Berlin. The sessions started a bit early to accommodate all the speaker slots.<br />
<br />
Sessions for Day 2:<br />
<ul style="text-align: left;">
<li><b>How AEM Communities leverages and extends the power of Sling</b> by Siddharth Palaniswami</li>
<li><b>Let’s run the whole Web on Apache Sling and Oak!</b> by Bertrand Delacretaz and Chetan Mehrotra</li>
<li><b>Sling Http Testing Framework</b> by Valentin Olteanu and Andrei Dulvac</li>
<li><b>Unit Testing with Sling & AEM Mocks</b> by Stefan Seifert</li>
<li><b>Sling Context-Aware Configuration</b> by Stefan Seifert</li>
<li><b>react components in AEM</b> by Stefan Meyer</li>
<li><b>0 to O(ak) in 30</b> by Davide Giannella</li>
<li><b>Playground Session</b> featuring:</li>
</ul>
<ol style="text-align: left;"><ol>
<li>Sling Core with Carsten Ziegeler & Stefan Seifert about Sling and OSGi in general </li>
<li>Sling Scripting with Rado Cotescu & Oliver Lietz about Sightly, Thymeleaf </li>
<li>DevOps with Bertrand Delacretaz & David Bosschaert & Georg Henzler about Sling/AEM Deployment and Automation </li>
<li>Tooling with Robert Munteanu & Oliver Lietz about Sling IDE, Karaf, Tools </li>
<li>Testing with Andrei Dulvac & Stefan Seifert about Integration Tests, Unit Tests, Sling Mocks</li>
<li>JCR/Oak with Michael Dürig & Chetan Mehrotra about JCR and Oak</li>
</ol>
</ol>
<div>
The playground session was indeed an amazing opportunity to get in touch with some of the great minds working on Sling, Oak, DevOps and JCR.</div>
<div>
<br /></div>
<div>
The event wrapped up with an awesome evening buffet and a round table conference for Sling developers.</div>
<div>
<br /></div>
<div>
What an eventful day indeed!</div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-54789485029238527312016-09-27T03:06:00.002-07:002016-10-04T09:30:15.019-07:00adaptTo() 2016 Day 1<div dir="ltr" style="text-align: left;" trbidi="on">
2016 is the sixth edition of adaptTo() and this year's event is hosted at the Kulturbrauerei, Berlin, Germany.<br />
<div>
The event primarily focuses on Apache Sling Framework, including Apache Jackrabbit and Apache Felix. Adobe Experience Manager Developers also benefit to a very high extent form this 3-day event since it covers details on how AEM is leveraging its underlying architecture.</div>
<div>
<br /></div>
<div>
Day 1 started with a lot of excitement. Developers and Attendees from different parts of the world gathered at the venue for this interactive community event.</div>
<div>
<br /></div>
<div>
Speakers got a red T-shirt and Attendees got a blue one!</div>
<div>
<br /></div>
<div>
Started with Opening notes from Carsten Ziegeler and Stefan Seifert followed by</div>
<div>
<ul style="text-align: left;">
<li><b>Microservices and IoT with AEM</b> by Carsten Zeigeler and David Bosschaert</li>
<li><b>Get The Flow</b> by Conrad Wöltge and Dominik Süß</li>
<li><b>5000+ unattended AEM installations</b> <b>in the last four years - is it DevOps?</b> by Georg Henzler</li>
<li><b>Running AEM in Docker</b> by Andrei Darashenka</li>
<li><b>HTL/Sightly Compilers and Tooling</b> by Radu Cotescu</li>
<li><b>Sling IDE Tooling</b> by Robert Munteanu</li>
<li><b>Integrating Apache Mahout with AEM</b> by <a href="https://in.linkedin.com/in/rimamittal">Rima Mittal</a> and <a href="https://www.linkedin.com/in/ankitgubrani">Ankit Gubrani</a> - It was great to share our POC on the topic which can help various AEM clients with user based recommendations. Clone the code at <a href="https://github.com/rimamittal/AEMMahout/">Github</a>.</li>
<li><b>Into the tar pit: a TarMK deep dive</b> by Michael Dürig</li>
<li><b>Remote Resources</b> by Vlad Bailescu</li>
</ul>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2mMu4bfWT4_rTZxIjW6jVXaI8eUR-ljHafemj_bnxqsCo5-UuWL37JJR_K_fkxBNuau0WIDGQOdV-DqDCWEyzsh4Gd8DqwuBbUYKT_oPPhWUxEFCs4v-91ChNH3LCsttiZOO6oLGlvl8/s1600/MG7A5812.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2mMu4bfWT4_rTZxIjW6jVXaI8eUR-ljHafemj_bnxqsCo5-UuWL37JJR_K_fkxBNuau0WIDGQOdV-DqDCWEyzsh4Gd8DqwuBbUYKT_oPPhWUxEFCs4v-91ChNH3LCsttiZOO6oLGlvl8/s320/MG7A5812.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4ZqXXzzbHMX9bVjpf3vhLQnTwFHm_W0ebqEBgZdbMZHrM08aEE_9hDwLDQY8oyNZszTL4QAcr7ulz2hMquY8ldH1ITPERHRuhfDNA8QLCgSEEGKEievgldFoGJ-Sne-h5ELZEM51D7oU/s1600/160927_Adapt_to_3691.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4ZqXXzzbHMX9bVjpf3vhLQnTwFHm_W0ebqEBgZdbMZHrM08aEE_9hDwLDQY8oyNZszTL4QAcr7ulz2hMquY8ldH1ITPERHRuhfDNA8QLCgSEEGKEievgldFoGJ-Sne-h5ELZEM51D7oU/s320/160927_Adapt_to_3691.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXNLs0ZJ_x7UAY6VH_e6DSbsX5qRgJ1dBDyD4uEi9XCoeU1Gq2w1demzSOs6xeeLioTFle6_ub5_qR0kyEC84UK8pp11L2C36Z_HdG2Jn5eFfLtelpIiOeyMWpIwTR1X9xcGlL3rwp9mY/s1600/IMG_1623.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXNLs0ZJ_x7UAY6VH_e6DSbsX5qRgJ1dBDyD4uEi9XCoeU1Gq2w1demzSOs6xeeLioTFle6_ub5_qR0kyEC84UK8pp11L2C36Z_HdG2Jn5eFfLtelpIiOeyMWpIwTR1X9xcGlL3rwp9mY/s320/IMG_1623.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKTTDZBPkjVQ7jwqB75OiArQ1LFIN5hGfJsjPvt9-w2v_wD4qOj0zvoEEqSmbMuuYpbjgeo4KWHjrw6V-z8nafY93xauEksT1rjAeNalcU9S-G_vd3qQfkiGiBYhAOQ_m-75bOXkmYumQ/s1600/IMG_1626.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKTTDZBPkjVQ7jwqB75OiArQ1LFIN5hGfJsjPvt9-w2v_wD4qOj0zvoEEqSmbMuuYpbjgeo4KWHjrw6V-z8nafY93xauEksT1rjAeNalcU9S-G_vd3qQfkiGiBYhAOQ_m-75bOXkmYumQ/s320/IMG_1626.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPz7Tw6ebNPbuRF-z3jFf7RwQOp9shxkEgwPMWlu7-eqArX_zgXrYnQ3QI0dlr84Diae7KhPAsQkJaIb-0_k1S1unZP7zrbPAZVKNknoC-Z3ROzWFGB2FNIf45Px44_NNL8u1bojjfWBs/s1600/IMG_1627.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPz7Tw6ebNPbuRF-z3jFf7RwQOp9shxkEgwPMWlu7-eqArX_zgXrYnQ3QI0dlr84Diae7KhPAsQkJaIb-0_k1S1unZP7zrbPAZVKNknoC-Z3ROzWFGB2FNIf45Px44_NNL8u1bojjfWBs/s320/IMG_1627.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiimm2bqDsseJWKZ9X-6Zkyybk8yxjYLV0L4wMIz25MKiPhlgJy5duA3LSDQ54qltwo0JsbrpcPxlYWLYM61Dqtko-eVQDXDDHC7qKXzQmFyiMqdAl7vkIeVkXzhOTm8tk6dA4BNMy1AYg/s1600/IMG_1630.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiimm2bqDsseJWKZ9X-6Zkyybk8yxjYLV0L4wMIz25MKiPhlgJy5duA3LSDQ54qltwo0JsbrpcPxlYWLYM61Dqtko-eVQDXDDHC7qKXzQmFyiMqdAl7vkIeVkXzhOTm8tk6dA4BNMy1AYg/s320/IMG_1630.JPG" width="240" /></a></div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyFGjkOB1Nuc7NFJY59bCmj_shRpbyq0mHjaGQS6VSghuxfcC4I4CF0zKUhPrVnSjpsQMJ8p_LxK4xglVaSQbiRCKB4yG3-0mSBuzKAoPa1NRRpX46JYJxh6TIB9R4MTlC-Mg7rFtHdrM/s1600/IMG_1604.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyFGjkOB1Nuc7NFJY59bCmj_shRpbyq0mHjaGQS6VSghuxfcC4I4CF0zKUhPrVnSjpsQMJ8p_LxK4xglVaSQbiRCKB4yG3-0mSBuzKAoPa1NRRpX46JYJxh6TIB9R4MTlC-Mg7rFtHdrM/s320/IMG_1604.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTcpOzNZYZmB9M9f8w0FjJw-cwJM3Wj0X0QKR_qqAC35Y0zzVTpPxT3SUlwQewk3cp8EKGF5bVCsVOoK9DKRPEgoX-7BcpTcs3J1jxUEoeNmPC60sspqvBd7y7uwTeQQVtdR_IcMkTypQ/s1600/IMG_1647.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTcpOzNZYZmB9M9f8w0FjJw-cwJM3Wj0X0QKR_qqAC35Y0zzVTpPxT3SUlwQewk3cp8EKGF5bVCsVOoK9DKRPEgoX-7BcpTcs3J1jxUEoeNmPC60sspqvBd7y7uwTeQQVtdR_IcMkTypQ/s320/IMG_1647.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9GJYU0gkfhQXYR-HmO4Z4Z4Ohn2TBig_qHTlbGJf5oD8FxWMDtrPc3qkPGORSbfQLLWQvFv4tqXdiwDwTA5FaEMdtfFGmBC-Zyg76u_hz4-tnmLp5YPKsddlwYvYA42mcmzuzEth6Y1g/s1600/IMG_5632.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9GJYU0gkfhQXYR-HmO4Z4Z4Ohn2TBig_qHTlbGJf5oD8FxWMDtrPc3qkPGORSbfQLLWQvFv4tqXdiwDwTA5FaEMdtfFGmBC-Zyg76u_hz4-tnmLp5YPKsddlwYvYA42mcmzuzEth6Y1g/s320/IMG_5632.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<br /></div>
<div>
and this is how a knowledge filled Day 1 came to an end!</div>
<div>
<br /></div>
<div>
Looking forward to Day 2 at adaptTo() 2016!</div>
</div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-55592843804494777612015-07-17T01:56:00.005-07:002015-07-17T02:09:35.290-07:00Connecting AEM 6 with Microsoft SQL Server<div dir="ltr" style="text-align: left;" trbidi="on">
Some old applications that you might want to migrate to AEM might still use SQL Server databases. Here are the steps to access an external SQL server from AEM 6:<br />
<br />
<h3 style="text-align: left;">
Building the OSGI bundle for the JDBC driver:</h3>
<div style="text-align: left;">
1. Download the appropriate driver from <a href="http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774">here </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg13LcZCe-xewTnXAgvu_dVhpYyAqbzua3swVqZQJVYMsqKnh0ZGjCE8XrUpoPZXFaGw6IPCcL3KPFOf2RgjvGbQHFlvn3Zk5RmnGbp0vYq5VI12pXkQnwoNqJi1M75_J4UoOIbaD_xZXY/s1600/plugin_from_jar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg13LcZCe-xewTnXAgvu_dVhpYyAqbzua3swVqZQJVYMsqKnh0ZGjCE8XrUpoPZXFaGw6IPCcL3KPFOf2RgjvGbQHFlvn3Zk5RmnGbp0vYq5VI12pXkQnwoNqJi1M75_J4UoOIbaD_xZXY/s320/plugin_from_jar.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
2. Unzip the downloaded driver. </div>
<div style="text-align: left;">
3. Open eclipse indigo.</div>
<div style="text-align: left;">
4. Click on File-> New -> Other -> Plugin from existing JAR archive </div>
<div style="text-align: left;">
5. Click on Add External and enter the path of the downloaded jar</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWLlMT6-nNitKNd8LAxYNvXQZXeBylV3Xu1fYMPXANAHsBczrSAt4mVbP-dzzcw1dUG5Xp2kJc4EBtk8Ri9oVFHSqDBn5mse4IBrWIlkRoUeNtXBk1ZXtHYhz0_RZFz5UiAop1gc-Ph9w/s1600/add_external.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWLlMT6-nNitKNd8LAxYNvXQZXeBylV3Xu1fYMPXANAHsBczrSAt4mVbP-dzzcw1dUG5Xp2kJc4EBtk8Ri9oVFHSqDBn5mse4IBrWIlkRoUeNtXBk1ZXtHYhz0_RZFz5UiAop1gc-Ph9w/s320/add_external.jpg" width="271" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
6. Enter Plugin properties as shown here:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIpSeixOWWofvyDOqqggwaRGney4kz_i0SVMvnLKpw4QSWVSe2VNC4FnVUC1prYW8hWTnVO6fn_4Hr7CVL9mmA4fxFaxXDnWF3EzEp83tCchyNZkkSOS45_u-KPWjgX8F5K0QPsyFd7zc/s1600/bundle_details.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIpSeixOWWofvyDOqqggwaRGney4kz_i0SVMvnLKpw4QSWVSe2VNC4FnVUC1prYW8hWTnVO6fn_4Hr7CVL9mmA4fxFaxXDnWF3EzEp83tCchyNZkkSOS45_u-KPWjgX8F5K0QPsyFd7zc/s320/bundle_details.jpg" width="269" /></a></div>
7. Observe the MANIFEST.MF, it shall look like this:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWqjyS-lgqfpvXXH8pJjZSz8OjEveF4jnDRL0J2WYHHQ2GSs-C0myIx8yMeL3yVUW_TnQPqflmNVgobwBdKmvhWZOcDtx_0YOq-rngAqSqXHRinoucDGBHC3ezdLdeRVdwENiAISyNjas/s1600/manifest.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWqjyS-lgqfpvXXH8pJjZSz8OjEveF4jnDRL0J2WYHHQ2GSs-C0myIx8yMeL3yVUW_TnQPqflmNVgobwBdKmvhWZOcDtx_0YOq-rngAqSqXHRinoucDGBHC3ezdLdeRVdwENiAISyNjas/s320/manifest.jpg" width="320" /></a></div>
8. Save the project.<br />
9. Right click the project --> Export --> Plug-in Development --> <span style="-webkit-text-stroke-color: rgba(0, 0, 0, 0); -webkit-text-stroke-width: 1px; background-color: white; color: #383838; display: inline !important; float: none; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">Deployable plug-ins and fragments</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg9Xmq7kDoG24IkGaE02iG-NrQj94V6dLp5KwA0VBQQrlcaMfOEyArmTY6xcjojrmW_hTyoAb5BVUGLKdSfqS9PQn6RIL8ydF7DoGKoc8opQMdPpXXa_kcvNKZTVW8xjleYWXSdu4weo8/s1600/export.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg9Xmq7kDoG24IkGaE02iG-NrQj94V6dLp5KwA0VBQQrlcaMfOEyArmTY6xcjojrmW_hTyoAb5BVUGLKdSfqS9PQn6RIL8ydF7DoGKoc8opQMdPpXXa_kcvNKZTVW8xjleYWXSdu4weo8/s320/export.jpg" width="320" /></a></div>
10. Choose a directory location --> Save.<br />
11. The OSGI jar is available at the given-directory-location/plugins<br />
<br />
<h3 style="text-align: left;">
Uploading the OSGI jar in felix:</h3>
<div style="text-align: left;">
1. Go to http://localhost:4502/system/console/bundles</div>
<div style="text-align: left;">
2. Click on Install/Update</div>
<div style="text-align: left;">
3. Upload the jar:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh15uykAacmPt43iTMWYQQP9ZxgcZBqS1hIZYSuoFRy8vz-zCiZNEE4At0DCFhQr7KPsYWBHE-7wr7OcOS0JaCKj2eTSJpL2nvS4VVuh17u7tty6pEoAtEG3v6eRjBwlU8w7mHqYiY5yL0/s1600/upload_in_osgi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh15uykAacmPt43iTMWYQQP9ZxgcZBqS1hIZYSuoFRy8vz-zCiZNEE4At0DCFhQr7KPsYWBHE-7wr7OcOS0JaCKj2eTSJpL2nvS4VVuh17u7tty6pEoAtEG3v6eRjBwlU8w7mHqYiY5yL0/s320/upload_in_osgi.jpg" width="320" /></a></div>
4. The jar should come in Active state. Look for errors in the error log if it still shows "Installed":<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4dMVjcipHOHmRkWNH9ih04XvvjEFVnPkdsN7pLKrnUkWDazVygLFVQrdGvoJYJkojMsP0rUmg8924tGyF7PesMI1PwKnqihUAMa-P2UgoOirrHiMfo9dm7-IwSB7JdStefAxLsJv_iyg/s1600/start_bundle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="8" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4dMVjcipHOHmRkWNH9ih04XvvjEFVnPkdsN7pLKrnUkWDazVygLFVQrdGvoJYJkojMsP0rUmg8924tGyF7PesMI1PwKnqihUAMa-P2UgoOirrHiMfo9dm7-IwSB7JdStefAxLsJv_iyg/s320/start_bundle.jpg" width="320" /></a></div>
5. Error Log might show:<br />
org.osgi.framework.BundleException: Unresolved constraint in bundle com.myproject.jdbc [398]: Unable to resolve 398.0: missing requirement [398.0] osgi.wiring.package; (&(osgi.wiring.package=javax.xml.transform.stream)(version>=1.3.0))<br />
The bundle might also show unresolved dependencies:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGwKdQcSxtwNq9TnXdamjJAmb1r-w3rv1muovTNvBFav1L1jHPdjbaPbFCvOlnJ8NGwkJTtWelotBWWVkO0CjkRknwffAevEzsNgfcMaADLQMGOqmoeuy_6urS2eHr6UjyS8-6b8R6aP8/s1600/unresolved_dependencies.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGwKdQcSxtwNq9TnXdamjJAmb1r-w3rv1muovTNvBFav1L1jHPdjbaPbFCvOlnJ8NGwkJTtWelotBWWVkO0CjkRknwffAevEzsNgfcMaADLQMGOqmoeuy_6urS2eHr6UjyS8-6b8R6aP8/s320/unresolved_dependencies.jpg" width="320" /></a></div>
6. Edit the MANIFEST.MF to remove the versions for resolving dependencies:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwDRBWifyHPLcfM046U8mh9JVNAx3Ztx6gpUAmwLDuNPZz-MEveAo1_98mHGDCy_299_v6IXHeR16_dG0UG8MHYiwZfOZirlG0RHWi8pBt574GdDd4vDa3KVyDtj-uJfF48AzQHEOK1o/s1600/manifest_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwDRBWifyHPLcfM046U8mh9JVNAx3Ztx6gpUAmwLDuNPZz-MEveAo1_98mHGDCy_299_v6IXHeR16_dG0UG8MHYiwZfOZirlG0RHWi8pBt574GdDd4vDa3KVyDtj-uJfF48AzQHEOK1o/s320/manifest_2.jpg" width="320" /></a></div>
7. Re-install the bundle and it should be active now:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwXEHp78NO2l0KVelw6UbPqfs3HMplknXPlD6PUnCATSKdLCBeHY108FHv1-WeSObyB_XPt3w18HRgNfHFHayOP1Fu_rP6Cg3rJHglkx9_6GkGm4qnd2qwG2P_q-8IA6mwoePrg6jjGz8/s1600/active_bundle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="7" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwXEHp78NO2l0KVelw6UbPqfs3HMplknXPlD6PUnCATSKdLCBeHY108FHv1-WeSObyB_XPt3w18HRgNfHFHayOP1Fu_rP6Cg3rJHglkx9_6GkGm4qnd2qwG2P_q-8IA6mwoePrg6jjGz8/s320/active_bundle.jpg" width="320" /></a></div>
<br />
<br />
<h3 style="text-align: left;">
JDBC Connection Pool Factory config:</h3>
<div style="text-align: left;">
1. Go to http://localhost:4502/system/console/configMgr</div>
<div style="text-align: left;">
2. click on "+" to add a configuration:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3rbTjjuPxMosyPG8BdtII9zNp87-WrOPmAONOlGtLmyQPrVnqoQJph44LVD3nRYTtIlbLcKtyqG2Wv4YpnnhwZ85xK1Xb9WrsoQlsjfVMAIPC83TL3f-ffP4SAkb5_i4I7iy249DJ1BU/s1600/jdbc_configMgr.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="6" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3rbTjjuPxMosyPG8BdtII9zNp87-WrOPmAONOlGtLmyQPrVnqoQJph44LVD3nRYTtIlbLcKtyqG2Wv4YpnnhwZ85xK1Xb9WrsoQlsjfVMAIPC83TL3f-ffP4SAkb5_i4I7iy249DJ1BU/s320/jdbc_configMgr.jpg" width="320" /></a></div>
3. The configuration looks like this:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizF51nlliDMsGJ5rIXG4UK87uLxHZKxXTOm_jYjyrJdvhG6Hvw8cpQkXa_P-EGqQw6T2hMXSctSDuOK1qwMubZzHxMvm16pn2IGGxzkwZ7u6Ae9B0t03zOCdgHsbKnWuBfYeEaIzwOSos/s1600/fac.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizF51nlliDMsGJ5rIXG4UK87uLxHZKxXTOm_jYjyrJdvhG6Hvw8cpQkXa_P-EGqQw6T2hMXSctSDuOK1qwMubZzHxMvm16pn2IGGxzkwZ7u6Ae9B0t03zOCdgHsbKnWuBfYeEaIzwOSos/s320/fac.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<h3 style="text-align: left;">
Test Connection:</h3>
<div style="text-align: left;">
1. An example code snippet for testing the connection:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB6wO_2YVdOpvhADYItvTh_Lhm32RO9s3wFkIDH9xlUjrJkS-cOD1SSpTVOxBBKo3ieoyxFn1-Wgc6E0qykcQk8f6OR0AiyG45dc1v93Z9SizVQpt_3G3iuY8UECT8Z-7uBwcFrLv8acs/s1600/examplecode.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB6wO_2YVdOpvhADYItvTh_Lhm32RO9s3wFkIDH9xlUjrJkS-cOD1SSpTVOxBBKo3ieoyxFn1-Wgc6E0qykcQk8f6OR0AiyG45dc1v93Z9SizVQpt_3G3iuY8UECT8Z-7uBwcFrLv8acs/s320/examplecode.jpg" width="320" /></a></div>
<br />
<br />
Note: You might have to allow your Microsoft SQL server to accept remote connections! Please refer <a href="http://blog.citrix24.com/configure-sql-express-to-accept-remote-connections/">this</a><br />
<br />
Hope this helps!!!<br />
<div style="text-align: left;">
<br /></div>
<br />
<div style="text-align: left;">
<br /></div>
<br />
<br />
<div style="text-align: left;">
<br /></div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com1tag:blogger.com,1999:blog-5470693711790994536.post-91382864476840839162015-05-18T14:56:00.001-07:002015-05-18T15:01:39.926-07:00Hide extra component divs in CQ/AEM<div dir="ltr" style="text-align: left;" trbidi="on">
This can be really tedious sometimes when, while developing a component in CQ/AEM, the extra CQ generated divs surrounding your component might disturb the HTML structure intended.<br />
<br />
A common usecase is a carousel component in which, lets suppose, for every slide we drop in the carousel wrapper, no extra component div is required just to make sure the plugin driving the carousel runs fine.<br />
<br />
An ideal structure would be :<br />
<i><b><ul></b></i><br />
<div style="text-align: left;">
<i><b><li></li> </b></i></div>
<div style="text-align: left;">
<i><b><li></li> </b></i></div>
<div style="text-align: left;">
<i><b><li></li> </b></i></div>
<div style="text-align: left;">
<i><b><li></li> </b></i></div>
<i><b></ul></b></i><br />
<br />
If each li comes from a carousel slide component, here is what it looks like in cq:<br />
<br />
<i><b><ul></b></i><br />
<div style="text-align: left;">
<i><b><div class="carousel-slide"><li></li</div> </b></i></div>
<i><b><div class="carousel-slide"><li></li</div> </b></i><br />
<i><b><div class="carousel-slide"><li></li</div> </b></i><br />
<i><b><div class="carousel-slide"><li></li</div> </b></i><br />
<i><b></ul></b></i><br />
<br />
This structure sometimes prevents the carousel JS plugins to stop behaving the way they should.<br />
<br />
Solution:<br />
One of the alternatives is to use <b>cq:noDecoration="true"</b>, but that makes the component un-editable. Neither the editconfig not the dialog is visible.<br />
Thus, an ideal approach would be :<br />
<br />
Just before cq including the component, add this code snippet:<br />
<br />
<i><b> <%<br /> IncludeOptions opts = IncludeOptions.getOptions(request, true);<br /> opts.setDecorationTagName("");</b></i><br />
<i><b> %></b></i><br />
This would require an import:<br />
<i><b><%@ page import="com.day.cq.wcm.api.components.IncludeOptions" %></b></i><br />
<br />
Now cq inlcude your component, for eg:<br />
<br />
<i><b><cq:include path="slide"> resourceType="/component/content/carousel-slide"/></b></i><br />
<br />
Hope this helps! <br />
<br /></div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-58240554504858809172015-02-27T04:22:00.001-08:002015-05-18T15:06:21.964-07:00Hide a parsys in CQ edit mode<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
Often, a situation is encountered in CQ where we have a number of parsys on our page and it is required to show/hide some of them on certain events. A typical use case is that of a Tabbed Component where the parsys associated with a particular tab needs to be shown only on click of that particular tab while the parsys for all the other non active tabs should be hidden.</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
If my parsys is wrapped by a container div something like this.</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<div class="genericTabContent"><cq:include path="par" resourceType="foundation/components/parsys" /><br />
</div></div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
Then, calling the .hide() method on the div doesn't hide the parsys. Rather, the parsys is visible floating somewhere on the page making the authoring experience very tough.</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<a data-mce-href="http://www.intelligrape.com/blog/wp-content/uploads/2015/02/parsys1.jpg" href="http://www.intelligrape.com/blog/wp-content/uploads/2015/02/parsys1.jpg" style="color: #743399; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5;"><img alt="parsys1" class="alignnone size-full wp-image-17661" data-mce-src="http://www.intelligrape.com/blog/wp-content/uploads/2015/02/parsys1.jpg" src="http://www.intelligrape.com/blog/wp-content/uploads/2015/02/parsys1.jpg" height="250" style="color: #444444; font-family: Georgia,"Bitstream Charter",serif; height: auto; line-height: 1.5; margin: 0px; max-width: 100%;" width="579" /></a></div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
All attempts to hide the parsys through CSS seem to fail.</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
A possible solution is :</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
var parsysComp = CQ.WCM.getEditable("path to the parsys");<br />
parsysComp.hide(); // makes the parsys visible<br />
parsysComp.show(); // hides the parsys</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
To get the path to the parsys, the current node path can be fetched on our jsp page:<br />
<div id="currentNodePath" class="${currentNode.path}"></div></div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
Once the current node path is known, this code snippet would work:<br />
var parsysComp = CQ.WCM.getEditable(('#currentNodePath').attr('class')+"/par");</div>
<div style="-webkit-text-stroke-width: 0px; color: #444444; font-family: Georgia, 'Bitstream Charter', serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin-bottom: 24px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
Hope this was helpful!</div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com2tag:blogger.com,1999:blog-5470693711790994536.post-69983356006194409892014-11-26T14:28:00.004-08:002015-05-18T15:07:22.637-07:00java.lang.VerifyError: Bad method call from inside of a branch<div dir="ltr" style="text-align: left;" trbidi="on">
Ever encountered this kind of an error with no pages opening up in your cq instance?<br />
<blockquote class="tr_bq">
<i>Exception in thread "main" java.lang.VerifyError: Bad <init> method call from in<br />side of a branch<br />Exception Details:<br /> Location:<br /> com/myproject/server/MockWriter.<init>(Ljava/lang/S<br />tring;)V @71: invokespecial<br /> Reason:<br /> Error exists in the bytecode<br /> Bytecode:<br /> 0000000: b800 164d 04bd 0018 5903 2b53 5910 ff12<br /> 0000010: 04b8 001e 2a5f ab00 0000 0055 0000 0003<br /> 0000020: aad3 b1ff 0000 0022 0000 9b75 0000 0037<br /> 0000030: 60fa 8f17 0000 0040 5f5a 5903 3212 20b8<br /> 0000040: 0024 c000 205f 57b7 0026 a700 2b5f 5a57<br /> 0000050: b700 29a7 0022 5f5a 5903 3212 2bb8 0024<br /> 0000060: c000 2b5f 57b7 002e a700 0dbb 0030 5912<br /> 0000070: 32b7 0033 bf57 2ab6 0037 4e2d 2a5f b500<br /> 0000080: 392d 57b1<br /> Stackmap Table:<br /> full_frame(@56,{UninitializedThis,Object[#32],Object[#63]},{Object[#65],Unin<br />itializedThis})<br /> full_frame(@77,{UninitializedThis,Object[#32],Object[#63]},{Object[#65],Unin<br />itializedThis})<br /> full_frame(@86,{UninitializedThis,Object[#32],Object[#63]},{Object[#65],Unin<br />itializedThis})<br /> full_frame(@107,{UninitializedThis,Object[#32],Object[#63]},{Object[#65],Uni<br />nitializedThis})<br /> full_frame(@117,{Object[#2],Object[#32],Object[#63]},{Object[#65]})<br /><br /> at java.lang.Class.getDeclaredConstructors0(Native Method)<br /> at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)<br /> at java.lang.Class.getDeclaredConstructors(Unknown Source)<br /> at org.codehaus.groovy.reflection.CachedClass$2$1.run(CachedClass.java:6<br />9)</i></blockquote>
Well, this happens to be a problem with the JVM version.<br />
Known versions with this problem:<br />
<br />
<div style="text-align: left;">
<b><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; display: inline !important; float: none; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">1.7.0 update 55</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; display: inline !important; float: none; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">1.7.0 update 65</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; display: inline !important; float: none; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">1.7.0 update 67</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #333333; display: inline !important; float: none; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">1.8.0 update 11</span></b> </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>Solution:</u></div>
<div style="text-align: left;">
Edit the start.bat and add JVM argument "<b>-noverify</b>" to have the code working.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
The default JVM options look like this:</div>
<blockquote class="tr_bq">
<div style="text-align: left;">
<i>::* default JVM options<br />if not defined CQ_JVM_OPTS set CQ_JVM_OPTS=-Xmx2048m -XX:MaxPermSize=512M <b>-noverify</b> -Djava.awt.headless=true </i></div>
</blockquote>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Hope this helped!</div>
<div style="text-align: left;">
<br /></div>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com2tag:blogger.com,1999:blog-5470693711790994536.post-73760493730830912842014-11-26T12:41:00.003-08:002015-05-18T15:08:29.611-07:00Upgrading to Httpcomponents 4.3.5?<div dir="ltr" style="text-align: left;" trbidi="on">
Did you encounter the following error after upgrading to httpcomponents 4.3.5?<br />
<blockquote class="tr_bq">
<i>java.lang.ClassNotFoundException: <b>javax.naming.InvalidNameException</b> not found by org.apache.httpcomponents.httpclient [923]</i><br />
<i>at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1500)</i><br />
<i>at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)</i><br />
<i>at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1923)</i><br />
<i>at java.lang.ClassLoader.loadClass(Unknown Source)</i></blockquote>
<br />
This happens because Httpclient OSGI bundle 4.3.5 doesnt import the package "javax.naming" by default.<br />
The solution would be to edit the manifest.mf file of the bundle to include the javax.naming package.<br />
<br />
The Import-Package section in MANIFEST.MF should look like with the only change is to include javax.naming:<br />
<blockquote class="tr_bq">
<i>Import-Package: javax.crypto,javax.crypto.spec,<b>javax.naming</b>,javax.net,javax.net.ssl,j</i><br />
<i> avax.security.auth.x500,org.ietf.jgss,org.osgi.framework;version="[1.5,</i><br />
<i> 2)",org.osgi.service.cm;version="[1.3,2)",org.apache.commons.logging;ve</i><br />
<i> rsion="[1.1.0,1.2.0)",net.sf.ehcache;resolution:=optional,net.spy.memca</i><br />
<i> ched;resolution:=optional,org.apache.http.util;version="[4.3.0,4.4.0)",</i><br />
<i> org.apache.http.io;version="[4.3.0,4.4.0)",org.apache.http.pool;version</i><br />
<i> ="[4.3.0,4.4.0)",org.apache.http.impl.pool;version="[4.3.0,4.4.0)",org.</i><br />
<i> apache.http.impl;version="[4.3.0,4.4.0)",org.apache.http.message;versio</i><br />
<i> n="[4.3.0,4.4.0)",org.apache.http.impl.entity;version="[4.3.0,4.4.0)",o</i><br />
<i> rg.apache.http.params;version="[4.3.0,4.4.0)",org.apache.http.impl.io;v</i><br />
<i> ersion="[4.3.0,4.4.0)",org.apache.http;version="[4.3.0,4.4.0)",org.apac</i><br />
<i> he.http.concurrent;version="[4.3.0,4.4.0)",org.apache.http.entity;versi</i><br />
<i> on="[4.3.0,4.4.0)",org.apache.http.config;version="[4.3.0,4.4.0)",org.a</i><br />
<i> pache.http.protocol;version="[4.3.0,4.4.0)"</i></blockquote>
<br />
Having done this, it is important to note that httpclients imports more than just javax.naming.<br />
The class org.apache.http.conn.ssl.AbstractVerifier.java imports the following javax.naming classes:<br />
<br />
javax.naming.InvalidNameException<br />
javax.naming.NamingException<br />
javax.naming.directory.Attribute<br />
javax.naming.directory.Attributes<br />
javax.naming.ldap.LdapName<br />
javax.naming.ldap.Rdn<br />
<br />
If not resolved, such kind of errors may be encountered:<br />
<blockquote class="tr_bq">
<i><b>java.lang.NoClassDefFoundError: javax/naming/ldap/LdapName</b><br /> at org.apache.http.conn.ssl.AbstractVerifier.extractCNs(AbstractVerifier.java:277)<br /> at org.apache.http.conn.ssl.AbstractVerifier.getCNs(AbstractVerifier.java:265)<br /> at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:157)<br /> at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:140)<br /> at org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:286)<br /> at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:276)<br /> at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:254)<br /> at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)<br /> at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)<br /> at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)<br /> at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)<br /> at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)<br /> at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)<br /> at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)<br /> at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)<br /> at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)<br /> at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)</i></blockquote>
To resolve all these classes, the OSGi manifest file needs the following package imports as well:<br />
javax.naming.directory<br />
javax.naming.ldap<br />
<br />
The Import-Package section in MANIFEST.MF should look like this:<br />
<br />
<blockquote class="tr_bq">
<i>Import-Package: javax.crypto,javax.crypto.spec,javax.net,<b>javax.naming,javax.nami<br /> ng.directory,javax.naming.ldap</b>,javax.net.ssl,javax.security.auth.x500,org.ietf.jgss,org.osgi.framework;version="[1.5,<br /> 2)",org.osgi.service.cm;version="[1.3,2)",org.apache.commons.logging;ve<br /> rsion="[1.1.0,1.2.0)",net.sf.ehcache;resolution:=optional,net.spy.memca<br /> ched;resolution:=optional,org.apache.http.util;version="[4.3.0,4.4.0)",<br /> org.apache.http.io;version="[4.3.0,4.4.0)",org.apache.http.pool;version<br /> ="[4.3.0,4.4.0)",org.apache.http.impl.pool;version="[4.3.0,4.4.0)",org.<br /> apache.http.impl;version="[4.3.0,4.4.0)",org.apache.http.message;versio<br /> n="[4.3.0,4.4.0)",org.apache.http.impl.entity;version="[4.3.0,4.4.0)",o<br /> rg.apache.http.params;version="[4.3.0,4.4.0)",org.apache.http.impl.io;v<br /> ersion="[4.3.0,4.4.0)",org.apache.http;version="[4.3.0,4.4.0)",org.apac<br /> he.http.concurrent;version="[4.3.0,4.4.0)",org.apache.http.entity;versi<br /> on="[4.3.0,4.4.0)",org.apache.http.config;version="[4.3.0,4.4.0)",org.a<br /> pache.http.protocol;version="[4.3.0,4.4.0)" </i></blockquote>
<br />
Hope this was helpful! <br />
<br />
<br />
<br />
<br />
<br />
<br />
<pre class="code-java" style="-webkit-text-stroke-width: 0px; background-color: whitesmoke; color: #333333; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 15.9999990463257px; margin: 0px; max-height: 30em; orphans: auto; overflow: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: auto; word-spacing: 0px; word-wrap: normal;"> </pre>
</div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0tag:blogger.com,1999:blog-5470693711790994536.post-36457680829650337422014-09-02T08:33:00.003-07:002015-05-18T15:09:19.617-07:00AEM Dispatcher - Manual cache flushing/invalidation<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a></div>
<a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><span style="font-family: Arial,Helvetica,sans-serif; font-size: small;">CQ comes with a Default flush agent that flushes cache on activation. But what if you manually want to flush or invalidate the cache?</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The solution is:</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The CQ cache can be deleted by using an HTTP request which looks like:</span></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<i><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">POST /dispatcher/invalidate.cache HTTP/1.1<br />
CQ-Action: Activate<br />
CQ-Handle: path-pattern<br />
Content-Length: 0</span></span></span></i><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><b><span style="font-weight: normal;">CQ Actions: </span></b></span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">1.Activate</span></span></span><br />
<ul style="text-align: left;">
<li><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">It touches the .stat file( at and above the CQ-handle path heirarchy) to the latest timestamp</span></span></span></li>
</ul>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">2.Delete/Deactivate</span></span></span><br />
<ul style="text-align: left;">
<li><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">It touches the .stat file</span><span style="font-weight: normal;"><span style="font-weight: normal;">( at and above the CQ-handle path heirarchy) </span> to the latest timestamp </span></span></span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">It deletes the cache at the CQ-Handle path provided</span></span></span></li>
</ul>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">We can write a flushcache servlet to serve the purpose:</span></span></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small; font-weight: normal;"><i>package com.adobe.example;<br /><br />import org.apache.felix.scr.annotations.Component;<br />import org.apache.felix.scr.annotations.Service;<br />import org.apache.felix.scr.annotations.Property;<br /><br />import org.apache.sling.api.SlingHttpServletRequest;<br />import org.apache.sling.api.SlingHttpServletResponse;<br />import org.apache.sling.api.servlets.SlingSafeMethodsServlet;<br /><br />import org.slf4j.Logger;<br />import org.slf4j.LoggerFactory;<br /><br />import org.apache.commons.httpclient.*;<br />import org.apache.commons.httpclient.methods.PostMethod;<br />import org.apache.commons.httpclient.methods.StringRequestEntity;<br /><br />@Component(metatype=true)<br />@Service<br />public class Flushcache extends SlingSafeMethodsServlet {<br /><br /> @Property(value="/bin/flushcache/html")<br /> static final String SERVLET_PATH="sling.servlet.paths";<br /><br /> private Logger logger = LoggerFactory.getLogger(this.getClass());<br /><br /> public void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) {<br /> try{<br /> //retrieve the request parameters<br /> String handle = request.getParameter("handle");<br /> String page = request.getParameter("page");<br /><br /> //hard-coding connection properties is a bad practice, but is done here to simplify the example<br /> String server = "localhost:80";<br /> String uri = "/dispatcher/invalidate.cache";<br /><br /> HttpClient client = new HttpClient();<br /><br /> PostMethod post = new PostMethod("http://"+server+uri);<br /> post.setRequestHeader("CQ-Action", "Activate");<br /> post.setRequestHeader("CQ-Handle",handle);<br /><br /> StringRequestEntity body = new StringRequestEntity(page,null,null);<br /> post.setRequestEntity(body);<br /> post.setRequestHeader("Content-length", String.valueOf(body.getContentLength()));<br /> client.executeMethod(post);<br /> post.releaseConnection();<br /> //log the results<br /> logger.info("result: " + post.getResponseBodyAsString());<br /> }<br /> catch(Exception e){<br /> logger.error("Flushcache servlet exception: " + e.getMessage());<br /> }<br /> }<br />}</i><br /> </span></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small; font-weight: normal;">How it works:</span></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small; font-weight: normal;">The .stat file is touched to the latest timestamp everytime we hit the servlet.</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small; font-weight: normal;">Demo:</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small; font-weight: normal;">Initial .stat file </span></span><br />
<a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><img alt="" src="data:image/jpeg;base64,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WaQSuVV3OGVV3FR33hf/AISD+0dU/tr+x/svmxf2b9i8zzPL8mPzPO38bvO83bt42bM85q1+n9IS/wA/+HNqiiikAUUUUpRUtwCiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVa2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAq0Va2L/dH5UbF/uj8qAKtFWti/wB0flRsX+6PyoAdRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9k=" /><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small; font-weight: normal;">After hitting http://localhost:4503/bin/flushcache/html?handle=/content&page=/content, the stat file timestamp gets updated:</span></span><br />
<img alt="" src="data:image/jpeg;base64,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3urGTw3Y6S8pLC5uryO5u57i4kGMfvHud2dxO4twOCfU6Kauvxf3ieunovutYKw/iX4Ftvid8Ptb8O3kksNrrljNYyyRHDxrIhQsp9RnI+lblFTurME2nzI8b8R+B/id8Q/hB4n8Ha7B4HU6loN7pcOr2moXRbUJpIWijkktmtwLZTuDNtmn24KjdncMbx/+ybqHiG/vl00eH7TTbvSfDWnC2O5E/wCJZqb3MoKLGV2GFgie/BCjmvfaKNnzdbp/NBpa3T/go8N8Yfs8+JdZ8deKLe3Tw3N4a8aa5p2u3eo3NxKup6a1olsvkxQCJklz9kUpIZo/LMzHY20bm6N+yreadcaBM8egNNpvxE1LxjcyKp3Sw3AvRFg+XkzKJ4Ac4AEXDHaufdDxRT2/D9A336/5HzL4l/Y28RPcaXeWp03UP7O1XxDIdMj8Tal4fje01O8+0oVurNDIrpsVWiMbRtvbnKqT6J8Tv2c7b4oeFfh1ot7pPh+fRfCupwXeoaVfs1/bPBHY3EAiQyxnziryxkNIq5CFjhuK9WooeyXRWDW9/wCtdzyz4bfs16T8JfjTr2ueGdF8M+HNB1jRLOwFnpVmloWuYp7p3leONFTlJowGyWO0ggADOJoX7MupQ/CH4SeGdQk0i6/4Qa5ifWF3u0N3ENPurV1iymWy068MFG3d34Pt1FHSz8vw/wCHHfVvv/lb8jwTwr+ynruhXfhi7vdZstX1DQ/EiXcl1MXWT+yrexu7OztwcHdKBOJHztUvLMQegPU/steDvGnwv+GWi+FPE2m+GIbXw/psNlb32l6zPeSXbIAuWiktIRGCOeHf0969SooUnrfr+mlxf18r7Hg2gfADxldWuo+GNWXwva+Ebvxbc+I5L61v5rm/vYm1Fr2O1Nu9ukcJLbA8glk+VWAXLB0n8Kfs7+JdJ8X2NldL4aPhvRfFV/4sttUjuJW1S6kuWuHEDwGIJHtNyytKJnLpEBsXf8nuVFCWi/rsD10fW7OCtP8AhaH9lW/n/wDCBfbfsdh5/l/a/K+1faD9u2558r7Pjyc/N5md/wAtd7RRTuw63CiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=" /><br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com2tag:blogger.com,1999:blog-5470693711790994536.post-11001702759062029392014-08-26T09:09:00.001-07:002015-05-18T15:09:43.339-07:00New Page/Site or Page Properties for a page disabled from siteadmin?<div dir="ltr" style="text-align: left;" trbidi="on">
Having troubles with accessing page properties for a page? Does the sidekick show the page tab disabled?<br />
Does the page in Author mode is not editable with no parsys and edit bars visible?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=5470693711790994536" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<img alt="" src="data:image/jpeg;base64,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" /><img alt="" src="data:image/jpeg;base64,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" /><br />
<br />
Here is the solution:<br />
<br />
This happens when we have an invalid cq:Page node in the /content hierarchy. All cq:Page nodes should have a jcr:content node of type cq:PageContent.<br />
<br />
<br />
So, If theres an invalid node, it disables the page properties for all its sibling pages.<br />
<br />
The solution might be to traverse through all the sibling page nodes in CRXDE and adding a jcr:content node (of cq:PageContent primary type) below a cq:Page node if it does not contain one. That would probably enable the page properties for all the pages in the same heirarchy.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
Rima Mittalhttp://www.blogger.com/profile/16905594593386585405noreply@blogger.com0