在我们的源代码中,我们有一些dialog.xml文件来表示对话框组件的结构。我们通过maven将项目部署到我们的本地CQ服务器进行开发和测试。有时我们需要通过CRXDE Lite(在CQ服务器中)修改对话框组件,因为以这种方式编辑对话框要快得多。
问题是:如何将已编辑的对话框组件(从CRXDE Lite)导出回其对应的dialog.xml文件?
答案 0 :(得分:16)
CRXDE Lite本身不提供导出到XML的功能,但您可以通过几种不同的方式获取dialog.xml
。假设您想要获取/libs/foundation/components/text
组件的对话框:
<强> 1。 Sling GET servlet - 快速&amp;脏强>
输入浏览器的对话框路径并添加.xml
扩展程序:
http://localhost:4502/libs/foundation/components/text/dialog.xml
<强> 2。 VLT - 推荐方式
使用VLT工具,这是在JCR和本地文件系统之间同步的标准方法:
vlt export http://localhost:4502/crx /libs/foundation/components/text my-export
# cat my-export/jcr_root/libs/foundation/components/text/dialog.xml
第3。包管理器
打开/crx/packmgr/index.jsp
,然后在包含第一个版本对话框的包上单击构建。它将使用当前内容重建包。下载该软件包,解压缩并在其中找到相应的dialog.xml
文件。
答案 1 :(得分:5)
另一种方法(与Tomek Rękawek's answer中描述的第三个选项相关)是使用CRXDE Lite的包管理器创建包。以下是有关如何执行此操作的简单分步指南:
打开CQ5,然后转到CRXDE Lite。
点击顶栏上的“套餐”图标
点击“创建包”链接。
将打开一个弹出窗口,输入您要创建的包的名称和版本,并将其分配给一个组:
现在您创建的包将显示在包列表中,单击其标题可获得一些其他选项:
点击编辑,将出现一个新的弹出窗口。然后单击“过滤器”选项卡,您不应该只创建包:
单击“添加过滤器”按钮,然后在“根路径”字段中输入要导出的组件的路径(例如,我为Geometrixx应用程序{{3}创建了textimage2组件}):
点击“完成”,过滤器应立即显示:
点击“保存”按钮。
过滤器现在应显示在包的说明中。单击“构建”选项:
将显示确认消息,再次点击“Build”:
现在该包的所有选项都将处于活动状态。单击“下载”一个以获取包含所有文件的ZIP。
提取ZIP文件的内容,dialog.xml文件将在那里供您修改。
我知道这个过程可能看起来有点长,但它很容易完成,它具有可重用的巨大优势:一旦你创建了一个包,你只需要重建它就可以得到最新版本的ZIP中的组件代码。
修改后导入/共享非常容易:只需再压缩所有文件(保留文件夹结构)并使用CRX Package Manager中的“上传包”功能。
答案 2 :(得分:-1)
WebDAV是另一种导出和导入jcr-repository内容的方法; 要访问存储库,首先,您必须使用任何webdav客户端(带有WebDAV插件的Total Commander是最好的或BitKinex)。 确保&#39; Apache Sling Simple WebDAV访问存储库(org.apache.sling.jcr.webdav)&#39;捆绑是活跃的&#39;状态(在选项卡上&p; t t:// host:port / system / console / bundles&#39;); 只需通过url通过webdav客户端连接到您的实例: 主持人:端口\ CRX \库\ crx.default 提供实例的登录名和密码; 因此,您可以从文件系统中下载文件或从文件系统中下载文件。它比从vq 5.5开始的vlt同步更稳定(我们遇到cq 5.4的问题);即使在cq 5.6上,我们也有许多vlt的问题(例如&#39; [错误]结帐:java.lang.NullPointerException:null&#39;在结账过程中)