配置商业日历

上次更新: 2023-11-07

业务日历 为您的组织定义工作日和非工作日(例如,法定假日、周末和公司关门日)。 使用业务日历时,AEM表单在执行某些日期计算时会跳过非业务日。 在Workbench中,您可以指定是将业务日历用于与用户相关的事件(如任务提醒、截止日期和升级),还是用于与用户无关的操作(如计时器事件和等待服务)。

例如,任务提醒配置为在任务分配给用户后的三个工作日发生。 这项任务在星期四分派。 不过,接下来的三天不是工作日,因为星期五是全国性的假日,接下来的两天是周末。 因此,提醒函将于下周的星期三发送。

注意

使用业务日历计算日期和时间时,AEM Forms会使用运行服务器的日期和时间,并且不会调整时区之间的差异。 例如,如果任务提醒安排在伦敦运行的服务器上于上午10:00发生,但接收提醒的用户位于纽约市,则用户将在本地时间上午5:00收到提醒。

使用默认业务日历

AEM forms提供了一个默认的业务日历(名为 内置日历)将星期六和星期日指定为非工作日。 如果组织中的所有用户具有相同的非工作日,则可以更新默认的业务日历以适合您的组织。 仅使用默认业务日历时,您无需在“用户管理”中启用业务日历或提供任何映射。 如果未定义其它业务日历,AEM Forms将使用默认的业务日历。

设置多个业务日历

如果组织中的某些用户具有不同的非工作日,则可以定义多个业务日历并配置映射,以便允许用户在运行时解析业务日历。

定义多个业务日历

  1. 决定如何将相应的业务日历与用户关联。 有两种方法可以将业务日历与用户关联:

    组成员资格: 您可以根据用户的组成员资格为用户分配业务日历。 在这种情况下,组中的每个用户将使用相同的业务日历。

    如果用户是两个不同组的成员,并且这些组被映射到两个不同的业务日历,AEM Forms将使用它在搜索结果中找到的第一个日历。 在这种情况下,请考虑使用业务日历键将用户与业务日历相关联。

    业务日历键: 您可以根据业务日历键(用户管理中指定的设置)将业务日历分配给用户。 然后,将业务日历键映射到表单工作流中的业务日历。

    为用户分配业务日历键的方式取决于您使用的是企业域、本地域还是混合域。 有关设置域的详细信息,请参阅 添加域.

    如果使用本地域或混合域,则有关用户的信息仅存储在User Management数据库中。 要为这些用户设置业务日历键,请在“用户管理”中添加或编辑用户时,在“业务日历键”字段中输入字符串。 (请参阅 添加和配置用户.) 然后,将业务日历键(字符串)映射到表单工作流中的业务日历。 (请参阅 将用户和组映射到业务日历.)

    如果您使用的是企业域,则有关用户的信息驻留在第三方存储系统中,例如LDAP目录,用户管理将该目录与用户管理数据库同步。 这样,您可以将业务日历键映射到LDAP目录中的字段。 例如,如果目录中的每个用户记录都包含“国家/地区”字段,并且要根据用户所在的国家/地区分配业务日历,请在指定目录的用户设置时,在“业务日历键”字段中指定“国家/地区”字段名称。 (请参阅 配置目录.) 然后,您可以将业务日历键(为LDAP目录中的“国家/地区”字段定义的值)映射到表单工作流中的业务日历。 (请参阅 将用户和组映射到业务日历.)

  2. 在表单工作流中,为共享相同非工作日的每组用户定义一个日历。 (请参阅 创建或更新业务日历.)

  3. 在表单工作流中,映射每个日历的业务日历键或组成员资格。 (请参阅 将用户和组映射到业务日历.)

  4. 在Workbench中,流程开发人员选择是否将业务日历用于提醒、截止日期和升级。 (请参阅 Workbench帮助.)

    如果流程开发人员选择使用业务日历,AEM Forms将根据“用户管理”设置和Administration Console中定义的业务日历映射动态选择相应的业务日历;如果不存在映射,则使用默认日历。

    如果流程开发人员不使用业务日历,则事件的日期计算会将每天视为一个业务日。 例如,任务截止日期配置为在任务分配给用户后的三天发生。 这项任务在星期四分派。 任务截止日期为星期日,即使它是一个周末。

创建或更新业务日历

如果贵组织包含具有不同非营业日的不同用户集,则可以定义多个营业日历。 您还可以更改现有日历,包括AEM表单提供的默认内置日历。

注意

