调研workflow之archive page处理

发布于:2026-07-08 Adobe AEM 0条评论


一、背景

针对当前业务可能存在经常进行批量unpublish和archive页面的诉求,在频繁对多个页面以及自己实际去操作的基础上,结合当前情况给出的解决方案建议。

二、分析

1、步骤拆分

1.1 获取页面路径

当前业务的页面路径都是存在Excel中,大致如下样式:

详情参考Excel:

FY2425_Detailed_Archive_…

2.2 批量unpublish

2.2.1 通过Manage Publication手动选择多个页面(适合比较少的页面)

参考:https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/sites/authoring/sites-console/publishing-pages#unpublishing-pages

现有解决方式,选中上层目录,点击Manage Publication,如下:

选中Unpublish:

点击Add Content:

然后依次选中要unpublish的页面:

点击Unpublish即可(最好是删除掉勾选的目录):

2.3 批量archive

2.3.1 手动批量选择Copy然后Delete(适合比较少的页面)

选中要Archive的页面,点击Copy:

选中要Copy至的目标目录,然后点击Paste:

最后再勾选源页面删除即可:

2、方案对比

2.1 workflow

优点:AEM中现有的功能

缺点:

①需要通过手动勾选页面,然后选择出发workflow,没有办法导入页面路径去执行,也没有办法实现copy的功能;

②工作流的熟悉成本;

参考:https://experienceleague.adobe.com/en/docs/experience-manager-learn/foundation/workflow/use-the-workflow-editor

2.2 本地脚本执行(python、curl等)

优点:

①操作快捷可靠,便于开发使用,步骤可拆分执行,首先创建好备份的目录,路径粘贴到指定文本,将Cookie导入后直接执行即可;

②由于输出了每一步调用后的执行日志,可以根据日志看出哪些执行失败。

缺点:

①业务没法直接使用;

②如果是频繁有相关的处理逻辑,会占用部分开发的工作时间(通过脚本不会有太大工作量,但是需要开发进行监控和验证)。

2.3 创建单独的功能页面

优点:界面是AEM标准页面,方便业务操作。

缺点:

①具有一定的开发成本,设计的方案得确实方便业务要求;

②没有办法直接去检查到底哪些执行失败;

③如果业务误操作了还存在开发人员的运维成本。

概述:

①创建独立的组件用于该功能

②创建独立的页面将组件拖入

③业务使用的时候进入该页面点击View as Publish进入页面

④使用组件,组件工作流程大致如下:

三、总结

说明:如果当前诉求是频繁且业务想亲自进行操作的,那么目前来看,【2.3】中最后一种方案是目前较为可行且便捷的,如果进行实施,可以按以下步骤依次推进。

1、后端Servlet接口开发

第一步可以先开发一个servlet接口,参数如下:

参数名参数值说明
path/content/www/us/en/folder/a,/content/www/us/en/folder/b,/content/www/us/en/folder/c数组形式支持多个链接
destPath/content/www/us/en/folder/archive_20241111/

目标路径,即页面挪动到的目标目录

这样即便是本地通过脚本也可以调用该接口进行处理。

2、前端组件开发

创建新的组件,对接后端servlet接口进行功能调试,然后进行样式调整,组件样式大致如下:

最后将组件的componentGroup属性进行定义,并分配至对应页面模板,建议使用Base Page,这样可以在任何模板类型的页面下去创建。

3、测试环境使用

将组件在本地调试完毕后,部署到DEV环境进行测试。

创建单独用于该操作的页面进行处理,如/content/www/lenovo/global/us/trigger-archive

页面进入Editor页面,然后拖入组件,创建一个archive的页面用于目标地址,找一个测试的页面路径进行测试即可。

4、业务测试使用

待代码部署到QA、Stage环境,将对应页面创建调试完毕后,可交由业务进行测试使用。

5、上线

待代码部署到Prod环境后,将对应触发页面创建调试完毕后,交由业务使用。

上一篇

组件代理

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理