标签: aem

CQ5以编程方式运行工作流程

我在CQ中创建了一个需要通过XHR以编程方式运行的工作流程.

正如你们许多人所知,CQ文档并不是最好的(至少在这一点上).我该如何以编程方式运行它?

workflow servlets aem

13
推荐指数
1
解决办法
7582
查看次数

视觉模板中的条件属性(AEM/CQ)

在Sightly模板语言中,对于Adobe AEM6(CQ),如果条件为真,如何在不重复大量代码/逻辑的情况下,如何向元素添加属性?

例如

<ul data-sly-list="${items}" ${if condition1} class="selected"${/if}>
    <li${if condition2} class="selected"${/if}>
        Lots of other code here
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

templating aem sightly

13
推荐指数
1
解决办法
2万
查看次数

ResourceResolverFactory getServiceResourceResolver在AEM 6.1中抛出异常

我想向AEM写一些数据,下面的代码在AEM 6.0中适用于我,但在AEM 6.1中没有,总是抛出一个Login Exception,如下所示:

" 获取服务的CRX用户时出现登录异常:'writeService'.org.apache.sling.api.resource.LoginException:无法派生bundle group.tti.commons-service [395]和子服务writeService的用户名 "

OSGI配置:

在此输入图像描述

我班上的代码:

import javax.jcr.Session;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
....
@Reference
private ResourceResolverFactory factory;
private ResourceResolver resourceResolverWriter;
private static Session adminSession;
...
...
Map<String, Object> param = new HashMap<String, Object>();        
    param.put(ResourceResolverFactory.SUBSERVICE, "writeService");
try {
  resourceResolverWriter = factory.getServiceResourceResolver(param);            
  adminSession = resourceResolverWriter.adaptTo(Session.class);
...
} catch (LoginException e) {
...
}
Run Code Online (Sandbox Code Playgroud)

我在AEM 6.1上遗漏了什么?

sling aem

13
推荐指数
2
解决办法
1万
查看次数

当目标元素和目标元素在不同的帧中时,如何使用selenium-webdriver执行拖放操作?

我必须拖动图像并将其放入CQ5组件中.图像和组件位于不同的帧中.

以下是无效的代码,因为destination当目标框架处于活动状态时无法找到webelement .

new Actions(driver).dragAndDrop(target, destination).perform();

我还尝试在动作之间切换帧:

    Actions builder = new Actions(driver);
    Actions action = builder.clickAndHold(target);
    driver.switchTo().frame("newFrame"); //switching frames
    builder.moveToElement(destination);
    builder.release(destination);
    builder.build();
    action.perform();
Run Code Online (Sandbox Code Playgroud)

这也不起作用.然后,我尝试通过偏移移动图像

new Actions(driver).dragAndDropBy(target,  x, y).perform(); // x and y 
Run Code Online (Sandbox Code Playgroud)

这移动了图像,但组件没有捕获它,可能因为动作太快了.有没有办法可以做这样的拖拽?

提前致谢.

selenium automated-tests selenium-webdriver aem

12
推荐指数
1
解决办法
2万
查看次数

确定Adobe CQ中的运行模式

如何以编程方式知道实例正在运行的运行模式?我创建了一个自定义标记,根据实例运行模式提供配置,但我无法确定当前的运行模式.
我找到了一个返回run-mods实例列表的方法:

SlingSettings settings = ...get from BundleContext...
Set<String> currentRunModes = settings.getRunModes();
Run Code Online (Sandbox Code Playgroud)

但我无法获取SlingSettings或BundleContext对象.如何获取这些对象,或者可能有另一种方法来获取当前的运行模式?

adobe osgi sling day-cq aem

12
推荐指数
3
解决办法
2万
查看次数

Adobe AEM/CQ教程

我真的很想学习"Adobe CQ".我的问题是,我需要学习哪些技术来理解adobe cq.

有关Adobe CQ和相关技术的任何教程都很有帮助.

谢谢你,斯里兰卡

adobe aem

12
推荐指数
1
解决办法
2万
查看次数

如何设置资源属性

我有一个Sling Resource对象.设置或更新其财产的最佳方式是什么?

jcr sling aem

12
推荐指数
1
解决办法
1万
查看次数

在AEM 6对话框中有条件地显示/隐藏字段

我正在使用一个简单的创作对话框构建一个相对简单的AEM组件.在我的对话框顶部是一个选择字段.当此选择字段设置为特定项时,我希望对话框中的某些字段消失.

我已经研究了Foundation Carousel组件的实现,它使用了cq-dialog-dropdown-showhide-target属性,这很好,但不是我想要的逻辑.那里使用的逻辑是:

如果select等于X,则显示此字段

而我正在尝试实施:

如果select等于X,Y或Z,则隐藏此字段,否则显示它

有没有其他人在对话框中实现这种逻辑有困难?

先感谢您!

戴夫

aem

12
推荐指数
1
解决办法
1万
查看次数

AEM 6.0:使用data-sly-resource时的附加参数?

我正在尝试实现一些我希望相对简单的东西...我有一个组件(让我们称之为包装器组件),它包含另一个组件(让我们称之为内部组件)通过data-sly-resource标签:

<div data-sly-resource="${ 'inner' @ resourceType='/projectname/components/inner' }"></div>
Run Code Online (Sandbox Code Playgroud)

我想用这个标签传递一些额外的参数,特别是一个可以在内部组件模板中选择的参数?我试图指定是否根据通过data-sly-resource调用组件时传入的参数来解包内部模板外部html标记.

在试验和仔细阅读文档后,我无法找到实现这一目标的方法.

有谁知道这是否可能?

非常感谢,

戴夫

aem sightly

12
推荐指数
3
解决办法
1万
查看次数

AEM性能问题(内存泄漏缓慢)org.slf4j.helpers.BasicMarker和org.slf4j.helpers.BasicMarkerFactory

我目前正在将Adobe Experience Manager(AEM也称为CQ)用于客户端站点(Java平台).它使用OpenJDK:

java version "1.7.0_65" 
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17) 
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)

它在Rackspace上运行,具有以下内容:

vCPU: 4 
Memory: 16GB 
Guest OS: Red Hat Enterprise Linux 6 (64-bit)
Run Code Online (Sandbox Code Playgroud)

由于它已经投入生产,我在应用程序方面遇到了非常慢的性能.它就是这样我启动应用程序,一切顺利然后7到10天后CPU使用率达到400%(每天约4000个用户点击网站).该网站变得异常缓慢,永远不会成为OOM例外.

由于我是Java内存管理的新手,我开始阅读它是如何工作的,并找到了像jstat和jmap这样的工具.当系统第二次被淹没时,我得到一个堆转储并挖到它.

这一切似乎都在指出org.slf4j.helpers.BasicMarkerFactory和org.slf4j.helpers.BasicMarker,因为当我用MAT eclipse进行分析时,我看到保留大小的最大保留对象是:

org.slf4j.helpers.BasicMarkerFactory @ 0x6021a4f00
Shallow Size: 16 B Retained Size: 6.8 GB
Run Code Online (Sandbox Code Playgroud)

当我运行泄漏嫌疑人报告时,我得到以下结果:

Description
One instance of "org.slf4j.helpers.BasicMarkerFactory" loaded by "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x60219a878" occupies 7,263,024,848 (96.71%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by "<system class loader>".

Keywords …
Run Code Online (Sandbox Code Playgroud)

java performance memory-leaks slf4j aem

12
推荐指数
1
解决办法
1743
查看次数