Quantcast
Channel: Adobe Community : Popular Discussions - CQ5 (read only)
Viewing all 12476 articles
Browse latest View live

/apps/i18n/ query

$
0
0

Is there a way to get all nodes in an i18n library into a List that can be iterated over?

 

I was able to use a Query, but I needed to grant read access to /apps/myapp/i18n/* - I really didn't like that fom a security perspective.

 

Is there a better way??

 

Thanks!


Regd:org.apache.sling.api.scripting.ScriptEvaluationException: javax.servlet.ServletException

$
0
0

Hi ,

 

I'm getting the below exception while accessing the pages. It was working fine earlier..

 

Any help on this please....???

 

Caused by: org.apache.sling.api.SlingException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Error while executing script /libs/wcm/core/components/init/init.jsp

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInterna l(JspServletWrapper.java:563)

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspException(JspSer vletWrapper.java:499)

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper .java:443)

at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter. java:59)

at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java :233)

at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$100(JspScriptEngineFactory.j ava:85)

at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngin eFactory.java:453)

at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358)

... 93 more

Caused by: org.apache.sling.api.SlingException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/day/cq/wcm/api/WCMMode

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInterna l(JspServletWrapper.java:563)

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspException(JspSer vletWrapper.java:499)

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper .java:443)

at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter. java:59)

at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java :233)

at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access$100(JspScriptEngineFactory.j ava:85)

at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngin eFactory.java:453)

at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358)

at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:170)

at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:4 56)

at com.day.cq.wcm.tags.IncludeTag.includeScript(IncludeTag.java:167)

at com.day.cq.wcm.tags.IncludeTag.doEndTag(IncludeTag.java:87)

at org.apache.jsp.apps.bt_com.components.wrapperpage.wrapperpage_jsp._jspx_meth_cq_005finclu de_005f0(wrapperpage_jsp.java:430)

at org.apache.jsp.apps.bt_com.components.wrapperpage.wrapperpage_jsp._jspService(wrapperpage _jsp.java:238)

at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper .java:420)

... 98 more

Caused by: java.lang.NoClassDefFoundError: com/day/cq/wcm/api/WCMMode

at org.apache.jsp.libs.wcm.core.components.init.init_jsp._jspService(init_jsp.java:152)

at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJs

 

Thanks,

 

Shankar .A

How do i use querybuilder.json to return similar search

$
0
0

Can querybuilder.json return a similar search?  That is if I use

querybuilder.json?fulltext=walnt

I'd like to get the results for "walnut".  What predicate should I use?

Why is a workflow "stale"?

$
0
0

I'm writing a workflow to send an email each time an user is created and I'm calling this workflow from a POJO. Everything looks good, no errors, in debug mode in my POJO I see that the workflow starts, there are no messages in my inbox. This is what my log says:

day.cq.workflow.impl.CQWorkflowSession Workflow instance started with model: /etc/workflow/models/send-user-email/jcr:content/model and  ID: /etc/workflow/instances/2013-04-04/model_17333941154731 for payload: /home/users/group01/xx@yy.com

 

My model only includes a workflow process step to send the email. Here comes the problem... it's not sending the email, I'm debuging the workflow and is not passing through the step that I wrote. In the workflow console the workflow the instance says "STALE". What causes the workflow going to stale state?

 

Thanks!

what is the use of currentStyle in CQ5

$
0
0

Can you tell me inCQ5,theexact use ofcurrentStyle  object.

Ihave one line like

 

int absParent = currentStyle.get("absParent", 3); 

MayI know what currentStyle will do here.

@Reference annotation causing customised servlet stop getting called

$
0
0

Hi guys,

 

I noticed that as soon as I add the @Reference annotation in my servlet, the sevlet will not be called when the form is submitted. As soon as I remove @Reference the servlet will be called. But the email will not function because @Reference is required to make the email to work.

 

I have the servlet registered and briefly it looks like below:

 

@Service(value = Servlet.class)

@SlingServlet(

                    resourceTypes = {"myapp/components/content/faqNewQuestions"},

                    methods = {"POST"},

                    selectors = {"email"},

                    extensions = {"html"}

                    )

 

@SuppressWarnings("serial")

public class FAQNewQuestionServlet extends SlingAllMethodsServlet {

 

@Reference

          private MessageGatewayService messageGatewayService;

 

@Override

    protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException

    {

              response.setContentType("text/plain");

              response.getOutputStream().print("FAQNewQuestionServlet is called");

    }

}

 

MessageGatewayService is imported through:

import com.day.cq.mailer.MessageGatewayService;

 

This package is added to the .bnd file under:

Import-Package: ..., com.day.cq.mailer, org.apache.felix.scr,org.apache.felix.scr.annotations,...

 

the faqNewQuestions.jsp (which lives under apps/myapp/components/content/faqNewQuestions) has a form looks like this:

 

<form method="POST" action="<c:out value="${resource.path}" />.email.html">

          <input type="text" id="email" name="email"/>

          <textarea name="question" id="question"></textarea>

          <input class="button" id="questionSubmit" type="submit" value="submit" />

</form>

 

I just keep getting 'Content modified' page rather seeing the "FAQNewQuestionServlet is called" I was expecting.

 

Content modified /content/my-trick/jcr:content/par/faqnewquestions

Status

200

Message

OK

Location/my-trick/_jcr_content/par/faqnewquestions
Parent Location/my-trick/_jcr_content/par

 

Really appreciate any inputs..

How to check CQ version installed in publisher

$
0
0

Dear All,

 

Could anyone please let me know how to find out which version of CQ has been installed on publish instance?

 

Regards

Programatically trying to alter component "decoration tags" in CQ5.6

$
0
0

Hi,

 

I've been evaluating CQ5 for the last week, and one of my key desires (at this stage) is to be able to modify the values added to the class attribute of the "decoration tags" that are wrapped around the components when they are rendered - this will be important in being able to offer a responsive design experience in edit mode...

 

The options I have explored are:

 

Adding cq:noDecorate to the components - this removes the decoration tag and the associated JavaScript, which, while I can then add my own wrapping decoration, I need the associated JS in order to actually perform the edit functions.

 

Adding cq:htmlTag + cg:tagName + class nodes/attributes to the components - this provides what I need, in that I can define the wrapping tag name and add a class to the tag and the JS is still generated. However, this is applied at a configuration level - I need this to be possible on the fly (as the actual class name to be added will be user configurable).

 

So, as I understand it, you can turn off decoration programatically using componentContext.setDecorate(false); which is supposed to the equivalent to cq:noDecoration. And it is - with the buggy exception that it doesn't remove the opening decoration tag... This then causes all sorts of nested mess. As mentioned above this wouldn't work for me anyway as the JS is removed too and I need this.

 

The next step was to try componentContext.setDecorationTagName("mytag"); to see whether there is a way to hook into the decoration tags this way.

 

Using componentContext.setDecorationTagName(""); is supposed to remove the decoration tags. What is appears to do is again only remove the closing tag! It does however leave the JavaScript, and whilst I can manually close the decoration block, I still can't modify the opening tag - which is the actual aim.

 

Incidentally, using componentContext.setDecorationTagName("mytag"); simply changes the closing tag to "</mytag>" and again it leaves the JS and the opening tag detail untouched.

 

This area feels very buggy to me and as a new CQ user it raises concerns that this is indicative of CQ5 as a whole - Would this be fair or am I missing something?

 

Regards

James


Configuring Anonymous access for Sling Servlet

$
0
0

Hello Team,


My use case scenario is Apache webserver directs all the requests to the Sling servlet and Sling servlet would forward the calls to CQ or our internal webapp depending upon the url. I need the anonymous access for accessing my Sling Servlet.

 

When I call my Sling Servlet from the Apache webserver, it is redirected to libs/cq/core/content/login.html. When I hit in the CQ server direcly for that servlet thats not redirecting to the login page and directly the servlet is served. Only when apache webserver dispatches the request, its being redirected to /libs/cq/core/content/login.html.

 

[rid#18017320/initial] (4) RewriteCond: input='/mcdonalds' pattern='^/(.*)$' => matched

[rid#18017320/initial] (2) rewrite '/mcdonalds' -> '/apps/myvanity/forwardvanity?category=mcdonalds'

[rid#18017320/initial] (3) split uri=/apps/myvanity/forwardvanity?category=mcdonalds -> uri=/apps/myvanity/forwardvanity, args=category=mcdonalds

[rid#18017320/initial] (2) local path result: /apps/myvanity/forwardvanity

[rid#18017320/initial] (2) prefixed with document_root to /u/apache/htdocs/apps/myvanity/forwardvanity

[rid#18017320/initial] (1) go-ahead with /u/apache/htdocs/apps/myvanity/forwardvanity [OK]

[rid#180092b0/initial] (2) init rewrite engine with requested uri /libs/cq/core/content/login.html

 

When I look into the configuration in the Apache Sling Authentication Service, I could see the AllowAnonymouAccess option is being checked. Also I tried to configure the AuthenticationRequirements property to

-/apps/myvanity/forwardvanity to allow this url anonymous access explicitly. After the configuration I could even see that my entry got added in the Authenticator tab.

 

Authentication Requirement Configuration
PathAuthentication RequiredDefining Service (Description or ID)
/system/sling/logoutNoApache Sling Request Authenticator
/system/sling/loginNoApache Sling Request Authenticator
/system/sling/cqform/defaultloginNoDefault Login Form for CQ Login Selector Authentication Handler
/loginNoDay Communique LoginServlet
/libs/cq/core/content/loginNoDay CQ Login Selector Authentication Handler
/bin/loginNoDay Communique LoginServlet
/apps/myvanity/forwardvanityNoApache Sling Request Authenticator
/apps/myvanity/forwardvanityNoApache Sling Request Authenticator
/NoApache Sling Request Authenticator

 

Could some one please suggest how to allow the anonymous access for that servlet such that my apache webserver would not redirect to login page. Any suggestions/pointers would be appreciated.

 

Best Regards,

Durga

How to get SlingScriptHelper in servlet?

$
0
0

I need to get a SlingScriptHelper instance from within my servlet. Either a ComponentContext or BundleContext will do as well, as my only goal is to get sling services using it.

 

  • Using SCR @Reference injection is not a solution for me, because I will determine at runtime what service class I need to get.
  • I've seen posts online that use an activate() method to get ComponentContext, and also decompiled some class that do it, but don't know how to cause sling to call this method and set my ComponentContext
  • I've tried pulling it from the Request scope as an attribute, but sling apparently only puts it there for scripts, not servlets.
  • I've tried injecting all of these objects themselves - none can be injected.

 

Any help? I'm hoping there's some static factory I can just hit and get one of these objects so that I can get services...

Only a type can be imported. org.apache.felix.scr.annotations.Component resolves to a package

$
0
0

I copied the example code exactly, but it won't compile. I receive errors on all the annotations, like:

"Only a type can be imported. org.apache.felix.scr.annotations.Component resolves to a package"

and

"Component cannot be resolved to a type"


-------------------------------------------------------------------------

package com.day.cq.wcm.apps.geometrixx.impl;


import com.day.cq.workflow.WorkflowException;

import com.day.cq.workflow.WorkflowSession;

import com.day.cq.workflow.exec.WorkItem;

import com.day.cq.workflow.exec.WorkflowData;

import com.day.cq.workflow.exec.WorkflowProcess;

import com.day.cq.workflow.metadata.MetaDataMap;

import org.apache.felix.scr.annotations.Component;

import org.apache.felix.scr.annotations.Properties;

import org.apache.felix.scr.annotations.Property;

import org.apache.felix.scr.annotations.Service;

import org.osgi.framework.Constants;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;


import javax.jcr.Node;

import javax.jcr.RepositoryException;


/**

* Sample workflow process

*/

