为了账号安全,请及时绑定邮箱和手机立即绑定

如何将AEM标签导出到 Excel 中

如何将AEM标签导出到 Excel 中

Go
MMTTMM 2022-09-21 17:40:25

昨天我不得不将所有AEM标签导出到Excel文件中。在浏览以寻找最佳解决方案时,我发现几乎每个人都建议编写自定义代码,该代码将所有标记并输入Excel文件中。

我认为这个解决方案很好,但是由于有很多人第一次做这样的事情,他们可能需要一些时间才能弄清楚如何做到这一点。

对于他们,让我们分享一些解决此问题的方法。


查看完整描述

4 回答

?
慕勒3428872

TA贡献1541条经验 获得超4个赞

要获取逗号分隔的标签列表,我建议使用命令行,内置AEM查询构建器和(https://stedolan.github.io/jq/)。curljq

一般方法:

  1. 使用查询生成器构建/etc/tags

  2. 用于“下载”JSONcurl

  3. 用于“解析”JSON 并创建 CSVjq

例:

导出以下所有标签及其路径,标题和描述将如下所示:/etc/tags

curl \

    --user admin:admin \

    --silent \

    "http://localhost:4502/bin/querybuilder.json?p.hits=selective&p.limit=-1&p.properties=jcr%3atitle%20jcr%3apath%20jcr%3adescription&path=%2fetc%2ftags&type=cq%3aTag" \

    | jq --raw-output '.hits[] | [."jcr:path", ."jcr:title", ."jcr:description"] | @csv' \

    > tags.csv

这将向本地AEM实例发送请求(),使用密码以用户身份进行身份验证(AEM的默认设置),使用查询生成器API()获取类型为以下的所有资源,以及它将“选择”属性和。GEThttp://localhost:4502adminadmin/bin/querybuilder.jsoncq:Tag/etc/tagsjcr:pathjcr:titlejcr:description


生成的 JSON 如下所示:


{

  "success": true,

  "results": 2,

  "total": 2,

  "more": false,

  "offset": 0,

  "hits": [

    {

      "jcr:path": "/etc/tags/experience-fragments",

      "jcr:description": "Tag structured used by the Experience Fragments feature",

      "jcr:title": "Experience Fragments"

    },

    {

      "jcr:path": "/etc/tags/experience-fragments/variation",

      "jcr:description": "A tag used by the experience fragments variations",

      "jcr:title": "Variation"

    },

  ]

}

接下来,上面的命令将生成的 JSON 从查询生成器通过管道传输到 ,后者将使用“query”仅读取数组和该数组中的每个项,以及 。然后将生成的数组用作 的“字符串格式化程序”的输入,这将创建正确的逗号分隔输出。jq.hits[] | [."jcr:path", ."jcr:title", ."jcr:description"]hitsjcr:pathjcr:titlejcr:description@csvjq


上面的 JSON 将格式化为:


"/etc/tags/experience-fragments","Experience Fragments","Tag structured used by the Experience Fragments feature"

"/etc/tags/experience-fragments/variation","Variation","A tag used by the experience fragments variations"

命令的最后一部分只是将输出重定向到调用的文件,而不是命令行。> tags.csvtags.csv


AEM有一个查询构建器调试器,可用于创建查询,然后可以在命令行命令中使用:


http://localhost:4502/libs/cq/search/content/querydebug.html


我上面使用的查询参数在工具中如下所示:


path=/etc/tags

type=cq:Tag

p.hits=selective

p.limit=-1

p.properties=jcr:title jcr:path jcr:description

您可以根据需要添加属性,但要使它们显示在 CSV 中,还必须更新 所使用的查询。jq


如果将翻译添加到标记中,它们将存储在名为 的属性中。例如,如果将标记转换为德语,则将具有两个属性:和 。如果你想要翻译,你必须扩展和添加等。jcr:title.<language-code>jcr:titlejcr:title.dep.propertiesjcr:title.de


查看完整回答
反对 回复 2022-09-21
?
有只小跳蛙

TA贡献1497条经验 获得超7个赞

AEM中有一个GUI,可以将内容导出为excel[几乎]。要在系统中获取标签的tsv文件,可以使用AEM的批量编辑器。导航到服务器上的“/etc/importers/bulkeditor.html”。将路径设置为“/etc/标签”或子树。在查询字段中,键入“类型:标记”。选择需要导出的属性并点击搜索。然后,可以通过导出按钮将结果导出到tsv文件。

//img1.sycdn.imooc.com/632b1181000116d206530244.jpg

查看完整回答
反对 回复 2022-09-21
?
HappyDay1234567890

TA贡献1501条经验 获得超11个赞

如果您需要导出标签,这里有一个简单的解决方案,介绍如何轻松导出它们,然后有几种方法可以将其导入Excel中,而无需为此编写自定义代码。

要导出AEM标签,请执行以下5个步骤:

  1. 打开包管理器

  2. 创建包(给它一些有意义的名称)

  3. 编辑创建的包

  4. 完成保存

  5. 构建

  6. 下载

然后,您将所有标记放在{download_package_name}/jcr_root/等/标记中。

现在有几种方法可以将下载的标签下载到Excel文件中。这是如何在视窗上执行此操作 -

来源:有没有办法将文件夹结构导出到excel中?

在Windows资源管理器中找到该文件夹,然后右移右键单击该文件夹并选择“在此处打开命令窗口”。键入以下提示:

目录 /a /s /b >文件列表.txt

这将为您提供一个保存在顶部文件夹中的文本文件,您可以在笔记本中打开该文件,然后将其复制并粘贴到Excel文档中。


查看完整回答
反对 回复 2022-09-21
?
白板的微信

TA贡献1536条经验 获得超3个赞

我没有权限对接受的答案发表评论,但我认为添加到优秀的接受答案中会很有用:如果您使用的是> = 6.4,那么您可能需要将查询中的路径更改为/content/cq:tags(1),或者如果您的安装随着时间的推移而升级并且您具有长期存在的标记,则可能需要查询两个路径。我得到了0次点击,尽管我在查看时可以看到几百 http://localhost:4502/tagging

(1) https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/tagging-issue-in-aem-6-4/qaq-p/320994

希望这个非答案不会过分皱眉头。


查看完整回答
反对 回复 2022-09-21

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信