如果未创建业务日历,则使用默认日历。

  1. 在管理控制台中,单击服务> Forms工作流>业务日历。

  2. 要添加新业务日历,请单击 bus_cal_plus. 文本 新建日历 显示在下拉列表中。 选择文本并为日历键入其他名称。

    要编辑现有业务日历,请从下拉列表中选择它。

  3. 在默认非工作日下,选择任何每周非工作日,如周末。

  4. [可选] 选择使用营业时间,并指定营业日的开始和结束时间。

    如果选择此选项,则发生在指定时间范围之前的事件将被移动到时间范围的开始,而发生在时间范围之后的事件将被移动到下一个工作日的开始时间。

    例如,假定用户在星期二凌晨2:00分配了任务,并且该任务的提醒设置为两个工作日。 如果没有上班时间,提醒将会在周四凌晨2点进行。 如果工作时间设置为上午8:00到下午5:00,则提醒将被推送到星期四上午8:00。 如果没有工作时间,如果提醒事件是在星期二下午6:00创建的,则提醒将在星期四工作时间之后进行。 如果工作时间设置为上午8:00到下午5:00,则提醒将在星期五上午8:00进行。

  5. 在左侧的日历中,双击任何其他非工作日,例如假日。 您不能选择过去的天数。 您选择的非工作日会显示在右侧的列表中,其中日期在一行中显示两次。 选择左侧的日期以键入非工作日的名称或描述。

    要从列表中删除非工作日,请单击 bus_cal_trash 在白天旁边。

  6. [可选] 如果此日历是默认日历,请选择默认日历。 如果用户相关事件不存在其他日历映射,或者没有为“计时器事件”或“等待服务”指定业务日历,则使用默认日历。 您无法删除默认日历。

  7. 定义完非工作日后,选择“启用日历”以将其激活,然后单击“保存”。

    如果您正在更新现有日历,新版本将立即生效,并用于所有业务日历计算,包括已在运行的任务。

    注意

    如果未启用日历,则使用默认日历。

将用户和组映射到业务日历

可以使用两种方法将业务日历与用户关联。 您可以根据业务日历键或用户所属的目录组向用户分配业务日历。 您可以使用“映射”选项卡指定AEM表单将使用的方式,还可以将业务日历键和组映射到业务日历。 有关将业务日历键与用户关联的详细信息,请参阅 设置多个业务日历.

根据业务日历键将业务日历与用户关联

  1. 在管理控制台中,单击服务>表单工作流>业务日历,然后单击映射选项卡。

  2. 在“系统将使用”列表中,选择“用户管理器” “业务日历密钥解析”。

  3. 选择显示用户管理器业务日历键。 此时将显示一个列表,其中包含一组已在“用户管理”中定义的唯一业务日历键。

    对于本地域和混合域,列表会显示在“用户管理”的“业务日历密钥”字段中输入的值。 对于企业(LDAP)域,此列表显示从LDAP字段(例如,“国家/地区”)返回的唯一集,该字段已在LDAP域设置中配置。

    如果用户管理管理员未定义任何业务日历键,则列表将为空。

  4. 为UM业务日历键列表中的每个项目选择一个日历。

  5. 单击保存。

根据目录服务组将业务日历与用户和组相关联

  1. 在管理控制台中,单击服务>表单工作流>业务日历,然后单击映射选项卡。

  2. 在系统将使用列表中,选择由目录服务器定义的组。

  3. 在“映射”选项卡上,选择“显示目录服务组”。 此时将显示一个列表,其中包含已在“用户管理”中定义的组。 (请参阅 目录设置.)

    注意

    在Workbench中,如果您已将用户服务配置为使用业务日历,并且已将该服务分配给某个组,则AEM Forms会使用此处指定的组映射来解析该组的日历。 AEM Forms始终使用组映射来解析组的日历,即使您使用业务日历键为用户解析日历也是如此。 如果未找到组映射,则使用默认的业务日历。

  4. 对于“目录服务组”列表中的每个项目,选择日历。

  5. 单击保存。

导出和导入业务日历

AEM表单允许您将业务日历导出为XML文件并将其导入。 您可以使用此功能将日历从暂存系统移动到生产系统。

注意

此功能可导出和导入所有已定义的业务日历,包括AEM表单提供的默认业务日历。 与现有日历同名的导入业务日历将覆盖现有日历。

导出业务日历

  1. 在管理控制台中,单击服务>表单工作流>业务日历。
  2. 单击导出并保存XML文件。

导入业务日历

  1. 在管理控制台中,单击服务>表单工作流>业务日历。
  2. 单击“导入”。
  3. 选择包含导出的业务日历的XML文件,然后单击“打开”。

删除业务日历

您可以删除您的组织不再需要的任何业务日历。 如果删除仍映射到用户和组的业务日历,则使用默认日历。

  1. 在管理控制台中,单击服务> Forms工作流>业务日历。
  2. 选择日历。
  3. 单击删除。

在此页面上