@Component

@Service

@Properties({

@Property(name = Constants.SERVICE_DESCRIPTION, value = "A sample workflow process implementation."),

@Property(name = "process.label", value = "Sample Workflow Process")})


public class CustomWorkflow implements WorkflowProcess {


private static final String TYPE_JCR_PATH = "JCR_PATH";

private static final Logger log = LoggerFactory.getLogger(CustomWorkflow.class);


public void execute(WorkItem item, WorkflowSession session, MetaDataMap args) throws WorkflowException {

WorkflowData workflowData = item.getWorkflowData();

if (workflowData.getPayloadType().equals(TYPE_JCR_PATH)) {

String path = workflowData.getPayload().toString();

// More code here

}

}


}

 

Errors :

 

DescriptionResourcePath
Component cannot be resolved to a type.java/li
Only a type can be imported. org.apache.felix.scr.annotations.Component resolves to a package.java/li
Properties cannot be resolved to a type.java/l
Service cannot be resolved to a type.java


Using cURL to alter properties in a node

$
0
0

I'm wondering if anyone has figured out how to leverage cURL to change properties in existing nodes.

 

I have figured out how to upload, install and replicate packages, but we have a config node holding server addresses and other tidbits that need to be updated.

 

I'm hoping someone can give me an example of how to change a property to a node existing at say /apps/myApp/config/configuration with the property being server1URL.

 

