业务 日历为贵组织定义业务日和非业务日(例如,法定假日、周末和公司关闭日)。使用业务日历时,AEM表单在执行某些日期计算时会跳过非工作日。 在Workbench中,您可以指定是将业务日历用于与用户关联的事件(如任务提醒、截止时间和升级),还是用于与用户无关的操作(如计时器事件和等待服务)。
例如,任务提醒配置为在任务分配给用户后的三个工作日内发生。 任务在星期四分配。 但是,接下来的三天不是工作日,因为星期五是全国假日,接下来的两天是周末。 因此,该提醒将在下周的星期三发送。
在使用业务日历计算日期和时间时,AEM Forms会使用其运行的服务器的日期和时间,并且不会根据不同时区之间的差异进行调整。 例如,如果任务提醒计划在伦敦运行的服务器上上午10:00发生,但接收提醒的用户位于纽约市,则用户将在当地时间上午5:00收到该提醒。
AEM Forms提供默认的业务日历(名为内置日历),将星期六和星期日指定为非工作日。 如果贵组织中的所有用户具有相同的非工作日,您可以更新默认的业务日历以适合贵组织。 仅使用默认业务日历时,您无需在用户管理中启用业务日历或提供任何映射。 如果未定义其他业务日历,则AEM表单会使用默认的业务日历。
如果您组织中的某些用户具有不同的非工作日,则您可以定义多个业务日历并配置允许用户运行时解析业务日历的映射。
确定如何将相应的业务日历与用户关联。 有两种方法可将业务日历与用户关联:
群组成员资格: 您可以根据用户的群组成员资格将业务日历分配给用户。在这种情况下,群组中的每个用户都将使用相同的业务日历。
如果用户是两个不同组的成员,并且这些组被映射到两个不同的业务日历,则AEM表单将使用其在搜索结果中找到的第一个日历。 在这种情况下,请考虑使用业务日历键将用户与业务日历关联。
业务日历键: 您可以根据业务日历键(在用户管理中指定的设置)将业务日历分配给用户。然后,在表单工作流中将业务日历键值映射到业务日历。
您为用户分配业务日历键的方式取决于您使用的是企业域、本地域还是混合域。 有关设置域的详细信息,请参阅添加域。
如果您使用的是本地域或混合域,则有关用户的信息仅存储在用户管理数据库中。 要为这些用户设置业务日历键,请在用户管理中添加或编辑用户时,在“业务日历键”字段中输入字符串。 (请参阅添加和配置用户。) 然后,在表单工作流中将业务日历键值(字符串)映射到业务日历。 (请参阅将用户和组映射到业务日历。)
如果您使用的是企业域,则有关用户的信息将驻留在第三方存储系统中,如LDAP目录,用户管理与用户管理数据库同步该目录。 这允许您将业务日历键映射到LDAP目录中的字段。 例如,如果目录中的每个用户记录都包含“国家/地区”字段,并且您想要根据用户所在的国家/地区来分配业务日历,则在指定目录的用户设置时,在“业务日历键值”字段中指定“国家/地区”字段名称。 (请参阅配置目录。) 然后,您可以将业务日历键(LDAP目录中“国家/地区”字段定义的值)映射到表单工作流中的业务日历。 (请参阅将用户和组映射到业务日历。)
在表单工作流中,为共享相同非工作日的每组用户定义一个日历。 (请参阅创建或更新业务日历。)
在表单工作流中,映射每个日历的业务日历键或组成员关系。 (请参阅将用户和组映射到业务日历。)
在Workbench中,流程开发人员选择是否将业务日历用于提醒、截止日期和升级。 (请参阅Workbench帮助。)
如果流程开发人员选择使用业务日历,则AEM表单将根据用户管理设置和管理控制台中定义的业务日历映射动态选择相应的业务日历,或者,如果不存在映射,则使用默认日历。
如果流程开发人员不使用业务日历,则事件的日期计算会将每天视为工作日。 例如,任务期限配置为在将任务分配给用户三天后发生。 任务在星期四分配。 任务期限是周日,尽管是周末。
如果贵组织包含具有不同非工作日的不同用户集,则可以定义多个业务日历。 您还可以更改现有日历,包括随AEM表单一起提供的默认内置日历。
如果不创建新的业务日历,则将使用默认日历。
在管理控制台中,单击服务> Forms工作流>业务日历。
要添加新的业务日历,请单击。 文本New Calendar将显示在下拉列表中。 选择文本并键入日历的其他名称。
要编辑现有业务日历,请从下拉列表中选择该日历。
在“默认非工作日”下,选择任何每周非工作日,如周末。
[] 可选选择使用工作时间,并指定工作日的开始时间和结束时间。
如果选择此选项,则在指定时间范围之前发生的事件将移至时间范围的开头,而在时间范围之后发生的事件将移至下一工作日的开始时间。
例如,假设某位用户在星期二凌晨2:00分被分配了一项任务,并且该任务的提醒设置为两个工作日。 如果没有工作时间,提醒会在周四凌晨2点发生。 如果将工作时间设置为上午8:00至下午5:00,则提醒会被推送到星期四上午8:00。 如果没有工作时间,如果在周二下午6点创建了提醒事件,则提醒会在周四的工作时间之后发生。 工作时间设置为上午8:00至下午5:00,此时将在星期五上午8:00发出提醒。
在左侧的日历中,双击任何其他非工作日,如节假日。 您不能选择过去的日子。 您选择的非工作日显示在右侧的列表中,日期在一行中显示两次。 选择左侧的日期,以键入非工作日的名称或描述。
要从列表中删除非工作日,请单击该日旁边的。
[] 可选如果此日历将作为默认日历,请选择“默认日历”。如果与用户关联的事件不存在其他日历映射,或者没有为计时器事件或等待服务指定任何业务日历,则使用默认日历。 您无法删除默认日历。
定义完非工作日后,选择“启用日历”使其处于活动状态,然后单击“保存”。
如果要更新现有日历,则新版本将立即生效,并用于所有业务日历计算,包括已运行的任务。
如果不启用日历,则将使用默认日历。
可以使用两种方法将业务日历与用户关联。 您可以根据业务日历键或用户所属的目录组将业务日历分配给用户。 您可以使用“映射”选项卡指定AEM表单将使用的方法,还可以将业务日历键和组映射到业务日历。 有关将业务日历键与用户关联的详细信息,请参阅设置多个业务日历。
在管理控制台中,单击服务>表单工作流>业务日历,然后单击映射选项卡。
在“System Will Use(系统将使用)”列表中,选择“User Manager Business Calendar Key Resolution(用户管理商业务日历密钥解析)”。
选择“显示用户管理器业务日历密钥”。 此时会显示一个列表,其中包含在用户管理中定义的一组唯一的业务日历键。
对于本地和混合域,列表会显示在“用户管理”的“业务日历键值”字段中输入的值。 对于企业(LDAP)域,列表会显示从在LDAP域设置中配置的LDAP字段(例如,“国家/地区”)返回的唯一集。
如果用户管理管理员未定义任何业务日历键,则列表将为空。
对于UM业务日历键列表中的每个项目,选择一个日历。
单击保存。
在管理控制台中,单击服务>表单工作流>业务日历,然后单击映射选项卡。
在“System Will Use(系统将使用)”列表中,选择“Directory Server(目录服务器)”定义的组。
在“映射”选项卡上,选择“显示目录服务组”。 此时会显示一个列表,其中包含已在用户管理中定义的组。 (请参阅目录设置。)
在Workbench中,如果您已将用户服务配置为使用业务日历,并且该服务已分配给群组,则AEM表单会使用此处指定的群组映射来解析群组的日历。 AEM Forms始终使用组映射来解析组的日历,即使您使用业务日历键来解析用户的日历也是如此。 如果未找到组映射,则将使用默认的业务日历。
对于“目录服务组”列表中的每个项目,选择一个日历。
单击保存。
AEM Forms允许您将业务日历导出为XML文件并将其导入。 您可以使用此功能将日历从暂存系统移动到生产系统。
此功能可导出和导入所有定义的业务日历,包括AEM表单提供的默认业务日历。 与现有日历同名的导入业务日历将覆盖现有日历。
您可以删除贵组织不再需要的任何业务日历。 如果删除仍映射到用户和群组的业务日历,则将使用默认日历。