Any help would be appreciated.

Session Store

$
0
0

Hi,

     I am trying for sessions store in client context. In day.com they just gave pieces of code how to do it, but I didnt get anything. Please help me how to have session store in client Context.

 

Thanks in Advance,

Krishna Reddy.

Dispatcher Flush Agent on Publisher not invalidating cache

$
0
0

Hi all,

 

We're having an issue with invalidating that cache apon activation/replication of content, but only from the Publish flush agent.  I've copied the default flush agent on the Publish instance, updated the URI to point to my dispatcher, and enabled the agent.  Clicking Test Connection shows a successful connection to the dispatcher.  Also, I can see that the .stat file has been created at the web root on the dispatcher (I'm not specifying a specific statsfile or a statsfile level in the dispatcher.any).  When I change a setting in the publisher flush agent and save it, or stop and start it, the .stat file is updated.  So I know the Publisher is able to correctly reach the dispatcher and pass along the invalidate message to update the .stat file.

 

When I replicate a node from Author the Publisher, I see the following in the Publisher error.log:

 

22.05.2013 04:23:23.241 *INFO* [ObservationManager] com.day.cq.wcm.core.impl.components.ComponentCacheImpl Detecting component change. invalidating cache.

22.05.2013 04:23:23.245 *INFO* [10.20.30.40 [1369196603165] POST /bin/receive HTTP/1.1] com.day.cq.replication.impl.content.durbo.DurboImporter imported content in 79ms for durbo request on path: /apps/my-project/components/page/base/footer.jsp

22.05.2013 04:23:23.245 *INFO* [10.20.30.40 [1369196603165] POST /bin/receive HTTP/1.1] com.day.cq.replication.impl.servlets.ReplicationServlet Processed replication action in 79ms: ACTIVATE of /apps/my-project/components/page/base/footer.jsp

 

However when I check the dispatcher, I see that the .stat file has not had its timestamp updated.  I've also noticed that when I change the node and replicate it, the 'Detecting component change. invalidating cache.' log line above does not always appear in the log file - it appears only sometimes with the other 2 long lines.  This part seems random.

 

In my testing, I've also created a Dispatcher Flush agent on the Author instance (after disabling the one on the Publish instance), and 100% of the time when I replicate the /apps/my-project/components/page/base/footer.jsp to the Publisher, the Author flush agent correctly updates the .stat file timestamp.  So I'm 100% confident that the file I'm editing is able to be cached, and that changing and replicating it does update the .stat file.

 

Just never from the Publish flush agent!

 

I've tried all combinations of trigger settings on the Publish agent to no avail.  I've also inspected the properties of the agent in CRXDE Lite, and I can't see anything that the Author agent has and the publish agent is missing!

 

I've also tried creating the Publish agent by copying the default one from the tools console and updating the URI, creating a Publish agent on the Author and replicating it to the Publisher, and also creating it directly on the Publisher via curl calls - all of these methods seem to create a valid dispatcher flush agent on the Publisher that successfully connects to the dispatcher (confirmed by a successful 'Test Connection' click after creating), but none of them ever update the .stat file on the dispatcher after content replication.

 

Any thoughts here on where else to look would be greatly appreciated!!

 

Cheers,

K

parsys and cq:noDecoration

$
0
0

I have a page that has:

<cq:include path="./par" resourceType="foundation/components/parsys" />

 

Some of the components under ./par  has  cq:noDecoration=true set.

Those components, don't get component control  (no blue border when mouse over).

 

How can I force render automatically generated <div> around the components that have cq:noDecoration set?

Thses component need cq:noDecoration because  they are included in when rendering <head>.

 

Components are managed in a page with parsys. And, then each component paths are included in <head>.

For example, 

<!doctype html>

<html>

<head>

    <sling:include path="/content/example/page/jcr:content/par/component1.foobar" />

....

 

And in the management page  (/content/example/page), I render parsys.


Getting error message “Only a type can be imported…” when trying to execute jsp page

$
0
0

 

I get the error: "Only a type can be imported. com.adobe.cq.TestServiceImpl resolves to a package in adobe day cq5

 

I have created one bundle and installed in felix console. The status of the bundle is also Active. And also it is available in both service and component console.

 

Here is my TestServiceImpl class in com.adobe.cq bundle


package com.adobe.cq;

import org.apache.felix.scr.annotations.Component;

import org.apache.felix.scr.annotations.Service;

import org.osgi.framework.BundleContext;

import org.osgi.service.component.ComponentContext;

import javax.jcr.RepositoryException;

import org.apache.felix.scr.annotations.Property;

import org.apache.felix.scr.annotations.Properties;

//src.component

//declares the class component. This will provide a wrapped ManagedService component in the OSGI container.

//src.service interface="SampleService"

//declares the service we are offering. Actually, the interface attribute is superflous, as by default, all implemented Interfaces are used.

/**

@scr.component

@scr.service interface="testService"

*/

@Component(immediate = true, metatype = true)

@Service

@Properties( {

@Property(name = "service.description", value = "abcd"),

@Property(name = "label", value = "myLabel") })

public class TestServiceImpl implements TestService {

public String sayHello() {

     return "Hello World!";

}

}

 

 

Here is my jsp code

 

 

<%@include file="/libs/foundation/global.jsp"%><%

%><%@include file="/apps/mine/includes/functions.jsp"%><%

%><%@ page import="com.adobe.cq.TestServiceImpl,

org.apache.sling.api.SlingHttpServletRequest,

                java.util.List"%><%

%><%

SlingHttpServletRequest r = (SlingHttpServletRequest)request;   

                TestServiceImpl testService = sling.getService(TestServiceImpl.class);

                out.println("testService:::"+testService);

%>

<div id="te-nav" style="display:block !important;">

</div>

 

 

Is it because of am using annotation in TestServiceImpl class?

 

Could you please tell me how to fix it?

 

Regards,

Anderson

How to return .xml file with requested and formatted data as Replication process result?

$
0
0

Hi,

As described in the title I'd like to send formatted xml to given url after replication process. I see that there are 3 types of serialization by default (Default, Dispatcher Flush and Static Content Builder). How can I provide my own Serialization Type to build xml file in the requested format with requested data?

 

BR,

Pawos

Permission Inheritance Problem

$
0
0

My client is having an issue with permission inheritance down their page tree.  Here's a small sample of the page hierachy we are dealing with:

 

  • F0 (sling:OrderedFolder)
    • F1 (sling:OrderedFolder)
      • jcr:content (nt:unstructured)
      • P1 (cq:Page)
      • P2 (cq:Page)
      • P3 (cq:Page)

 

We need to be able to ALLOW the "modify" and "create" actions for F0 and have it inherit all the way down through the pages.  However, when we do this, the inheritance for "modify" stops after F1.  F0 will allow "modify" (this is where we set ALLOW).  F1 will allow it.  F1's jcr:content node will allow it.  None of the children of F1 that are pages will allow "modify".  However, the "create" action will inherit all the way down through just fine.

 

It gets weirder.  If we add ALLOW "delete" to F0 it fixes the problem.  All three of the actions inherit all the way down through.  So we tried setting them one at a time.  Setting just "delete" inherits all the way down through.  Setting just "create" does too.  Setting just "modify" does not work.  It has the same unexpected behavior where the cq:Page nodes do not inherit the permission.

 

I'm not completely convinced this is a product bug because it only happens in the client's application.  I tried to replicate the same scenario on a standalone instance on my dev machine using the Geometrixx site and everything worked as expected.  So I'm looking for some feedback...

 

Is there something about the permission model that I'm not thinking about correctly that would explain this behavior?  Are there any node-types, properties, etc. that I should be looking out for (maybe something that has given you trouble in the past)?  Really I would appreciate any feedback on the issue, because this is a pretty strange one.  I plan to cross post this to the Google Group as well.  Thanks a lot!

Send Email Using CQ API and custom template

$
0
0

Is is possible to send email using CQ API and custom template.

 

If yes how can i pass template as Subject

 

http://blogs.adobe.com/learningwem/2011/11/27/cq5-4-workflow-process-to-send-an-email-usin g-messagegateway/

 

I was followed this and able send email to the recipients .

 

But is it possible to send email CQ APi and custome email template ?

 

I was tried this using workflow process

................................................................................

public class SendEmailWorkflowProcess implements WorkflowProcess {

 

    @Reference

           private MessageGatewayService messageGatewayService;

   

    public void execute(WorkItem item, WorkflowSession wfsession,MetaDataMap metaData) throws WorkflowException {

 

 

              HtmlEmail email = new HtmlEmail();

 

         try{

               .......................

               ...................

               email.setTo( emailRecipients );

              email.setSubject( "This is subject");

              email.setHtmlMsg( "Email testing is on");

 

              String template = "/apps/cq/workflow/email/test/en.txt";

              Session session = wfsession.getSession();

 

              Resource templateRsrc = jcrResolverFactory.getResourceResolver(session).getResource(template);

 

              if (templateRsrc.getChild("file") != null) {

                 templateRsrc = templateRsrc.getChild("file");

              }

              if (templateRsrc == null) {

                 throw new IllegalArgumentException("Missing template:---------- " + template);

              }

             

              final MailTemplate mailTemplate = MailTemplate.create(templateRsrc.getPath(),

                      templateRsrc.getResourceResolver().adaptTo(Session.class));

           

                        email = mailTemplate.getEmail(StrLookup.lookup(properties,HtmlEmail.class));

      

              //Check the logs to see that messageGatewayService is not null

              log.info("messageGatewayService : " + messageGatewayService);

 

 

              messageGateway = messageGatewayService.getGateway(HtmlEmail.class);

 

 

              //Check the logs to see that messageGateway is not null

              log.info("messageGateway : " + messageGateway);

 

 

              messageGateway.send( email );

             }

          catch ( Exception e ) {

              e.printStackTrace();

              log.error( "Fatal error while sending email in workflow", e );

          }

 

 

     } 

 

 

    }

 

..............................................

 

If this is correct procedure ,

 

email = mailTemplate.getEmail(StrLookup.lookup(properties,HtmlEmail.class));

 

what value required for " properties "(properties can't be resolved)

 

All sugestions are accepted

LDAP set up with CQ 5.5

Viewing all 12476 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>