介绍

OTRS（Open Technology – Real Service）是一个开源的工单请求系统，具有许多管理客户电话和电子邮件的功能。 它在GNU通用公共许可证（GPL）下分发，并在各种Linux平台上进行过测试。 您是否收到许多电子邮件，并希望与服务团队一起响应？ 你会爱上OTRS的！

关于本手册

本手册适用于OTRS管理员。 这些章节描述了OTRS软件的管理。 当您以管理员身份登录时，管理员界面位于主菜单的 系统管理 菜单项中。 管理员是属于 admin 组的成员的用户。

管理员界面

管理员界面包含汇集到组中的多个模块。 使用左侧边栏中的过滤器框，只需键入要过滤的名称即可查找特定模块。

本手册向您展示了解决常见问题所需的配置可能性。 章节：

为管理员确定一个典型的用例，以帮助进行定位，并解释OTRS提供的解决方案的 内容 （质量保证）。

指导 如何 配置OTRS以适应您的用例（实用）。

这些章节与管理员界面中的模块相同。 章节的顺序也与在管理员（英语）界面中按字母顺序显示的顺序相同。 但是，配置新的OTRS安装的步骤与此顺序不同。 我们建议配置OTRS以执行以下说明的步骤。

新手入门

注解

OTRS is installed by the Customer Solution Team. Please contact the Customer Solution Team via support@otrs.com or in the OTRS Portal.

全新的OTRS安装仅包含默认设置。 您需要自定义系统才能正常工作并满足您的需求。

First, you need to check some 系统配置 and modify the values, if needed. FQDN, SystemID and SendmailModule::Host are the most important. Defining the TimeWorkingHours setting for working hours and the TimeVacationDays setting for public holidays are also needed to calculate the escalation times correctly in OTRS.

然后，打开 邮箱管理员邮件帐户 模块以添加系统使用的电子邮件地址。 要发送电子邮件，您可以添加更多的 邮件地址。

为了提高安全性，可以使用 PGP密钥 或 S/MIME证书 来加密电子邮件。

让我们继续使用用户，但您可能需要先向系统添加一些 组 和/或 角色。 建议为每个主队列创建新组。 您的OTRS中有一些组，但默认情况下没有定义任何角色。 如果需要，您可以添加角色，并且可以设置 角色 ↔ 组 关系。

下一步是向系统添加 服务人员 并设置 服务人员 ↔ 组 和/或 服务人员 ↔ 角色 关系。

现在您可以添加 客户 和 客户用户。 客户是指公司/单位，客户用户是该公司/单位的员工。

注解

服务人员和客户用户都可以使用AD域或LDAP进行身份验证登录。 在这些情况下，不需要手动添加用户。

与服务人员一样，客户用户也可以使用 客户用户 ↔ 组 管理屏幕分配给组。 同样，也可以设置 客户用户 ↔ 客户 关联。

您的OTRS安装已包含标准问候语和标准签名，但您可能需要编辑它们或创建新的 问候语 和 签名。 如果没有问候语和签名，则无法创建队列，并且只能为队列分配一个问候语和签名。

在设置系统地址、问候语、签名、组之后，可以继续设置 队列。每个队列必须分配给一个组，并且只有组成员才能看到分配的队列中的工单。

现在，您可以添加 自动响应 并使用 队列 ↔ 自动响应 管理屏幕将它们分配到队列。您的OTRS安装已经包含了一些自动响应，您可以使用或编辑它们，不用创建新的响应。

要减少响应工单所需的时间，可以创建 模板 或 短信模板。

普通模板可以包含 附件，您可以使用 模板 ↔ 附件 管理屏幕将上传的附件分配给模板。

When templates are created, you can set the templates to use in queues in the 模板↔队列 or 短信模板 ↔ 队列 management screens.

您需要查看默认的 优先级、 状态 和 类型，并根据需要添加新元素。

The customer requests can be categorize into services. If you would like to use this possibility, then create some 服务 and set the 客户用户 ↔ 服务 relations. Furthermore, 服务级别协议 can be assign to the services.

现在，如果发生特定事件，您可以添加一些要由服务人员接收的通知。您可以在 工单通知 屏幕中执行此操作。

要帮助服务人员安排预约，可以设置 日历 和 预约通知。

OTRS中的工单、信件和其他对象可以使用 动态字段 扩展，也可以使用 访问控制列表(ACL) 减少。

如果不手动完成所有操作，可以减少故障次数。 使用 自动任务 作业或使创建流程 流程管理 可以自动化OTRS中的某些流程。 传入的电子邮件可以通过定义一些 邮箱管理员过滤器 来自动预处理和分发。

如果外部系统需要与OTRS集成，Web服务 将非常有用。

默认情况下，OTRS已有许多功能，但是您可以通过使用 软件包管理器 安装软件包来扩展功能。

如果您的系统已准备好正式使用，请不要忘记使用 系统注册 过程进行注册。

最后，您可以设置外部人员界面的 主页、自定义页面 和 排版布局，还可以定义显示在外部人员界面中的 客户服务目录。

成为OTRS专家

The next chapters of this manual describe the features and configuration settings of OTRS more detailed. There is a separated manual for Configuration Options References, that gives you a good overview of 系统配置, that can be modify the behavior of OTRS.

工单设置

工单 类似于为医院患者创建的医疗报告。 当患者首次访问医院时，会创建一份医疗报告，以便将所有必要的个人和医疗信息保存在他身上。 在多次访问时，由相同或其它的医生照顾，主治医生通过添加有关患者健康和持续治疗的新信息来更新报告。 这使得任何其他医生或护理人员能够全面了解手头的情况。 当患者康复并离开医院时，医疗报告中的所有信息都会被存档，报告将被关闭。

像OTRS这样的工单系统像处理普通邮件一样处理工单。消息保存在系统中。当客户发送请求时，系统将生成一个新的工单，与创建的新医疗报告相当。对这张新工单的反应相当于医生在医学报告中的记录。如果将响应发送回客户，或者系统单独关闭了工单，则工单将被关闭。如果客户对已关闭的工单再次作出响应，则将重新打开该工单并添加新信息。

工单详情屏幕

每张工单都存储并存档，并提供完整的信息。 由于工单的处理方式与普通电子邮件相同，因此每封电子邮件也会存储附件和上下文注释。 此外，还保存了相关日期、涉及的员工、工单解决所需的工作时间等信息。 在任何后期阶段，可以对工单进行排序，并且可以使用不同的过滤机制搜索和分析所有信息。

目录

附件

管理附件

附件设置

自动响应

管理自动响应

自动响应设置

自动响应变量

优先级

管理优先级

优先级设置

队列

管理队列

队列设置

队列 ↔ 自动响应

管理队列↔自动响应关系

队列 ↔ 自动响应设置

问候语

管理问候语

问候语设置

问候语变量

服务级别协议

管理服务级别协议

服务级别协议设置

服务

管理服务

服务设置

签名

管理签名

签名设置

签名变量

短信模板

管理短信模板

短信模板设置

短信模板变量

短信模板 ↔ 队列

管理短信模板 ↔ 队列关系

状态

管理状态

状态设置

模板

管理模板

模板设置

模板变量

模板 ↔ 附件

管理模板↔附件关系

模板↔队列

管理模板 ↔ 队列关系

类型

管理类型

类型设置

附件

对于任何规模的组织，通常都需要在客户签署合同时发送服务协议、服务条款或隐私声明。

OTRS可以处理无限多的附件（PDF、图像等），并可以将它们捆绑到模板中。您的服务人员不需要单独维护附件，也不需要一次又一次地上传附件-他们只需要使用预定义的模板。

使用此屏幕可添加用于模板的附件。默认情况下，新的OTRS安装不包含任何附件。附件管理屏幕在 工单设置 组的 附件 模块中可用。

附件管理屏幕

管理附件

若要添加一个附件：

点击左侧边栏中的 添加附件 按钮。

填写必填字段。

点击 保存 按钮。

添加附件屏幕

若要编辑一个附件：

点击附件列表中的一个附件。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑附件屏幕

若要删除一个附件：

点击概览表最后一列的垃圾桶图标。

点击 确认 按钮。

删除附件屏幕

注解

如果系统中添加了多个附件，请使用过滤器框通过键入名称来查找特定的附件。

附件设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

附件 *

打开文件对话框，从文件系统添加文件。此字段在添加附件屏幕中是必需的，但在编辑附件屏幕中是可选的。在编辑屏幕中添加新文件将覆盖现有附件。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

自动响应

快速透明的服务对于与客户保持良好的工作关系至关重要。电子邮件、传真、社交媒体和其他非实时通信都很耐心，但您希望在收到请求后立即与客户联系。

OTRS允许您在收到请求后立即响应客户，向客户提供即时反馈，确保他们的请求正在处理中，从而建立期望。

Automatic responses can be sent to customers based on the occurrence of certain events, such as the creation of a ticket in a specific queue, the receipt of a follow-up message in regards to a closed or rejected ticket, etc.

使用此屏幕添加自动响应以在队列中使用。 默认情况下，新的OTRS安装包含一些自动响应。 自动响应管理屏幕位于 工单设置 组的 自动响应 模块中。

自动响应管理屏幕

管理自动响应

注解

添加自动响应需要有效的系统地址。 在 邮件地址 屏幕中创建系统地址。

若要添加一个自动响应：

点击左侧边栏的 添加自动响应 按钮。

填写必填字段。

点击 保存 按钮。

添加自动响应屏幕

警告

无法从系统中删除自动响应。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个自动响应：

点击自动响应列表中的一个自动响应。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑自动响应屏幕

注解

如果向系统添加了多个自动响应，请使用过滤器框通过键入要过滤的名称来查找特定的自动响应。

自动响应设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

主题 *

发送给用户的电子邮件的主题。

回复内容

发送给用户的电子邮件正文。

类型 *

触发发送此自动响应的事件类型。 只能自动发送一个自动响应。 可以使用以下事件类型：

auto follow up-自动跟进

确认收到此跟进。

auto reject 自动拒绝

该消息拒绝客户跟进。

auto remove-自动移除

系统自动删除一个工单。

auto reply-自动回复

新提出的工单将触发此自动回复。

自动回复/新工单

此消息通知客户新的工单编号。

自动响应的发件人 *

发件人电子邮件地址，将从中发送自动回复。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

自动响应变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

自动响应变量

例如，变量 <OTRS_TICKET_TicketNumber> 扩展为工单编号，允许模板包含如下内容。

Ticket#<OTRS_TICKET_TicketNumber>

例如，这个标签扩展为：

Ticket#2018101042000012

优先级

有时候工单不是平等的。 一张工单可能需要更多关注。 服务台可以为客户提供更高的优先级，以帮助提高客户满意度或确保长期运行的请求得到特别关注。 跟踪这些更高优先级的请求非常重要，并且可以快速处理它们。

OTRS提供了一个基于默认五级优先级的交通灯系统来处理这项任务。

Blue: very low

Green: low

Grey: normal

Pink: high

Red: very high

颜色基于数据库中的ID（非常低的ID为1）。更改名称时应记住这一点。新优先级的颜色为灰色。

使用此屏幕向系统添加优先级。新的OTRS安装包含五个默认优先级。“优先级管理”屏幕在 工单设置 组的 优先级 模块中可用。

优先级管理屏幕

管理优先级

注解

在创建自定义的优先级列表时，请记住它们是在用户界面的优先级选择框中按字母顺序排序的。

若要添加一个优先级：

点击左侧边栏中的 添加优先级 按钮。

填写必填字段。

点击 保存 按钮。

添加优先级屏幕

警告

无法从系统中删除优先级。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

注解

建议将您的系统限制在5个优先级或更低，并重新使用当前的5个优先级以保持交通灯系统的使用。

若要编辑优先级：

点击优先级列表中的一个优先级。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑优先级屏幕

注解

如果系统中添加了多个优先级，只需键入要筛选的名称，即可使用筛选框查找特定的优先级。

优先级验证对话框

如果更改系统配置中使用的优先级名称，则验证检查将警告您并提供以下选项：

保存并自动更新

应用更改并更新受影响的设置。

不保存，手动更新

应用更改，但不要更新受影响的设置。更新需要手动完成。

取消

取消此操作。

警告

Changing the name of this object should be done with care, the check only provides verification for certain settings and ignores things where the name can’t be verified. Some examples are dashboard filters, access control lists (ACLs), and processes (sequence flow actions) to name a few. Documentation of your setup is key to surviving a name change.

优先级设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

队列

团队需要一个工作空间，并且能够根据技能级别、安全级别、部门或职责分派工作，仅举几个例子。其他团队也可能需要在这些请求中查看或作出反应。

OTRS使用队列为您的团队提供结构。 队列提供了一种强大的方式来分工并将工作分散给负责的人群。

使用此屏幕向系统添加队列。在新的OTRS安装中，有4个默认队列：raw、junk、misc 和 postmaster。如果未定义过滤器规则，则所有传入消息都将存储在 raw 队列中。Junk 队列可用于存储垃圾邮件。“队列管理”屏幕在 工单设置 组的 队列 模块中可用。

队列管理屏幕

管理队列

若要添加一个队列：

点击左侧边栏中的 添加队列 按钮。

填写必填字段。

点击 保存 按钮。

添加队列屏幕

警告

无法从系统中删除队列。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个队列：

点击队列列表中的一个队列。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑队列屏幕

注解

如果系统中添加了多个队列，请使用过滤器框通过键入要过滤的名称来查找特定队列。

队列验证对话框

如果更改系统配置中使用的队列的名称，则验证检查将警告您并提供以下选项：

保存并自动更新

应用更改并更新受影响的设置。

不保存，手动更新

应用更改，但不要更新受影响的设置。更新需要手动完成。

取消

取消此操作。

警告

Changing the name of this object should be done with care, the check only provides verification for certain settings and ignores things where the name can’t be verified. Some examples are dashboard filters, access control lists (ACLs), and processes (sequence flow actions) to name a few. Documentation of your setup is key to surviving a name change.

队列设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

父队列

可以将现有队列下的新队列添加为子队列。这将显示为 父队列::子队列。

组 *

可以限制对所选组的访问。该组在队列和服务人员或客户用户之间创建权限链接。

解锁超时分钟数

此队列中处于打开状态且已锁定的任何工单将在设置的分钟数后自动解锁。值 0 （默认）表示此队列中的工单保持锁定。

升级 - 首次响应时间（分钟数）

服务人员与客户联系之前允许的最大工作时间。

注解

对于由服务人员创建的电子邮件工单或电话工单，首次响应时间不会触发。

升级 - 更新时间（分钟数）

服务人员客户联系之间允许的最长工作时间。

升级 - 解决时间（分钟数）

在工单标记为已解决之前允许的最大工作时间。

注解

如果重新打开工单，解决时间将不会重置。

跟进选项 *

指定对已关闭工单的跟进处理。可能的值：

新建工单

该跟进会创建一个新工单。

可能

该跟进会重新打开已经关闭的工单。

拒绝

The follow up will be rejected.

参见

See 自动响应 chapter for more information.

跟进后自动锁定工单 *

仅当 跟进选项 设置为 可能 时才适用。重新打开时，将以前关闭的工单锁定到最后一个所有者。这将确保以前处理该工单的服务人员处理该工单的跟进操作。

警告

这不会考虑外出。 小心使用此设置以确保或与 解锁超时分钟数 结合使用。

系统邮件地址 *

选择以下 邮件地址 之一作为此队列的发件人标识。

注解

这是数据库中的ID。 更改 邮件地址 会对此产生负面影响。

默认签名密钥

只有在以下情况下才会激活 PGP密钥 或 S/MIME证书 在 系统配置 中启用。 选择默认情况下为电子邮件签名的密钥。

问候语 *

选择一个定义的 问候语。

签名 *

选择一个定义的 签名。

日历

选择定义此队列的工作时间的日历。 日历在 系统配置 中定义。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

聊天频道

聊天频道用于该队列相关工单的沟通。

队列 ↔ 自动响应

沟通服务时间、服务级别或其他信息的变化，这些变化有助于客户了解何时处理工单，这可能是一项冗长且错误百出的任务。试图确保所有部门都有正确的信息，并将其传递给客户，这是一个挑战。

OTRS使您能够快速地将适当的自动响应分配给任何队列，其中包含相关的服务信息，从而确保这些信息在未达到预期之前到达您的客户。

使用此屏幕可向一个或多个队列添加一个或多个自动响应。 管理屏幕位于 工单设置 组的 队列↔自动响应 模块中。

管理队列的自动响应

管理队列↔自动响应关系

若要为一个队列分配自动响应：

点击 队列 列中的一个队列。

选择要为该队列添加的自动响应。

点击 保存 或 保存并完成 按钮。

修改队列关联的自动响应

注解

通过点击自动响应名称，无法将多个队列分配给自动响应。点击自动响应将打开 自动响应 屏幕。

注解

如果向系统添加了多个自动响应或队列，请使用过滤器框通过键入要过滤的名称来查找特定的自动响应或队列。

队列 ↔ 自动响应设置

将一些自动响应分配给一个队列时，以下设置可用。

auto reply-自动回复

This automatic response will be sent to users, when they send a message to the queue, and the message is not a follow-up message of a ticket.

auto reject 自动拒绝

This automatic response will be sent to users, when they send a message to the queue and reject is set as Follow up Option in the queue settings.

auto follow up-自动跟进

This automatic response will be sent to users, when they send a message to the queue and possible is set as Follow up Option in the queue settings.

自动回复/新工单

This automatic response will be sent to users, when they send a message to the queue and new ticket is set as Follow up Option in the queue settings.

auto remove-自动移除

启用删除选项后，此自动响应将发送给用户。

注解

Auto reply, auto reject and auto reply/new ticket mutually cancel each other based on the 队列 settings. Only one will take effect per queue.

问候语

必须以标准化方式解决客户问题。 您的客户可能并不总是需要不太正式问候的外部客户。

OTRS为您提供了为任何一个队列创建标准化通信表单所需的工具。 Queue Settings: 问候语、 模板 和 签名 中定义的内容组合在一起可确保格式良好的标准化电子邮件通信。

问候语可以链接到一个或多个 队列。问候语仅用于对工单的电子邮件答复。

使用此屏幕向系统添加问候语。 新的OTRS装置已经包含标准的问候语。 问候语管理屏幕位于 工单设置 组的 问候语 模块中。

问候语管理屏幕

管理问候语

若要添加一个问候语：

点击左侧边栏中的 添加问候语 按钮。

填写必填字段。

点击 保存 按钮。

添加问候语屏幕

警告

无法从系统中删除问候语。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个问候语：

点击问候语列表中的一个问候语。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑问候语屏幕

注解

如果系统中添加了多个问候语，只需键入要过滤的名称，即可使用过滤器框查找特定问候语。

警告

在使此对象无效之前，请转到 工单设置 组的 队列 模块，并确保使用此设置的所有队列都使用有效的对象。

问候语设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

问候语

将放在新电子邮件开头的文本。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

问候语变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

问候语变量

例如，变量 <OTRS_CUSTOMER_DATA_UserLastname> 扩展为客户的姓氏，以便包含在如下内容中。

Dear <OTRS_CUSTOMER_DATA_UserFirstname> <OTRS_CUSTOMER_DATA_UserLastname>,

例如，这个标签扩展为：

Dear Lisa Wagner,

服务级别协议

Your organization must meet the time demands of your customers. Timely service matters. Response to questions, updates on issues, and solutions must be provided in an agreed amount of time. The agent must receive notification of possible breaches, to prevent ticket escalation.

OTRS可以很好地满足您的需求，并提供服务水平协议（SLA）的管理。 OTRS为您提供了创建众多服务水平协议的可能性，涵盖您的所有服务和客户需求。 每个 SLA 可以涵盖多种服务，并定义服务和升级期的可用性。

使用此屏幕可向系统添加服务级别协议。 默认情况下，新的OTRS安装不包含任何服务级别协议。 服务级别协议管理屏幕位于 工单设置 组的 服务级别协议 模块中。

服务级别协议管理屏幕

参见

To use this feature, Ticket::Service must be activated in the 系统配置 under the Administration group to be selectable in the ticket screens. You may click on the link in the warning message of the notification bar to directly jump to the configuration setting.

管理服务级别协议

注解

添加服务级别协议要求至少将一个服务添加到系统中。 在 服务 屏幕中创建服务。

若要添加一个服务级别协议：

点击左侧边栏的 添加SLA 按钮。

填写必填字段。

点击 保存 按钮。

添加服务级别协议屏幕

警告

无法从系统中删除服务级别协议。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个服务级别协议：

点击服务级别协议列表中的一个服务级别协议。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑服务级别协议屏幕

注解

如果向系统添加了多个服务级别协议，请使用过滤器框通过键入要过滤的名称来查找特定的服务级别协议。

服务级别协议设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

SLA *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

服务

选择要分配给此SLA的一个或多个 服务。

日历

选择定义此队列的工作时间的日历。 日历在 系统配置 中定义。

升级 - 首次响应时间（分钟数）

服务人员与客户联系之前允许的最大工作时间。

注解

对于由服务人员创建的电子邮件工单或电话工单，首次响应时间不会触发。

升级 - 更新时间（分钟数）

服务人员客户联系之间允许的最长工作时间。

升级 - 解决时间（分钟数）

在工单标记为已解决之前允许的最大工作时间。

注解

如果重新打开工单，解决时间将不会重置。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

对话框消息

如果客户在创建工单时选择此SLA（仅在外部人员界面中），则显示。

服务

对服务台的请求应根据受影响的 服务 进行分类，以正确地联系专家团队来处理问题。 因为并非所有服务人员都可以处理特定问题。 缺乏经验或访问资源来解决问题需要定义工单中受影响的服务有助于对问题进行分类并定位正确的团队。

OTRS允许添加为您的客户提供的所有服务。 这些服务可能稍后绑定到 服务级别协议，以确保根据客户特定协议及时解决。

使用此屏幕可向系统添加服务。 默认情况下，新的OTRS安装不包含任何服务。 服务管理屏幕位于 工单设置 组的 服务 模块中。

服务管理屏幕

参见

To use this feature, Ticket::Service must be activated in the 系统配置 under the Administration group to be selectable in the ticket screens. You may click on the link in the warning message of the notification bar to directly jump to the configuration setting.

管理服务

若要添加一个服务：

点击左侧边栏中的 添加服务 按钮。

填写必填字段。

点击 保存 按钮。

添加服务屏幕

警告

无法从系统中删除服务。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个服务：

点击服务列表中的一个服务。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑服务屏幕

注解

如果系统中添加了多个服务，只需键入要过滤的名称，即可使用过滤器框查找特定服务。

警告

Changing the name of this object should be done with care, the check only provides verification for certain settings and ignores things where the name can’t be verified. Some examples are dashboard filters, access control lists (ACLs), and processes (sequence flow actions) to name a few. Documentation of your setup is key to surviving a name change.

服务设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

服务 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

上一级服务

可以在现有服务下添加新服务作为子服务。 这将显示为 父服务::子服务。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

注解

只有当服务被分配给了工单的客户用户，或者在 客户用户 ↔ 服务 屏幕中将其设置为所有客户用户的默认服务，才能在工单屏幕中选择此服务。

签名

企业形象和团队信息在每次沟通中都至关重要。 员工撰写的名称和其他重要细节（如免责声明）是与客户沟通时必须包含的必要信息的一些示例。

OTRS在这里为您提供与 问候语 相同的工具，为您的任何一个队列创建标准化的通信表单。 Queue Settings: 问候语、 模板 和 签名 中定义的内容组合在一起可确保格式良好的标准化电子邮件通信。

签名可以链接到一个或多个 队列。 签名仅用于电子邮件答复工单。

使用此屏幕可以向系统添加签名。 新的OTRS安装已包含标准签名。 签名管理屏幕位于 工单设置 组的 签名 模块中。

签名管理屏幕

管理签名

若要添加一个签名：

点击左侧边栏中的 添加签名 按钮。

填写必填字段。

点击 保存 按钮。

添加签名屏幕

警告

无法从系统中删除签名。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个签名：

单击签名列表中的一个签名。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑签名屏幕

注解

如果系统中添加了多个签名，只需键入要筛选的名称，即可使用筛选框查找特定的签名。

警告

在使此对象无效之前，请转到 工单设置 组的 队列 模块，并确保使用此设置的所有队列都使用有效的对象。

签名设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

签名

放置到新电子邮件末尾的文本。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

签名变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

签名变量

例如，变量 <OTRS_CURRENT_UserFirstname> <OTRS_CURRENT_UserLastname> 扩展为服务人员的名和姓，允许模板包含如下内容。

Best regards,

<OTRS_CURRENT_UserFirstname> <OTRS_CURRENT_UserLastname>

例如，这个标签扩展为：

Best regards,

Steven Weber

短信模板

当值人员应警惕电子邮件服务器上的故障导致无法从OTR获取电子邮件。此外，在客户无法访问互联网的情况下，必须确保良好的联系。

OTRS将短信作为云服务提供，并允许通过模板对该通信进行管理，与电子邮件一样。

短信模板是一些默认的文本，可帮助您的服务人员更快地写工单或响应。

使用此屏幕添加用于通信的短信模板。默认情况下，新的OTRS安装不包含任何短信模板。短信模板管理屏幕可在 工单设置 组的 短信模板 模块中找到。

短信模板管理屏幕

管理短信模板

注解

要在OTRS中使用短信云服务，必须首先在 云服务 模块中激活它。

激活短信云服务

若要添加短信模板：

点击左侧边栏中的 添加短信模板 按钮。

填写必填字段。

点击 保存 按钮。

添加短信模板屏幕

若要编辑一个短信模板：

点击短信模板列表中的一个短信模板。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑短信模板屏幕

若要删除一个短信模板：

点击短信模板列表中的垃圾桶图标。

点击 确认 按钮。

删除短信模板屏幕

注解

如果向系统添加了多个短信模板，则只需通过过滤器框键入名称即可查找特定的短信模板。

短信模板设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

类型 *

不同类型的短信模板用于不同的目的。 模板可以是：

回复

在工单屏幕的信件菜单中用作 通过短信回复 的工单响应。

创建

用于新建短信工单。

外发短信

用于从工单屏幕的工单菜单中向客户用户发送新短信。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

模版

发送给用户的电子邮件正文。

警告

您可以发送的最大文本消息长度为918个字符。 但是，如果您发送超过160个字符，那么您的信息将被分解为153个字符的块，然后再发送到收件人的手机。 我们建议将消息控制在160个字符以内。

特快消息

直接显示消息，无需用户交互，不自动存储（可能会因设备和提供商的不同而支持程度不一）。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

短信模板变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

短信模板变量

例如，变量 <OTRS_TICKET_TicketNumber> 扩展为工单编号，允许短信模板包含如下内容。

Ticket#<OTRS_TICKET_TicketNumber> has been raised in <OTRS_Ticket_Queue>.

例如，这个标签扩展为：

Ticket#2018101042000012 has been raised in Postmaster.

短信模板 ↔ 队列

将更改传达到模板，或者分发新的通信需求，可能会很繁琐且错误百出，因为它要求所有团队提取信息并适当地发布。

OTRS使您能够快速地将适当的短信模板分配到任何包含相关工单信息的队列，从而确保这些信息到达您的客户和服务人员。

使用此屏幕将一个或多个短信模板添加到一个或多个队列。 管理屏幕位于 工单设置 组的 短信模板↔队列 模块中。

管理短信模板与队列的对应关系

管理短信模板 ↔ 队列关系

若要将短信模板分配给一个或多个队列：

点击 短信模板 列中的一个短信模板。

选择要添加短信模板的队列。

点击 保存 或 保存并完成 按钮。

修改短信模板关联的队列

若要将队列分配给一个或多个短信模板：

点击 队列 列中的一个队列。

选择要添加队列的短信模板。

点击 保存 或 保存并完成 按钮。

修改队列关联的短信模板：

注解

如果系统中添加了多个短信模板或队列，只需键入要过滤的名称，即可使用过滤器框查找特定的短信模板或队列。

可以在两个屏幕中同时分配多个短信模板或队列。另外，在关联屏幕中单击一个短信模板或一个队列，将相应打开 编辑短信模板 屏幕或 编辑队列 屏幕。

警告

访问队列或短信模板不提供到关联屏幕的返回链接。

状态

对工单的主动跟踪可以更好地了解工作负载，并提供指标作为关键性能指标。排序任务和设置预约有助于减轻工作量并保持服务台的运行。

OTR使用工单状态来确保您的服务人员始终知道正在处理哪些工单，哪些没被处理。此外，可以通过工单搜索或报告提供有关工单状态的详细报告，并且可以使用仪表板、队列和服务概览进行个性化排序。

预先定义的是九个状态。可以添加更多的状态，但这些默认状态足以让您继续工作，而且大多数情况下足以满足任何情况。

默认状态如下：

closed successful-成功关闭

工单已经完成。 客户收到了一个有效的解决方案。

closed unsuccessful-失败关闭

工单已经完成。 客户没有得到解决方案或解决方案不合适。

merged-已合并

工单内容可在不同的工单中找到。

new-新建

工单由客户创建，没有与服务人员联系。

open-处理中

工单当前正在进行中。客户和服务人员相互联系。

等待自动成功关闭

在到达待处理时间时，工单将被设置为 成功关闭。

等待自动失败关闭

在到达待处理时间时，工单将被设置为 失败关闭。

挂起提醒

到达待处理时间后，应再次处理该工单。

removed-已删除

工单已从系统中删除。

注解

默认情况下，每两小时四十五分钟检查一次挂起的工单。这是一个静态时间，也就是说时间是02:45、04:45、06:45等等。该任务可以更频繁或很少运行，在 系统管理 组的 系统配置 模块中进行配置。

使用此屏幕向系统添加状态。默认情况下，新的OTRS安装包含几个状态。状态管理屏幕在 工单设置 组的 状态 模块中可用。

状态管理屏幕

管理状态

若要添加一个状态：

点击左侧边栏中的 添加状态 按钮。

填写必填字段。

点击 保存 按钮。

添加状态屏幕

警告

无法从系统中删除状态。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个状态：

点击状态列表中的一个状态。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑状态屏幕

注解

如果系统中添加了多个状态，请使用过滤器框通过键入名称来查找特定的状态。

状态验证对话框

如果更改系统配置中使用的状态名称，则验证检查将警告您并提供以下选项：

保存并自动更新

应用更改并更新受影响的设置。

不保存，手动更新

应用更改，但不要更新受影响的设置。更新需要手动完成。

取消

取消此操作。

警告

Changing the name of this object should be done with care, the check only provides verification for certain settings and ignores things where the name can’t be verified. Some examples are dashboard filters, access control lists (ACLs), and processes (sequence flow actions) to name a few. Documentation of your setup is key to surviving a name change.

状态设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

状态类型 *

每个状态都链接到一个类型，如果创建新状态或编辑现有状态，则需要指定该类型。以下类型可用：

closed-已关闭

merged-已合并

new-新建

open-处理中

自动挂起

挂起提醒

removed-已删除

注解

状态类型是预先定义的，由于其特殊的机制，无法在软件中更改。为 等待自动 和 挂起提醒 状态类型添加新状态时，必须在 系统管理 组的 系统配置 模块中进行进一步配置。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

参见

The following configuration options are relevant and noteworthy when managing states:

Daemon::SchedulerCronTaskManager::Task###TicketPendingCheck

Ticket::StateAfterPending

模板

无论员工或知识水平如何，始终提供正确和一致的答案对于保持客户的专业形象都很重要。此外，在不断增长的服务台中，快速发送标准答案是处理大量请求的关键。

OTRS模板为您提供了多种处理标准化通信的方法，并有助于预定义文本，以便客户始终从所有服务人员接收相同级别和质量的服务。

使用此屏幕添加模板以用于通信。 默认情况下，新的OTRS安装已包含模板。 模板管理屏幕位于 工单设置 组的 模板 模块中。

模板管理屏幕

管理模板

注解

若要向模板添加附件，需要先在 附件 屏幕中创建附件。

若要添加一个模板：

点击左侧边栏中的 添加模板 按钮。

填写必填字段。

点击 保存 按钮。

添加模板屏幕

若要编辑一个模板：

点击模板列表中的一个模板。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑模板屏幕

若要删除一个模板：

点击模板列表中的垃圾桶图标。

点击 确认 按钮。

删除模板屏幕

注解

如果向系统添加了多个模板，则只需通过过滤器框键入名称即可查找特定的模板。

模板设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

类型 *

不同类型的模板用于不同的目的。 模板可以是：

回复

用于工单响应或回复。

创建

用于新建电话或邮件工单。

邮件地址

To be used for writing an email to a customer user or to someone else.

转发

用于将信件转发给其他人。

备注

To be used to create notes.

电话

用于拨入和拨出电话。

流程对话框

To be used in process management to pre-fill text of articles in user task activity dialogs.

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

主题

The subject of the article added by the template.

主题方法

指定应如何处理当前信件主题。 可以使用以下方法：

结合

模板主题将在当前信件主题之后添加。

保留

当前的信件主题将被保留。

覆盖

当前信件主题将替换为模板主题。

模版

The body of the article added by the template.

附件

可以向此模板添加一个或多个附件。 可以在 附件 屏幕中添加附件。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

模板变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

模板变量

例如，变量 <OTRS_TICKET_TicketNumber> 扩展为工单编号，允许模板包含如下内容。

Ticket#<OTRS_TICKET_TicketNumber>

例如，这个标签扩展为：

Ticket#2018101042000012

模板 ↔ 附件

对标准附件进行更改有时会令人难以招架。 问题是，“附件在哪里使用？” 或“如何快速全面更新它们？”。 在更新附件之前，了解谁正在使用哪些附件也很重要。 新附件在您的组织中可以有多种用途。

OTRS使您能够对此进行管理，为您提供管理这种一对多关系的概览，并快速识别使用了您的附件的模板。

使用此屏幕可将一个或多个附件添加到一个或多个模板。 要使用此功能，需要在系统中添加至少一个附件和一个模板。 管理屏幕位于 工单设置 组的 模板↔附件 模块中。

管理模板和附件的关联

管理模板↔附件关系

若要添加一些附件到一个模板：

点击*模板*列中的一个模板。

选择要添加模板的附件。

点击 保存 或 保存并完成 按钮。

修改模板关联的附件

若要分配一个附件到多个模板：

点击 附件 列中的一个附件。

选择要将此附件分配到的多个模板。

点击 保存 或 保存并完成 按钮。

修改附件关联的模板

注解

如果系统中添加了多个模板或附件，只需键入要过滤的名称，即可使用过滤器框查找特定的模板或附件。

可以在两个屏幕中同时分配多个模板或附件。另外，在关联屏幕中单击一个模板或一个附件，将相应打开 编辑模板 屏幕或 编辑附件 屏幕。

警告

访问模板或附件不提供到关联屏幕的返回链接。

模板↔队列

共享、分发和更改标准文本模块和信息，以便与客户共享或在团队之间进行通信，这可能是一项不可能的任务。

OTRS可以快速帮助您确保所有团队都有正确的模板可供基于队列的分配使用。

使用此屏幕将一个或多个模板添加到一个或多个队列。 要使用此功能，需要至少将一个模板和一个队列添加到系统中。 管理屏幕位于 工单设置 组的 模板 ↔ 队列 模块中。

管理模板和队列的关联

管理模板 ↔ 队列关系

若要为一个队列分配一个模板：

点击*模板*列中的一个模板。

选择您想添加模板的队列。

点击 保存 或 保存并完成 按钮。

修改模板关联的队列

若要为一个模板分配一个队列：

点击 队列 列中的一个队列。

选择要添加到队列的模板。

点击 保存 或 保存并完成 按钮。

修改队列关联的模板

注解

如果系统中添加了多个模板或队列，只需键入要过滤的名称，即可使用过滤器框查找特定的模板或队列。

可以在两个屏幕中同时分配多个模板或附件。另外，在关联屏幕中单击一个模板或一个队列，将相应打开 编辑模板 屏幕或 编辑队列 屏幕。

警告

访问队列或模板不提供到关联屏幕的返回链接。

类型

好的KPI（关键绩效指标）需要了解您的组织执行的工作类型。 即使由同一团队执行，并非所有任务都需要相同的努力。 由于创建和管理队列所需的配置量，为此目的创建队列结构可能会过载。

OTRS使用工单类型以最小的开销为KPI提供条件。 IT服务台中使用的典型类型是 未分类、 事件 和 问题。 您可以轻松快速定义新类型。

使用此屏幕可向系统添加类型。 默认情况下，新的OTRS安装包含 未分类 类型。 类型管理屏幕位于 工单设置 组的 类型 模块中。

类型管理屏幕

警告

必须首先通过 系统管理 组下的 系统配置 激活服务，以便在工单屏幕中进行选择。 您可以单击警告消息中的链接直接跳转到配置设置。

类型激活警告

管理类型

若要添加一个类型：

点击左侧边栏中的 添加类型 按钮。

填写必填字段。

点击 保存 按钮。

添加类型屏幕

警告

无法从系统中删除类型。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个类型：

点击类型列表中的一个类型。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑类型屏幕

注解

如果系统中添加了多个类型，只需键入要过滤的名称，即可使用过滤器框查找特定类型。

类型设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

通信和通知

清晰完整和透明的沟通是确保您的组织为您的客户提供出色服务的关键。 您的组织希望为您的客户提供最一致的服务，并确保您的服务每次都能被高度识别。 您的团队希望拥有一种能够灌输特定安全感和熟悉感的身份。

OTRS为您提供了构建团队、信任和安全的工具，以更好、统一地为您的客户服务。使用系统邮件地址，您可以将入站邮件分配给特定的团队，并允许所有团队使用相同的地址，而不必通过邮件客户端使用团队邮箱造成混淆。模板、自动回复和附件管理使您能够利用最重要通信的集中管理。下面的章节还介绍了许多其他工具。

目录

管理员通知

管理消息设置

预约通知

管理预约通知

预约通知设置

基本的预约通知设置

预约事件

预约过滤器

预约通知收件人

预约通知方法

预约通知文本

预约通知变量

通信日志

通信日志概览

邮件地址

管理电子邮件地址

电子邮件地址设置

External Email Provider Integration

PGP密钥

管理PGP密钥

邮箱管理员过滤器

管理邮箱管理员过滤器

邮箱管理员过滤器设置

基本的邮箱管理员过滤器设置

过滤器条件

设置邮件头

邮箱管理员邮件帐户

管理邮件帐户

邮件帐户设置

S/MIME证书

管理S/MIME证书

工单通知

管理工单通知

工单通知设置

基本的工单通知设置

Events（事件）

工单过滤器

信件过滤器

工单通知收件人

工单通知方法

通知正文

工单通知变量

管理员通知

公司可能需要向所有人发布一般性公告，或向几组服务人员或个人发布新闻。 此外，OTRS管理员可能需要与特定服务人员联系以了解事件。

OTRS提供管理工具 管理员通知，准确及时地向广大用户发送公告和新闻，直达目标群体，简单有效。 管理员可以使用强大的文本编辑器增强内容，根据特定的收件人列表或OTRS内的一组用户发送通知。

使用此屏幕可将管理消息发送给特定服务人员、组或角色成员。 消息撰写屏幕位于 通信和通知 组的 管理员通知 模块中。

创建管理消息屏幕

管理消息设置

撰写管理消息时，可以使用以下设置。 标有星号的字段是必填字段。

发件人 *

此电子邮件地址将添加到邮件的 发件人 字段中。

发送消息给用户

可以在此字段中选择一个或多个 服务人员，将向其发送消息。

发送消息到组成员

可以在此字段中选择一个或多个 组，将向其成员发送消息。

组成员需要权限

如果组成员需要只读或读写权限来接收消息，则可以选择这些单选按钮。

Also send to customers in groups

Select this checkbox to send the message also for customers in groups.

注解

This option is available only, if the CustomerGroupSupport setting is enabled.

主题 *

消息的主题。

正文 *

消息的正文内容。

预约通知

错过可能会损坏客户对您的期望。 一旦在日历中分配了一个预约，接收通知是正常的：

在新的或变动的事件

在取消事件后

在事件之前，作为提醒

通知可以减轻服务人员跟踪预约的心理压力。

OTRS appointment notifications satisfies this need. Here an administrator can easily set notifications with general rules, including trigger events and filters. Afterward, appointments fitting the bill notify the correct users at the correct time.

使用此屏幕可向系统添加预约通知。 在新的OTRS安装中，默认情况下已添加预约提醒通知。 预约通知管理屏幕位于 通信和通知 组的 预约通知 模块中。

预约通知管理屏幕

管理预约通知

若要添加一个预约通知：

点击左侧边栏的 添加通知 按钮。

按照 Appointment Notification Settings 的说明填写必填字段。

点击 保存 按钮。

若要编辑一个预约通知：

点击预约通知列表中的一个预约通知。

按照 Appointment Notification Settings 的说明修改字段。

点击 保存 或 保存并完成 按钮。

若要删除一个预约通知：

点击预约通知列表中的垃圾桶图标。

点击 确认 按钮。

删除预约通知屏幕

若要导出所有的预约通知：

点击左侧边栏的 导出通知 按钮。

在计算机中选择一个位置以保存 Export_Notification.yml 文件。

若要导入预约通知：

点击左侧边栏的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

如果要覆盖现有通知，请点击 覆盖现有通知？ 复选框。

点击 导入通知配置 按钮。

预约通知设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

参见

有关示例，请参阅新的OTRS安装中包含的默认预约提醒通知。

基本的预约通知设置

预约通知设置 - 基本

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

在服务人员偏好设置里显示

定义通知应如何在服务人员偏好设置中显示。 可以使用以下选项：

否

通知不会显示在服务人员偏好设置中。 通过定义的方法将通知发送给所有符合条件的服务人员。

是

通知将显示在服务人员偏好设置中以供选择。 服务人员可以选择加入或退出。

是的，但需要至少一个可用的通知方法。

通知将显示在服务人员偏好设置中，但至少需要一个可用的通知方法。 这是由名称旁边的星号注释的。

个人预约通知设置

服务人员偏好设置提示

这个信息将会在服务人员偏好设置屏幕作为这个通知的提示信息显示。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

预约事件

预约通知设置 - 事件

事件

在这里你可以选择哪个事件将会触发这个通知，下面的预约过滤器可以选择符合特定条件的预约。

可能的事件有：

AppointmentCreate

在创建预约后执行。

AppointmentUpdate

在更新预约后执行。

AppointmentDelete

在删除预约后执行。

AppointmentNotification

这是一个特殊的预约事件，将由OTRS守护进程及时执行。 如果预约包含通知的日期/时间值（如本文档中所述）并且达到此类通知日期，则OTRS守护进程将分别为每个相关预约执行此类事件。

CalendarCreate

在创建日历后执行。

CalendarUpdate

在更新日历后执行。

预约过滤器

预约通知设置 - 预约过滤器

（可选）使用此小部件通过匹配设置的值来缩小预约列表：

日历

选择相关预约需要参与的日历。

标题

过滤预约的部分或完整标题。

位置

过滤预约的部分或完整位置。

资源

从分配给预约的团队或资源列表中选择。

预约通知收件人

预约通知设置 - 收件人

发送给

选择应接收通知的服务人员。 可能的值是：

这个预约选择的服务人员（资源）

所有对这个预约（日历）至少有读权限的服务人员。

所有对这个预约（日历）有写权限的服务人员。

发送给这些服务人员

可以选择一个或多个应接收通知的服务人员。

发送给组的所有成员（仅服务人员）

可以选择一个或多个组，其中的服务人员将会收到通知。

发送给角色的所有成员

可以选择一个或多个角色，其中的服务人员将会收到通知。

外出也发送

如果选中此选项，则即使服务人员当前外出，也会发送通知。

一天一次

Notify users just once per day about a single appointment using a selected transport. If this is the first notification about an appointment, then the notification will be sent. If a notification was already sent before and this option is checked, the OTRS daemon will check the time the last notification was sent. If there was no notification sent in the last 24 hours, the notification will be sent again.

预约通知方法

预约通知设置 - 通知方法

启用这个通知方法

启用或禁用此通知方法。通知方法可以是电子邮件、Web视图或短信。

注解

要使用短信通知方法，需要启用 云服务。

其他的收件人邮件地址

Additional recipients can be added here. Use comma or semicolon to separate the email addresses.

信件对客户的可见性

如果通知发送给客户或额外的邮件地址时创建一封信件。

邮件模板

选择用于通知的电子邮件模板。

注解

通过将一个 .tt 文件放在文件夹 <otrs_home>/kernel/output/html/templates/standard/notificationEvent/email/ 中，可以添加其他电子邮件模板。请参见现有的电子邮件模板以获取示例。

启用电子邮件安全

选中此选项将加密通知的电子邮件。

注解

要使用此功能，需要启用 PGP密钥 或 S/MIME证书。

电子邮件安全级别

如果选中 启用电子邮件安全性，则激活此设置。以下选项可用：

仅PGP签名

只使用 PGP 密钥签署通知的电子邮件。如果没有向系统添加PGP密钥，则此选项不可见。

仅PGP加密

仅使用PGP密钥加密通知的电子邮件。如果没有向系统添加PGP密钥，则此选项不可见。

PGP签名和加密

用PGP密钥对通知的电子邮件进行签名和加密。如果没有向系统添加PGP密钥，则此选项不可见。

仅SMIME签名

仅使用S/MIME证书签署通知的电子邮件。如果没有向系统添加S/MIME证书，则此选项不可见。

仅SMIME加密

仅使用S/MIME证书加密通知的电子邮件。如果没有向系统添加S/MIME证书，则此选项不可见。

SMIME签名和加密

使用S/MIME证书对通知的电子邮件进行签名和加密。如果没有向系统添加S/MIME证书，则此选项不可见。

注解

要使用此功能，需要启用 PGP密钥 或 S/MIME证书。

如果缺少签名密钥/证书

选择在缺少签名密钥或证书时应使用的方法。

如果缺少加密密钥/证书：

选择在缺少加密密钥或证书时应使用的方法。

预约通知文本

预约通知设置 - 通知文本

可以为具有本地化主题和正文文本的每种语言添加通知的正文内容。还可以定义混合了OTRS智能标签的静态文本内容。

主题 *

特定语言的本地化主题。

正文 *

特定语言的本地化正文文本。

添加通知语言

选择应添加哪些语言以创建本地化通知。客户或服务人员的语言将使用客户和服务人员偏好设置中的语言。其次，将选择系统默认语言。实在不行，英语长存。

警告

Deleting a language from the DefaultUsedLanguages setting that already has a notification text here will make the notification text unusable. If a language is not present or enabled on the system, the corresponding notification text could be deleted if it is not needed anymore.

预约通知变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

预约通知变量

例如，变量 <OTRS_APPOINTMENT_TITLE[20]> 扩展为标题的前20个字符，允许模板包含如下内容。

Title: <OTRS_APPOINTMENT_TITLE[20]>

例如，这个标签扩展为：

Title: Daily meeting in the…

通信日志

经理、领导、团队领导和系统管理员可能需要跟踪过去的通信以跟踪特定消息。在某些情况下，出现了问题，而目标收件人没有收到消息。如果无法访问邮件服务器日志，则很难跟踪通信。

OTRS引入 通信日志 模块。它的设计是为了跟踪通信：构建和假脱机邮件以及客户端和服务器之间的连接。

使用此屏幕检查有关通信处理的内部日志。通讯日志概览 屏幕位于 通信和通知 组的 通信日志 模块中。

通信日志概览屏幕

通信日志概览

通信日志概览页面是一个类似于仪表板的屏幕，其中有几个指标指示系统的总体运行状况，具体取决于过滤后的通信。

帐户状态屏幕

帐户状态

如果用于获取或发送消息的已配置帐户有任何问题，此小部件将发出信号。

通信状态

如果帐户连接或消息处理有任何错误，此小部件将通知您。

通信情况

如果系统中当前有任何活动的通信，将显示此小部件。

平均处理时间

这是完成一次通信所需的累计时间统计。

可以从左侧栏选择时间范围，以便根据通信的创建时间进行过滤。 除此之外，还可以动态过滤任何关键字、通信状态，并且可以通过任意列对概览表进行排序。

如果点击任何表中的通信行，将显示详情视图屏幕。

通信日志详细视图屏幕

每个通信可以包含一个或多个日志，这些日志可以是 连接 或 消息 类型。

连接

此类日志将包含来自负责连接到您的帐户和获取/接收消息的模块的任何日志消息。

消息

此类日志将包含与特定消息处理相关的任何日志消息。 处理消息的任何模块本身都可以在此日志中记录其操作，从而清楚地了解正在进行的操作。

您可以通过在左侧边栏中选择所需的优先级，根据其优先级过滤日志条目。 日志级别规则适用：通过选择特定优先级，您将获得具有该优先级设置和更高优先级的日志条目，其中 Error 为最高。

邮件地址

与客户沟通的主要渠道通常是电子邮件。一个组织由多个部门或团队组成。为客户提供服务的每个组的电子邮件地址都不同。您可能有以下内容：

support@example.org

hr@exapmle.org

sales@example.org

这些地址只是一些例子，你可能还有更多。 您可以使用这些通道接收和发送消息，而在邮件客户端中，通常可以使用错误的地址发送消息。

OTR根据需要为您的团队管理尽可能多的电子邮件地址。您所有的电子邮件地址，无论是用于发送还是接收，都保存在一个地方，并且配置得很好。在 queue settings 中，始终选择正确的地址，以防止在多个角色中工作的人使用错误的帐户发送电子邮件。

要使OTR能够发送电子邮件，您需要系统使用有效的电子邮件地址。由于许多支持安装需要使用多个电子邮件地址，因此OTR能够处理多个电子邮件地址。队列可以链接到多个电子邮件地址，反之亦然。创建队列时，可以设置用于从队列发出消息的地址。

使用此屏幕向系统添加系统电子邮件地址。在安装OTRS时，已经向系统添加了一个电子邮件地址。电子邮件地址管理屏幕位于 通信和通知 组的 电子邮件地址 模块中。

电子邮件地址管理屏幕

管理电子邮件地址

若要添加一个电子邮件地址：

点击左侧边栏的 添加系统邮件地址 按钮。

填写必填字段。

点击 保存 按钮。

添加电子邮件地址屏幕

警告

无法从系统中删除电子邮件地址。只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

注解

添加一个电子邮件地址并设置为有效后，OTRS就无法向此地址发送电子邮件。这可以防止可能导致系统崩溃的环回。如果您需要在部门之间传输信息，请使用信件菜单中的工单拆分选项。例如，这将允许您为另一个团队创建一个新的通知单，用于分配任务。

信件菜单

若要编辑一个电子邮件地址：

点击电子邮件地址列表中的一个地址。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑电子邮件地址屏幕

注解

如果系统中添加了多个电子邮件地址，只需键入要筛选的名称，即可使用筛选框查找特定的电子邮件地址。

电子邮件地址设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

电子邮件地址 *

要添加的电子邮件地址。

显示名称 *

此资源的名称。可以在此字段中输入任何类型的字符，包括大写字母和空格。该名称将显示在信件的发件人信息中。

发件人信息

队列 *

将电子邮件地址添加为默认电子邮件地址的队列。

注解

如果通过收件人地址分发电子邮件，则此设置将适用。选择 按所选队列分派 时，此设置可以被 邮箱管理员过滤器 或 Mail Account Settings 覆盖。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注解

如果电子邮件地址未分配给任何队列，则只能将其设置为 无效 或 临时无效。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

External Email Provider Integration

It is possible to use an external email provider for outgoing emails.

To setup the system to use Office 365 as email provider:

Read the POP, IMAP, and SMTP settings for Outlook.com and Add your Outlook.com account to another mail app or smart device chapters in the official documentation.

Copy the one-time application password shown in the administrator area of Office 365.

Go to the System Configuration screen of OTRS and add the following settings:

SendmailModule → Kernel::System::Email::SMTPTLS

SendmailModule::AuthPassword → the application password from Office 365

SendmailModule::AuthUser → email-address@company.tld

SendmailModule::Host → SMTP.office365.com

SendmailModule::Port → 587

To setup the system to use Gmail as email provider:

Read the Send email from a printer, scanner, or app chapter in the official Help Center.

Go to the System Configuration screen of OTRS and add the following settings:

SendmailModule → Kernel::System::Email::SMTPTLS

SendmailModule::AuthPassword → your email password

SendmailModule::AuthUser → email-address@company.tld

SendmailModule::Host → smtp-relay.gmail.com

SendmailModule::Port → 587

To setup the system to use another external email provider:

Read the official documentation of the external provider.

Go to the System Configuration screen of OTRS and add the following settings:

SendmailModule → Kernel::System::Email::SMTPTLS

SendmailModule::AuthPassword → your email password

SendmailModule::AuthUser → your email address or username

SendmailModule::Host → the SMTP address of the external provider

SendmailModule::Port → the port for the SMTP server

PGP密钥

安全通信保护您和您的客户。在GDPR(欧盟发布的“一般数据保护法案”)中，有几篇文章明确提到加密是安全和个人数据保护措施之一。虽然在GDPR下加密不是强制性的，但在某些领域它确实是必不可少的。

OTR允许您在需要时通过 S/MIME证书 或 PGP密钥 加密通信。

注解

由于此软件的独立性，此处不介绍加密所需的服务和软件设置。

使用此屏幕向系统添加PGP密钥。PGP管理屏幕可在 通信和通知 组的 PGP密钥 模块中找到。

PGP管理屏幕

管理PGP密钥

注解

要在OTRS中使用PGP密钥，必须先激活其设置。

启用PGP支持

若要添加一个PGP密钥：

点击左侧边栏的 添加PGP密钥 按钮。

点击*浏览…*按钮来打开文件对话框。

从文件系统中选择一个PGP密钥文件。

点击*添加*按钮。

添加PGP密钥屏幕

若要删除一个PGP密钥：

点击PGP密钥列表中的垃圾桶图标。

点击 确认 按钮。

删除PGP密钥屏幕

注解

如果系统中添加了多个PGP密钥，请使用搜索框查找特定的PGP密钥。

To adjust the PGP settings of the system:

转到 系统配置 屏幕。

Navigate to Core → Crypt → PGP in the navigation tree.

查看设置。

邮箱管理员过滤器

在收发室对标准邮件进行预分类时，要注意，并不是每一封发送到办公室的邮件都是发给同一组人的。再次查看信封后，需要时会进行重新路由。

OTRS使用所谓的 邮箱管理员过滤器 来读取电子邮件的信封并采取进一步措施。 例如，根据主题或发件人的情况，绑定到服务台的电子邮件可能会落入子队列，或被重定向到完全不同的团队，以创建透明度并为您的客户提供最快的服务。

使用此屏幕可向系统添加邮箱管理员过滤器。邮箱管理员过滤器 屏幕位于 通信和通知 组的 邮箱管理员过滤器 模块中。

邮箱管理员过滤器管理屏幕

管理邮箱管理员过滤器

注解

When adding or editing a postmaster filter, please keep in mind that they are evaluated in ASCIIbetical order by name.

若要添加一个邮箱管理员过滤器：

点击左侧边栏的 添加邮箱管理员过滤器 按钮。

填写必填字段。

点击 保存 按钮。

若要编辑一个邮箱管理员过滤器：

点击邮箱管理员过滤器列表中的一个邮箱管理员过滤器。

修改字段。

点击 保存 或 保存并完成 按钮。

若要删除一个邮箱管理员过滤器：

点击邮箱管理员过滤器列表中的垃圾桶图标。

点击 确认 按钮。

删除邮箱管理员过滤器屏幕

注解

如果系统中添加了多个邮箱管理员过滤器，则只需键入相关字符即可通过过滤器框查找特定的邮箱管理员过滤器。

邮箱管理员过滤器设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

邮箱管理员过滤器设置示例

基本的邮箱管理员过滤器设置

邮箱管理员过滤器设置 - 基本

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

注解

When adding or editing one of the postmaster filters, remember multiple filters may apply to a single mail. Rules are executed and sorted by the ASCII value of the names. Based on the sorted order in the overview, they are applied from top to bottom. Look at the ASCII table to see how to sort your names based on the ASCIIbetical order.

匹配后停止 *

Postmaster filters are evaluated in ASCIIbetical order. This setting defines the evaluation of the subsequent postmaster filters.

否

所有邮箱管理员过滤器都已执行。

是

仍会评估当前的邮箱管理员过滤器，但会取消对剩余过滤器的评估。

过滤器条件

邮箱管理员过滤器设置 - 过滤器条件

邮箱管理员过滤器包含一个或多个必须满足的条件，以便在电子邮件上执行定义的操作。 可以为特定邮件头条目或邮件正文中的字符串定义筛选条件。

Search header field … for value

Select a mail header or an X-OTRS header from the first drop-down list, and enter a value as search term for the selected mail header to the second field. Even regular expressions can be used for extended pattern matching.

邮件头条目列表可以在 RFC5322 中找到。 也可以将 X-OTRS 头定义为过滤条件。 不同的 X-OTRS 头及其含义如下：

X-OTRS-AttachmentCount

这包含电子邮件中包含的附件数量（例如，0 表示没有附件的邮件）。

X-OTRS-AttachmentExists

Depending on whether attachments are included in the email this X-OTRS header is set to yes, or it has a no value if no attachments are included.

X-OTRS-BodyDecrypted

如果传入邮件已加密，则可以添加搜索词以查找传入加密邮件的正文。

X-OTRS-CustomerNo

设置工单的客户ID。

X-OTRS-CustomerUser

设置工单的客户用户。

X-OTRS-DynamicField-<DynamicFieldName>

在 <DynamicFieldName> 动态字段上保存工单的附加信息值。 可能的值取决于动态字段配置（例如：文本：Notebook，日期：2010-11-20 00:00:00，整数：1）。

X-OTRS-FollowUp-*

这些邮件头与没有 FollowUp （跟进） 前缀的邮件头相同，但这些邮件头仅适用于跟进邮件。

X-OTRS-FollowUp-State-Keep

如果设置为 1，则传入的跟进消息将不会更改工单状态。 为此，可以在系统配置中使用选项 KeepStateHeader 自定义邮件头。

X-OTRS-Ignore

If set to Yes or True, the incoming message will completely be ignored and never delivered to the system.

X-OTRS-IsVisibleForCustomer

控制是否向客户用户显示信件。 可能的值为 0 或 1。

X-OTRS-Lock

Set the lock state of a ticket. Possible values are lock or unlock.

X-OTRS-Loop

If set to Yes or True, no auto answer is delivered to the sender of the message (mail loop protection).

X-OTRS-Owner

设置工单所有者的服务人员。

X-OTRS-OwnerID

设置工单所有者的服务人员ID。

X-OTRS-Priority

设置工单的优先级。

X-OTRS-Queue

Defines the queue in which the ticket should be sorted. If a queue is set with this header, this setting has priority over all other filter rules that refer to queues. If you use a sub-queue, specify it as Parent::Sub.

X-OTRS-Responsible

设置工单负责人的服务人员。

X-OTRS-ResponsibleID

设置工单负责人的服务人员ID。

X-OTRS-SenderType

Set the sender type for the ticket. Possible values are agent, system or customer.

X-OTRS-Service

设置工单所属的服务。 如果使用子服务，请将其指定为 父服务::子服务。

X-OTRS-SLA

设置工单所属的服务级别协议。

X-OTRS-State

设置工单的状态。

X-OTRS-State-PendingTime

Set the pending time for the ticket (you should sent a pending state via X-OTRS-State). You can specify absolute dates like 2010-11-20 00:00:00 or relative dates, based on the arrival time of the email. Use the form + $Number $Unit, where $Unit can be s (seconds), m (minutes), h (hours) or d (days). Only one unit can be specified. Examples of valid settings: +50s (pending in 50 seconds), +30m (30 minutes), +12d (12 days).

注解

像 +1d 12h 这样的设置是不可能的，不过您可以用 +36h 来替代。

X-OTRS-Title

设置工单的标题。

X-OTRS-Type

设置工单的类型。

警告

这些邮件头必须通过OTRS未提供的方式手动注入邮件中。OTRS只接受来自可信来源的 X-OTRS 头。

参见

Mail Account Settings 定义信任级别。

求反

如果选中，则条件会将使用的搜索词求反。

设置邮件头

邮箱管理员过滤器设置 - 设置邮件头

在本节中，您可以选择过滤规则匹配时触发的操作。

Set email header … with value

Select an X-OTRS header from the first drop-down list, and add a value to the second field that should be set as value of the selected X-OTRS header.

参见

The X-OTRS headers are already described above.

邮箱管理员邮件帐户

正如公司不只有一个接收传统邮件的部门一样，您的服务台也将为多个团队服务。 每个团队都可以拥有其物理邮箱。

OTRS简化了电子邮箱的设置。 OTRS通过轮询管理一个或多个任何互联网标准类型的电子邮箱。

使用此屏幕将邮件帐户添加到系统。 邮件帐户管理屏幕位于 通信和通知 组的 邮箱管理员邮件帐户 模块中。

邮件帐户管理屏幕

警告

收取邮件时OTRS会从POP或IMAP服务器上删除邮件。没有选项来让服务器仍保留一份副本。如果你想在服务器保留一份副本，你应当在邮件服务器上创建转发规则，请查阅你的邮件服务器文档以获取详细信息。

注解

如果选择IMAP，则可以指定要收取的文件夹。这样就可以选择性地分发邮件。

邮件帐户的所有数据都保存在OTRS数据库中。bin/otrs.Console.pl Maint::PostMaster::MailAccountFetch 命令使用数据库中的设置并收取邮件。 您可以手动执行它以检查所有邮件设置是否正常工作。

在默认安装中，当OTRS守护进程运行时，每10分钟收取一次邮件。

管理邮件帐户

若要添加一个邮件帐户：

点击左侧边栏中的 添加邮件帐户 按钮。

填写必填字段。

点击 保存 按钮。

添加邮件帐户屏幕

若要编辑一个邮件帐户：

点击邮件帐户列表中的一个邮件帐户。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑邮件帐户屏幕

若要删除一个邮件帐户：

点击邮件帐户列表中的垃圾桶图标。

点击 确认 按钮。

删除邮件帐户屏幕

注解

如果将多个邮件帐户添加到系统中，则只需键入相关字符即可通过过滤器框查找特定邮件帐户。

邮件帐户设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

类型 *

有不同类型的协议用于收取邮件。 支持以下协议：

IMAP

IMAPS

IMAPTLS

POP3

POP3S

POP3TLS

用户名 *

邮件帐户的用户名。

密码 *

邮件帐户的密码。

主机 *

邮件帐户的主机名。

IMAP文件夹

要收取的邮件帐户中的文件夹。 其他文件夹保持不变。

是否信任

如果选择了 Yes/是，则评估并执行附加到传入消息的任何 X-OTRS 头。 因为 X-OTRS 头可以在工单系统中执行某些操作，所以您应该仅对已知发件人将此选项设置为 是。

参见

在 邮箱管理员过滤器 的过滤条件中解释了 X-OTRS 头。

分发

如果需要按队列或 收件人 字段的内容对传入消息进行排序，则可以控制传入消息的分发。

通过电子邮件To:(收件人)字段分发

系统检查队列是否与传入邮件的 To:(收件人) 字段中的地址链接。 您可以在 邮件地址 屏幕中将地址链接到队列。 如果 To:(收件人) 字段中的地址与队列链接，则新消息将被分类到链接队列中。 如果在 To:(收件人) 字段中的地址与任何队列之间未找到任何链接，则消息将流入系统中的 Raw 队列，该队列是默认安装后的邮箱管理员的默认队列。

参见

The postmaster default queue can be changed in system configuration setting PostmasterDefaultQueue.

按所选队列分发

所有传入的消息都将被分类到指定的队列中。 在这种情况下，忽略发送邮件的地址。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

S/MIME证书

设备和人员通过实施信息安全政策、标准和控制措施来保护关键信息。安全的电子邮件通信是保护这种通信的重要组成部分。

OTR允许您在需要时通过 S/MIME证书 或 PGP密钥 加密通信。

注解

由于此软件的独立性，此处不介绍加密所需的服务和软件设置。

使用此屏幕向系统添加S/MIME证书。S/MIME管理屏幕在 通信和通知 组的 S/MIME证书 模块中。

S/MIME管理屏幕

管理S/MIME证书

注解

若要在OTRS中使用S/MIME证书，必须首先激活其设置。

启用S/MIME支持

若要添加一个S/MIME证书：

点击左侧边栏中的 添加证书 按钮。

点击*浏览…*按钮来打开文件对话框。

从文件系统中选择一个S/MIME证书。

点击*添加*按钮。

添加S/MIME证书屏幕

注解

只能上传包含以 ----- BEGIN CERTIFICATE ----- 行开始的ASCII（base64）铠装数据的非二进制密钥文件，通常是 key.pem 或 root.crt。cert.p7b 等其他格式的转换必须使用OpenSSL完成。

若要添加一个私钥：

点击左侧边栏的 添加私钥 按钮。

点击*浏览…*按钮来打开文件对话框。

从文件系统中选择一个私钥文件。

点击 提交 按钮。

添加S/MIME私钥屏幕

若要删除一个S/MIME证书：

点击S/MIME证书列表中的垃圾桶图标。

点击 确认 按钮。

删除S/MIME证书屏幕

注解

如果系统中添加了多个S/MIME证书，只需键入要筛选的名称，即可使用过滤器框查找特定的S/MIME证书。

To adjust the S/MIME certificate settings of the system:

转到 系统配置 屏幕。

Navigate to Core → Crypt → SMIME in the navigation tree.

查看设置。

工单通知

简化沟通可以节省工时并防止出错。在预先定义的通信阶段发送某些消息不仅可以让客户和服务人员了解特定事件，而且还可以通过编程方式为客户自动更新消息来帮助服务人员。

灵活的OTRS是电子邮件通信领域的行业领导者，可根据系统中的任何事件为您提供完整的通知控制。

使用此屏幕将工单通知添加到系统。 在新的OTRS安装中，默认情况下已添加了多个工单通知。 工单通知管理屏幕位于 通信和通知 组的 工单通知 模块中。

工单通知管理屏幕

管理工单通知

若要添加一个工单通知：

点击左侧边栏的 添加通知 按钮。

按照 Ticket Notification Settings 的说明填写必填字段。

点击 保存 按钮。

若要编辑一个工单通知：

点击工单通知列表中的一个工单通知。

按照 Ticket Notification Settings 的说明修改字段。

点击 保存 或 保存并完成 按钮。

若要删除一个工单通知：

点击工单通知列表中的垃圾桶图标。

点击 确认 按钮。

删除工单通知屏幕

若要导出所有的工单通知：

点击左侧边栏的 导出通知 按钮。

在计算机中选择一个位置以保存 Export_Notification.yml 文件。

警告

某些设置将作为数字ID导出，并在导入到不显示这些设置或引用其他命名项的系统时中断。

若要导入工单通知：

点击左侧边栏的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

如果要覆盖现有通知，请点击 覆盖现有通知？ 复选框。

点击 导入通知配置 按钮。

工单通知设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

参见

有关示例，请参阅新的OTRS安装中包含的默认工单通知。

基本的工单通知设置

工单通知设置 - 基本

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

在服务人员偏好设置里显示

定义通知应如何在服务人员偏好设置中显示。 可以使用以下选项：

否

通知不会显示在服务人员偏好设置中。 通过定义的方法将通知发送给所有符合条件的服务人员。

是

通知将显示在服务人员偏好设置中以供选择。 服务人员可以选择加入或退出。

是的，但需要至少一个可用的通知方法。

通知将显示在服务人员偏好设置中，但至少需要一个可用的通知方法。 这是由名称旁边的星号注释的。

个人工单通知设置

服务人员偏好设置提示

这个信息将会在服务人员偏好设置屏幕作为这个通知的提示信息显示。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

Events（事件）

工单通知设置 - 事件

事件

在这里你可以选择哪个事件将会触发这个通知，下面的工单过滤器可以选择符合特定条件的工单。

工单过滤器 1

工单通知设置 - 工单过滤器

（可选）使用此小部件通过匹配配置的值来缩小工单列表：

注解

此列表中的值可随着系统的增长而增长。您的系统中的 动态字段 和功能越多，列表就越长。

状态

过滤工单的状态。

优先级

过滤工单的优先级。

队列

过滤工单所在的队列。

锁定

过滤工单的锁定状态。

客户ID

过滤工单的客户ID。

客户用户ID

过滤工单的客户用户ID。

动态字段

过滤添加到系统的一些动态字段。 有关动态字段的完整列表，请参阅 动态字段 一章。

信件过滤器 1

工单通知设置 - 信件过滤器

注解

只有在 事件 小部件中选择了 ArticleCreate（信件创建） 或 ArticleSend（信件发送） 时，此小部件才有效。

信件发送人类型

过滤工单的发件人类型。 可能的值为 agent（服务人员）、system（系统） 或 customer（客户）。

客户可见度

过滤客户可见度，可能的值为 Invisible to customer（客户不可见） 或 Visible to customer（客户可见）。

通信渠道

过滤通信渠道，可能的值为 Chat（聊天）、 Email（电子邮件）、 OTRS、 Phone（电话） 或 SMS（短信）。

通知包含附件

如果选择 是，则通知中将包含附件；选择 否 将不使用此功能。

附件名

过滤附件名。

密件抄送

过滤密件抄送字段。

正文

过滤正文文本。

抄送

过滤抄送字段。

发件人

过滤发件人字段。

主题

过滤主题字段。

收件人

过滤主要的收件人字段。

短信电话号码

过滤短信的电话号码。

短信文本

过滤短信的文本。

短信事务编号

过滤短信的事务编号。

工单通知收件人

工单通知设置 - 收件人

发送给

选择应接收通知的服务人员。 可能的值是：

创建该工单的服务人员

对这个工单负责的服务人员

拥有这个工单的服务人员

所有关注了工单所在队列和工单所属服务的服务人员

所有关注了工单所在队列的服务人员

所有关注了工单服务的服务人员

所有关注这个工单的服务人员

所有对这个工单有写权限的服务人员

第一封信件的所有收件人

最近一封信件的所有收件人

工单的客户用户

发送给这些服务人员

可以选择一个或多个应接收通知的服务人员。

发送给组的所有成员（仅服务人员）

可以选择一个或多个组，其中的服务人员将会收到通知。

发送给角色的所有成员

可以选择一个或多个角色，其中的服务人员将会收到通知。

外出也发送

如果选中此选项，则即使服务人员当前外出，也会发送通知。

一天一次

Notify users just once per day about a single ticket using a selected transport. If this is the first notification about a ticket, then the notification will be sent. If a notification was already sent before and this option is checked, the OTRS daemon will check the time the last notification was sent. If there was no notification sent in the last 24 hours, the notification will be sent again.

工单通知方法

工单通知设置 - 通知方法

启用这个通知方法

启用或禁用此通知方法。通知方法可以是电子邮件、Web视图或短信。

注解

要使用短信通知方法，需要启用 云服务。

其他的收件人邮件地址

Additional recipients can be added here. Use comma or semicolon to separate the email addresses.

信件对客户的可见性

如果通知发送给客户或额外的邮件地址时创建一封信件。

邮件模板

选择用于通知的电子邮件模板。

注解

通过将一个 .tt 文件放在文件夹 <otrs_home>/kernel/output/html/templates/standard/notificationEvent/email/ 中，可以添加其他电子邮件模板。请参见现有的电子邮件模板以获取示例。

启用电子邮件安全

选中此选项将加密通知的电子邮件。

注解

要使用此功能，需要启用 PGP密钥 或 S/MIME证书。

电子邮件安全级别

如果选中 启用电子邮件安全性，则激活此设置。以下选项可用：

仅PGP签名

只使用 PGP 密钥签署通知的电子邮件。如果没有向系统添加PGP密钥，则此选项不可见。

仅PGP加密

仅使用PGP密钥加密通知的电子邮件。如果没有向系统添加PGP密钥，则此选项不可见。

PGP签名和加密

用PGP密钥对通知的电子邮件进行签名和加密。如果没有向系统添加PGP密钥，则此选项不可见。

仅SMIME签名

仅使用S/MIME证书签署通知的电子邮件。如果没有向系统添加S/MIME证书，则此选项不可见。

仅SMIME加密

仅使用S/MIME证书加密通知的电子邮件。如果没有向系统添加S/MIME证书，则此选项不可见。

SMIME签名和加密

使用S/MIME证书对通知的电子邮件进行签名和加密。如果没有向系统添加S/MIME证书，则此选项不可见。

注解

要使用此功能，需要启用 PGP密钥 或 S/MIME证书。

如果缺少签名密钥/证书

选择在缺少签名密钥或证书时应使用的方法。

如果缺少加密密钥/证书：

选择在缺少加密密钥或证书时应使用的方法。

通知正文

工单通知设置 - 通知正文

可以为具有本地化主题和正文文本的每种语言添加通知的正文内容。还可以定义混合了OTRS智能标签的静态文本内容。

主题 *

特定语言的本地化主题。

正文 *

特定语言的本地化正文文本。

添加通知语言

选择应添加哪些语言以创建本地化通知。客户或服务人员的语言将使用客户和服务人员偏好设置中的语言。其次，将选择系统默认语言。实在不行，英语长存。

警告

Deleting a language from the DefaultUsedLanguages setting that already has a notification text here will make the notification text unusable. If a language is not present or enabled on the system, the corresponding notification text could be deleted if it is not needed anymore.

工单通知变量

在文本中使用变量可以对消息进行个性化设置。变量，称为 OTRS 标签，在生成消息时被 OTRS 替换。在“添加”和“编辑”屏幕的底部查找此资源的可用标签源列表。

工单通知变量

例如，变量 <OTRS_TICKET_TicketNumber> 扩展为工单编号，允许模板包含如下内容。

Ticket#<OTRS_TICKET_TicketNumber>

例如，这个标签扩展为：

Ticket#2018101042000012

1(1,2)

这里不能使用正则表达式作为过滤器。

用户、组和角色

简单而复杂的组织需要一种灵活的方式来控制对其服务台的访问。必须协调访问、资源和权限，以便用户和客户能够访问他们所需的资源，并根据系统的需要保护他们的数据。

OTRS为此提供了强大的工具，其用法将在下一章中介绍。

目录

服务人员

管理服务人员

服务人员设置

服务人员后端源

服务人员认证后端

服务人员同步后端

服务人员配置选项

服务人员 ↔ 组

管理服务人员 ↔ 组关系

服务人员 ↔ 组关联参考

服务人员 ↔ 角色

管理服务人员 ↔ 角色关系

客户

管理客户

客户设置

客户 ↔ 组

管理客户 ↔ 组关联

客户 ↔ 组关联参考

客户用户

管理客户用户

客户用户设置

Customer User Back Ends

Database

LDAP

Multiple Customer User Back Ends

Customer User Data in Dynamic Fields

客户用户 ↔ 客户

管理客户用户 ↔ 客户关联

客户用户 ↔ 组

管理客户用户 ↔ 组关联

客户用户 ↔ 组关联参考

客户用户 ↔ 服务

管理客户用户 ↔ 服务关联

管理默认服务

组

管理组

组设置

默认组

角色

管理角色

角色设置

角色 ↔ 组

管理角色 ↔ 组关系

角色 ↔ 组关联参考

服务人员

服务台的代理和访问管理应该很容易。在添加、编辑、使访问无效以及快速概览用户拥有哪些权限方面的灵活性将帮助您维护一个干净的权限系统，并在OTR中记录您的设置。

OTRS帮助您跨多个后端管理OTRS内的服务人员。 OTRS可以使用最多十个后端源，甚至将一些标记为只读。 集中管理用户设置，管理员可以快速使受感染的帐户无效，或者在出现意外疾病时将帐户设置为外出。

使用此屏幕将服务人员添加到系统。 默认情况下，新的OTRS安装包含具有管理员权限的服务人员。 服务人员管理屏幕位于 用户、组和角色 组的 服务人员 模块中。

服务人员管理屏幕

警告

超级用户帐户用户名是 root@localhost。 不要使用超级用户帐户来使用OTRS！ 创建新服务人员并改为使用这些帐户。 其中一个不利影响是 访问控制列表(ACL) 对超级用户无效。

管理服务人员

注解

只有使用数据库后端才能添加或编辑服务人员。使用LDAP之类的显式外部目录服务，并且根据配置，某些数据库是只读的。个人偏好（如外出）仍然可以设置。

若要添加一个服务人员：

点击左侧边栏中的 添加服务人员 按钮。

填写必填字段。

点击 保存 按钮。

添加服务人员屏幕

警告

无法从系统中删除服务人员。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个服务人员：

点击服务人员列表中的一个服务人员。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑服务人员屏幕

还可以编辑该服务人员的个人偏好。 要执行此操作，请单击 编辑服务人员 屏幕左侧边栏中的 编辑这个服务人员的个人偏好设置 按钮。

若要查找一个服务人员：

在左侧边栏的搜索框中输入搜索字词。

单击字段右侧的放大镜图标或敲击一下 回车 键。

注解

如果系统中添加了多个服务人员，请使用搜索框查找特定服务人员。 默认情况下仅列出前1000个服务人员。

可以通过将服务人员添加到 组 或 角色 来控制服务人员权限。这可能导致权限的复杂矩阵。可以在 编辑服务人员 屏幕底部检查服务人员的有效权限。如果使用角色（推荐），则此屏幕将反映由角色指定的组合权限。

服务人员的有效权限小部件

服务人员设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

注解

这些是可用于内部数据库表的默认字段。

头衔或问候语

可以在此处添加一些名称前缀，如 Mr.、Dr.、Jr. 等。

名 *

服务人员的名字部分。

姓 *

服务人员的姓。

参见

可以通过系统配置设置 FirstnameLastnameOrder 设置服务人员显示名称。

用户名 *

登录系统的服务人员的用户名。

密码

服务人员的密码。 如果留空，将自动生成。

Email *

服务人员的邮件地址.

注解

电子邮件语法和可用MX记录的有效性检查可能会阻止您提交此表单。对于某些系统，关闭这些检查可能是可以接受的。请参阅 Agent Configuration Options。

手机

服务人员的手机号码。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

服务人员后端源

Agents can be read and synchronized from an Active Directory® or LDAP server.

In case of using On-Premise system or ((OTRS)) Community Edition, you may use the following section to configure your system.

注解

The following configurations are taken care of by the Customer Solution Team in OTRS. Please contact the Customer Solution Team via support@otrs.com or in the OTRS Portal.

服务人员认证后端

默认情况下users表存储您的服务人员数据。 您可以将目录服务器（LDAP/Active Directory）附加到您的系统以进行身份验证。 为了实现这个，从 Defaults.pm 复制下面的内容并将其粘贴到 Config.pm 中。

# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
#    $Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
#    $Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
#    $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
#    $Self->{'AuthModule::LDAP::UID'} = 'uid';

# Check if the user is allowed to auth in a posixGroup
# (e. g. user needs to be in a group xyz to use otrs)
#    $Self->{'AuthModule::LDAP::GroupDN'} = 'cn=otrsallow,ou=posixGroups,dc=example,dc=com';
#    $Self->{'AuthModule::LDAP::AccessAttr'} = 'memberUid';
# for ldap posixGroups objectclass (just uid)
#    $Self->{'AuthModule::LDAP::UserAttr'} = 'UID';
# for non ldap posixGroups objectclass (with full user dn)
#    $Self->{'AuthModule::LDAP::UserAttr'} = 'DN';

# The following is valid but would only be necessary if the
# anonymous user do NOT have permission to read from the LDAP tree
#    $Self->{'AuthModule::LDAP::SearchUserDN'} = '';
#    $Self->{'AuthModule::LDAP::SearchUserPw'} = '';

# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
# or if you want to filter with a locigal OR-Expression, like AlwaysFilter => '(|(mail=*abc.com)(mail=*xyz.com))'
#    $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';

# in case you want to add a suffix to each login name, then
# you can use this option. e. g. user just want to use user but
# in your ldap directory exists user@domain.
#    $Self->{'AuthModule::LDAP::UserSuffix'} = '@domain.com';

# In case you want to convert all given usernames to lower letters you
# should activate this option. It might be helpful if databases are
# in use that do not distinguish selects for upper and lower case letters
# (Oracle, postgresql). User might be synched twice, if this option
# is not in use.
#    $Self->{'AuthModule::LDAP::UserLowerCase'} = 0;

# In case you need to use OTRS in iso-charset, you can define this
# by using this option (converts utf-8 data from LDAP to iso).
#    $Self->{'AuthModule::LDAP::Charset'} = 'iso-8859-1';

# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
#    $Self->{'AuthModule::LDAP::Params'} = {
#        port    => 389,
#        timeout => 120,
#        async   => 0,
#        version => 3,
#    };

# Die if backend can't work, e. g. can't connect to server.
#    $Self->{'AuthModule::LDAP::Die'} = 1;

You should uncomment the following settings as a minimum.

连接目录服务器所必需的最少信息是：

$Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'uid';

Host

目录服务器的DNS名称或IP。

BaseDN

目录树中的起点。

UID

用于登录和识别的属性。

注解

对于Active Directory这里是 sAMAccountName。

要使用多个后端，请继续将示例代码添加到 Config.pm 的其它部分。 请确保在所有设置后添加数值[1-9]，以指示哪些设置属于哪个后端。

### Backend One
$Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=example,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'uid';

### Backend Two
$Self->{AuthModule1} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host1'} = 'ldap.example.com';
$Self->{'AuthModule::LDAP::BaseDN1'} = 'dc=example,dc=com';
$Self->{'AuthModule::LDAP::UID1'} = 'uid';

警告

所有后端将连续使用。对于所有后端，UID都必须是唯一的，否则可能会产生一些副作用。

要与特定目录服务器同步（请参阅下面的 Agent User Data ），必须将适当的设置添加到 Agent Authentication Back End。要实现此操作，请复制 Defaults.pm 中的以下内容并将其粘贴到 Config.pm 中。

$Self->{'AuthModule::UseSyncBackend'} = 'AuthSyncBackend';

要使用多个后端，请继续将示例代码添加到 Config.pm 的其它部分。 请确保在所有设置后添加数值[1-9]，以指示哪些设置属于哪个后端。

$Self->{'AuthModule::UseSyncBackend1'} = 'AuthSyncBackend1';

也可以重复使用 Agent Synchronization Back End。

$Self->{'AuthModule::UseSyncBackend1'} = 'AuthSyncBackend';

服务人员同步后端

建议同步服务人员数据，以便在授权之前不必手动将服务人员添加到用户表中。此外，可以使用目录服务器的安全对象自动添加组和角色。

服务人员用户数据

登录时同步用户数据。要实现此操作，请复制 Defaults.pm 中的以下内容并将其粘贴到 Config.pm 中。

# This is an example configuration for an LDAP auth sync. backend.
# (take care that Net::LDAP is installed!)
#    $Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
#    $Self->{'AuthSyncModule::LDAP::Host'} = 'ldap.example.com';
#    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=example,dc=com';
#    $Self->{'AuthSyncModule::LDAP::UID'} = 'uid';

# The following is valid but would only be necessary if the
# anonymous user do NOT have permission to read from the LDAP tree
#    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = '';
#    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = '';

# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
# or if you want to filter with a logical OR-Expression, like AlwaysFilter => '(|(mail=*abc.com)(mail=*xyz.com))'
#    $Self->{'AuthSyncModule::LDAP::AlwaysFilter'} = '';

# AuthSyncModule::LDAP::UserSyncMap
# (map if agent should create/synced from LDAP to DB after successful login)
# you may specify LDAP-Fields as either
#  * list, which will check each field. first existing will be picked ( ["givenName","cn","_empty"] )
#  * name of an LDAP-Field (may return empty strings) ("givenName")
#  * fixed strings, prefixed with an underscore: "_test", which will always return this fixed string
#    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
#        # DB -> LDAP
#        UserFirstname => 'givenName',
#        UserLastname  => 'sn',
#        UserEmail     => 'mail',
#    };

连接目录服务器所必需的最少信息是：

$Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'ldap.example.com';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=example,dc=com';
$Self->{'AuthSyncModule::LDAP::UID'} = 'uid';

Host

目录服务器的DNS名称或IP。

BaseDN

目录树中的起点。

UID

用于登录和识别的属性。

注解

对于Active Directory这里是 sAMAccountName。

注解

可以使用多个 Agent Synchronization Back End 块。请确保在所有设置后添加一个数字值[1-9]以指示哪些设置属于哪个后端。每个 AuthSyncModule 必须在 Agent Authentication Back End 中明确使用。

服务人员组数据

可以使用安全对象将用户同步到OTRS组。 为了实现这个，从 Defaults.pm 复制下面的内容并将其粘贴到 Config.pm 中。

注解

组 必须在OTRS中可用才能使用此功能。

服务人员角色数据

可以使用安全对象将用户同步到OTRS角色。 为了实现这个，从 Defaults.pm 复制下面的内容并将其粘贴到 Config.pm 中。

注解

角色 必须在OTRS中可用才能使用此功能。

服务人员配置选项

服务人员 ↔ 组

在不断发展的业务中，高效、直接的权限管理至关重要。 在每种情况下，都必须轻松地将特定用户分配给组以便快速访问或删除对资源的访问。

OTRS界面为您提供了管理服务对一个或多个特定组的访问权限的可能性。 同样，您可以高效、优雅地更改多个用户对任何一个组的访问权限。

使用此屏幕将一个或多个服务添加到一个或多个组。 要使用此功能，需要至少将一个服务人员和一个组添加到系统中。 管理屏幕位于 用户、组和角色 组的 服务人员 ↔ 组 模块中。

管理服务人员的组权限

管理服务人员 ↔ 组关系

若要将某些组分配给一个服务人员：

点击 服务人员 列中的一个服务人员。

选择要将服务人员连接到组的权限。

点击 保存 或 保存并完成 按钮。

修改服务人员关联的组

若要将某些服务人员分配给一个组：

点击 组 列中的一个组。

选择要将组连接到服务人员的权限。

点击 保存 或 保存并完成 按钮。

修改组关联的服务人员

注解

如果向系统添加了多个服务人员或组，请使用过滤器框，通过键入要过滤的名称来查找特定服务人员或组。

可以在两个屏幕中同时分配多个服务人员或组。 另外，在关联屏幕中点击服务人员或组将相应地打开 编辑服务人员 屏幕或 编辑组 屏幕。

警告

访问服务人员或组不提供到关联屏幕的返回链接。

服务人员 ↔ 组关联参考

将服务人员分配给组（反之亦然）时，可以将多个权限设置为服务人员与组之间的连接。 默认情况下，以下权限可用：

ro（只读）

对于组/队列中的工单具有 ‘只读’权限。

转移到

将工单转移到这个组/队列的权限。

create（创建）

在这个组/队列具有创建工单的权限。

note（备注）

在这个组/队列具有添加备注的权限。

owner（所有者）

在这个组/队列具有变更工单所有者的权限。

priority（优先级）

在这个组/队列具有更改工单优先级的权限。

聊天所有者

服务人员拥有聊天的完全权限，可以接受聊天请求。

聊天参与者

服务人员通常可以参与聊天。

聊天观察者

服务人员可以静默参与聊天。

rw（读写）

对于组/队列中的工单具有完全的读写权限。

参见

Not all available permissions are shown by default. See System::Permission setting for permissions that can be added. These additional permissions can be added:

stats（统计）

访问统计页面的权限。

退回

退回电子邮件的权限（在 工单详情 屏幕中使用退回按钮）。

撰写

为工单撰写回复的权限。

客户

更改工单客户的权限。

转发

转发邮件的权限（使用“转发”按钮）。

挂起

将工单设置为挂起的权限。

电话

向工单添加客户来电的权限。

负责人

更改工单的服务人员负责人的权限。

注解

通过设置列标题中的复选框，将设置所选列中的所有复选框。通过设置最后一个 rw 列中的复选框，将设置所选行中的所有复选框。

服务人员 ↔ 角色

随着组织的发展，组不能成为用于处理访问权限的分母。 角色变得越来越需要，因为角色具有一组特殊的权限。 不可以给一个人提供单独的权限，除了角色的内置权限。

OTRS允许通过定义的一个或多个角色轻松访问预定义的权限集。 这些角色可轻松分配给一个或多个服务人员，或将一个或多个服务人员分配给一个角色。

使用此屏幕将一个或多个服务人员添加到一个或多个角色。 要使用此功能，需要至少向系统添加一个服务人员和一个角色。 管理屏幕位于 用户、组和角色 组的 服务人员 ↔ 角色 模块中。

管理服务人员与角色的关系

管理服务人员 ↔ 角色关系

若要将某些角色分配给一个服务人员：

点击 服务人员 列中的一个服务人员。

选择您希望服务人员所属的角色。

点击 保存 或 保存并完成 按钮。

修改服务人员关联的角色

若要将某些服务人员分配给一个角色：

点击 角色 列中的一个角色。

选择要添加到角色的服务人员。

点击 保存 或 保存并完成 按钮。

修改角色关联的服务人员

注解

如果向系统添加了多个服务人员或角色，只需键入要过滤的名称，即可使用过滤器框查找特定服务人员或角色。

可以在两个屏幕中同时分配多个服务人员或角色。 另外，在关联屏幕中单击服务人员或角色将相应地打开 编辑服务人员 屏幕或 编辑角色 屏幕。

警告

访问服务人员或角色不会提供到关联屏幕的返回链接。

注解

通过设置列标题中的复选框 激活 将设置列中的所有复选框。

客户

使用此屏幕将客户单位添加到系统中。 默认情况下，新的OTRS安装不包含任何客户。 客户管理屏幕位于 用户、组和角色 组的 客户 模块中。

客户管理屏幕

管理客户

注解

只能通过使用数据库后端来添加或编辑客户。 使用LDAP等外部目录服务将禁用客户管理功能。

若要添加一个客户：

点击左侧边栏的 添加客户 按钮。

填写必填字段。

点击 保存 按钮。

添加客户屏幕

警告

无法从系统中删除客户。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个客户：

点击客户列表中的一个客户。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑客户屏幕

若要查找一个客户：

在左侧边栏的搜索框中输入搜索字词。

单击字段右侧的放大镜图标或敲击一下 回车 键。

注解

如果将多个客户添加到系统中，请使用搜索框查找特定客户。 默认情况下仅列出前1000个客户。

客户设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

客户ID *

客户的内部名称。 应该只包含字母，数字和一些特殊字符。

客户 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

街道

客户的街道名称。

邮编

客户的邮编。

城市

客户总部所在城市。

国家

客户的国家。 从列表中选择一个国家/地区。

网址

客户的网页或其他URL。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

客户 ↔ 组

您的组织不断发展，在某些时候将权限分配给各个用户是不切实际的，您需要将权限分配给客户的所有客户用户。

OTRS允许您为一个 客户 分配 组 权限。 与服务人员的访问方式相同，可防止客户修改和查看一个请求。 因此，允许客户专注于原始通信的结果，并通过一张工单汇集讨论。

参见

通过 客户用户 ↔ 组 将单个客户用户分配到一个组。

使用此屏幕将一个或多个客户添加到一个或多个组。 要使用此功能，需要至少将一个客户和一个组添加到系统中。 管理屏幕位于 用户、组和角色 组的 客户 ↔ 组 模块中。

管理客户-组的关联

需要在至少一个客户用户 后端 启用客户组支持才能使用此功能。 对于默认的OTRS 后端，可以通过在系统配置中点击 在这里启用！ 按钮启用它。

启用客户组功能

注解

要在使用目录服务器或多个非默认后端的系统中启用此功能，需要将自定义配置文件放在 Kernel/Config/Files 中（例如名为 ZZZ_CustomerBackend.pm）。 激活后，此后端的所有客户用户都需要分组。

警告

更改后端后，将删除服务器缓存，这可能会导致性能暂时下降。

管理客户 ↔ 组关联

注解

要使用此功能，您必须先激活其设置。

启用客户-组支持

若要将一些组分配给一个客户：

点击 客户 列表中的一个客户。

选择要将客户连接到组的权限。

点击 保存 或 保存并完成 按钮。

修改客户关联的组

若要将某些客户分配给一个组：

点击 组 列中的一个组。

选择要将组连接到客户的权限。

点击 保存 或 保存并完成 按钮。

修改组关联的客户

若要修改客户的默认组：

单击左侧栏中的 编辑客户的默认组 按钮。

Add or modify groups in setting CustomerGroupCompanyAlwaysGroups.

部署修改后的系统配置。

CustomerGroupCompanyAlwaysGroups 系统配置屏幕

这些组会自动分配给所有客户。

注解

如果系统中添加了多个客户或组，请使用搜索框查找特定客户，或使用过滤器框通过键入要过滤的名称来查找特定组。

可以在两个屏幕中同时分配多个客户或组。 另外，在关联屏幕中点击客户或组将相应地打开*编辑客户*屏幕或*编辑组*屏幕。

警告

访问客户或组不提供到关联屏幕的返回链接。

客户 ↔ 组关联参考

将客户分配到组或反之，可以将多个权限设置为客户和组之间的连接。 默认情况下，以下权限可用：

同一客户

给客户用户授予对来自同一单位的客户用户的工单（工单的客户ID等于客户用户的客户ID）基于组的访问权限。

ro（只读）

对该资源的只读访问权限。

rw（读写）

对该资源的完全读写访问权限。

注解

通过在列标题中设置复选框，将设置所选列中的所有复选框。

客户用户

您公司与谁打交道的记录需要更多关于个体的信息：实际位置（用于运输和账单目的）以及电子邮件和电话的联系信息。

OTRS提供了一种很好的方法来保存贵公司所服务的组织内的联系人的个人信息。 您可以根据需要向OTRS添加任意数量的个人连接。

使用此屏幕向系统添加 客户用户。 默认情况下，新的OTRS安装不包含任何客户用户。 客户用户管理屏幕位于* 用户、组和角色 组的 客户用户 模块中。

客户用户管理屏幕

管理客户用户

警告

只有当至少有一个 客户 存在时，才能将客户用户添加到系统中。 首先创建一个或多个 客户。

注解

只能通过使用数据库后端来添加或编辑客户用户。 使用LDAP等外部目录服务将禁用客户用户管理功能。

若要添加一个客户用户：

点击左侧边栏的 添加客户用户 按钮。

填写必填字段。

点击 保存 按钮。

添加客户用户屏幕

警告

无法从系统中删除客户用户。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个客户用户：

点击客户用户列表中的一个客户用户。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑客户用户屏幕

若要查找一个客户用户：

在左侧边栏的搜索框中输入搜索字词。

单击字段右侧的放大镜图标或敲击一下 回车 键。

注解

如果将多个客户用户添加到系统中，请使用搜索框查找特定客户用户。 默认情况下，仅列出前1000个客户用户。

可以通过将客户或客户用户添加到 组 来控制客户用户权限。 这可能会导致复杂的权限矩阵。 可以在 编辑客户用户 屏幕的底部检查客户用户的有效权限。

客户用户的有效权限小部件

参见

需要启用 客户用户 ↔ 组 才能使用此功能。

客户用户设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

注解

这些是可用于内部数据库表的默认字段。

头衔或问候语

可以在此处添加一些名称前缀，如 Mr.、Dr.、Jr. 等。

名 *

客户用户的名字部分。

姓 *

客户用户的姓。

用户名 *

登录系统的客户用户的用户名。

密码

客户用户的密码。 如果留空，将自动生成。

Email *

客户用户的电子邮件地址。

客户 *

客户用户所属的客户单位。 从 客户 列表中选择一个客户。

电话

客户用户的电话号码。

传真

客户用户的传真号码。

手机

客户用户的手机号码。

街道

客户的街道名称。

邮编

客户的邮编。

城市

客户总部所在城市。

国家

客户用户的国家/地区。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

参见

It is possible to assign multiple customers to customer users via the 客户用户 ↔ 客户 screen.

Customer User Back Ends

The system works with many customer user data attributes such as username, email address, phone number, etc. These attributes are displayed in both the agent and the external interface, and also used for the authentication of customer users.

Customer data used or displayed within the system is highly customizable. The user login and the email address are always needed for customer authentication.

You can use two types of customer back end: database or LDAP. If you already have another customer back end (e.g. SAP), it is possible to write a module that uses it.

The administrator interface does not support the configuration of external back ends. Administrators need to edit the file Kernel/Config.pm by copying and pasting code snippets from Kernel/Config/Defaults.pm manually in case of using On-Premise system or ((OTRS)) Community Edition.

警告

Do not modify the file Kernel/Config/Defaults.pm, it will be overwritten after upgrading the system! Copy and paste the code snippets into Kernel/Config.pm instead.

注解

The following configurations are taken care of by the Customer Solution Team in OTRS. Please contact the Customer Solution Team via support@otrs.com or in the OTRS Portal.

Database

This is the default customer user back end for new installations. The example below shows the configuration of a database customer back end, which uses customer user data stored in the database table customer_user.

    # CustomerUser
    # (customer user database backend and settings)
    $Self->{CustomerUser} = {
        Name   => Translatable('Database Backend'),
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {

            # if you want to use an external database, add the
            # required settings
#            DSN  => 'DBI:odbc:yourdsn',
#            Type => 'mssql', # only for ODBC connections
#            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
#            User => '',
#            Password => '',
            Table => 'customer_user',
#            ForeignDB => 0,    # set this to 1 if your table does not have create_time, create_by, change_time and change_by fields

            # CaseSensitive defines if the data storage of your DBMS is case sensitive and will be
            # preconfigured within the database driver by default.
            # If the collation of your data storage differs from the default settings,
            # you can set the current behavior ( either 1 = CaseSensitive or 0 = CaseINSensitive )
            # to fit your environment.
            #
#            CaseSensitive => 0,

            # SearchCaseSensitive will control if the searches within the data storage are performed
            # case sensitively (if possible) or not. Change this option to 1, if you want to search case sensitive.
            # This can improve the performance dramatically on large databases.
            SearchCaseSensitive => 0,
        },

        # customer unique id
        CustomerKey => 'login',

        # customer #
        CustomerID    => 'customer_id',
        CustomerValid => 'valid_id',

        # The last field must always be the email address so that a valid
        #   email address like "John Doe" <john.doe@domain.com> can be constructed from the fields.
        CustomerUserListFields => [ 'first_name', 'last_name', 'email' ],

#        CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchFields           => [ 'login', 'first_name', 'last_name', 'customer_id' ],
        CustomerUserSearchPrefix           => '*',
        CustomerUserSearchSuffix           => '*',
        CustomerUserSearchListLimit        => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields             => [ 'title', 'first_name', 'last_name' ],
        CustomerUserEmailUniqCheck         => 1,

#        # Configures the character for joining customer user name parts. Join single space if it is not defined.
#        # CustomerUserNameFieldsJoin => '',

#        # show now own tickets in customer panel, CompanyTickets
#        CustomerUserExcludePrimaryCustomerID => 0,
#        # generate auto logins
#        AutoLoginCreation => 0,
#        # generate auto login prefix
#        AutoLoginCreationPrefix => 'auto',
#        # admin can change customer preferences
#        AdminSetPreferences => 1,
        # use customer company support (reference to company, See CustomerCompany settings)
        CustomerCompanySupport => 1,
        # cache time to live in sec. - cache any database queries
        CacheTTL => 60 * 60 * 24,
#        # Consider this source read only.
#        ReadOnly => 1,
        Map => [

            # Info about dynamic fields:
            #
            # Dynamic Fields of type CustomerUser can be used within the mapping (see example below).
            # The given storage (third column) then can also be used within the following configurations (see above):
            # CustomerUserSearchFields, CustomerUserPostMasterSearchFields, CustomerUserListFields, CustomerUserNameFields
            #
            # Note that the columns 'frontend' and 'readonly' will be ignored for dynamic fields.

            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
            [ 'UserTitle',        Translatable('Title or salutation'), 'title',          1, 0, 'var', '', 0, undef, undef ],
            [ 'UserFirstname',    Translatable('Firstname'),           'first_name',     1, 1, 'var', '', 0, undef, undef ],
            [ 'UserLastname',     Translatable('Lastname'),            'last_name',      1, 1, 'var', '', 0, undef, undef ],
            [ 'UserLogin',        Translatable('Username'),            'login',          1, 1, 'var', '', 0, undef, undef ],
            [ 'UserPassword',     Translatable('Password'),            'pw',             0, 0, 'var', '', 0, undef, undef ],
            [ 'UserEmail',        Translatable('Email'),               'email',          1, 1, 'var', '', 0, undef, undef ],
#            [ 'UserEmail',        Translatable('Email'),               'email',          1, 1, 'var', '[% Env("CGIHandle") %]?Action=AgentTicketCompose;ResponseID=1;TicketID=[% Data.TicketID | uri %];ArticleID=[% Data.ArticleID | uri %]', 0, '', 'AsPopup OTRSPopup_TicketAction' ],
            [ 'UserCustomerID',   Translatable('CustomerID'),          'customer_id',    0, 1, 'var', '', 0, undef, undef ],
#            [ 'UserCustomerIDs',  Translatable('CustomerIDs'),         'customer_ids',   1, 0, 'var', '', 0, undef, undef ],
            [ 'UserPhone',        Translatable('Phone'),               'phone',          1, 0, 'var', '', 0, undef, undef ],
            [ 'UserFax',          Translatable('Fax'),                 'fax',            1, 0, 'var', '', 0, undef, undef ],
            [ 'UserMobile',       Translatable('Mobile'),              'mobile',         1, 0, 'var', '', 0, undef, undef ],
            [ 'UserStreet',       Translatable('Street'),              'street',         1, 0, 'var', '', 0, undef, undef ],
            [ 'UserZip',          Translatable('Zip'),                 'zip',            1, 0, 'var', '', 0, undef, undef ],
            [ 'UserCity',         Translatable('City'),                'city',           1, 0, 'var', '', 0, undef, undef ],
            [ 'UserCountry',      Translatable('Country'),             'country',        1, 0, 'var', '', 0, undef, undef ],
            [ 'UserComment',      Translatable('Comment'),             'comments',       1, 0, 'var', '', 0, undef, undef ],
            [ 'ValidID',          Translatable('Valid'),               'valid_id',       0, 1, 'int', '', 0, undef, undef ],

            # Dynamic field example
#            [ 'DynamicField_Name_X', undef, 'Name_X', 0, 0, 'dynamic_field', undef, 0, undef, undef ],
        ],

        # default selections
        Selections => {

#            UserTitle => {
#                'Mr.' => Translatable('Mr.'),
#                'Mrs.' => Translatable('Mrs.'),
#            },
        },
    };

If you want to customize the customer user data, change the columns or add new ones to the customer_user table in the database.

For example, to add a new field for room number:

Add a new column room to table customer_user.

MySQL or MariaDB:

root> mysql -u root -p -e 'ALTER TABLE otrs.customer_user ADD room VARCHAR (250)'

PostgreSQL (from the /opt/otrs directory):

otrs> psql -c 'ALTER TABLE customer_user ADD COLUMN room varchar(250)'

Copy the $Self->{CustomerUser} section from Kernel/Config/Defaults.pm into Kernel/Config.pm.

Add the new column to the Map array.

[ 'UserRoom', 'Room', 'room', 0, 1, 'var', '', 0, undef, undef ],

You can set the HTTP link target and link class (the last two keys) to undef in map array elements, if they are not to be used. These keys add target="" and class="" attributes to the HTTP link element, respectively. They are ignored if HTTP link is not set (it is '' in this example).

注解

It is recommended to always use English words for names.

参见

Names can be translated into other languages with custom translation files. See the Custom Translation File chapter in the developer manual.

LDAP

If you have an LDAP directory with your customer user data, you can use it as the customer user back end. The example below shows the configuration of a LDAP customer user back end.

# CustomerUser
# (customer user ldap backend and settings)
    $Self->{CustomerUser} = {
        Name => 'LDAP Backend',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            # ldap host
            Host => 'bay.csuhayward.edu',
            # ldap base dn
            BaseDN => 'ou=seas,o=csuh',
            # search scope (one|sub)
            SSCOPE => 'sub',
            # The following is valid but would only be necessary if the
            # anonymous user does NOT have permission to read from the LDAP tree
            UserDN => '',
            UserPw => '',
            # in case you want to add always one filter to each ldap query, use
            # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
            AlwaysFilter => '',
            # if the charset of your ldap server is iso-8859-1, use this:
#            # SourceCharset => 'iso-8859-1',
            # die if backend can't work, e. g. can't connect to server
            Die => 0,
            # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
            Params => {
                port    => 389,
                timeout => 120,
                async   => 0,
                version => 3,
            },
        },
        # customer unique id
        CustomerKey => 'uid',
        # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['uid', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        # Configures the character for joining customer user name parts. Join single space if it is not defined.
        CustomerUserNameFieldsJoin => '',
        # show customer user and customer tickets in the external interface
        CustomerUserExcludePrimaryCustomerID => 0,
        # add a ldap filter for valid users (expert setting)
#        # CustomerUserValidFilter => '(!(description=gesperrt))',
        # admin can't change customer preferences
        AdminSetPreferences => 0,
        # cache time to live in sec. - cache any ldap queries
#        CacheTTL => 0,
        Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
            [ 'UserTitle',       Translatable('Title or salutation'), 'title',               1, 0, 'var', '', 1, undef, undef ],
            [ 'UserFirstname',   Translatable('Firstname'),           'givenname',           1, 1, 'var', '', 1, undef, undef ],
            [ 'UserLastname',    Translatable('Lastname'),            'sn',                  1, 1, 'var', '', 1, undef, undef ],
            [ 'UserLogin',       Translatable('Username'),            'uid',                 1, 1, 'var', '', 1, undef, undef ],
            [ 'UserEmail',       Translatable('Email'),               'mail',                1, 1, 'var', '', 1, undef, undef ],
            [ 'UserCustomerID',  Translatable('CustomerID'),          'mail',                0, 1, 'var', '', 1, undef, undef ],
            # [ 'UserCustomerIDs', Translatable('CustomerIDs'),         'second_customer_ids', 1, 0, 'var', '', 1, undef, undef ],
            [ 'UserPhone',       Translatable('Phone'),               'telephonenumber',     1, 0, 'var', '', 1, undef, undef ],
            [ 'UserAddress',     Translatable('Address'),             'postaladdress',       1, 0, 'var', '', 1, undef, undef ],
            [ 'UserComment',     Translatable('Comment'),             'description',         1, 0, 'var', '', 1, undef, undef ],

            # this is needed, if "SMIME::FetchFromCustomer" is active
            # [ 'UserSMIMECertificate', 'SMIMECertificate', 'userSMIMECertificate', 0, 1, 'var', '', 1, undef, undef ],

            # Dynamic field example
            # [ 'DynamicField_Name_X', undef, 'Name_X', 0, 0, 'dynamic_field', undef, 0, undef, undef ],
        ],
    };

To activate and configure the LDAP back end:

Copy the $Self->{CustomerUser} section from Kernel/Config/Defaults.pm into Kernel/Config.pm.

Remove the comments (# characters) from the beginning of the lines.

If additional customer user attributes are stored in your LDAP directory, such as a manager name, a mobile phone number, or a department, this information can be displayed in OTRS.

To display additional customer user attributes from LDAP directory:

Expand the Map array in Kernel/Config.pm with the entries for these attributes.

[ 'UserMobilePhone', 'Mobile Phone', 'mobilephone', 1, 0, 'var', '', 1, undef, undef ],

注解

It is recommended to always use English words for names.

参见

Names can be translated into other languages with custom translation files. See the Custom Translation File chapter in the developer manual.

Multiple Customer User Back Ends

If you want to use more than one customer user data source, the CustomerUser configuration parameter should be expanded with a number, like CustomerUser1 and CustomerUser2.

The following configuration example shows usage of both a database and an LDAP customer user back end.

# Data source 1: customer user database back end and settings.
    $Self->{CustomerUser1} = {
        Name   => 'Database Backend',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            DSN => 'DBI:odbc:yourdsn',
            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
            User => '',
            Password => '',
            Table => 'customer_user',
        },
        # Other setting here.
    };

# Data source 2: customer user LDAP back end and settings.
    $Self->{CustomerUser2} = {
        Name => 'LDAP Backend',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            Host => 'bay.csuhayward.edu',
            BaseDN => 'ou=seas,o=csuh',
            SSCOPE => 'sub',
            UserDN => '',
            UserPw => '',
            AlwaysFilter => '',
            Die => 0,
            Params => {
                port    => 389,
                timeout => 120,
                async   => 0,
                version => 3,
            },
        },
        # Other setting here.
    };

It is possible to integrate up to 10 different customer back ends. Use the 客户用户 screen to view or edit (assuming write access is enabled) all customer user data.

Customer User Data in Dynamic Fields

Sometimes it can be useful to also store customer user data directly in dynamic fields of a ticket, for example to create special statistics on this data.

The dynamic field values are set, when a ticket is created or when the customer user of a ticket is changed. The values of the dynamic fields are taken from the customer user data. This works for all back ends, but is especially useful for LDAP back ends.

To activate this optional feature:

Activate the setting Ticket::EventModulePost###4100-DynamicFieldFromCustomerUser.

Activate the setting DynamicFieldFromCustomerUser::Mapping. This setting contains the configuration of which customer user field entry should be stored in which ticket dynamic field.

Create the dynamic fields, if the dynamic fields are not present in the system yet.

Enable the dynamic fields in setting Ticket::Frontend::AgentTicketFreeText###DynamicField, so that they can be set manually.

注解

The dynamic field must not be enabled in the following settings:

Ticket::Frontend::AgentTicketPhone###DynamicField

Ticket::Frontend::AgentTicketEmail###DynamicField

Ticket::Frontend::AgentTicketCustomer###DynamicField

If they were, they would have precedence over the automatically set values.

客户用户 ↔ 客户

例如，在一个将客户视为部门和团队的组织中，客户用户可能需要访问多个客户工单以进行控制。也许你有几个代表不同公司的合伙人，或者一个公司想看看他们子公司所有的服务请求。

对于所有情况，OTRS都提供了方法。除了主要客户之外，您的客户用户还可以访问您定义的多个客户工单。

使用此屏幕将一个或多个客户用户添加到一个或多个客户。 要使用此功能，至少需要将一个客户用户和一个客户添加到系统中。 管理屏幕位于 用户、组和角色 组的 客户用户 ↔ 客户 模块中。

管理客户用户和客户的关联

管理客户用户 ↔ 客户关联

注解

该模块用于将一个 客户用户 分配给其它的 客户 记录。 主要客户通过 Customer User Settings 进行分配。

若要将一些客户分配给一个客户用户：

点击 客户用户 列表中的一个客户用户。

选择要分配给客户用户的客户。

点击 保存 或 保存并完成 按钮。

修改客户用户和客户的关联

若要将一些客户用户分配给一个客户：

点击 客户 列表中的一个客户。

选择要分配给该客户的客户用户。

点击 保存 或 保存并完成 按钮。

修改客户关联的客户用户

Before OTRS version 7.0.14 it was only possible to enable or disable access to company tickets for customer users for every customer user back end via CustomerUserExcludePrimaryCustomerID parameter. It was not possible to select the primary customer ID, because it was assumed to be always there anyways, and for the same reason it is still not possible if CustomerUserExcludePrimaryCustomerID is disabled for that customer user back end.

In order to allow privilege separation for customer users of a common company, it should be possible to remove access to tickets of the same company and then individually reassign access to specific customer users. Then these customer users have company ticket access while all others do not.

To allow privilege separation for the customer users of the same company:

转到 系统配置 屏幕。

Search for the setting CustomerDisableCompanyTicketAccess and enable it to make sure not all customer users get access to company tickets until the configuration is finished.

Copy the $Self->{CustomerUser} section from Kernel/Config/Defaults.pm into Kernel/Config.pm.

Remove the comment (# character) from the beginning of the line contained CustomerUserExcludePrimaryCustomerID and set the value to 1.

CustomerUserExcludePrimaryCustomerID => 1,

Set Customer Users ↔ Customers relations for customer users who need to have access to company tickets.

转到 系统配置 屏幕。

Search for the setting CustomerDisableCompanyTicketAccess and disable it to allow access to company tickets only for customer users configured in step 5.

注解

如果将多个客户用户或客户添加到系统中，请使用搜索框查找特定客户用户或客户。 默认情况下，仅列出前1000个客户用户和客户。

可以在两个屏幕中同时分配多个客户用户或客户。 此外，在关联屏幕中单击客户用户或客户将相应地打开 编辑客户用户 屏幕或 编辑客户 屏幕。

警告

访问客户用户或客户不提供到关联屏幕的返回链接。

注解

通过在列标题中设置复选框，将设置所选列中的所有复选框。

客户用户 ↔ 组

客户用户不必担心服务台的内部工作。 单点联系请求可以触发组织内的多个流程，所有流程都附加了客户用户信息，并且对客户可见。

OTRS允许您为客户用户分配 组 权限。 与服务人员的访问方式相同，可防止客户修改和查看一个请求。 因此，允许客户专注于原始通信的结果，并通过一张工单汇集讨论。

参见

使用 客户 ↔ 组 将组分配给整个客户。

使用此屏幕将一个或多个客户用户添加到一个或多个组。 要使用此功能，至少需要将一个客户用户和一个组添加到系统中。 管理屏幕位于 用户、组和角色 组的 客户用户 ↔ 组 模块中。

管理客户用户-组的关联

需要在至少一个客户用户 后端 启用客户组支持才能使用此功能。 对于默认的OTRS 后端，可以通过在系统配置中点击 在这里启用！ 按钮启用它。

启用客户组功能

注解

要在使用目录服务器或多个非默认后端的系统中启用此功能，需要将自定义配置文件放在 Kernel/Config/Files 中（例如名为 ZZZ_CustomerBackend.pm）。 激活后，此后端的所有客户用户都需要分组。

警告

更改后端后，将删除服务器缓存，这可能会导致性能暂时下降。

管理客户用户 ↔ 组关联

若要将一些组分配给一个客户用户：

点击 客户用户 列表中的一个客户用户。

选择要将客户用户连接到组的权限。

点击 保存 或 保存并完成 按钮。

修改客户用户关联的组

若要将某些客户用户分配给一个组：

点击 组 列中的一个组。

选择要将组连接到客户用户的权限。

点击 保存 或 保存并完成 按钮。

修改组关联的客户用户

若要修改客户用户的默认组：

单击左侧栏中的 编辑客户用户的默认组 按钮。

Add or modify groups in setting CustomerGroupAlwaysGroups.

部署修改后的系统配置。

CustomerGroupAlwaysGroups 系统配置屏幕

这些组自动分配给所有的客户用户。

注解

如果将多个客户用户或组添加到系统中，请使用搜索框查找特定客户用户，或使用过滤器框通过键入要过滤的名称来查找特定组。

可以在两个屏幕中同时分配多个客户用户或组。 此外，在关系屏幕中点击客户用户或组将相应地打开 编辑客户用户 屏幕或 编辑组 屏幕。

警告

访问客户用户或组不提供到关联屏幕的返回链接。

客户用户 ↔ 组关联参考

将客户用户分配给组时（反之亦然），可以将多个权限设置为客户用户与组之间的连接。 默认情况下，以下权限可用：

ro（只读）

对该资源的只读访问权限。

rw（读写）

对该资源的完全读写访问权限。

注解

通过在列标题中设置复选框，将设置所选列中的所有复选框。

客户用户 ↔ 服务

使用此屏幕将一个或多个客户用户添加到一个或多个服务。 要使用此功能，至少需要向系统添加一个客户用户和一个服务。 管理屏幕位于 用户、组和角色 组的 客户用户 ↔ 服务 模块中。

管理客户-服务之间的关联

管理客户用户 ↔ 服务关联

若要为一个客户用户分配一些服务：

点击 客户用户 列表中的一个客户用户。

选择要分配给客户用户的服务。

点击 保存 或 保存并完成 按钮。

修改客户用户关联的服务

若要为一个服务分配一些客户用户：

点击 服务 列中的一个服务。

选择要分配给服务的客户用户。

点击 保存 或 保存并完成 按钮。

修改客户用户关联的服务

注解

如果将多个客户用户或服务添加到系统中，请使用搜索框查找特定客户用户，或使用过滤器框通过键入要过滤的名称来查找特定服务。

可以在两个屏幕中同时分配多个客户用户或服务。 另外，在关联屏幕中点击客户用户或服务将相应地打开 编辑客户用户 屏幕或 编辑服务 屏幕。

警告

访问客户用户或服务不提供到关联屏幕的返回链接。

注解

通过在列标题中设置复选框，将设置所选列中的所有复选框。

管理默认服务

可以添加默认服务，以便所有客户用户都可以访问它们。这样就避免了必须向每个客户用户添加每个服务。

若要编辑默认服务：

点击左侧边栏中的 编辑默认服务 按钮。

选择所有客户用户都可以选择的服务。

点击 保存 或 保存并完成 按钮。

分配服务到客户用户 屏幕

警告

混合使用默认服务和客户特定的服务可能会令人混淆。如果客户用户分配了特定的服务，则不应用缺省服务。

组

使用此屏幕将组添加到系统。 新的OTRS安装包含一些默认组。 组管理屏幕位于 用户、组和角色 组的 组 模块中。

组管理屏幕

管理组

若要添加一个组：

点击左侧边栏的 添加组 按钮。

填写必填字段。

点击 保存 按钮。

添加组屏幕

警告

无法从系统中删除组。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个组：

点击组列表中的一个组。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑组屏幕

注解

如果向系统添加了多个组，请使用过滤器框通过键入要过滤的名称来查找特定的组。

组设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

注解

重命名组不会影响先前给出的权限。 当 group1 现在被称为 group2 时，对于曾经被分配到 group1 的用户，所有权限都是相同的。 这个结果是因为OTRS使用ID来表示关系，而不是名称。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注解

使组无效不会从用户中删除权限，但只会使它们无效。 如果重新激活此组，即使使用新名称，权限也会生效。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

默认组

每个服务人员的帐户应至少属于一个组或角色。 在全新安装中，有一些预定义的组可用：

admin

允许执行系统中的管理任务。

stats

有资格访问OTRS的统计模块并生成统计报表。

users

服务人员应该属于这个组且有读写权限，这样他们才能访问工单系统的所有功能。

角色

使用此屏幕可向系统添加角色。 默认情况下，新的OTRS安装不包含任何角色。 角色管理屏幕位于 用户、组和角色 组的 角色 模块中。

角色管理屏幕

管理角色

若要添加一个角色：

点击左侧边栏的 添加角色 按钮。

填写必填字段。

点击 保存 按钮。

添加角色屏幕

警告

无法从系统中删除角色。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个角色：

点击角色列表中的一个角色。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑角色屏幕

注解

如果系统中添加了多个角色，只需键入要过滤的名称，即可使用过滤器框查找特定角色。

角色设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

角色 ↔ 组

使用此屏幕可将一个或多个角色添加到一个或多个组。 要使用此功能，需要至少将一个角色和一个组添加到系统中。 管理屏幕位于 用户、组和角色 组的 角色 ↔ 组 模块中。

管理角色-组的关联

管理角色 ↔ 组关系

若要将某些组分配给一个角色：

点击 角色 列中的一个角色。

选择要将角色连接到组的权限。

点击 保存 或 保存并完成 按钮。

修改角色关联的组

若要将某些角色分配给一个组：

点击 组 列中的一个组。

选择要将组连接到角色的权限。

点击 保存 或 保存并完成 按钮。

修改组关联的角色

注解

如果向系统添加了多个角色或组，只需键入要过滤的名称，即可使用过滤器框查找特定角色或组。

可以在两个屏幕中同时分配多个角色或组。 另外，在关联屏幕中点击角色或组将相应地打开 编辑角色 屏幕或 编辑组 屏幕。

警告

访问角色或组不会提供到关联屏幕的返回链接。

角色 ↔ 组关联参考

将角色分配给组（反之亦然）时，可以将多个权限设置为角色与组之间的连接。 默认情况下，以下权限可用：

ro（只读）

对于组/队列中的工单具有 ‘只读’权限。

转移到

将工单转移到这个组/队列的权限。

create（创建）

在这个组/队列具有创建工单的权限。

note（备注）

在这个组/队列具有添加备注的权限。

owner（所有者）

在这个组/队列具有变更工单所有者的权限。

priority（优先级）

在这个组/队列具有更改工单优先级的权限。

聊天观察者

拥有该权限类型的用户，在被邀请进入聊天通道后，只可以观察里面的聊天。

聊天参与者

拥有该权限类型的用户，只可以在被邀请进入聊天通道后参与聊天。

聊天所有者

具有此权限类型的用户将能够接受客户/公共用户的聊天请求，并在聊天中执行各种观察者和参与者操作。

rw（读写）

对于组/队列中的工单具有完全的读写权限。

参见

Not all available permissions are shown by default. See System::Permission setting for permissions that can be added. These additional permissions can be added:

stats（统计）

访问统计页面的权限。

退回

退回电子邮件的权限（在 工单详情 屏幕中使用退回按钮）。

撰写

为工单撰写回复的权限。

客户

更改工单客户的权限。

转发

转发邮件的权限（使用“转发”按钮）。

挂起

将工单设置为挂起的权限。

电话

向工单添加客户来电的权限。

负责人

更改工单的服务人员负责人的权限。

注解

通过设置列标题中的复选框，将设置所选列中的所有复选框。通过设置最后一个 rw 列中的复选框，将设置所选行中的所有复选框。

流程和自动化

有效地处理工单不仅需要手动更改其状态、添加信息、与其他人通信以及最终关闭工单这些可能性。

自动化使服务人员从重复和耗时的任务中释放出来，允许他们专注于需要交互的活动。

流程管理指导客户用户和服务人员从工单创建到关闭，确保工单在任何时候采用定义的工作流。

OTRS提供了许多基于事件、时间、外部系统和定义的流程的自动化任务选项。OTRS还包括向工单添加单个信息类型的可能性，并通过对特定状态的工单仅允许定义的活动，帮助服务人员在处理工单时降低错误率。

目录

访问控制列表(ACL)

管理访问控制列表

ACL设置

编辑ACL结构

匹配条件

更改设置

修饰符

ACL范例

根据优先级将工单移动到队列

根据存储在数据库中的优先级将工单移动到队列

在队列中禁用关闭工单并隐藏关闭按钮

移除状态

使用正则表达式

禁止客户流程

ACL 参考

动态字段

管理动态字段

动态字段设置

动态字段通用设置

复选框动态字段设置

联系人信息动态字段设置

日期动态字段设置

日期/时间动态字段设置

下拉框动态字段设置

多选框动态字段设置

文本框动态字段设置

多行文本框动态字段设置

数据库动态字段

Web服务动态字段

在屏幕中显示动态字段

通过工单事件模块设置默认值

通过用户偏好设置设置默认值

自动任务

管理自动任务

自动任务设置

通用的任务设置

自动执行

基于事件执行

选择工单

更新/添加工单属性

添加备注

执行工单指令

执行定制模块

流程管理

管理流程

流程元素

流程示例

流程规范

介绍流程元素

创建必要的资源

创建用户任务活动对话框

创建序列流

创建顺序流动作

创建活动

创建流程路径

Web服务

管理Web服务

Web服务设置

Web服务通用设置

提供程序Web服务设置

请求者Web服务设置

访问控制列表(ACL)

使用工单可能会成为一项令人困惑的任务。有许多选项用于处理或关闭工单，即使在工单的当前状态下或由于当前服务人员的角色而不需要它们。隐藏不需要的菜单项会清理菜单栏，使其更易于使用；隐藏动态字段或下一个队列的值会降低人为错误的可能性。

OTRS使用访问控制列表（ACL）来限制服务人员和客户用户的工单选项，只允许使用工单进行正确且有意义的活动。 OTRS管理员可以在图形界面中轻松生成ACL，以防止在满足特定要求之前关闭工单，防止在添加定义的信息之前将工单移动到队列，等等。

使用此屏幕管理系统中的访问控制列表。默认情况下，新的OTRS安装不包含访问控制列表。访问控制列表管理屏幕在 流程和自动化 组的 访问控制列表（ACL） 模块中可用。

ACL管理屏幕

管理访问控制列表

注解

在创建一些访问控制列表时，请记住它们是按照访问控制列表概览中显示的字母顺序执行的。

警告

超级用户帐户（UserID 1）将忽略ACL限制。

若要创建一个新的ACL：

点击左侧边栏中的 创建ACL 按钮。

填写必填字段。

点击 保存 按钮。

您将会被重定向到 编辑ACL 屏幕来编辑ACL结构。

创建ACL屏幕

若要编辑一个ACL：

点击ACL列表中的一个ACL，或者您已经从 创建ACL 屏幕重定向到此处。

修改字段和ACL结构。

点击 保存 或 保存并完成 按钮。

部署所有ACL。

编辑ACL结构屏幕

若要删除一个ACL：

点击ACL列表中的一个ACL。

将 有效性 选项设置为 无效 或 临时无效。

点击 保存 按钮。在左侧边栏中将出现一个新的 删除无效的ACL 按钮。

点击 删除无效的ACL 按钮。

点击确认屏幕中的 删除 按钮。

部署所有ACL。

警告

ACL以Perl格式写入 zzzacl.pm 文件。在不部署的情况下，即使删除了所有ACL或将 有效性 选项设置为 无效 或 临时无效，所有ACL仍在此缓存文件中。不要忘记在修改后部署所有ACL！

若要部署所有ACL：

点击左侧边栏的 部署ACL 按钮。

注解

为了影响系统的行为，必须部署新的或修改过的ACL。将 有效性 选项设置为 有效 只表示应该部署哪些ACL。

若要导出所有ACL：

点击左侧边栏的 导出ACL 按钮。

在计算机中选择一个位置以保存 Export_ACL.yml 文件。

若要导入ACL：

点击左侧边栏的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

如果您想覆盖现有的ACL，点击 覆盖现有的ACL吗？ 复选框。

点击 导入ACL配置 按钮。

点击 部署ACL 按钮部署导入的ACL。

注解

如果系统中添加了多个ACL，请使用过滤器框通过键入要过滤的名称来查找特定ACL。

警告

Changing the name of this object should be done with care, the check only provides verification for certain settings and ignores things where the name can’t be verified. Some examples are dashboard filters, access control lists (ACLs), and processes (sequence flow actions) to name a few. Documentation of your setup is key to surviving a name change.

ACL设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

描述

类似于注释，但可以在此处添加较长的文本。

匹配后停止

ACL按字母顺序进行评估。此设置禁止后续的ACL评估。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

编辑ACL结构

ACL定义可以分为两大部分，匹配设置 和 更改设置。在匹配部分中，ACL包含使用ACL必须满足的属性。如果在ACL中定义的属性与发送的属性不匹配，那么ACL不会受到任何影响，但任何其它匹配的ACL都会受到影响。更改部分包含减少工单可能选项的规则。

匹配条件

Properties（属性）

本部分包含可动态修改的匹配选项。例如：在一个工单创建时随着服务人员设置工单信息而动态修改工单数据。如果一条ACL匹配了一个工单属性，则只有当匹配的属性被选择时ACL将会激活并可能减少其它的工单属性，但只要选择了另一个值，ACL就不会产生任何影响。

PropertiesDatabase（在数据库中的属性）

本部分类似于 Properties（属性），但不会更改未保存到数据库中的工单属性，这意味着更改未提交的属性不会产生任何影响。 本部分不用于工单创建屏幕（因为尚未在数据库中创建工单）。

更改设置

Possible（可能的）

本部分用于将要减少的数据重置为仅在本部分中设置的元素。

PossibleAdd（可增加的）

本部分用于添加在其他ACL中减少的缺失元素。本部分仅与具有 Possible（可能的） 或 PossibleNot（不可能的） 部分的其他ACL一起使用。

PossibleNot（不可能的）

本部分用于从当前数据中删除特定元素。它可以单独使用，也可以与其他具有 Possible（可能的） 或 PossibleNot（不可能的） 部分的ACL一起使用。

修饰符

为了使ACL的开发更容易且更强大，每个部分还有一些所谓的属性‘修饰符’。这个修饰符的解释如下：

[Not]

此修饰符用于否定值，例如 [Not] 2 low。 用于优先级时与这些是相同的：1 very low、 3 normal、4 high、 5 very high。

[RegExp]

它用于定义匹配多个值的正则表达式，例如 [RegExp]low。在这种情况下，用于优先级时与 1 very low、 2 low 相同。

[regexp]

它与``[RegExp]`` 非常相似，但不区分大小写。

[NotRegExp]

否定正则表达式，例如 [NotRegExp]low。用于优先级时与 3 normal、4 high、5 very high 相同。

[Notregexp]

它与 [NotRegExp] 非常相似，但不区分大小写。

ACL范例

根据优先级将工单移动到队列

这个例子向您展示了如何允许移动优先级是 5 very high 的工单到某个队列中。

首先，它需要有一个名字。 在这里，叫做 100-Example-ACL。 请注意，ACL将在执行前进行数字排序，因此您应该仔细使用这些名称。 注释和描述字段是可选的。

100-Example-ACL - 基本设置

其次，有一个 属性 部分，它是你的工单的过滤器。 此处定义的所有条件都将应用于工单，以确定是否必须应用ACL。 在我们的示例中，如果工单位于队列 Raw 并且优先级为 5 very high，则将匹配。 这也受到在表单中更改的影响（例如，如果是是队列为 Raw 并且优先级为 3 normal 时ACL将不匹配，但是然后选择优先级下拉列表并更改优先级为 5 very high，然后也将匹配）。

100-Example-ACL - 匹配设置

最后，Possible（可能的） 部分定义了对屏幕的修改。 在本示例中，工单屏幕从可用的队列中只能选择 Alert 队列。

100-Example-ACL - 更改设置

注解

不要忘记将 有效性 设置为 有效 并部署新创建的ACL。

根据存储在数据库中的优先级将工单移动到队列

本示例与第一个示例非常相似，但在这个示例中，只有 Raw 队列中且优先级为 5 very high 的工单，两者都存储在数据库中时才会匹配。 在数据库中实际更新工单之前，此类ACL不考虑在表单中的更改。

101-Example-ACL

在队列中禁用关闭工单并隐藏关闭按钮

This example shows how to disable the closing of tickets in the queue Raw, and hide the close action. It is possible to filter a ticket field (state) with more than one possible values to select from. It is also possible to limit the actions that can be executed for a certain ticket. In this case, the ticket cannot be closed.

102-Example-ACL

移除状态

本示例显示了如何定义否定过滤器（状态 成功关闭 将被删除）。 您还可以看到，未定义工单的匹配属性将匹配任何工单，即会始终应用ACL。 如果您希望默认隐藏某些值，并且仅在特殊情况下启用它们（例如，如果服务人员位于一个特定组中），则此选项可能很有用。

103-Example-ACL

使用正则表达式

本示例显示了如何使用正则表达式匹配工单和过滤可用选项。 此ACL仅显示在以 HW 开头的队列中创建的工单的 Hardware 服务。

104-Example-ACL

禁止客户流程

此ACL使用客户ID TheCustomerID 限制外部人员界面中的流程 P14。

105-Example-ACL

ACL 参考

可在ACL中使用的属性、键和值在很大程度上取决于 OTRS 安装。 例如，可以通过安装扩展模块来扩展可能的值，并且它可以取决于在 Config.pm 中设置的客户用户映射。 因此，无法提供包含所有设置的完整的 ACL 参考。

有关可在 ACL 中使用的属性、键和值，请参阅以下 YAML 格式的 ACL 示例 。

---
- ChangeBy: root@localhost
  ChangeTime: 2020-04-15 16:46:23
  Comment: ACL Reference.
  ConfigMatch:
    Properties:
      # Match properties (current values from the form).
      CustomerUser:
        UserLogin:
        - some login
        UserCustomerID:
        - some customer ID
        Group_rw:
        - some group
      DynamicField:
        # Names must be in DynamicField_<field_name> format.
        # Values for dynamic fields must always be the untranslated internal
        #   data keys specified in the dynamic field definition and not the
        #   data values shown to the user.
        DynamicField_Field1:
        - some value
        DynamicField_OtherField:
        - some value
        DynamicField_TicketFreeText2:
        - some value
        # more dynamic fields
      Frontend:
        Endpoint:
        - AgentFrontend::KnowledgeBaseArticleDetailView::Property
        - AgentFrontend::PersonalPreferences
        - AgentFrontend::ProcessTicketNextStep
        - AgentFrontend::Ticket::Action::Close
        - AgentFrontend::Ticket::Action::Customer
        - AgentFrontend::Ticket::Action::EmailOutbound
        - AgentFrontend::Ticket::Action::FreeText
        - AgentFrontend::Ticket::Action::Link
        - AgentFrontend::Ticket::Action::Lock
        - AgentFrontend::Ticket::Action::Merge
        - AgentFrontend::Ticket::Action::Move
        - AgentFrontend::Ticket::Action::Note
        - AgentFrontend::Ticket::Action::Owner
        - AgentFrontend::Ticket::Action::Pending
        - AgentFrontend::Ticket::Action::PhoneCallInbound
        - AgentFrontend::Ticket::Action::PhoneCallOutbound
        - AgentFrontend::Ticket::Action::Print
        - AgentFrontend::Ticket::Action::Priority
        - AgentFrontend::Ticket::Action::Redirect
        - AgentFrontend::Ticket::Action::Responsible
        - AgentFrontend::Ticket::Action::SmsOutbound
        - AgentFrontend::Ticket::Action::TicketHistory
        - AgentFrontend::Ticket::Action::Unlock
        - AgentFrontend::Ticket::Action::Unwatch
        - AgentFrontend::Ticket::Action::Watch
        - AgentFrontend::TicketArticle::Action::CopyLink
        - AgentFrontend::TicketArticle::Action::Forward
        - AgentFrontend::TicketArticle::Action::MarkAsImportant
        - AgentFrontend::TicketArticle::Action::Plain
        - AgentFrontend::TicketArticle::Action::Print
        - AgentFrontend::TicketArticle::Action::Redirect
        - AgentFrontend::TicketArticle::Action::Reply
        - AgentFrontend::TicketArticle::Action::ReplyAll
        - AgentFrontend::TicketArticle::Action::ReplyToNote
        - AgentFrontend::TicketArticle::Action::ReplyViaSms
        - AgentFrontend::TicketArticle::Action::Split
        - AgentFrontend::TicketArticle::Action::UnmarkAsImportant
        - AgentFrontend::TicketCreateEmail
        - AgentFrontend::TicketCreatePhone
        - AgentFrontend::TicketCreateProcess
        - AgentFrontend::TicketCreateSMS
        - AgentFrontend::TicketDetailView::Property
        - AgentFrontend::TicketList::Bulk
        - AgentFrontend::TicketList::Filter
        - ...
        - ExternalFrontend::PersonalPreferences
        - ExternalFrontend::ProcessTicketCreate
        - ExternalFrontend::ProcessTicketNextStep
        - ExternalFrontend::TicketCreate
        - ExternalFrontend::TicketDetailView
        - ...
      Owner:
        UserLogin:
        - some login
        Group_rw:
        - some group
        Role:
        - admin
        # more owner attributes
      Priority:
        ID:
        - some ID
        Name:
        - some name
        # more priority attributes
      Process:
        ProcessEntityID:
        # the process that the current ticket is part of
        - Process-9c378d7cc59f0fce4cee7bb9995ee3eb
        ActivityEntityID:
        # the current activity of the ticket
        - Activity-f8b2fdebe54eeb7b147a5f8e1da5e35c
        ActivityDialogEntityID:
        # the current activity dialog that the agent/customer is using
        - ActivityDialog-aff0ae05fe6803f38de8fff6cf33b7ce
      Queue:
        Name:
        - Raw
        QueueID:
        - some ID
        GroupID:
        - some ID
        Email:
        - some email
        RealName:
        - OTRS System
        # more queue attributes
      Responsible:
        UserLogin:
        - some login
        Group_rw:
        - some group
        Role:
        - admin
        # more responsible attributes
      Service:
        ServiceID:
        - some ID
        Name:
        - some name
        ParentID:
        - some ID
        # more service attributes
      SLA:
        SLAID:
        - some ID
        Name:
        - some name
        Calendar:
        - some calendar
        # more SLA attributes
      State:
        ID:
        - some ID
        Name:
        - some name
        TypeName:
        - some state type name
        TypeID:
        - some state type ID
        # more state attributes
      Ticket:
        Queue:
        - Raw
        State:
        - new
        - open
        Priority:
        - some priority
        Lock:
        - lock
        CustomerID:
        - some ID
        CustomerUserID:
        - some ID
        Owner:
        - some owner
        DynamicField_Field1:
        - some value
        DynamicField_MyField:
        - some value
        # more ticket attributes
      Type:
        ID:
        - some ID
        Name:
        - some name
        # more type attributes
      User:
        UserLogin:
        - some_login
        Group_rw:
        - some group
        Role:
        - admin
    PropertiesDatabase:
      # Match properties (existing values from the database).
      # Please note that Frontend is not in the database, but in the framework.
      # See section "Properties", the same configuration can be used here.
  ConfigChange:
    Possible:
      # Reset possible options (white list).
      Action:
      # Possible action options (white list).
      - ...
      ActivityDialog:
      # Limit the number of possible activity dialogs the agent/customer can use in a process ticket.
      - ActivityDialog-aff0ae05fe6803f38de8fff6cf33b7ce
      - ActivityDialog-429d61180a593414789a8087cc4b3c6f
      - ...
      Endpoint:
      # Limit the functions on agent interface.
      - AgentFrontend::KnowledgeBaseArticleDetailView::Property
      - AgentFrontend::PersonalPreferences
      - AgentFrontend::ProcessTicketNextStep
      - AgentFrontend::Ticket::Action::Close
      - AgentFrontend::Ticket::Action::Customer
      - AgentFrontend::Ticket::Action::EmailOutbound
      - AgentFrontend::Ticket::Action::FreeText
      - AgentFrontend::Ticket::Action::Merge
      - AgentFrontend::Ticket::Action::Move
      - AgentFrontend::Ticket::Action::Note
      - AgentFrontend::Ticket::Action::Owner
      - AgentFrontend::Ticket::Action::Pending
      - AgentFrontend::Ticket::Action::PhoneCallInbound
      - AgentFrontend::Ticket::Action::PhoneCallOutbound
      - AgentFrontend::Ticket::Action::Priority
      - AgentFrontend::Ticket::Action::Redirect
      - AgentFrontend::Ticket::Action::Responsible
      - AgentFrontend::Ticket::Action::SmsOutbound
      - AgentFrontend::TicketArticle::Action::CopyLink
      - AgentFrontend::TicketArticle::Action::Forward
      - AgentFrontend::TicketArticle::Action::Redirect
      - AgentFrontend::TicketArticle::Action::Reply
      - AgentFrontend::TicketArticle::Action::ReplyAll
      - AgentFrontend::TicketArticle::Action::ReplyToNote
      - AgentFrontend::TicketArticle::Action::ReplyViaSms
      - AgentFrontend::TicketArticle::Action::Split
      - AgentFrontend::TicketCreateEmail
      - AgentFrontend::TicketCreatePhone
      - AgentFrontend::TicketCreateProcess
      - AgentFrontend::TicketCreateSMS
      - AgentFrontend::TicketDetailView::Property
      - AgentFrontend::TicketList::Bulk
      - AgentFrontend::TicketList::Filter
      - ...
      # Limit the functions on external interface.
      - ExternalFrontend::PersonalPreferences
      - ExternalFrontend::ProcessTicketCreate
      - ExternalFrontend::ProcessTicketNextStep
      - ExternalFrontend::TicketCreate
      - ExternalFrontend::TicketDetailView
      - ...
      Process:
      # Limit the number of possible processes that can be started.
      - Process-9c378d7cc59f0fce4cee7bb9995ee3eb
      - Process-12345678901234567890123456789012
      - ...
      Ticket:
      # Possible ticket options (white list).
        Queue:
        - Raw
        - some other queue
        State:
        - some state
        Priority:
        - 5 very high
        DynamicField_Field1:
        - some value
        DynamicField_MyField:
        - some value
        # more dynamic fields
        NewOwner:
        # For ticket action screens, where the Owner is already set.
        - some owner
        OldOwner:
        # For ticket action screens, where the Owner is already set.
        - some owner
        Owner:
        # For ticket create screens, because Owner is not set yet.
        - some owner
        # more ticket attributes
    PossibleAdd:
       # Add options (white list).
       # See section "Possible", the same configuration can be used here.
    PossibleNot:
       # Remove options (black list).
       # See section "Possible", the same configuration can be used here.
  CreateBy: root@localhost
  CreateTime: 2020-04-15 16:46:23
  Description: This is the long description of the ACL to explain its usage.
  ID: 1
  Name: 200-ACL-Reference
  StopAfterMatch: 0
  ValidID: 3

动态字段

除了所有工单所需的一般信息外，组织还需要向工单中添加特定的细节。所需的信息采用各种格式，如文本、整数、日期时间等。

OTRS支持添加所谓的 动态字段 来处理文本、整数、下拉列表、多选择字段、日期-时间、复选框等。OTRS管理员可以定义哪些字段应该是可见的或可编辑的，当然，统计数据和报告中也可以使用动态字段。

使用此屏幕管理系统中的动态字段。默认情况下，一个新的OTRS安装包含三个动态字段。动态字段管理屏幕可在 流程和自动化 组的 动态字段 模块中使用。

管理动态字段屏幕

管理动态字段

若要创建一个新动态字段：

从左侧边栏中选择一个对象，并从其下拉列表中选择一个动态字段类型。

填写必填字段。

点击 保存 按钮。

创建新动态字段屏幕

若要编辑一个动态字段：

点击动态字段列表中的一个动态字段。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑动态字段屏幕

若要删除一个动态字段：

点击概览表最后一列的垃圾桶图标。

点击 确认 按钮。

删除动态字段屏幕

注解

如果向系统添加了多个动态字段，可使用过滤器框通过键入要过滤的名称来查找特定的动态字段。

动态字段设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

动态字段通用设置

所有类型的动态字段的这些设置都相同。

动态字段通用设置屏幕

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

标签 *

这是在激活了该字段的屏幕上显示的名称。

参见

可以为动态字段标签添加翻译。 必须手动将标签翻译添加到语言翻译文件中。

字段顺序 *

This is the order in which the field is displayed on the screens where it is active.

注解

The configured value for the field order is considered in the following screens:

all screens in the administrator interface

all screens in the external interface

In other screens the order can be configured in other ways, e.g. via a specific order of fields in the form configuration.

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

字段类型

此类型已在上一页面中选择，不再在此处更改。 这是一个只读字段。

对象类型

此类型已在上一页面中选择，不再在此处更改。 这是一个只读字段。

注解

对象类型确定可以使用动态字段的位置。 例如，对象类型为 工单 的动态字段只能在工单中使用，不能在信件中使用。

以下设置仅与特定类型的动态字段相关。

复选框动态字段设置

复选框动态字段用于存储 true 或 false 值。

复选框动态字段设置

默认值 *

复选框的默认值。

已选中

默认情况下，复选框已选中。

未选中

默认情况下，复选框未选中。

联系人信息动态字段设置

此动态字段允许添加联系人信息到工单。

联系人信息动态字段设置

姓名字段 *

Name 属性始终是必需的，并且不会自动添加，因此对于每个新数据源，必须手动添加此属性。 在数据源定义（或动态字段配置）中，它们必须由键 Name 表示，值可以是 Name 之类。

ValidID 字段 *

ValidID 属性始终是必需的，并且不会自动添加，因此对于每个新数据源，必须手动添加此属性。 在数据源定义（或动态字段配置）中，它们必须由键 ValidID 表示，值可以是 Validity 之类。

其它字段

这些是联系人可能的数据属性。 点击 添加字段 中的 ⊞ 按钮将添加两个新字段，其中可以设置 键 （内部值）和 值 （显示值）。 使用该按钮，您可以添加多个键值对。

警告

Name 和 ValidID 键已被 姓名字段 和 ValidID 字段 使用。 不要再使用这两个键！

添加字段

使用此按钮可以向动态字段添加更多字段。

必须的字段

以逗号分隔的必须的键列表。

注解

Name 和 ValidID 键始终是必须的，不必在此列出。

排序字段

以逗号分隔的排序顺序键列表。 此处列出的键首先出现，之后是所有剩余字段，并按字母顺序排序。

可搜索的字段

以逗号分隔的可搜索的键列表。

注解

Name 键始终是可搜索的，不必在此处列出。

保存动态字段后，单击概览表中新创建的字段的名称。将打开 编辑动态字段 屏幕。 有一个 添加或编辑联系人 按钮，指向 工单 → 编辑联系信息 以添加一些数据。

联系信息管理屏幕

若要添加新的联系信息：

从左侧边栏的 操作 小部件的下拉列表中选择一个动态字段。

点击左侧边栏中的 添加联系信息 按钮。

填写必填字段。

点击 保存 按钮。

添加联系信息屏幕

若要编辑一个联系信息：

点击联系信息列表中的一个联系信息。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑联系信息屏幕

这种动态字段的使用比其他字段更复杂。 联系人信息的示例性用法如下：

创建一个联系人信息类型的新动态字段。

设置可能的联系属性（可能值）。

在 姓名字段 中输入 Name。

在 ValidID 字段 中输入 Validity。

使用 添加字段 添加任何其他属性，例如 Telephone 属性（键：Telephone，值：Phone）。

添加以逗号分隔的必须的属性键列表（不需要 Name 和 ValidID）。

将属性键顺序列表逗号分隔为：Name,Telephone,ValidID。

添加可搜索的属性键列表（不需要 Name），以逗号分隔。

通过在主导航栏中使用 工单 → 编辑联系人信息 屏幕，在新创建的数据源中添加至少一个联系人来填充数据源。

将新的动态字段添加到应显示的屏幕配置中。 例如，通过更新系统配置设置 Ticket::Frontend::AgentTicketPhone###DynamicField 和 Ticket::Frontend::AgentTicketZoom###DynamicField，添加到 创建电话工单 屏幕中。

转到 创建电话工单 屏幕，注意新字段出现了。 将所有需要的信息添加到工单。

使用自动完成选择现有联系人，并选择一个联系人。

分配的联系人及其属性将会显示在 工单详情 屏幕。

可以通过单击联系人信息框标题右侧显示的 编辑联系人信息 按钮来更新联系人的属性（如果当前用户是系统配置设置 Frontend::Module###AdminDynamicFieldContactWithData 中定义的组的成员）。

如果需要更改此工单的联系人，则可以通过配置了显示此动态字段的任何其他工单操作来完成。

日期动态字段设置

日期动态字段用于存储一个日期值。

日期动态字段设置

默认的时间差

用与 当前 的差值（以秒为单位）来计算本字段的默认值（例如3600或-60）。

定义年期

激活此功能可定义要在字段的年份部分显示的固定年份范围（将来和过去）。 如果设置为 是，则可以使用以下选项：

过去的几年

在编辑屏幕选择这个动态字段的年份时，能选择从当天算过去的几年。

未来的几年

在编辑屏幕选择这个动态字段的年份时，能选择从当天算未来的几年。

显示链接

您可以在此处为概览和详情屏幕中本字段值指定可选的HTTP链接。 例如：

http://some.example.com/handle?query=[% Data.Field1 | uri %]

预览链接

如果填写了内容，在工单详情屏幕中当鼠标移动到这个URL上方时将显示URL的预览。请注意：要使这个功能生效，还需要上面的常规URL字段也填写好了内容。

限制输入日期

在这里可以限制输入工单日期。

防止未来的日期条目

选择此选项将阻止输入当前日期之后的日期。

防止过去的日期条目

选择此选项将阻止输入当前日期之前的日期。

日期/时间动态字段设置

日期/时间动态字段用来存储一个日期时间值。

日期/时间动态字段设置

此类动态字段的设置与日期动态字段的设置相同。

下拉框动态字段设置

下拉框动态字段用于存储一个封闭列表中的单个值。

下拉框动态字段设置

可能值

这些是联系人可能的数据属性。 单击 ⊞ 按钮将添加两个新字段，其中可以设置键（内部值）和值（显示值）。 使用该按钮，您可以添加多个键值对。

默认值

这是此字段的默认值，这将显示在编辑屏幕上。

添加空值

如果激活此选项，则会定义一个额外值，以在可能值列表中显示为 -。 此特殊值在内部为空。

树形视图

激活此选项，将以树状形式显示值。

可翻译的值

如果激活此选项，这些值将被转换为用户定义的语言。

注解

您需要将翻译手动添加到语言翻译文件中。

显示链接

您可以在此处为概览和详情屏幕中本字段值指定可选的HTTP链接。 例如：

http://some.example.com/handle?query=[% Data.Field1 | uri %]

预览链接

如果填写了内容，在工单详情屏幕中当鼠标移动到这个URL上方时将显示URL的预览。请注意：要使这个功能生效，还需要上面的常规URL字段也填写好了内容。

多选框动态字段设置

多选框动态字段设置

可能值

这些是联系人可能的数据属性。 单击 ⊞ 按钮将添加两个新字段，其中可以设置键（内部值）和值（显示值）。 使用该按钮，您可以添加多个键值对。

默认值

这是此字段的默认值，这将显示在编辑屏幕上。

添加空值

如果激活此选项，则会定义一个额外值，以在可能值列表中显示为 -。 此特殊值在内部为空。

树形视图

激活此选项，将以树状形式显示值。

可翻译的值

如果激活此选项，这些值将被转换为用户定义的语言。

注解

您需要将翻译手动添加到语言翻译文件中。

文本框动态字段设置

文本框动态字段用于存储一个单行字符串。

文本框动态字段设置

默认值

这是此字段的默认值，这将显示在编辑屏幕上。

显示链接

您可以在此处为概览和详情屏幕中本字段值指定可选的HTTP链接。 例如：

http://some.example.com/handle?query=[% Data.Field1 | uri %]

预览链接

如果填写了内容，在工单详情屏幕中当鼠标移动到这个URL上方时将显示URL的预览。请注意：要使这个功能生效，还需要上面的常规URL字段也填写好了内容。

正则表达式检查

您可以在这里指定一个正则表达式来检查值，正则表达式将使用 xms 修饰符执行。例如：

^[0-9]$

添加正则表达式

点击 ⊞ 按钮将添加两个新字段，可以添加一个正则表达式和一条错误消息。

多行文本框动态字段设置

多行文本动态字段用于存储一个多行的字符串。

多行文本框动态字段设置

行数

此字段在编辑模式中的高度（行）。

列宽

此字段在编辑模式中的宽度（单位：字符）。

默认值

这是此字段的默认值，这将显示在编辑屏幕上。

正则表达式检查

您可以在这里指定一个正则表达式来检查值，正则表达式将使用 xms 修饰符执行。例如：

^[0-9]$

添加正则表达式

点击 ⊞ 按钮将添加两个新字段，可以添加一个正则表达式和一条错误消息。

数据库动态字段

注解

要使用这种类型的动态字段，需要 OTRS 服务软件包。 请联系sales@otrs.com进行升级。

Web服务动态字段

注解

要使用这种类型的动态字段，需要 OTRS 服务软件包。 请联系sales@otrs.com进行升级。

在屏幕中显示动态字段

若要在一个屏幕中显示一个动态字段：

确保该动态字段的 有效性 设置为 有效。

在系统管理界面中打开 系统配置 模块。

导航到 前端 → 服务人员 → 视图，并选择一个要添加动态字段的视图。

找到以 ### DynamicField 结束的设置，然后单击 编辑这个设置 按钮。

点击 + 按钮添加动态字段。

在文本框中输入动态字段的名称，然后单击勾选按钮。

选择 1 - 启用 或 2 - 启用且必填。

点击右侧的勾选按钮以保存设置。

部署修改后的系统配置。

在屏幕中显示动态字段

注解

可以同时添加多个动态字段。 为此，请重复步骤5-7。

通过工单事件模块设置默认值

如果该字段还没有值，则工事件（例如 TicketCreate）可以触发某个字段的值设置。

在系统管理界面中打开 系统配置 模块。

导航到 核心 → 事件 → 工单 并搜索设置 Ticket::EventModulePost###9600-TicketDynamicFieldDefault。

点击 编辑这个设置 按钮以激活设置。

点击右侧的勾选按钮以保存设置。

部署修改后的系统配置。

激活工单事件模块

范例：在 TicketCreate (创建工单)事件中激活 Field1：

在系统管理界面中打开 系统配置 模块。

导航到 核心 → 工单 → DynamicFieldDefault 并搜索设置 Ticket::TicketDynamicFieldDefault###Element1。

点击 编辑这个设置 按钮以激活设置。

点击右侧的勾选按钮以保存设置。

部署修改后的系统配置。

在创建工单事件中激活动态字段

注解

这个配置可以在16个 Ticket::TicketDynamicFieldDefault###Element 设置的任何一个中设置。

参见

如果需要设置超过16个字段，则必须将自定义XML文件放在 $OTRS_HOME/Kernel/Config/Files/XML 目录中以扩展此功能。

通过用户偏好设置设置默认值

可以使用存储在个人偏好设置中的用户定义值覆盖动态字段默认值。

在系统管理界面中打开 系统配置 模块。

导航到 前端 → 服务人员 → 视图 → 偏好设置 并搜索设置 PreferencesGroups###DynamicField。

点击 编辑这个设置 按钮以激活设置。

点击右侧的勾选按钮以保存设置。

部署修改后的系统配置。

在个从偏好设置中激活动态字段

单击左上角的头像，然后选择 个人偏好设置 → 其他 以添加动态字段的默认值。

个人偏好设置中的动态字段

此设置是如何在用户偏好设置屏幕中创建一个条目以便为所选用户设置独占动态字段 Name_X 的默认值的示例。 此设置的限制是它只允许使用一个动态字段。 如果两个或多个字段将使用此功能，则需要创建自定义XML配置文件以添加与此类似的更多设置。

注解

如果在新XML中添加了更多设置，则每个设置名称在系统中必须是唯一的，并不同于 PreferencesGroups###DynamicField。 例如：

PreferencesGroups###101-DynamicField-Field1

PreferencesGroups###102-DynamicField-Field2

PreferencesGroups###My-Field1

PreferencesGroups###My-Field2

自动任务

处理工单通常需要工作流程。我们称之为 “if-then” 活动。

If 指定匹配条件，比如：

一个工单来自某个特定客户；

一个工单分配到一个适当的队列；

一个工单有一个定义的优先级；

一个工单包含有定义的关键词。

必须执行一些概述的活动，如更改工单优先级、将工单移动到其他组、为工单分配服务等。

此外，还需要执行一些基于时间的活动，例如每周清理一次垃圾邮件队列。

OTRS使用 自动任务 支持此功能。 可以在OTRS前端配置一些简单任务或基于时间和事件的复合任务，而无需学习脚本语言。 根据搜索条件、时间或事件标准，自动对工单进行操作。

使用此屏幕可管理系统中的自动任务作业。 默认情况下，新的OTRS安装不包含任何自动任务作业。 自动任务作业管理屏幕位于 流程和自动化 组的 自动任务 模块中。

自动任务管理屏幕

管理自动任务

若要创建一个新的自动任务：

点击左侧边栏的 添加任务 按钮。

填写必填字段。

点击 保存 按钮。

创建新的自动任务屏幕

若要编辑一个自动任务：

点击自动任务列表中的一个自动任务。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑自动任务屏幕

若要删除一个自动任务：

点击概览表第4列的垃圾桶图标。

点击 确认 按钮。

删除自动任务屏幕

注解

如果将多个自动任务添加到系统，请使用筛选框通过键入要筛选的名称来查找特定的自动任务。

自动任务设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

通用的任务设置

任务设置 - 通用

任务名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

有效性

设置此资源的有效性。 如果此字段设置为 Yes/是，则此资源可用于OTRS。 将此字段设置为 No/否 将禁用资源的使用。

自动执行

填写此部分以设置自动执行任务的时间。

任务设置 - 自动执行

计划的分钟

选择执行任务的分钟数。 例如，如果选择 10，则任务将在 00:10、 01:10、 02:10 等每小时执行一次。

计划的小时

选择执行任务的小时数。 例如，如果选择 10 作为分钟并且 02 被选择为小时数，则任务将在每一天的02:10执行。

计划的天

选择执行作业的日期。 例如，如果选择 10 作为分钟，选择 02 作为小时，并且选择 Fri 为日期，任务将在每周星期五的02:10执行。

基于事件执行

填写此部分以设置触发执行任务的事件。

任务设置 - 基于事件执行

事件触发器

这是已添加的事件列表。 如果尚未添加任何事件，则列表不包含任何元素。 单击最后一列中的垃圾桶图标可以删除元素。

添加事件触发器

选择将触发任务的对象和相关事件。

选择工单

此部分包含可用于选择受影响的工单的所有属性。

字段是自我解释的，所以这里没有附加的解释。

更新/添加工单属性

填写此部分以更新和/或添加工单属性。

字段是自我解释的，所以这里没有附加的解释。

添加备注

填写此部分以向受任务执行影响的工单添加注释。

任务设置 - 添加备注

执行工单指令

如果您想使用该任务执行自定义命令，请填写此部分。

任务设置 - 执行工单指令

给服务人员/客户发送通知

如果选择了 Yes/是，则会向服务人员和客户发送有关工单更改的通知。

命令

在此处输入将执行的命令。 ARG[0]将是工单编号。 ARG[1]是工单ID。

注解

如果值包含路径，请使用 :: 作为目录分隔符。

删除工单

如果选择了 Yes/是，则自动任务将删除匹配的工单。

警告

所有受影响的工单将从数据库中删除，无法恢复！

执行定制模块

如果您想在该任务执行自定义模块，请填写此部分。

任务设置 - 执行自定义模块

模块

这是模块执行的路径。

注解

如果值包含路径，请使用 :: 作为目录分隔符。

参数 键

输入应传递给模块的参数的键。

参数 值

输入应传递给模块的参数的值。

流程管理

最大限度地提高性能，同时最大限度地减少人为错误是各种规模组织的一项需求。对于周期性任务，定义的流程和工作流可以满足这一需求。确保所有必需的信息在正确的位置可用，并向联系人通报其职责，如添加信息、批准请求等。

OTRS通过流程管理支持这一需求。通过使用必填和可选字段（请参阅 动态字段），来帮助您在创建工单时或在流程的后续步骤中不会忘记这些信息。 流程工单对于客户用户和服务人员来说很容易处理，因此不需要强化培训。

流程在OTRS前端内完全有效地设计，以满足您组织的要求。

使用此屏幕管理系统中的流程。流程管理 屏幕位于 流程与自动化 组的 流程管理 模块中。

管理流程

若要创建一个新流程：

点击左侧边栏中的 创建新的流程 按钮。

填写必填字段。

点击 保存 按钮。

添加活动、用户任务活动对话框、以及序列流和序列流操作。

将 状态 设置为 活动的。

部署所有流程。

创建新的流程屏幕

若要编辑一个流程：

点击流程列表中的一个流程：

修改字段和流程路径。

点击 保存 或 保存并完成 按钮。

部署所有流程。

若要复制一个流程：

点击流程列表第5列的复制图标。

点击新创建的流程来编辑。

若要删除一个流程：

点击流程列表中的一个流程：

将 状态 设置为 非活动的。

点击 保存 按钮。在左侧边栏中将出现一个新的 删除非活动的流程 按钮。

点击 删除非活动的流程 按钮。

点击确认屏幕中的 删除 按钮。

部署所有流程。

警告

流程以Perl格式写入文件。在不部署的情况下，所有流程都仍在此缓存文件中，即使它们已被删除或 状态 选项设置为 非活动的 或 消退 。不要忘记在修改后部署所有流程！

在删除流程之前，给服务人员一些时间完成正在运行的流程通知单。可以将流程标记为删除，即将该流程设置为不再被选中。流程状态可以是：

活动的

流程可用于新流程工单。

消退

无法再为新工单选择流程，但现有工单仍可以使用该流程。

非活动的

流程被停用，不能用于新的或现有的工单。

若要部署所有流程：

点击左侧边栏的 部署所有流程 按钮。

注解

为了影响系统的行为，必须部署新的或修改过的流程。将 状态 选项设置为 活动的 只表示应该部署哪些流程。

若要导出一个流程：

点击流程列表第4列的导出图标。

在计算机中选择一个位置以保存 Export_ProcessEntityID_xxx.yml 文件。

警告

导出的文件只包含流程本身，不包含流程所需的 队列、服务人员、动态字段 等。

若要导入一个流程：

点击左侧边栏中的 配置导入 小部件的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

点击 导入流程配置 按钮。

部署所有流程。

注解

在导入流程之前，仍然需要创建导入前每个流程所需的所有 队列、 服务人员 和 动态字段，以及设置 系统配置。如果流程需要使用 访问控制列表(ACL) ，这些也需要手动设置。

注解

如果系统中添加了多个流程，只需键入要过滤的名称，即可使用过滤器框查找特定流程。

流程元素

流程建模器的元素名称已适应于 业务流程模型和符号 (BPMN) ISO命名约定。以下任务活动可以用作流程的基本元素。

脚本任务活动

脚本任务活动由流程管理模块执行，它可以设置动态字段的值或自动管理工单。

脚本任务活动窗口

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

活动名称 *

此资源的名称。可以在此字段中输入任何类型的字符，包括大写字母和空格。

活动类型 *

可以使用以下类型的任务活动：

脚本任务活动（当前选择）

服务任务活动

用户任务活动

活动描述

向此资源添加附加信息。 为了更加清晰，建议始终将此字段填充为带有完整句子的资源描述。

活动错误代码

自定义产生于脚本或服务任务活动的错误代码。自定义的错误代码必须为正整数。

可以启动流程于

定义服务人员或客户用户在何处启动流程。 可以在以下界面中启动流程：

服务人员界面

服务人员和外部人员界面

外部人员界面

脚本 *

在这个下拉框中，可以选择如果设置了活动，应该立即触发哪个脚本。单击 配置 按钮为脚本添加参数(键值对)。

服务任务活动

服务任务活动使用 WEB 服务来完成任务。

服务任务活动窗口

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

活动名称 *

此资源的名称。可以在此字段中输入任何类型的字符，包括大写字母和空格。

活动类型 *

可以使用以下类型的任务活动：

脚本任务活动

服务任务活动（当前选择）

用户任务活动

活动描述

向此资源添加附加信息。 为了更加清晰，建议始终将此字段填充为带有完整句子的资源描述。

活动错误代码

自定义产生于脚本或服务任务活动的错误代码。自定义的错误代码必须为正整数。

可以启动流程于

定义服务人员或客户用户在何处启动流程。 可以在以下界面中启动流程：

服务人员界面

服务人员和外部人员界面

外部人员界面

Web 服务

从下拉列表中选择一个 Web服务 。

调用程序 *

为 Web 服务选择一个调用程序。点击 配置 按钮为调用程序添加参数。

用户任务活动

当任务由服务人员或客户用户执行时，可以使用用户任务活动。

用户任务活动窗口

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

活动名称 *

此资源的名称。可以在此字段中输入任何类型的字符，包括大写字母和空格。

活动类型 *

可以使用以下类型的任务活动：

脚本任务活动

服务任务活动

用户任务活动（当前选择）

用户任务活动对话框

通过用鼠标将元素从左列表拖到右列表，可以将用户任务活动对话框分配给该活动。通过拖放也可以对列表中的元素进行排序。

点击 创建新用户任务活动对话框 按钮创建新对话框。

流程示例

流程比OTRS中的其他资源更复杂。要创建流程，需要执行几个步骤。下面的章节向您展示了如何根据规范定义流程并创建所需的资源。让我们看一个例子，让它更具演示性。我们将定义图书订购流程。

流程规范

图书订购流程有四种状态。

记录需求

在生成订单之前，雇员对书籍的需求将被记录。下列书籍是我们示例中所需要的：

Title: Prozessmanagement für Dummies
Autor: Thilo Knuppertz
ISBN: 3527703713

经理审批

部门经理需要确认需求。若经理拒绝，需要记录决定原因。若同意，流程将会跳转到采购部。

采购部处理

现在采购人员需要找出如何以最好的条件购买所需书籍。若书籍缺货，需要在工单中进行记录。如果成功下单，将需要记录供应商、售价与交货时间。

收发室处理

这批货物将到达公司。进货部门负责检查货物，并记录货品到达日期。接着员工将被告知他们的订单已经到达，并已准备好进行接收。

介绍流程元素

如果我们假设一个工单在这个工作流中像一个可以接收变更通知的附带文档一样工作，那么我们已经有了一个流程工单的清晰图片。

通过示例流程分析，我们可以确定下列需要的条目：

记录数据的可能性，让我们称之为 用户任务活动对话框。

检查哪些可以自动对已更改的数据做出反应，让我们称之为 序列流。

在成功转换流程工单后，可以应用于流程工单的更改，我们将其称为 序列流操作。

提供多个用户任务活动对话框的可能性。在我们的示例中，当经理必须在 批准 和 拒绝 之间进行选择时，就需要这样做。让我们称之为 活动。

现在，有了活动、用户任务活动对话框、序列流和序列流操作，我们就有了必要的工具来建模示例中的各个步骤。仍然缺少的是一个可以为每个工作流指定步骤顺序的区域。让我们称之为 流程。

创建必要的资源

在创建流程及其部件之前，必须准备好系统。我们需要定义一些 队列、 服务人员 和 动态字段 并设置一些 系统配置 设置。

创建以下 队列：

管理

员工

采购

收发室

创建以下 服务人员：

经理

员工

创建以下 动态字段：

对象

类型

名称

标签

可能值

工单

文本

Title

标题

工单

文本

Author

作者

工单

文本

ISBN

ISBN

工单

下拉选项框

Status

状态

审批

审批拒绝

通过审批

采购拒绝

生成订单

货品收到

工单

文本

Supplier

供应商

工单

文本

Price

价格

工单

日期

DeliveryDate

交货日期

工单

日期

DateOfReceipt

收件日期

设置以下内容 系统配置 设置：

Ticket::Responsible

已启用

AgentFrontend::TicketDetailView::Widget::BusinessProcessInformation###DynamicField

Author → 1 - Enabled

DateOfReceipt → 1 - Enabled

DeliveryDate → 1 - Enabled

ISBN → 1 - Enabled

Price → 1 - Enabled

Status → 1 - Enabled

Supplier → 1 - Enabled

Title → 1 - Enabled

AgentFrontend::TicketDetailView::Widget::BusinessProcessInformation###DynamicFieldGroups

Book → Title,Author,ISBN

General → Status

Order → Price,Supplier,DeliveryDate

Shipment → DateOfReceipt

注解

不要忘记部署修改后的系统配置设置。

现在，返回到 流程管理 屏幕并单击 创建新的流程。填写所需字段。

图书预订 - 创建新的流程

新的流程已创建。现在可以添加一些流程元素。

创建用户任务活动对话框

单击左侧边栏中的 可用的流程元素 小部件中的 用户任务活动对话框 项。此操作将展开 用户任务活动对话框 选项，并折叠所有其他的选项，类似手风琴效果。单击 创建新用户任务活动对话框 按钮。

图书预订 - 用户任务活动对话框

在打开的弹出屏幕中，填写 对话框名称 和 说明（短） 字段。对于这个示例，我们将保留所有其他字段作为默认值。

图书预订 - 添加用户任务活动对话框

要将字段分配给用户任务活动对话框，只需从 可用字段 池中拖动所需字段，并将其放到 已分配字段 池中。已分配字段 池中的顺序与屏幕中字段的顺序相同。要修改顺序，只需拖放池中的字段，将其重新排列到正确的位置。

在本例中，我们将使用：

Article 字段用于备注。

DynamicField_Title、 DynamicField_Author、DynamicField_ISBN 字段用于为订单收集的数据。

DynamicField_Status 可选择 批准。

将这些字段从 可用字段 池中拖动并放到 已分配字段 池中。

注解

在这个屏幕中，所有动态字段都有 DynamicField_ 前缀比如 DynamicField_Title。不会与工单标题字段 Title 混淆。

图书预订 - 添加用户任务活动对话框字段

一旦这些字段被放到 已分配字段 池中，就会显示另一个弹出屏幕，其中包含有关该字段的一些详细信息。我们将保留默认选项，并且仅对于 Article 字段，我们应确保将 通信渠道 字段设置为 OTRS，并且未选中 客户可见。

图书预订 - 编辑用户任务活动对话框字段

填写完所有字段后，单击 保存并完成 按钮保存更改并返回到流程管理屏幕。

创建以下带有字段的用户任务活动对话框：

记录需求 （前面已创建）

Article 字段用于备注。

DynamicField_Title、 DynamicField_Author、DynamicField_ISBN 字段用于为订单收集的数据。

DynamicField_Status 可选择 批准。

审批拒绝

Article 字段用于备注。

DynamicField_Status 可选择 审批拒绝。

通过审批

DynamicField_Status 可选择 批准。

采购拒绝

Article 字段用于备注。

DynamicField_Status 可选择 采购拒绝。

生成订单

DynamicField_Supplier、DynamicField_Price、 DynamicField_DeliveryDate 字段用于采购。

DynamicField_Status 可选择 订单已生成。

货品收到

DynamicField_DateOfReceipt 用于收发室。

DynamicField_Status 可选择 货品收到。

创建序列流

单击左侧边栏中的 可用的流程元素 小部件中的 序列流 项。此操作将扩展 序列流 选项，并折叠所有其他的选项，类似手风琴效果。单击 创建新序列流 按钮。

图书预订 - 序列流

在打开的弹出屏幕中，填写 序列流名称。在这个示例中对于 条件表达式，我们将只使用一个条件表达式和一个字段。对于这两种情况，我们都将 链接类型 保持为 and/和，并且我们将使用字段匹配类型值作为 字符串。

图书预订 - 添加序列流

填写完所有字段后，单击 保存并完成 按钮保存更改并返回到流程管理屏幕。

创建以下序列流：

审批 （前面已创建）

检查 DynamicField_Status 是否设置为 批准。

审批拒绝

检查 DynamicField_Status 是否设置为 审批拒绝。

通过审批

检查 DynamicField_Status 是否设置为 批准。

采购拒绝

检查 DynamicField_Status 是否设置为 采购拒绝。

生成订单

检查 DynamicField_Status 是否设置为 订单已生成。

货品收到

检查 DynamicField_Status 是否设置为 货品收到。

创建顺序流动作

单击左侧边栏中的 可用的流程元素 小部件中的 序列流操作 项。此操作将扩展 序列流操作 选项，并折叠所有其他的选项，类似手风琴效果。单击 创建新序列流操作 按钮。

图书预订 - 序列流操作

在打开的弹出屏幕中，填写 序列流操作名称 和 序列流操作模块，然后单击 保存 按钮。模块字段旁边将出现一个新的 配置 按钮。

图书预订 - 添加序列流操作

单击*配置*按钮，添加所需的配置参数键和值。

图书预订 - 序列流操作参数

填写完所有字段后，单击 保存并完成 按钮保存更改并返回到流程管理屏幕。

参见

每个模块都有自己的不同参数。请查看模块文档以了解所有必需和可选参数。

DynamicFieldSet

TicketArticleCreate

TicketCreate

TicketCustomerSet

TicketLockSet

TicketOwnerSet

TicketQueueSet

TicketResponsibleSet

TicketSLASet

TicketSendEmail

TicketServiceSet

TicketStateSet

TicketTitleSet

TicketTypeSet

所有序列流操作模块都位于名为 Kernel/System/ProcessManagement/TransitionAction 的旧版本目录中。

创建以下序列流操作：

将流程工单移动到“Management（管理）”队列中 (之前已经创建)

当序列流应用了 批准 时执行。

更改这个工单的负责人为 “Manager（经理）”

当序列流应用了 批准 时执行。

将流程工单转移到”Employees（员工）” 队列

当遇到如下情况时执行：

序列流应用了 审批拒绝。

序列流应用了 采购拒绝。

序列流应用了 货品收到。

更改这个工单的负责人为 “Employee（员工）”

当遇到如下情况时执行：

序列流应用了 审批拒绝。

序列流应用了 采购拒绝。

序列流应用了 货品收到。

将流程工单转移到”Purchasing（采购）” 队列

当序列流应用了 批准 时执行。

将流程工单转移到”Post office（收发室）” 队列

当序列流应用了 订单已生成 时执行。

成功关闭工单

当序列流应用了 货品收到 时执行。

失败关闭工单

当遇到如下情况时执行：

序列流应用了 审批拒绝。

序列流应用了 采购拒绝。

有些地方应该执行相同的序列流操作。因此，可以将序列流操作与序列流自由地链接起来，以便能够重用它们。

创建活动

单击左侧边栏中的 可用的流程元素 小部件中的 活动 项。此操作将扩展 活动 选项，并折叠所有其他的选项，类似手风琴效果。单击 创建新活动 按钮。

图书预订 - 活动

在打开的弹出屏幕中，填写 活动名称 字段，然后从 活动类型 下拉列表中选择 用户任务活动。

图书预订 - 添加活动

要将对话框分配给活动，只需将所需对话框从 可用用户任务活动对话框 池中拖动，然后放到 已分配用户任务活动对话框 池中。已分配用户任务活动对话框 池中的顺序是对话框将在 工单详情 屏幕中显示的顺序。要修改顺序，只需在池中拖放对话框，将其重新排列到正确的位置。

注解

此顺序在第一个活动中特别重要，因为此活动的第一个用户任务活动对话框是流程启动时唯一出现的对话框。

在这个例子中，我们只需要分配 记录需求 用户任务活动对话框。将此对话框从 可用用户任务活动对话框 池中拖动，并放到 已分配用户任务活动对话框 池中。

图书预订 - 分配用户任务活动对话框

填写完所有字段后，单击 保存并完成 按钮保存更改并返回到流程管理屏幕。

创建以下活动：

记录需求 （前面已创建）

分配用户任务活动对话框 记录需求。

审批

分配用户任务活动对话框 审批拒绝 和 批准。

订单

分配用户任务活动对话框 采购拒绝 和 订单已生成。

收货

分配用户任务活动对话框 货品收到。

流程完成

这是一个没有可能的用户任务活动对话框的活动。它将在 审批拒绝、采购拒绝 或 货品收到 之后设置，并表示流程结束。

现在我们可以清楚地看到，活动是流程工单的精确定义状态。成功的序列流之后，流程工单从一个活动移动到另一个活动。

创建流程路径

让我们用拼图中最后一个缺失的部分来结束我们的示例，流程就像一个流动的描述者。在我们的例子中，这是整个订购工作流程。其他流程可以是办公用品订购或完全不同的流程。

流程有一个起始点，由初始活动和初始用户任务活动对话框组成。对于任何新的图书订单，第一个活动的第一个用户任务活动对话框是显示的第一个屏幕。如果此操作完成并保存，将创建流程工单，并可以按照配置的工作流操作。

流程还包含流程工单如何在流程中移动的说明。我们称之为 流程路径。它由初始活动、一个或多个序列流（可能带有序列流操作）和其他活动组成。

假设活动已经有分配给它们的用户任务活动对话框，从左侧边栏的 可用的流程元素 小部件中的相应位置拖动一个活动，并将其放到流程信息下方的画布区域。请注意，从流程开始（白色圆圈）到活动的箭头将自动放置。这是第一个活动，它的第一个用户任务活动对话框是流程启动时将显示的第一个屏幕。

图书预订 - 画布上的第一个活动

接下来，将另一个活动拖到画布中。现在我们在画布中有两个活动。第一个连接到起点，第二个没有连接。您可以将鼠标悬停在每个活动上，以显示它们自己的活动对话框。

图书预订 - 画布上的第二个活动

然后让我们在这两个活动之间创建流程路径（连接）。为此，我们将使用序列流。单击手风琴中的序列流，拖动序列流并将其放到第一个活动中。一旦序列流被放下，序列流箭头的终点将被放置在流程起点的旁边。拖动序列流箭头端点并将其放到其他活动中，以创建活动之间的连接。

图书预订 - 画布上的第一个序列流

既然已经定义了动作之间的流程路径，那么我们需要将序列流操作分配给序列流。双击画布中的序列流标签以打开新的弹出窗口。

图书预订 - 分配第一个序列流操作

分配序列流操作后，单击 保存 按钮返回主流程编辑屏幕。单击画布下方的 保存 按钮保存所有其他更改。

通过添加以下活动、序列流和序列流操作来完成流程路径：

记录需求 （前面已创建）

可能的序列流：审批

初始活动：记录需求

下一活动：审批

如果满足此活动的条件，则工单将移动到活动 审批。

此外，还执行以下序列流操作：

将流程工单移动到“Management（管理）”队列中

更改这个工单的负责人为 “Manager（经理）”

记录需求 活动是流程工单的一个定义步骤，在该步骤中，序列流 批准 是可能的。如果适用，则工单将移动到下一个活动 审批，并执行序列流操作 将流程票据移动到“管理”队列 和 将工单负责人更改为“经理”。在活动 审批 中，用户任务活动对话框 审批拒绝 和 批准 可用。

审批

可能的序列流：审批拒绝

初始活动：审批

下一活动：流程完成

如果匹配，流程工单将移动到活动 进程完成。

此外，还执行以下序列流操作：

将流程工单转移到”Employees（员工）” 队列

更改这个工单的负责人为 “Employee（员工）”

失败关闭工单

可能的序列流：批准

初始活动：审批

下一活动：采购

如果匹配，流程工单将移动到活动 采购。

此外，还执行以下序列流操作：

将流程工单转移到”Purchasing（采购）” 队列

我们可以从当前活动（它定义了流程工单的一个步骤）中看到，活动可能有一个或多个序列流，每个序列流只有一个目标活动（并且可能有一个或多个序列流操作）。

订单

可能的序列流：采购拒绝

初始活动：采购

下一活动：流程完成

如果匹配，流程工单将移动到活动 进程完成。

此外，还执行以下序列流操作：

将流程工单转移到”Employees（员工）” 队列

更改这个工单的负责人为 “Employee（员工）”

失败关闭工单

可能的序列流：订单已生成

初始活动：采购

下一活动：收货

如果匹配，流程工单将移动到活动 收货。

此外，还执行以下序列流操作：

将流程工单转移到”Post office（收发室）” 队列

收货

可能的序列流：货品收到

初始活动：收货

下一活动：流程完成

如果匹配，流程工单将移动到活动 进程完成。

此外，还执行以下序列流操作：

将流程工单转移到”Employees（员工）” 队列

更改这个工单的负责人为 “Employee（员工）”

成功关闭工单

图书订购流程的完整流程路径如下所示：

图书预订 - 流程完成

完成流程路径后，单击画布下方的 保存并完成 按钮返回到流程管理屏幕。

单击左侧边栏中的 部署所有流程 按钮。这将从数据库中收集所有流程信息，并创建一个缓存文件（使用Perl语言）。这个缓存文件实际上是系统用来创建或使用流程工单的流程配置。

注解

对流程所做的任何更改都需要重新部署流程，以便将更改反映到系统中。

Web服务

在联网的世界中，工单系统需要能够对来自其他系统的请求作出反应，并向其他系统发送请求或信息：

CRM系统

项目管理系统

文档管理系统

还有更多

工单系统必须可以通过其他服务到达，而无需服务人员的人工干预。

OTRS通过 通用接口 支持此需求。它允许管理员在不了解脚本语言的情况下为特定任务创建Web服务。OTRS对传入的REST或SOAP请求作出反应，并创建对象或透明地向其他系统提供对象数据。

Web服务是两个系统之间的通信方法，在我们的例子中是OTRS和远程系统。在其配置中，操作 或 调用程序 确定通信方向，映射 和 传输 负责接收和解释数据的方式。

在其配置中，可以定义Web服务可以在内部执行哪些动作（操作）、OTRS请求可以执行远程系统哪些操作（调用程序）、数据如何从一个系统转换到另一个系统（映射）以及通信将在哪个协议上进行（传输）。

通用接口是一种框架，可以使用已经构建的构建块以预定义的方式为OTRS创建Web服务，这些构建块彼此独立且可互换。

使用此屏幕可管理系统中的Web服务。默认情况下，新的OTRS安装不包含Web服务。Web服务管理屏幕位于 流程和自动化 组的 Web服务 模块中。

Web服务管理屏幕

管理Web服务

若要创建一个Web服务

点击左侧边栏中的 添加Web服务 按钮。

填写必填字段。

点击 保存 按钮。

创建新的Web服务屏幕

若要编辑一个Web服务：

点击Web服务列表中的一个Web服务。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑Web服务屏幕

若要删除一个Web服务：

点击Web服务列表中的一个Web服务。

点击左侧边栏中的 删除Web服务 按钮。

点击确认对话框中的 删除 按钮。

删除Web服务屏幕

若要克隆一个Web服务：

点击Web服务列表中的一个Web服务。

点击左侧边栏中的 克隆Web服务 按钮。

为这个Web服务输入一个新的名称。

克隆Web服务屏幕

若要导出一个Web服务：

点击Web服务列表中的一个Web服务。

点击左侧边栏中的 导出Web服务 按钮。

在计算机中选择一个位置以保存 Export_ACL.yml 文件。

警告

所有存储在WEB服务配置中的密码都将以纯文本格式导出。

若要查看一个Web服务的配置历史：

点击Web服务列表中的一个Web服务。

点击左侧边栏中的 配置历史 按钮。

Web服务的配置历史屏幕

若要为一个Web服务使用调试器：

点击Web服务列表中的一个Web服务。

点击左侧边栏中的 调试器 按钮。

Web服务调试器屏幕

若要导入一个Web服务：

点击左侧边栏中的 添加Web服务 按钮。

点击左侧边栏中的 导入Web服务 按钮。

点击对话框中的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

为导入的Web服务添加名称（可选）。否则，该名称将取自配置文件名。

点击 导入 按钮。

Web服务设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

Web服务通用设置

Web服务设置 - 通用

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

描述

类似于注释，但可以在此处添加较长的文本。

远程系统

调试阀值

默认值是 debug。当以这种方式配置时，所有通信日志都在数据库中注册。每个后续的调试阈值都比系统中设置的更严格，并且丢弃的通信日志的顺序更低。

调试阀值级别（从低到高）：

Debug（调试）

Info（信息）

Notice（注意）

Error（错误）

有效性

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

提供程序Web服务设置

Web服务设置 - OTRS作为提供程序

网络传输

选择要与Web服务一起使用的网络传输。可能的值是 HTTP::REST 和 HTTP::SOAP。

注解

选择传输方法后，您必须单击 保存 按钮保存配置。一个 配置 按钮将显示在此字段旁边。

配置

只有在选择并保存网络传输之后，配置 按钮才可见。请参阅下面的 OTRS作为提供程序 - HTTP::REST 和 OTR作为提供程序 - HTTP::SOAP 的配置。

添加操作

只有在选择并保存网络传输之后，此选项才可见。选择一个操作将打开一个新的配置屏幕。

Web服务设置 - OTRS作为提供程序 - 操作

OTRS作为提供程序 - HTTP::REST

Web服务设置 - OTRS作为提供程序 - HTTP::REST

OTRS作为提供程序 - HTTP::SOAP

Web服务设置 - OTRS作为提供程序 - HTTP::SOAP

请求者Web服务设置

Web服务设置 - OTRS作为请求者

网络传输

选择要与Web服务一起使用的网络传输。可能的值是 HTTP::REST 和 HTTP::SOAP。

注解

选择传输方法后，您必须单击 保存 按钮保存配置。一个 配置 按钮将显示在此字段旁边。

配置

只有在选择并保存网络传输之后，配置 按钮才可见。请参阅下面的 OTRS作为请求者 - HTTP::REST 和 OTRS作为请求者 - HTTP::REST 的配置。

It is possible to use both object and array format as a JSON response of the remote system. However, in the case it is an array, system stores it as an object internally, where ArrayData is used as a key and a value is an array. Because of that, responded JSON array can be mapped efficiently, but has to be considered as an object described above (key is ArrayData, but * can also be used as wildcard).

添加错误处理模块

只有在选择并保存网络传输之后，此选项才可见。选择一个操作将打开一个新的配置屏幕。

Web服务设置 - OTRS作为请求者 - 错误处理模块

OTRS作为请求者 - HTTP::REST

Web服务设置 - OTRS作为请求者 - HTTP::REST

OTRS作为请求者 - HTTP::SOAP

Web服务设置 - OTRS作为请求者 -HTTP::SOAP

服务人员界面

Completely new user interface has been developed for agents. This setting makes it possible to edit the agent styles that are selectable for all agents.

目录

Styles

Manage Styles

Styles

Use this screen to manage styles and choose style variants for use in agent interface. A fresh OTRS installation already contains some variants by default. The style management screen is available in the Styles module of the Agent Interface group.

Agent Style Management Screen

The management screen consists of two widget. In the Edit Styles widget can be selected the styles for editing. The Defaults widget defines, which variant will be used as default for the agent interface. The agents can override this setting and they can select a different variant in they personal preferences, but they can not edit the styles.

Manage Styles

Styles are grouped into four categories: Bright, High Contrast Bright, Dark and High Contrast Dark.

To edit a style, select a category first. The edit screen will be opened for the selected category.

The Edit Layout section is the same for all categories.

Agent Style Layout Edit Screen

The following settings are available when adding or editing this resource.

Enable

Select whether the style is available for agents.

Header Logo

The logo is a small image that is displayed in the header of all pages.

要更改Logo，请单击 选择上传的图片 按钮，然后选择新的Logo图片。建议的文件格式为PNG。

收藏夹图标

收藏夹图标 是显示在Web浏览器的URL栏中的图标。

要更改收藏夹图标，点击 选择上传的图片 按钮，然后选择一个新图标。 这通常是PNG或ICO格式的16×16像素图片。

Some categories contain different variants. Each variant can be customize in the same manner.

Agent Style Variant

The following settings are available when adding or editing this resource.

Enable

Select whether the variant is available for agents.

名称

此资源的名称。可以在此字段中输入任何类型的字符，包括大写字母和空格。

基色

This color will be used as the background color of primary buttons and the color of textual links and hovered icons.

要更改基色，只需从调色板中选择一种新颜色即可。 您可以从预先选择的颜色中进行选择，也可以通过从颜色选择器中选择颜色或键入十六进制值来定义其它颜色。 新颜色会立即显示在预览窗口小部件中。

Secondary Color

This color will be used as the background color of table rows and the color of icon links.

To change the secondary color, just select a new color from the color palette. You can chose from the pre-selected colors or define other colors by choosing it from the color selector or typing the hexadecimal value. The new color will be displayed in the preview widget immediately.

Prominent Color

This color will be used as the background color of the organizer sidebar.

To change the prominent color, just select a new color from the color palette. You can chose from the pre-selected colors or define other colors by choosing it from the color selector or typing the hexadecimal value. The new color will be displayed in the preview widget immediately.

外部人员界面

向用户传输有关服务的宝贵信息是服务台的一个主要需求。通过企业互联网这样做并不总是可行或合理的。 服务台的客户需要一站式解决方案来满足他们的所有服务需求。

OTRS提供创建和管理需求的访问权限，以及接收有价值的信息，例如服务目录和知识库。

以下章节介绍了实现企业标识和管理基于语言的内容所需的管理工具。

目录

客户服务目录

管理服务目录

服务目录设置

管理服务项目

服务项目设置

自定义页面

管理自定义页面

自定义页面设置

主页

重点内容

工单列表

形象广告图片

链接列表

内容卡片

排版布局

包含自定义脚本

WEB 分析的例子

客户服务目录

使用此屏幕添加用于外部界面的目录和项目。 默认情况下，新的OTRS安装不包含任何目录或项目。 目录管理屏幕位于 外部界面 组的 客户服务目录 模块中。

该模块包括两个管理屏幕：服务目录管理屏幕和服务项目管理屏幕。

客户服务目录管理屏幕

管理服务目录

使用此屏幕添加服务目录以将相同的服务项目收集到组中。 服务目录管理 屏幕可通过 转到服务目录管理 按钮或通过 服务目录管理 模块获得。

服务目录管理屏幕

若要添加一个服务目录：

点击左侧边栏的 添加服务目录 按钮。

填写必填字段。

点击 保存 按钮。

添加服务目录屏幕

若要编辑一个服务目录：

点击服务目录列表中的一个服务目录。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑服务目录屏幕

若要删除一个服务目录：

点击概览表的 删除 列中的垃圾桶图标。

点击 确认 按钮。

删除服务目录屏幕

注解

如果系统中添加了多个类别，请使用过滤器框通过键入要过滤的名称来查找特定类别。

服务目录设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

标题 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

父目录

可以在现有目录下添加新目录作为子目录。 这将显示为 父目录::子目录。

语言 *

从系统的可用语言中选择一种语言。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

管理服务项目

使用此屏幕将服务项目添加到服务目录。 可以将服务项目汇集到服务目录中。 服务项目管理 屏幕可通过 转到服务项目管理 按钮或通过 服务项目管理 模块获得。

服务项目管理屏幕

若要添加一个服务项目：

点击左侧边栏中的 添加服务项目 按钮。

填写必填字段。

点击 保存 按钮。

添加服务项目屏幕

若要编辑一个服务项目：

点击服务项目列表中的一个服务项目。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑服务项目屏幕

若要删除一个服务项目：

点击概览表的 删除 列中的垃圾桶图标。

点击 确认 按钮。

删除服务项目屏幕

注解

如果系统中添加了多个服务项目，请使用过滤器框通过键入名称来查找特定的服务项目。

服务项目设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

内部标题 *

此资源的名称，仅显示在管理界面中。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

服务项目内容

在此小部件中可以为此条目添加一些本地化内容。

标题 *

给定语言中此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。

正文 *

给定语言中此条目的文本。

服务目录

可以为服务项目选择一个或多个服务目录。

注解

只能选择那些与此小部件的选定语言具有相同语言的服务目录。

链接 *

指向内部或外部URL的链接。

新建服务项目内容

选择应添加哪些语言以创建本地化的项目内容。 所有添加的语言都可以保存自己的本地化内容，如上所述。

自定义页面

使用此屏幕添加自定义页面以在外部人员界面中使用。 默认情况下，新的OTRS安装已包含一些自定义页面。 自定义页面管理屏幕位于 外部人员界面 组的 自定义页面 模块中。

自定义页面管理屏幕

管理自定义页面

警告

确保在完成后保存更改，会立即部署新的配置。

若要添加一个自定义页面：

点击左侧边栏的 添加自定义页面 按钮。

填写必填字段。

点击 保存 按钮。

添加自定义页面屏幕

若要编辑一个自定义页面：

点击自定义页面列表中的一个自定义页面。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑自定义页面屏幕

若要删除一个自定义页面：

点击概览表第4列的垃圾桶图标。

点击 确认 按钮。

删除自定义页面屏幕

注解

如果向系统添加了多个自定义页面，请使用过滤器框通过键入要过滤的名称来查找特定的自定义页面。

自定义页面设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

内部标题 *

此资源的名称，仅显示在管理界面中。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

Slug *

这将是自定义页面的URL。 推荐的字符是小写字母、数字和减号。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

自定义页面内容

在此小部件中可以为此条目添加一些本地化内容。

标题 *

给定语言中此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。

内容 *

给定语言中此条目的文本。

添加自定义页面内容

选择应添加哪些语言以创建本地化的项目内容。 所有添加的语言都可以保存自己的本地化内容，如上所述。

主页

使用此屏幕可以定义外部人员界面中显示的不同用户语言的主页配置。 主页管理屏幕位于 外部人员界面 组的 主页 模块中。

此屏幕包含每种语言的多个小部件，以便添加多种语言的本地化内容。

警告

确保在完成后保存更改，会立即部署新的配置。

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

重点内容

重点内容小部件

标题

这是主页最重要的句子或箴言。

背景样式

定义背景图像和背景颜色的行为。 可以使用以下选项：

只使用背景图片

只使用背景颜色

使用背景图片并以选中颜色覆盖

背景图片

选择用作重点内容的背景图片的图片。 要选择图片，请单击 选择上传的图片 按钮，然后从文件系统中选择一个图片。

背景色

要更改背景颜色，只需从调色板中选择一种新颜色即可。 您可以从预先选择的颜色中进行选择，也可以通过从颜色选择器中选择颜色或键入十六进制值来定义其它颜色。

工单列表

工单列表小部件

显示已登录用户的工单列表

此设置定义是否应为登录的用户显示工单列表。

行标题

（可选）在外部人员界面中包含此小部件的行的标题。

形象广告图片

形象广告图片显示在外部人员界面的一个单独行中。

形象广告图片小部件

行标题

（可选）在外部人员界面中包含此小部件的行的标题。

行背景色

要更改背景颜色，只需从调色板中选择一种新颜色即可。 您可以从预先选择的颜色中进行选择，也可以通过从颜色选择器中选择颜色或键入十六进制值来定义其它颜色。

通过单击小部件右上角的 添加 按钮，最多可以添加三个形象广告图片。

形象广告图片

图片

选择要在形象广告图片小部件中显示的图片。要选择图片，请单击 选择上传的图片 按钮，然后从文件系统中选择一个图片。

标题 *

显示在此条目中的标题文字

正文 *

此条目的文本。

链接目标 *

在外部人员界面中单击此条目后将打开的URL。

链接列表

链接列表显示在外部人员界面的一个单独行中。

链接列表小部件

行标题

（可选）在外部人员界面中包含此小部件的行的标题。

通过单击小部件右上角的 添加 按钮，可以添加多达四个链接列表。

链接列表

标题 *

显示在此条目中的标题文字

链接文本

为 显示更多 链接添加文本。

链接目标

为 显示更多 链接添加URL。

链接列表类型 *

指定如何添加此条目的功能。

手动添加条目

点击编辑按钮，将看到一个用来添加条目的新的小部件。

手动添加条目

显示搜索的结果

点击编辑按钮，将看到一个用来添加条目的新的小部件。

显示搜索的结果

内容卡片

链接列表显示在外部人员界面的一个单独行中。

内容卡片小部件

行标题

（可选）在外部人员界面中包含此小部件的行的标题。

通过单击小部件右上角的 添加 按钮，最多可以添加三张内容卡片。

内容卡片

标题 *

显示在此条目中的标题文字

正文 *

此条目的文本。

链接文本

为 显示更多 链接添加文本。

链接目标

在外部人员界面中单击此条目后将打开的URL。

排版布局

使用此屏幕编辑外部人员界面中显示的布局。布局管理屏幕位于 外部人员界面 组的 排版布局 模块中。

编辑布局屏幕

新的OTRS安装已包含默认布局。在此屏幕中，可以更改所有参数。

警告

确保在完成后保存更改，会立即部署新的配置。

Logo

Logo（徽标）是显示在外部人员页面左上角的小图片。

要更改Logo，请单击 选择上传的图片 按钮，然后选择新的Logo图片。建议的文件格式为PNG。

收藏夹图标

收藏夹图标 是显示在Web浏览器的URL栏中的图标。

要更改收藏夹图标，点击 选择上传的图片 按钮，然后选择一个新图标。 这通常是PNG或ICO格式的16×16像素图片。

基色

基色是外部人员页面最重要的颜色（请参见预览屏幕）。

要更改基色，只需从调色板中选择一种新颜色即可。 您可以从预先选择的颜色中进行选择，也可以通过从颜色选择器中选择颜色或键入十六进制值来定义其它颜色。 新颜色会立即显示在预览窗口小部件中。

突出显示颜色

突出显示颜色是次要颜色，在外部人员页面中用于状态标记、链接等。

要更改突出显示颜色，只需从调色板中选择一种新颜色。您可以从预先选择的颜色中进行选择，也可以通过从颜色选择器中进行选择或键入十六进制值来定义其它颜色。新颜色将立即显示在预览小部件中。

默认头像

将用作所有外出通信的默认头像。

要更改头像，请单击 选择上传的图片 按钮，然后选择一个新的头像图片。

自定义CSS

使用此文本区域添加要在外部人员界面中应用的自定义CSS。

自定义CSS小部件

包含自定义脚本

外部人员界面应用程序的构建采用了安全第一的思想。它包含几个机制，以确保前端的所有代码都由OTRS框架直接提供。

此外，内置 Web 服务器现在利用称为 内容安全策略 标头的安全标准。 它作为最后一道防线，如果一些意外的代码仍然发送给客户端，它将确保用户的浏览器只是拒绝运行它。

但是，仍然存在这样的用例，即使是现代的 WEB 应用程序也可能需要运行一些额外的代码，前提是由管理员审查和包含这些代码。例子可以是外部集成的聊天解决方案，也可以是用于外部 WEB 分析的内联代码片段。

参见

包含自定义脚本在 系统配置 中通过以下设置完成：

ExternalFrontend::ExternalScripts

ExternalFrontend::InlineScripts

WebApp::Server::AdditionalOrigins

WEB 分析的例子

在本例中，我们概述了在外部人员界面应用程序中包含 WEB 分析提供者使用的自定义脚本的步骤。它们将在每次使用应用程序时运行，以便跟踪和报告用户的行为，供以后分析。

我们从下面来自第三方供应商的代码片段开始。

<script async src="https://www.example.com/track/js?id=UA-XXXXXX-Y"></script>
<script>
   window.dataLayer = window.dataLayer || [];
   function track(){dataLayer.push(arguments);}
   track('js', new Date());

   track('config', 'UA-XXXXXX-Y');
</script>

代码片段的第一行引用一个 外部 资源，该资源会由 script 标签加载。

在下面的脚本块中，我们有一些 内联 代码，在加载页面后立即运行。

添加外部脚本资源

首先，我们需要在适当的配置中包含外部脚本的位置:

转到 系统配置 屏幕。

搜索设置 ExternalFrontend::ExternalScripts。

点击该设置以编辑它。

如果已经存在值，则单击加号按钮。否则，继续下面的步骤。

在文本字段中输入 外部 资源的完整位置。例如： https://www.example.com/track/js?id=UA-XXXXXX-Y。

点击复选标记以保存修改后的设置。

部署修改后的系统配置。

添加内联代码片段

接下来，我们还必须包含原始代码段的内联部分：

转到 系统配置 屏幕。

搜索设置 ExternalFrontend::InlineScripts。

点击该设置以编辑它。

如果已经存在值，则单击加号按钮。否则，继续下面的步骤。

在文本区域中输入完整的代码片段，去掉任何 script 标签。例如:

window.dataLayer = window.dataLayer || [];
function track(){dataLayer.push(arguments);}
track('js', new Date());

track('config', 'UA-XXXXXX-Y');

点击复选标记以保存修改后的设置。

部署修改后的系统配置。

重新构建外部人员界面应用程序

为了应用更改，我们还需要重新构建外部人员界面应用程序。下拉到 shell，执行以下命令:

bin/otrs.WebServer.pl --deploy-assets

将安全标头中的其它源列入白名单

如果您现在尝试访问外部人员界面应用程序，则可以验证脚本是否包含在代码中。 但是，您的浏览器可能会阻止访问所有 内联 和 外部 资源，因此代码可能会因某些错误而失败。

这种情况是设计使然，因为只有在 内容安全策略 标头中明确列入白名单时才能加载外部资源。

若要检查阻塞代码，请使用适当的 WEB 浏览器检查工具。在我们的示例中，我们将使用 Mozilla Firefox 及其 WEB 控制台，该控制台可通过 工具→Web 开发者→web 控制台 菜单项或 F12 快捷键获得。

对于示例代码片段，在访问应用程序时，可能会在控制台收到以下错误:

浏览器控制台错误和警告

从控制台错误我们可以看到外部脚本资源不能被加载(1和3行)。除此之外,两个评估调用也被封锁(2和5行)。所有错误都引用了一个名为 script-src 的 内容安全策略 规则，该规则表示脚本资源。

我们需要将外部资源和评估调用添加到 内容安全策略 标头的其它源列表中：

转到 系统配置 屏幕。

搜索设置 WebApp::Server::AdditionalOrigins。

点击该设置以编辑它。

如果 script-src 已经存在值，请单击旁边的加号按钮。 否则，继续下面的步骤。

在文本字段中只输入被阻塞资源的域部分。例如: https://www.example.com。这允许加载外部资源。

点击字段旁边的加号按钮，这样就添加了另一个值。

在新字段中输入以下指令，包括引号: 'unsafe-eval'。这允许执行评估调用。

点击复选标记以保存修改后的设置。

部署修改后的系统配置。

此时不需要重新构建外部人员界面应用程序，因为其它源配置立即生效。

如果重新加载外部人员界面应用程序，可能会得到一些额外的错误。在我们的例子中，可能是这样的:

其它的浏览器控制台错误和警告

此错误表示还阻止了另一个资源，即特定位置的图像（第1行）。 我们可以通过引用图像资源的 内容安全策略 规则 img-src 的名称推断出这一点。 要将其添加到白名单，请尝试以下操作：

转到 系统配置 屏幕。

搜索设置 WebApp::Server::AdditionalOrigins。

点击该设置以编辑它。

如果已经存在 img-src 的值，请单击旁边的加号按钮。 否则，继续下面的步骤。

在文本字段中只输入被阻塞资源的域部分。例如: https://www.example.com。这允许加载外部图片资源。

点击复选标记以保存修改后的设置。

部署修改后的系统配置。

再次尝试重新加载外部人员界面应用程序并检查是否有更多错误。 如果没有，您的脚本现在可能正常工作。

不幸的是，无法预测脚本可能需要哪种资源。 但是，不用担心，您可以将其中的大多数列入白名单，只需确保遵循浏览器控制台日志中显示的提示跟踪。 在配置中查找相应的标头规则并相应地进行更新。

注解

某些资源可能仅由其他人请求，因此可能需要多次迭代才能正确配置所有内容。

警告

外部资源白名单会在您的 OTRS 应用程序中面临潜在的安全风险！只允许那些您确信没有恶意且来自可靠来源的资源。。 请记住，如果某些资源今天是安全的，那并不意味着它在明天仍然安全。 注意安全！

OTRS集团服务

在处理关键任务系统时，一个强大的合作伙伴是很好的。无论是维护还是使用云服务，您的合作伙伴都应该紧密集成。

下一章介绍了您可以使用的工具，将您的系统与*OTRS集团*提供的强大云服务集成在一起。

目录

云服务

管理云服务

激活短信云服务

支持数据收集器

管理支持数据收集器

收集的数据

云服务部分

数据库部分

文档搜索部分

操作系统部分

OTRS部分

系统注册

管理系统注册

云服务

使用此屏幕向系统添加云服务。默认情况下，新的OTRS安装不包含任何已配置的云服务。“云服务管理”屏幕位于 OTRS集团服务 组的 云服务 模块中。

云服务管理屏幕

管理云服务

激活短信云服务

要在OTRS中使用短信云服务，必须先激活它。若要激活短信云服务：

点击左侧边栏中的 激活短信云服务 按钮。

填写必填字段。

点击 保存 按钮。

添加云服务屏幕

配置

添加短信云服务时，以下设置可用。标有星号的字段是必需的。

服务人员电话字段 *

应填写用于通过短信发送消息的手机号码的服务人员数据字段。

客户电话字段 *

应填写用于通过短信发送消息的手机号码的客户数据字段。

发送人字符串 *

显示为短信发件人名称（不超过11个字符）。

许可的角色成员

如果选择了本选项，则只有分配给这些角色的服务人员才能通过短信接收通知。

执行网址缩短

在发送通知前执行网址缩短。

电话黑名单

禁止发送短信的电话号码黑名单。 电话号码必须以国际格式添加，不能有空格，例如 +491791234567，每个字段一个电话。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

有效性

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

数据保护信息

为了能够使用OTRS AG的短信传输功能，需要读取并理解数据保护信息。

支持数据收集器

如果系统已注册，则支持数据收集器用于收集一些数据并定期发送到OTRS集团。

使用此屏幕查看要发送到OTRS组的数据。支持数据收集器 屏幕位于 OTRS集团服务 组的 支持数据收集器 模块中。

下载支持包屏幕

管理支持数据收集器

如果系统已注册，则支持数据收集器用于收集一些数据并定期发送到OTRS集团。若要注册您的系统：

点击左侧边栏的 系统注册 按钮。

按照注册说明操作。

若要显示将要发送什么样的数据：

点击左侧边栏中的 显示已传输的数据 按钮。

在新打开的屏幕中查看 系统注册数据 和 支持数据。

若要手动触发支持数据发送：

点击左侧栏的 发送更新 按钮。

若要生成支持数据包。

点击左侧边栏中的 生成支持数据包 按钮。

下载已生成的支持数据包。

使用压缩软件打开它并查看内容。

下载支持数据包对话框

收集的数据

屏幕包含几个部分。每个部分都有一些带有红绿灯的条目，指示以下内容：

灰色LED表示信息，只显示一个值。

绿色LED表示正常，条目值良好。

黄色LED表示通知，您必须检查该值，但它不是一个错误。

红色LED表示错误，您必须采取措施解决问题。

云服务部分

本部分显示有关OTRS云服务的信息。

可用短信

此条目显示有关可用短信的信息。如果变低，LED变为红色。

数据库部分

本部分显示有关OTRS使用的数据库的信息。

过时的表

显示过时的数据库表。绿色LED表示没有过时的表。

表存在

显示数据库中是否存在所有需要的表。

客户端连接字符集

显示客户端连接的字符集。 它必须是 utf8。

服务器端数据库字符集

显示数据库服务器的字符集。 它必须是 utf8。

表字符集

显示数据库表的字符集。 它必须是 utf8。

InnoDB日志文件大小

显示InnoDB驱动程序的日志文件大小。 它必须至少是 512 MB。

无效的默认值

显示无效的默认值。 绿色LED表示没有无效的默认值。

最大查询大小

显示数据库查询的最大大小。 它必须至少是 1024 MB。

数据库大小

显示数据库的大小。 这只是一个信息。

默认的存储引擎

显示数据库的默认存储引擎。 它必须是 InnoDB。

表存储引擎

显示数据库表的存储引擎。 它必须是 InnoDB。

数据库版本

显示数据库驱动程序版本。绿色LED表示版本足够高。

文档搜索部分

本部分显示有关文档搜索和使用的群集的信息。

群集

使用的群集的名称

群集运行状况详情

显示已使用集群的一些内部变量。

索引运行状况

显示索引的信息。

索引尺寸大小

显示每个索引的尺寸。

节点运行状况

显示使用的节点的信息。

操作系统部分

本部分显示有关正在运行的操作系统和已安装的软件组件的信息。

环境依赖性

显示有关环境依赖性的信息。

OTRS磁盘分区

显示安装OTRS的磁盘分区。

磁盘分区使用情况

显示每个磁盘分区的已用空间。

发行版本

显示操作系统的发行名称。

内核版本

显示操作系统的内核版本。

系统负载

显示操作系统的系统负载。系统负载最大值应为系统具有的CPU数（例如，在具有8个CPU的系统上，8个或更少的负载是正常的）。

Perl版本

显示Perl版本。

可用的交换空间(%)

将可用交换空间显示为百分比。应该有超过60%的可用交换空间。

已用的交换分区(MB)

以MB为单位显示已用的交换空间。使用的交换空间不应超过200 MB。

OTRS部分

本部分显示有关OTRS实例的信息。

信件搜索索引状态

显示有关已索引的信件的信息。

信件数/通信渠道

显示每个通信渠道的信件数量。

通信日志

显示所有通信的汇总信息。

通讯日志帐号状态（最近24小时）

显示最近24小时内通信日志帐户状态的信息。

并发用户详细信息

以小时分隔，显示有关登录用户的信息。

并发用户数

显示有关同一时间内最大登录用户数的信息。

配置设置

显示系统配置中的一些重要配置设置。

守护进程

显示OTRS守护进程是否正在运行。

数据库记录

显示主OTRS对象和数据库中的相关记录数。

默认的系统管理员密码

绿色LED表示已更改默认管理员密码。

电子邮件发送队列

显示排队等待发送的电子邮件数。

FQDN (Domain Name)

Display the fully qualified domain name set in system configuration setting FQDN.

文件系统是可写的

显示文件系统是否可写。

旧版配置备份

绿色LED表示没有找到旧版配置备份文件。

软件包安装状态

绿色LED表示所有软件包都已正确安装。

软件包框架版本状态

绿色LED意味着OTRS框架版本适用于已安装的软件包。

软件包验证状态

绿色LED表示所有已安装的软件包均通过了OTRS集团的验证。

Package List

Display the list of installed packages.

Push Events Status

Display the status of the push events per day.

会话配置设置

显示每个服务人员和客户允许的最大会话数。

假脱机邮件

显示发送池中的电子邮件数。

系统ID

Display the system identifier set in system configuration setting SystemID.

有锁定的工单的无效用户

显示设置为无效但已为其锁定了某些工单的用户数。

处理中的工单

显示系统中处理中的工单数。 在系统中有大约60,000个处理中的工单之前，您不会遇到性能问题。

工单搜索索引模块

Display the ticket search index module set in system configuration setting Ticket::SearchIndex::ForceUnfilteredStorage.

时间设置

显示OTRS、日历和用户的时区信息。

用户界面 - 服务人员皮肤使用情况

显示每个服务人员已用的皮肤。

用户界面 - 服务人员主题使用情况

显示在服务人员界面中已使用的主题。

用户界面 - 特殊的统计

显示一些有关个人修改的统计信息，如使用收藏夹、自定义菜单排序等。

OTRS版本

显示OTRS版本号。

WebSocket Connection

Display connection status for WebSocket connections.

系统注册

如果免费试用或注册期限到期，系统将自行锁定。 在这些情况下，您必须注册您的系统，或者您必须延长注册。

使用此屏幕向OTRS集团注册您的系统。 注册屏幕位于 OTRS集团服务*组的 *系统注册 模块中。

未注册的系统屏幕

管理系统注册

若要注册您的系统：

获得一个 OTRS ID。您必须到 OTRS 门户网站 上注册，注册后就能得到您的 OTRS ID.

转到 OTRS集团服务 组的 系统注册 模块，然后输入您的OTRS ID和密码。

系统注册 - 添加OTRS ID

点击 下一步 按钮。

选择系统类型并输入描述。

系统注册 - 选择系统类型

点击 注册 按钮。

检查您的注册。

已注册的系统

若要编辑系统注册：

点击左侧边栏中的 编辑详情 按钮。

修改系统类型和描述。

点击 更新 按钮。

编辑系统注册屏幕。

若要显示已传输的数据：

点击左侧边栏中的 显示已传输的数据 按钮。

以JSON格式查看数据。

传输数据屏幕概览

参见

有关字段的详细说明，请参见 支持数据收集器 一章。

若要概览已注册的系统：

单击左侧栏中的 已注册系统概览 按钮。

登录到 OTRS 门户网站 。

查看已注册系统的列表。

若要取消系统注册：

点击左侧边栏的 取消系统注册 按钮。

注解

如果您使用的 STORM powered by OTRS™ 或拥有有效的服务合同，则无法取消注册您的系统。

Chat

The chat feature allows the agents to provide real time communication with each other, with customer users or with public users. The chat feature is enabled by default.

目录

聊天频道

管理聊天频道

聊天频道设置

Manage Chat Support

Chat Integration

聊天频道

Being able to offer chat possibilities to customers is a must-have for many organizations. Depending on the amount of customer chat requests and the organization’s structure, it must be possible to group chat requests.

OTRS提供各频道可具有不同权限的多个聊天频道，这样它就可以为诸如注册的合同客户和公共潜在客户提供不同的聊天频道。

Use this screen to add chat channels to the system. A fresh OTRS installation already contains a chat channel by default. The chat channel management screen is available in the Chat Channels module of the Chat group.

聊天频道管理屏幕

管理聊天频道

若要添加一个聊天频道：

点击左侧边栏中的 添加聊天频道 按钮。

填写必填字段。

点击 保存 按钮。

添加聊天频道屏幕

警告

无法从系统中删除聊天频道。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个聊天频道：

点击聊天频道列表中的聊天频道。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑聊天频道屏幕

聊天频道设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

组 *

选择哪些组 组 可以访问聊天频道。

客户用户可用

如果要为客户用户显示聊天频道，请选中该复选框。

公共用户可用

如果要为公共用户显示聊天频道，请选中该复选框。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

Manage Chat Support

注解

The chat feature is enabled by default.

To enable or disable the chat feature:

转到 系统配置 屏幕。

在导航树中找到 Core → Chat。

Enable or disable the setting ChatEngine::Active.

启用聊天功能后，如果不存在默认频道，则会自动创建 默认频道。

若要查看所有聊天相关设置：

转到 系统配置 屏幕。

在搜索框中搜索 ChatEngine 一词。

查看设置。

参见

服务人员需要对在以下设置中设置的组至少具有 ro（只读） 权限：

ChatEngine::PermissionGroup::ChatReceivingAgents

ChatEngine::PermissionGroup::ChatStartingAgents

Chat Integration

You can easily integrate the public chat into a website. Just copy the code snippets from here. If you would like to make any adaptations, please modify the fields in the configuration widget. All changes are applied immediately to the snippet, so you can make your changes and copy the snippet to your clipboard afterwards. Please note that changes made on this page are not remembered.

Use this screen to generate the chat integration code. The chat integration configuration and snippet generator is available in the Chat Integration module of the Chat group.

To configure the chat and generate code snippet:

Select a pre-selected chat channel in the Pre-selected channel field.

Select a primary color for the chat design.

Customize the texts in the Texts section.

Chat Integration – Configuration

注解

All changes made in the Configuration tab will not be saved. Every time you open this dialog, all fields will be reset to default values.

You can check the result in the Preview widget.

Chat Integration – Preview

注解

The preview uses the real chat module. Other agents have to be available for chatting to preview all features.

Copy the code snippet from the Integration Code widget and paste it into your website right before the </body> element.

Chat Integration – Integration Code

If mixed content warning is displayed in the browser console, an administrator has to check that the system configuration setting HttpType is properly set. The website must run on the same protocol for chat widget to work.

For example, if the website is running OTRS on SSL, the system configuration option must be set to https.

系统管理

任何系统都需要配置。 配置系统应该是一项简单的任务，配置工具也要适用。

OTRS提供了多种管理工具来配置、监控、控制和扩展OTRS。

目录

日历

管理日历

日历设置

常规日历设置

工单预约日历

导入预约

FAQ 类别

管理 FAQ 类别

FAQ 类别设置

FAQ 语言

管理 FAQ 语言

FAQ 语言设置

软件包管理器

管理软件包

安装软件包

更新软件包

重新安装软件包

卸载软件包

性能日志

会话管理

管理会话

SQL查询窗口

查询SQL语句

SQL设置

SQL示例

系统配置

管理系统配置

使用导航树

导入和导出系统配置

Business Object Configuration

Business Object Lists

Business Object Detail Views

Forms

Business Cards

Business Object Reference

Column Names

Filter Names

Filter Value Types

Form Fields

系统日志

日历

与客户协作时，资源规划和调度可能是一项复杂的任务。 通过预约，您可以随时随地满足您的客户。

OTRS通过日历支持此需求。 日历允许管理工单系统内的预约和资源。 您可以将工单连接到计划任务，并使其可供所有用户查看。 此功能可增加透明度，以显示您的团队工作负载并避免向客户承诺不可用的资源。

使用此屏幕可管理系统中的日历。 默认情况下，新的OTRS安装不包含日历。 日历管理屏幕位于 系统管理 组的 日历 模块中。

日历管理屏幕

管理日历

若要添加一个新的日历：

点击左侧边栏中的 添加日历 按钮。

填写必填字段。

点击 保存 按钮。

添加新的日历屏幕

警告

无法从系统中删除日历。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个日历：

单击日历列表中的一个日历。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑日历屏幕

若要导出一个日历：

单击日历列表中的导出图标。

在计算机中选择一个位置以保存 Export_Calendar_CalendarName.yml 文件。

若要导入日历：

点击左侧边栏的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

如果您想覆盖现有的日历，点击 覆盖当前已有条目 复选框。

点击 导入日历 按钮。

注解

如果系统中添加了多个日历，只需键入要过滤的名称，即可使用过滤器框查找特定日历。

日历设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

常规日历设置

日历名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

颜色 *

将在日历概览屏幕中显示的日历颜色。

要更改日历颜色，只需从调色板中选择一种新颜色即可。 您可以从预先选择的颜色中进行选择，也可以通过从颜色选择器中选择颜色或键入十六进制值来定义其他颜色。

权限组 *

选择哪些组 组 可以访问日历。

根据组字段，系统通过用户的权限级别来允许用户能够访问的日历。

只读：用户可以看到和导出日历中所有的预约。

转移：用户可以修改日历中的预约，但不能修改选择的日历。

创建：用户可以创建和删除日历中的预约。

读写：用户可以管理日历。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

工单预约日历

定义在这个日历中基于工单数据自动创建预约的规则。 要添加新规则，请点击 添加规则 按钮。

日历设置 - 工单预约

开始日期

选择工单预约的开始日期。

结束日期

选择工单预约的结束日期。

队列 *

选择一个或多个队列以缩小能够自动创建工单预约的范围。

搜索属性

通过选择属性并点击⊞按钮，可以添加其他搜索属性以进行进一步过滤。

导入预约

如果系统中至少添加了一个日历，则可以将某些预约导入日历中。

要导入一些预约：

点击左侧边栏中的 导入预约 按钮。

上传iCal文件并选择日历。

点击 导入预约 按钮。

导入预约屏幕

上传 *

点击 浏览… 按钮，并选择一个有效的iCal (.ics) 来上传。

日历 *

选择一个可用的日历。

注解

如果此处未列出所需的日历，请确保您至少有 创建 权限。

更新已有的预约吗？

如果选中，则日历中具有相同 UniqueID 的所有现有预约都将被覆盖。

FAQ 类别

使用此屏幕可管理 FAQ 文章可用的类别。 默认情况下，新的 OTRS 安装已包含类别。 类别管理屏幕位于 系统管理 组中的 FAQ 类别 模块。

FAQ 类别管理屏幕

管理 FAQ 类别

若要添加一个服务目录：

点击左侧边栏的 添加类别 按钮。

填写必填字段。

点击 提交 按钮。

添加服务目录屏幕

若要编辑一个服务目录：

点击服务目录列表中的一个服务目录。

修改字段。

点击 提交 按钮。

编辑服务目录屏幕

若要删除一个服务目录：

点击类别列表中的垃圾桶图标。

单击确认屏幕上的 是 按钮。

删除服务目录屏幕

FAQ 类别设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

父类别是

可以在现有目录下添加新目录作为子目录。 这将显示为 父目录::子目录。

权限 *

能访问此类别文章的服务人员组

有效性

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在OTRS中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

注释 *

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

FAQ 语言

使用此屏幕可管理 FAQ 文章可用的语言。 默认情况下，新的 OTRS 安装已包含一些语言。 语言管理屏幕位于 系统管理 组中的 FAQ 语言 模块。

FAQ 语言管理屏幕

管理 FAQ 语言

若要添加一个语言：

点击左侧栏中的 添加语言 按钮。

填写必填字段。

点击 提交 按钮。

添加语言屏幕

若要编辑一个语言：

点击语言列表中的一个语言。

修改字段。

点击 提交 按钮。

编辑语言屏幕

若要删除一个语言：

点击语言列表中的垃圾桶图标。

单击确认屏幕上的 是 按钮。

删除语言屏幕

FAQ 语言设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

该语言的 ISO 639-1代码。

软件包管理器

可以通过向框架添加其他软件包来扩展模块化系统。 管理员需要一种简单的方法来查看安装了哪些功能的哪个版本，并确保能添加、更新和删除软件包。

OTRS使用软件包管理器在图形界面中执行上述所有与软件包相关的活动。

注解

本模块仅适用于使用 On-Premise 或 * (OTRS)) 社区版*。若要查看已安装模块的列表, 还可以查看 支持数据收集器。

使用此屏幕可以安装和管理扩展OTRS功能的软件包。 软件包管理器屏幕位于 系统管理 组的 软件包管理器 模块中。

软件包管理器屏幕

管理软件包

警告

默认情况下，无法安装未经OTRS集团验证的软件包。

参见

You can activate the installation of not verified packages in the system configuration setting Package::AllowNotVerifiedPackages.

安装软件包

若要从在线软件仓库安装软件包：

从左侧边栏的下拉列表中选择一个在线软件仓库。

点击 更新存储库信息 按钮以刷新可用的软件包列表。

从 在线软件仓库 小部件中选择一个软件包，然后单击最后一列中的 安装。

按照安装说明操作。

安装后，软件包将显示在 本地软件仓库 小部件中。

在线软件仓库

参见

The repository list can be changed in system configuration setting Package::RepositoryList.

若要从文件安装软件包：

点击左侧边栏的 浏览… 按钮。

从本地文件系统中选择一个 .opm 文件。

点击 安装软件包 按钮。

按照安装说明操作。

安装后，软件包将显示在 本地软件仓库 小部件中。

本地软件仓库小部件

更新软件包

若要从在线软件仓库更新一个软件包：

如果 操作 列中有 更新，请在 在线软件仓库 小部件中检查可用的软件包。

点击 更新 链接。

按照更新说明操作。

更新后，软件包将显示在 本地软件仓库 小部件中。

若要从文件更新一个软件包：

点击左侧边栏的 浏览… 按钮。

从本地文件系统中选择一个比已安装软件包新的 .opm 文件。

点击 安装软件包 按钮。

按照更新说明操作。

更新后，软件包将显示在 本地软件仓库 小部件中。

若要更新所有软件包：

点击左侧栏的 更新所有已安装的软件包 按钮。

按照更新说明操作。

更新后，软件包将显示在 本地软件仓库 小部件中。

此功能读取所有定义的软件仓库的信息，以确定系统中每个已安装的软件包是否存在新版本，并计算更新到这些软件包及其所有依赖软件包（即使现有软件包的新版本需要尚未安装在系统中的软件包）的正确顺序。

注解

如果安装了没有在系统中定义的对应软件仓库的软件包，则不能通过此功能更新，并且将被标记为失败（由于缺少在线软件仓库）。

重新安装软件包

如果在本地修改了软件包的至少一个文件，则软件包管理器会将软件包标记为已损坏，需要重新安装。

若要重新安装一个软件包：

从 本地软件仓库 小部件中选择标记为重新安装的软件包。

点击 操作 列中的 重新安装 链接。

按照安装说明操作。

卸载软件包

若要卸载一个软件包：

从 本地软件仓库 小部件中选择该软件包。

点击 操作 列中的 卸载 链接。

按照卸载说明操作。

本地软件仓库小部件

性能日志

性能始终是基于Web的应用程序的关键主题。 管理员有可能需要查看随着时间的推移哪些活动会使用多少时间以便确定潜在的增长，并采取适当的措施。

OTRS通过性能日志支持此要求。 激活后，性能日志可以记录活动并显示各种活动类型及其最小/最大/平均响应时间，以及在不同时间帧的请求数量。

使用此屏幕可查看OTRS的性能日志。 日志概览屏幕位于 系统管理 组的 性能日志 模块中。

注解

为了能够在OTRS中查看性能日志，您必须首先启用其设置。

启用性能日志支持

如果启用了性能日志，OTRS将在一个概览表中收集有关请求和响应的所有信息。

性能日志屏幕

点击一个条目将会显示其详细信息。

性能日志详情屏幕

会话管理

基于Web的应用程序的管理员需要能够访问连接到系统的信息，并在需要时删除不需要的会话。

OTRS提供会话管理，可以快速获取服务人员和客户的会话、当前登录的服务人员和客户的唯一条目的概览，以及只需一次鼠标点击即可终止会话的能力。

使用此屏幕管理系统中登录的用户会话。 会话管理屏幕位于 系统管理 组的 会话管理 模块中。

会话管理屏幕

管理会话

若要查看一个已登录的用户会话：

从会话列表中选择一个已登录的用户。

点击令牌。

查看详情。

会话管理详情屏幕

若要结束一个会话：

从会话列表中选择一个已登录的用户。

点击 终止 列的 终止该会话 链接。

终止会话屏幕

警告

点击 终止该会话 链接会立即删除会话而不进行确认，未保存的用户工作将丢失！

若要终止所有会话：

点击左侧边栏的 终止所有会话 按钮。

警告

点击 终止所有会话 链接会立即删除会话而不进行确认，未保存的用户工作将丢失！

注解

如果有多个用户登录到系统，请使用过滤器框通过键入要过滤的名称来查找特定会话。

SQL查询窗口

注解

This feature is not enabled by default. Activate the system configuration setting Frontend::Module###AdminSelectBox to enable this feature.

在一个工单系统中，通常可以使用统计信息在需要时显示工单信息的汇总视图。 但是，有时需要直接访问数据库以获得更多的单独报告、允许外部统计工具从系统查询信息或对一个工单行为进行深入分析。

直接访问数据库需要访问可能连管理员也没有的命令行。 除了访问命令行需要的用户名和密码（不是所有组织都提供）之外，还需要数据库的用户名和密码。 这些障碍可能会阻止管理员使用数据库进行更复杂的搜索和操作。

OTRS为应用程序管理员提供了图形界面中的SQL查询窗口。 它允许对数据库的读访问，所有结果都可以在图形界面中看到或导出到CSV/Excel文件。

使用此屏幕查询系统中的SQL语句。 SQL查询窗口显示在 系统管理 组的 SQL查询窗口 模块中。

SQL查询窗口屏幕

查询SQL语句

注解

此处输入的SQL语句将直接发送到应用程序数据库。 默认情况下，无法更改表的内容，只允许SELECT查询。

警告

It is possible to modify the application database via SQL box. To do this, you have to enabled the system configuration setting AdminSelectBox::AllowDatabaseModification. Activate it to your own risk!

若要执行一条SQL语句：

在SQL查询框中输入SQL语句。

选择结果格式。

点击 运行查询 按钮。

SQL查询窗口小部件

SQL设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

SQL *

需要查询的SQL语句。

限制

输入一个数字以将结果限制为最多此行数。 将此字段留空意味着没有限制。

注解

不要在SQL语句中使用 LIMIT， 始终使用此字段来限制结果数量。

结果格式

SQL语句查询结果的格式。

HTML

查询结果显示在新的小部件的SQL框下方。

CSV

查询结果使用逗号分隔的纯文本格式以供下载。

Excel

查询结果使用Microsoft Excel电子表格格式以供下载。

SQL示例

列出服务人员有关的一些信息并将结果输出为HTML：

SELECT id, login , first_name, last_name, valid_id FROM users

SQL查询结果

若要列出所有表，您需要将 限制 字段留空并运行以下查询：

SHOW TABLES

若要显示 users 表的结构，您需要将结果限制为1并运行以下查询（请参阅列的表头）：

SELECT * FROM users

系统配置

Modern systems have many ways to configure their behavior. Some use configuration files edited on the command line, and some use a graphical interface (and save the information to configuration files in the background), yet others use a database. Maintaining changes and auditing can sometimes be an issue, as it is not always clear who made a change. Making bulk changes is not always possible, and rolling back changes a chore.

OTRS使用舒适的图形界面来配置系统。 对默认系统配置的所有更改都存储在数据库中，并且可以进行审计（谁在何时更改了设置、原值和新值是什么），并在配置错误的情况下回滚到先前的状态。

舒适的搜索功能可以快速、轻松地找到所需的设置。

参见

通过使用 系统配置历史 软件包，您可以轻松地回滚用户所做的更改。请联系 sales@otrs.com 以将此功能添加到您的系统中。

使用此屏幕可管理系统配置设置。 OTRS带来了大约2200个配置设置。 系统配置管理屏幕位于 系统管理 组的 系统配置 模块中。

管理系统配置

注解

出于安全原因，无法在系统配置的图形用户界面中更改数据库连接的配置设置。 这些必须在 Kernel/Config.pm 中手动设置。

要修改系统配置，您需要执行几个步骤。 以下示例显示了如何查找、修改、部署和重置系统配置 FirstnameLastnameOrder。

通过在搜索框中输入搜索词 lastname 来查找系统配置。

通过全文搜索，可以扫描所有配置设置以查找一个或多个关键字。 全文搜索不仅搜索配置设置的名称，还搜索描述和值，这样即使不知道名称，也可以轻松找到某个元素。

系统配置 - 搜索设置

从搜索结果中选择设置。

系统配置 - 找到设置

点击小部件的标题以查看选项。

系统配置 - 展开设置

将鼠标悬停在小部件主体上以查看 编辑这个设置 按钮。

系统配置 - 悬停在设置上

点击 编辑这个设置 按钮以激活编辑模式。 在编辑模式下，小部件在左侧获得橙色边框。

注解

如果某个设置当前由另一个管理员编辑，则在另一个管理员完成其工作之前，无法访问该设置的编辑模式。

系统配置 - 点击设置

更改设置的值。 单击右侧的 取消 按钮或按键盘上的 Esc 键可取消编辑。 取消编辑后，将丢弃当前编辑会话期间所做的所有更改。

系统配置 - 修改设置

点击 保存 按钮。 如果保存了修改，则窗口小部件在左侧获得绿色边框。

系统配置 - 保存设置

返回并点击左侧边栏中的 部署 按钮。 您还会在通知栏中收到通知，告知您没有部署的设置。

系统配置 - 设置更改情况

查看更改情况。

您可以单击右上角的⇄按钮并排比较更改内容。

系统配置 - 设置差异情况

点击 部署所选更改 按钮。 如果更改了多个设置，则可以仅部署所选设置。

添加部署注释，为其他管理员解释更改内容以及原因。 在这里使用完整句子。

系统配置 - 部署设置

返回并再次搜索术语 lastname 以查找修改后的设置。 窗口小部件在左侧有一个灰色边框，表示此设置已被修改。

系统配置 - 已部署设置

要重置设置，请单击窗口小部件的标题以查看选项。 然后点击 重置设置 按钮。

系统配置 - 重置设置

点击 确认 按钮。

部署设置。

使用导航树

每个配置设置按类别和导航组分类。 导航组是主导航树中的单个元素。 通过选择其中一个导航条目，将显示分配给所选组的所有设置。 如果没有安装扩展，类别选择就会自动隐藏，但只要安装了带有自己的配置设置（例如ITSM模块或调查模块）的软件包，就会显示类别选择。 选择类别使主导航树仅显示属于所选类别的导航组。

系统配置导航树

要展开一个元素，请点击它旁边的箭头。 括号之间的数字表示该元素有多少个设置。 如果某个元素没有数字，则此元素仅是类别，它没有设置，只有子类别。

使用导航树的结果与搜索设置相同。 如果您想查看一个设置属于哪个组，请通过单击窗口小部件的标题展开它。

系统配置 - 展开设置

例如，FirstnameLastnameOrder 可以在 Frontend → Base 中找到。

导入和导出系统配置

点击左侧边栏中的 导入和导出 按钮以访问导入导出屏幕。

系统配置 - 导入和导出

若要导出系统配置：

点击 导出 小部件中的 导出当前配置 按钮。

将 Export_Current_System_Configuration.yml 文件保存到本地文件系统。

将文件重命名为更具描述性的名称。

若要导入系统配置：

点击 导入 小部件中的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

点击 导入系统配置 按钮。

Business Object Configuration

The following section contains a description of the business object configuration, including the business object lists, business object detail views, business cards and forms.

Business Object Lists

The business object lists provide a tabular view of items with support for configurable columns, sorting and filtering. These lists can be used in many contexts, including as stand-alone screens, widgets, actions, etc.

The default configuration of business object lists can be defined in several places, depending on the screen or element where they are used.

AgentFrontend::<BusinessObjectListType>::<SlugName>###DefaultConfig

Standalone or static list screens which are usable via their own URL.

An Example of the Unlocked Tickets Screen

The following system configuration settings are relevant:

AgentFrontend::KnowledgeBaseArticleList::Static###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Added###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Updated###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Rated###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Custom1###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Custom2###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Custom3###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Custom4###DefaultConfig

AgentFrontend::KnowledgeBaseArticleList::Custom5###DefaultConfig

AgentFrontend::TicketList::Static###DefaultConfig

AgentFrontend::TicketList::Unresolved###DefaultConfig

AgentFrontend::TicketList::Unlocked###DefaultConfig

AgentFrontend::TicketList::Reminders###DefaultConfig

AgentFrontend::TicketList::Escalations###DefaultConfig

AgentFrontend::TicketList::Created###DefaultConfig

AgentFrontend::TicketList::Closed###DefaultConfig

AgentFrontend::TicketList::Queues###DefaultConfig

AgentFrontend::TicketList::Legacyservice###DefaultConfig

AgentFrontend::TicketList::Legacystatus###DefaultConfig

AgentFrontend::TicketList::Legacyescalations###DefaultConfig

AgentFrontend::TicketList::Legacyresponsible###DefaultConfig

AgentFrontend::TicketList::Legacywatcher###DefaultConfig

AgentFrontend::TicketList::Custom1###DefaultConfig

AgentFrontend::TicketList::Custom2###DefaultConfig

AgentFrontend::TicketList::Custom3###DefaultConfig

AgentFrontend::TicketList::Custom4###DefaultConfig

AgentFrontend::TicketList::Custom5###DefaultConfig

BusinessObjectListType

Type of the business object list to use.

Possible values for the BusinessObjectListType key:

TicketList
KnowledgeBaseArticleList

SlugName

Determines the search engine-friendly URL part via which the screen is available.

注解

Currently only single word search engine-friendly URL parts are supported. Also note that the first character of the search engine-friendly URL part will always be converted to lower case variant, for example:

AgentFrontend::TicketList::Static => /agent/tickets/static
AgentFrontend::TicketList::Unresolved => agent/tickets/unresolved
AgentFrontend::TicketList::Reminders => agent/tickets/reminders
AgentFrontend::KnowledgeBaseArticleList::Added => agent/knowledge-base-articles/added

AgentFrontend::WebNotificationList###DefaultConfig

The default configuration for the Web Notifications list.

An Example of the Web Notifications List Screen

Link to the reference of the system configuration:

AgentFrontend::WebNotificationList###DefaultConfig

AgentFrontend::Search###DefaultConfig

The default configuration for the Search Results list.

An Example of the Search Results List Screen

Link to the reference of the system configuration:

AgentFrontend::Search###DefaultConfig

AgentFrontend::TicketList::ArticlePreview###DefaultConfig

The default configuration for the Article Preview in the Ticket list.

An Example of the Article Preview in the Ticket List Screen

Link to the reference of the system configuration:

AgentFrontend::TicketList::ArticlePreview###DefaultConfig

AgentFrontend::*###DefaultConfig

The default configuration for the inline business object lists. Inline list tables are shown as part of several actions like Merge, Link or Append to Ticket.

An Example of the Link Action in the Ticket Detail View

The following system configuration settings are relevant:

AgentFrontend::Merge::Ticket###DefaultConfig

AgentFrontend::LinkObject::Ticket###DefaultConfig

AgentFrontend::LinkObject::KnowledgeBaseArticle###DefaultConfig

AgentFrontend::LinkObject::CalendarAppointment###DefaultConfig

AgentFrontend::Chat::AppendToTicket###DefaultConfig

AgentFrontend::*AddressBookList*###DefaultConfig

The default configuration for the Customer User and Customer address book screens. The address books allow contextual adding of customer and customer user records to target form fields.

An Example of the Customer User Address Book List Screen

The following system configuration settings are relevant:

AgentFrontend::CustomerUserAddressBookList::Email###DefaultConfig

AgentFrontend::CustomerUserAddressBookList::SMS###DefaultConfig

AgentFrontend::CustomerCompanyAddressBookList###DefaultConfig

Each business object list setting has a Config key which contains its configuration.

参见

The detailed explanation of the possible Config key values can be found in the Business Object List YAML Configuration chapter.

YAML Configuration Basics

Before we delve too deeply into the business object configuration, it is important to explain the YAML syntax which is heavily used for some of the setting values.

YAML (a recursive acronym for YAML Ain’t Markup Language) is a human-readable data-serialization language. It is commonly used for configuration files, but it can describe data structures of arbitrary complexity.

Although YAML supports many of them, only a few data types are used in the context of OTRS configuration:

Scalar

This is the most basic data type; it could be a number, a string, or a boolean expression. Sometimes it is also referred to as a value.

Number: 42
String1: Foo
String2: 'Foo bar'
String3: "Foo bar Xyzzy"
Boolean1: 1
Boolean2: 0

注解

Scalar data type is never used on its own, but it is always part of another higher-level structure.

List

List contains an arbitrary number of items which can be of any data type. Sometimes it is also referred to as an array.

Each item in a list is divided from others by a separator in the form of a minus sign followed by a single space.

List1:
- Item1
- Item2
- Item3

警告

In YAML, the number of spaces is important. The number of spaces used for indentation must always be consistent, otherwise unexpected structures or syntax errors can occur. It is recommended that list items are indented via a minus sign followed by a single space. This style is used throughout this guide and default configuration.

注解

To define an empty list, you can use the square bracket syntax:

EmptyList: []

对象

Object is a data type consisting of key/value pairs, separated by the colon punctuation mark. Sometimes it is also referred to as a hash.

Object key is always on the left side of the colon punctuation mark, while the value is always on its right side (or indented below):

Object1:
  Key1: Value1
  Key2: Value2
  Key3: Value3

警告

In YAML, the number of spaces is important. The number of spaces used for indentation must always be consistent, otherwise unexpected structures or syntax errors can occur.

It is recommended that object key/value pairs are indented with two spaces. This style is used throughout this guide and default configuration.

注解

To define an empty object, you can use the curly brackets syntax:

EmptyObject: {}

To signal that a text uses YAML syntax, it is recommended to add a document header to its first line that consists of three consecutive minus signs, followed by the line break. By doing this consistently, it becomes very easy to identify YAML structures when mixed with other configurations.

With the three basic data types explained above, it is possible to create more complex structures. For example, an array of hashes:

---
Array:
- Key1: A
  Key2: B
  Key3: C
- Key1: 1
  Key2: 2
  Key3: 3
- Key1: I
  Key2: II
  Key3: III

注解

In a list that contains multiple object keys, only the first key must be prefixed with the minus sign followed by a space. Each subsequent key must be prefixed with two spaces.

The following example illustrates the usage of a hash of arrays:

---
Hash:
  Key:
    Subkey1:
    - Item1
    - Item2
    - Item3
    Subkey2:
    - Item4
    - Item5
    - Item6

注解

If the object keys are separated by other structures, it is important to keep them on the same indentation level. Since they are all siblings, they must be prefixed by the same number of spaces.

It is also possible to mix the data types that result in more complex data structures:

---
Key1:
- Subkey1: Value1
- Subkey2: Value2
Key2: Value3
Key3:
  Subkey3:
  - Value4
  - Value5

注解

YAML supports comments in its code, so it is possible to include additional text that will be ignored during parsing. Comments can be marked with #. Any following text will be ignored:

---
# This is a comment
Key: Value # This is another comment
# Key2: Value 2

This is useful in case users need to describe certain parts of the structure, perhaps for future reference, or to quickly ignore part of the code without actually removing it.

In the example above, the third line will be ignored too since it starts with #. If you actually want to use the pound key as part of your string of values, simply enclose the complete string in quotes:

---
String: 'This is # not a comment'

When you edit an OTRS system setting with the YAML value type, a suitable text editor will be displayed.

System Setting with a YAML Value

When saving the setting, the YAML structure will be checked for validity. In case of an error, it is possible to change and correct the structure.

Error in a YAML Structure

It is important to understand that only the syntax of the structure is checked during validation. A deep validation will not occur. It is your responsibility as an administrator to ensure that the configuration you specify is correct.

警告

The most common errors that occur are related to indentation. You have to ensure that your indentations are consistent, especially the indentations of the different data types. For example, the following two structures are considered different.

---
Object:
   Key:
      Subkey: Value

---
Object:
   Key:
   Subkey: Value

Since the Subkey in the second example is not aligned properly within its parent Key, it is considered to be its sibling part and not a child. In this case the actual value of the Key will be empty.

Business Object List YAML Configuration

A business object list YAML configuration can have many parameters. The following example shows how to construct a business object list in general.

Type: BusinessObject
BusinessObjectType: Ticket
ScreenTitle: <Some Screen Title>
Changeable: 1
FilterPresets:
  "<Displayed Filter Preset Name>":
    <FilterName1>:
      Value: <Value>
    <FilterName2>:
      Value:
      - <Value1>
      - <Value2>
    <FilterName3>:
      Value:
        <Parameter1>: <Value1>
        <Parameter2>: <Value2>
  ...
ActiveFilters:
  <FilterName1>:
    Value: <Value>
  <FilterName2>:
    Value:
    - <Value1>
    - <Value2>
  <FilterName3>:
    Value:
      <Parameter1>: <Value1>
      <Parameter2>: <Value2>
      ...
  ...
AllowGETConfig:
- <ConfigurationName1>
- <ConfigurationName2>
- ...
Columns:
  <ColumnName1>:
    IsVisible: 0|1|2
    IsInlineEditable: 0|1
  ...
DefaultColumnOrder:
- <ColumnName1>
- <ColumnName2>
- ...
HideAvailableFilters:
- <FilterName1>
- <FilterName2>
- ...
ItemsPerPage: 10
Limit: 1000
SortBy:
- Column: <ColumnName>
  Direction: Down|Up
- ...
AvailableDynamicFieldFilters:
- <FilterName1>
- <FilterName2>
- ...

The following YAML keys and values can be used for business object lists.

Type

Defines the type of the setting. This is an internal value which is always set to BusinessObject and must not be changed.

警告

Changing this value might result in a broken system configuration.

BusinessObjectType

Defines the business object type of the business object list. This is an internal value which is specific for the current list type and must not be changed.

警告

Changing this value might result in a broken system configuration.

ScreenTitle

Defines the title of the business object list.

注解

In some places, you may notice # translatable comments that are displayed next to the text values. This marker is only used for the internal collection of translatable strings and has no effect in the changed settings. Adding this comment to modified values will not result in the actual text translation.

The visible text in the configuration can be translated into other languages with custom translation files. See the Custom Translation File chapter in the developer manual.

Changeable

Defines whether the business object list can be personalized by the user in the front end. If turned off, the view configuration will not be available and also filter presets for the view cannot be saved. The value can be 1 (on) or 0 (off). The assumed default is off when the key is not used in the definition.

FilterPresets

Defines the pre-defined filters used for the business object list. Multiple filters can be defined here. The filter value can be a string, array or a hash. The following YAML snippet shows examples for all types.

FilterPresets:
  Closed:
    StateType:
      Value: Closed
  Locked:
    LockIDs:
      Value:
      - 2
  "Reminder Reached":
    TicketPending_DateTimeRelative:
      Value:
        Format: minute
        Point: 1
        Start: Before

参见

The list of possible filter names can be found in the Filter Names chapter.

ActiveFilters

Defines the filters that are active when displaying the business object list. Multiple filters can be added here; each is defined by the filter name. The filter value can be a string, array or a hash. The following YAML snippet shows examples for both.

ActiveFilters:
  StateType:
    Value: Closed
  TicketClose_DateTimeRelative:
    Value:
      Start: Before
      Point: 1
      Format: minute

参见

The list of possible filter names can be found in the Filter Names chapter.

AllowGETConfig

Defines what parameters can be changed via the URL with the Config URL query parameter:

AllowGETConfig:
- VisibleColumns
- SortBy
- ActiveFilters
- FilterPresets
- ItemsPerPage
- FilterPresetSelected

The list should contain names of other configuration keys for which definition will be allowed when passed via the correct URL query parameter to the view.

For an example, let’s see how we can set an active filter preset by carefully constructing a URL for the view.

First, we must make sure that the key AllowGETConfig contains the properties FilterPresets and FilterPresetSelected which we will pass via query parameter.

Then, we first construct a valid YAML configuration that defines a user-defined filter preset and sets it as pre-selected.

FilterPresets:
  "Total Tickets":
    CustomerID:
      Value: my-customer@otrs.com
FilterPresetSelected: "Total Tickets"

Next, we convert this structure into JSON syntax, since YAML is unsuitable for passing via parameters. If we do this, we get the following analogous structure.

{
   "FilterPresets": {
      "TotalTickets": {
         "CustomerID": {
            "Value": "my-customer@otrs.com"
         }
      }
   },
   "FilterPresetSelected": "Total Tickets"
}

Then we remove all the extra white space to compress this configuration into a single line.

{"FilterPresets":{"Total Tickets":{"CustomerID":{"Value":"my-customer@otrs.com"}}},"FilterPresetSelected":"Total Tickets"}

Finally, in order to open the screen located at /agent/tickets/static, we just need to define an URL query parameter named Config and set the JSON structure above as its value. Of course, we have to take care to avoid all special characters that are normally used in URLs (e.g. quotation marks).

/agent/tickets/static?Config={"FilterPresets"%3A{"Total Tickets"%3A{"CustomerID"%3A{"Value"%3A"my-customer%40otrs.com"}}},"FilterPresetSelected"%3A"Total Tickets"}

An Example of the Filter Preset Defined via URL Query Parameter

Columns

Defines the columns that are available for the business object list in the front end.

IsVisible

Defines whether the column is not visible (0), not visible by default but the agent can make it visible (1) or visible by default (2).

IsInlineEditable

Defines whether the value in the column is inline editable (1) or not (0).

参见

The list of possible column names can be found in the Column Names chapter.

DefaultColumnOrder

Defines the default column order in the business object list.

HideAvailableFilters

Defines the filters which are not available for the agents in the front end, either in the view configuration or in the filter presets.

ItemsPerPage

Defines the number of objects per page that are displayed by default and the number of new objects that are loaded when the agent scrolls down the list. If omitted, it takes the default value of 10''. Although there is no upper limit, it is not advisable to set the value greater than ``100 for performance reasons.

Limit

Defines the maximum amount of displayed objects in a business object list. Most of the list types in the system are limited to an upper boundary of 10,000 objects for performance reasons.

SortBy

Defines the sorting criteria and the sorting order of the objects in the business object list.

AvailableDynamicFieldFilters

Defines the list of dynamic fields by name which are available as filters.

Business Object Detail Views

The business object detail views can be organized into several families.

The following settings define the default column layout configuration for the detail view screens.

An Example of the Ticket Detail View

The following system configuration settings are relevant:

AgentFrontend::CustomerCompanyDetailView###001-Framework

AgentFrontend::CustomerUserDetailView###001-Framework

AgentFrontend::KnowledgeBaseArticleDetailView###001-Framework

AgentFrontend::TicketDetailView###001-Framework

The following settings define the default column layout configuration for the business object overview screens.

An Example of the Dashboard Screen

The following system configuration settings are relevant:

AgentFrontend::CalendarOverview###001-Framework

AgentFrontend::Dashboard###001-Framework

AgentFrontend::StatisticReportOverview###001-Framework

The following settings define the default column layout configuration for the business object create screens.

An Example of the Create Email Ticket Screen

The following system configuration settings are relevant:

AgentFrontend::CustomerCompanyCreate###001-Framework

AgentFrontend::CustomerUserCreate###001-Framework

AgentFrontend::KnowledgeBaseArticleCreate###001-Framework

AgentFrontend::StatisticCreateUpdateView###001-Framework

AgentFrontend::StatisticReportCreateUpdateView###001-Framework

AgentFrontend::TicketCreate::Email###001-Framework

AgentFrontend::TicketCreate::Phone###001-Framework

AgentFrontend::TicketCreate::Process###001-Framework

AgentFrontend::TicketCreate::SMS###001-Framework

The following settings define the custom column layout configurations for adding additional widgets to a specific view. By default, these are empty settings. If additional widgets are added to them, they will be merged with the remaining settings for the corresponding view.

The following system configuration settings are relevant:

AgentFrontend::CalendarOverview###100-Custom

AgentFrontend::CustomerCompanyCreate###100-Custom

AgentFrontend::CustomerCompanyDetailView###100-Custom

AgentFrontend::CustomerUserCreate###100-Custom

AgentFrontend::CustomerUserDetailView###100-Custom

AgentFrontend::Dashboard###100-Custom

AgentFrontend::KnowledgeBaseArticleCreate###100-Custom

AgentFrontend::KnowledgeBaseArticleDetailView###100-Custom

AgentFrontend::StatisticCreateUpdateView###100-Custom

AgentFrontend::StatisticReportCreateUpdateView###100-Custom

AgentFrontend::StatisticReportOverview###100-Custom

AgentFrontend::TicketCreate::Email###100-Custom

AgentFrontend::TicketCreate::Phone###100-Custom

AgentFrontend::TicketCreate::Process###100-Custom

AgentFrontend::TicketCreate::SMS###100-Custom

AgentFrontend::TicketDetailView###100-Custom

Each of the above settings has the same key structure:

Type

Type of the business object screen.

Possible values for the Type key:

BusinessObjectCreate
BusinessObjectDetailView
BusinessObjectOverview

BusinessObjectType

Business object type behind the screen.

Possible values for the BusinessObjectType key:

CustomerCompany
CustomerUser
Dashboard
KnowledgeBaseArticle
Statistic
StatisticReport
Ticket

ColumnLayout

The YAML configuration for different column views.

参见

The detailed explanation of the ColumnLayout key can be found in the Business Object Detail View YAML Configuration chapter.

Business Object Detail View YAML Configuration

The YAML structure defines the content for the one, two or three column views. The definition contains the information about which widgets are displayed per default in each view.

 OneColumn:
   1:
   - Name: <WidgetName1>
   - Name: <WidgetName2>
   ...
 TwoColumns:
   1:
   - Name: <WidgetName1>
   - Name: <WidgetName2>
   ...
   2:
   - Name: <WidgetName3>
   - Name: <WidgetName4>
   ...
 ThreeColumns:
   1:
   - Name: <WidgetName1>
   - Name: <WidgetName2>
   ...
   2:
   - Name: <WidgetName3>
   - Name: <WidgetName4>
   ...
   3:
   - Name: <WidgetName5>
   - Name: <WidgetName6>
   ...
StripeSidebar:
- Name: StripePeople
...

注解

The sidebar is only available for business objects of type Ticket.

Available widget names depend on the specific business object screen.

CalendarOverview

Possible widget names for the Calendar Overview screen.

AppointmentsToday
AppointmentsThisWeek
AppointmentsThisMonth

CustomerCompanyCreate

Possible widget names for the Add Customer screen.

CreateProperties

CustomerCompanyDetailView

Possible widget names for the Customer detail view screen.

CustomerInformation
CustomerUserList
EscalatedTickets
OpenTickets
ReminderTickets
TicketList

CustomerUserCreate

Possible widget names for the Add Customer User screen.

CreateProperties

CustomerUserDetailView

Possible widget names for the Customer User detail view screen.

CustomerInformation
EscalatedTickets
OpenTickets
ReminderTickets
TicketList

Dashboard

Possible widget names for the Dashboard screen.

CalendarView
CustomerList
CustomerUserList
DashboardIframe
DashboardImage
DashboardPeople
EscalatedTickets
KnowledgeBaseArticleList
News
OpenTickets
QueueOverview
RecentlyUpdatedKnowledgeBaseArticles
ReminderTickets
TicketList
UnlockedTickets

KnowledgeBaseArticleCreate

Possible widget names for the Add Knowledge Base Article screen.

CreateProperties

KnowledgeBaseArticleDetailView

Possible widget names for the Knowledge Base Article detail view screen.

KBAAttachments
KBAItemField1
KBAItemField2
KBAItemField3
KBAItemField4
KBAItemField5
KBAItemField6
KBALinkedObjects::CalendarAppointment
KBALinkedObjects::KnowledgeBaseArticle
KBALinkedObjects::Ticket
KBAProperties
KBARating
People

StatisticCreateUpdateView

Possible widget names for the Create Statistic and Edit Statistic screens.

CreateUpdateProperties

StatisticReportCreateUpdateView

Possible widget names for the Create Report and Edit Report screens.

CreateUpdateProperties

StatisticReportOverview

Possible widget names for the Statistics and Reports overview screen.

StatisticLists
StatisticMetrics
StatisticReportList
StatisticStatic

TicketCreate::Email

Possible widget names for the Create Email Ticket screen.

CreateProperties
CustomerHistory
CustomerInformation
CustomerUserHistory

TicketCreate::Phone

Possible widget names for the Create Phone Ticket screen.

CreateProperties
CustomerHistory
CustomerInformation
CustomerUserHistory

TicketCreate::SMS

Possible widget names for the Create SMS Ticket screen.

CreateProperties
CustomerHistory
CustomerInformation
CustomerUserHistory

TicketCreate::Process

Possible widget names for the Create Process Ticket screen.

CreatePropertiesProcess
ProcessInformation

TicketDetailView

Possible widget names for the ticket detail view screen.

Attachments
BusinessProcessInformation
CommunicationCompact
CommunicationStream
CustomerInformation
FormDrafts
LinkedObjects::CalendarAppointment
LinkedObjects::KnowledgeBaseArticle
LinkedObjects::Ticket
People
Properties

Widget Type Definitions

Each widget type provides its own definition that will be inherited by any widget that uses it. For example, let’s take a look how this definition looks for one of the dashboard widget types:

An Example of the Ticket List Widget Type in the Dashboard Screen

The configuration of this widget type is located in the related system configuration setting in the YAML format.

A widget type definition contains the following general YAML keys:

Type: BusinessObject
BusinessObjectType: Ticket
ActiveFilters: {}
FilterPresets: {}
Columns: {}
Collapsed: 0
Hidden: 0

Type

Defines whether the related widget type handles a business object or other data. BusinessObject is currently the only supported type, but this might be extended by installed packages.

BusinessObjectType

This key defines the type of object the configuration is valid for. Based on this type, the front end and the back end will handle this object differently. New business object types may also be added by installed packages.

ActiveFilters

This key defines the default filters that are active when displaying the business object list. It contains a hash of filters. A single filter also has a hash structure that normally contains a filter value. The value can be a string, array or hash for special filters like dates.

ActiveFilters:
  <FilterName1>:
    Value:
      <Value>
  <FilterName2>:
     Value:
       <Value>

The following example illustrates two active filters which are showing only tickets that were closed recently:

ActiveFilters:
  StateType:
    Value: Closed
  TicketClose_DateTimeRelative:
    Value:
      Start: Before
      Point: 1
      Format: minute

参见

The list of possible filter names can be found in the Filter Names chapter.

FilterPresets

A hash of default filter preset names with a defined set of filters.

FilterPresets:
  "<Filter Preset Name 1>":
     <FilterName1>:
        Value: <Value>
  "<Filter Preset Name 2>":
     <FilterName2>:
        Value: <Value>

The following example illustrates three separate filter presets: locked, unlocked and unread tickets.

FilterPresets:
  Locked:
    LockIDs:
      Value:
      - 2
  Unlocked:
    LockIDs:
      Value:
      - 1
  Unread:
    AgentTicketFlagSeen:
      Value: Unread

参见

The list of possible filter names can be found in the Filter Names chapter.

Widget Definitions

Each widget provides its own definition that will be merged with the configuration of the inherited widget type. For example, let’s take a look at what this definition looks like for one of the widgets in the customer business object detail view:

An Example of the Reminder Tickets Widget in the Customer Detail View

The configuration of this widget is located in the related system configuration setting in the YAML format.

A widget definition contains the following general YAML keys:

Title: Reminders # Translatable
Active: 1
IsVisible: 1
IsAlwaysPresent: 0
IsDuplicatable: 1
Config: {}

Active

Defines whether the widget is active.

Collapsed

Defines whether the form group is collapsed by default.

Config

This key contains the complete default configuration of a widget. If left empty, the configuration of the widget type is used.

Hidden

Defines whether the widget is hidden.

IsVisible

Defines whether the widget is visible per default.

IsAlwaysPresent

Defines whether the widget can be removed from a view by the user.

IsDuplicatable

Defines whether the widget can be placed in a view multiple times.

Title

Defines the displayed title of a widget in the header section.

注解

In some places, you may notice # translatable comments that are displayed next to the text values. This marker is only used for the internal collection of translatable strings and has no effect in the changed settings. Adding this comment to modified values will not result in the actual text translation.

The visible text in the configuration can be translated into other languages with custom translation files. See the Custom Translation File chapter in the developer manual.

If the widget contains a business object list:

Columns

A hash with column names that are displayed in the business object list.

Columns:
  <ColumnName1>:
     IsVisible: <Value>
  <ColumnName2>:
     IsVisible: <Value>

Possible values for the IsVisible key:

0 = not available

1 = available but not visible

2 = available and visible

参见

The list of possible column names can be found in the Column Names chapter.

ArticleDynamicFields

Contains a list of dynamic fields to be displayed in the article preview. The prefix DynamicField_ must be added, for example DynamicField_MyFieldName.

ArticleDynamicFields:
  - <DynamicField_FieldName1>
  - <DynamicField_FieldName2>
  ...

ArticleViewType

Defines whether the articles should be displayed collapsed or expanded by default.

ArticleViewType: collapsed

DefaultColumnOrder

An array of column names that defines the default column order in the business object list.

DefaultColumnOrder:
- <ColumnName1>
- <ColumnName2>
...

DefaultFilterPresetFields

Defines the default filter preset fields and their values.

DefaultFilterPresetFields:
  <FilterName1>:
    Value: '<Value>'
  <FilterName2>:
    Value: '<Value>'

CountPolling

This determines whether the organizer item queries the current number of its objects in the background and displays them in a speech bubble next to the icon.

CountPolling: ShowNumberFoundItems

Possible values for the CountPolling key:

0 = do not show number

ShowNumberFoundItems = show number of found tickets

Header

This key contains the definition of information fields to be displayed in the header section of the agent business cards.

Header:
  Properties:
  - Name: Avatar
    IsVisible: 1

HideAvailableFilters

This key contains a list of filter names that are not present in the list of available filters in the widget configuration.

HideAvailableFilters:
- <FilterName1>
- <FilterName2>
- <FilterName3>

The following example hides filters for the ticket customer, text search and ticket type:

HideAvailableFilters:
- CustomerID
- Fulltext
- TypeIDs

Identifier

Defines the property that will be used as a full-width card in the Properties widget. The property must be a unique identifier of the business object. If defined this property can be configured separately from other cards.

Identifier:
  Name: TicketNumber
  IsVisible: 0

InitialLimit

Defines the limit of displayed agents in the stripe sidebar in the collapsed state.

ItemsPerPage

A number that defines the number of items per page or load.

Limit

A number that defines the maximum amount of displayed items.

LastUsedFilterPreset

Defines the last used filter preset of a widget. This will be automatically applied when the widget is loaded.

LastUsedFilterPreset: "Reminder Reached"

Properties（属性）

The properties are special containers (cards) within a widget that contain detailed information about a specific value of the associated business object. The cards have the option to allow editing of the associated value directly, such as setting a new queue or the owner of a ticket. The properties list in the configuration contains the name and default visibility state of every property.

Properties:
- Name: ArchiveFlag
  IsVisible: 1
- Name: Created
  IsVisible: 1
- Name: CustomerTickets
  IsVisible: 1
- Name: Lock
  IsVisible: 1
  IsInlineEditable: 0
- Name: Watch
  IsVisible: 1
  IsInlineEditable: 0

Possible values for the IsVisible key:

0 = not available

1 = available but not visible

2 = available and visible

Possible values for the IsInlineEditable key:

0 = not editable

1 = editable

ShowPropertyOnEmpty

Defines whether the customer or customer user business card is displayed in the customer information widget when it does not contain a value.

ShowPropertyOnEmpty: 1

注解

This key is supported only by the customer and customer user business cards and cannot be used for regular property cards.

SortBy

Defines the sort order of the business object list. To sort by multiple columns simultaneously, add each sort column as a separate element in the configuration.

SortBy:
- Column: Created
  Direction: Down
- Column: Priority
  Direction: Up

参见

The list of sortable columns per business object type can be found in the Column Names chapter. Look for the :abbr:`⇅ (sortable)` marker next to the column name.

注解

Only certain business object types support the multi-sorting feature, please see Column Names chapter for more information.

Forms

The configurable forms can be used in many screens, including ticket and article actions. The form configuration will define the fields and properties displayed for each action. Here is the form of Add Note ticket action as an example.

Form of Add Note Ticket Action

The configuration of this form is located in the related system configuration setting in the YAML format.

In general a form can contain a list of fields and form groups. Both are optional and can be added multiple times.

---
- <Field>
- ...
- <FormGroup>
- ...

The field is the basic element of a form. A field can have multiple properties.

- Name: <InternalName>
  Label: <Displayed Label>
  Config:
    <Parameter>:
    - <value>
    - ...
  Default: <default value>
  Description: <some description>
  Disabled: 1
  Hidden: 1
  Hint: <some hint>
  Required: 1

The following keys and values can be used for the fields.

警告

The keys marked with the * symbol are mandatory. Skipping them might result in broken configuration and/or non-functional features.

If a non-mandatory key is missing from the form field configuration, it will assume the built-in default behavior.

警告

Most forms and their fields are subject to existing Access Control Lists (ACL). These rules have the final word on which values can be used in the fields and which will overwrite the form configuration.

Name *

Defines the internal name of the field. This key has pre-defined values for each form.

参见

The list of possible field names can be found in the Form Fields chapter.

The dynamic fields can also be added to the form by using the DynamicField_ prefix and the name of the dynamic field. For example, if there is a dynamic field with the name TestDropdown, you need to use DynamicField_TestDropdown in the form configuration.

Label

Defines the label of the field displayed above the input element. If omitted, the default label is displayed for the field specified with Name.

注解

In some places, you may notice # translatable comments that are displayed next to the text values. This marker is only used for the internal collection of translatable strings and has no effect in the changed settings. Adding this comment to modified values will not result in the actual text translation.

The visible text in the configuration can be translated into other languages with custom translation files. See the Custom Translation File chapter in the developer manual.

Config

Defines the values that can be selected in a drop-down list. The values depend on the field specified with Name.

- Name: StateID
  Config:
    StateType:
    - open
    - pending auto
    - pending reminder
    - closed
  Default: 4 # open

注解

The Config key is not applicable for all fields. It is only supported for specific fields. If the key is missing from the default configuration, it is most likely not supported by that field.

Default

Defines the default value for the field. If the form field refers to an ID, the default value will be an ID from the appropriate database table.

In the example above, the state type open has the id=4 in the ticket_state table.

注解

The Default key must refer to a constant value. Substituting it with search terms, regular expressions or similar constructs is currently not supported.

Description

Defines the description of the field. The description is displayed next to the label as a bubble icon and shows a tooltip when the mouse is hovered.

Disabled

Defines whether the field is displayed in a disabled state. A disabled field means that the field is read-only. The field value will, however, be sent by submitting the form.

Hidden

Defines whether the field will be hidden. A hidden field is still part of the form and its value will be sent by submitting the form, but it will not be displayed in the user interface.

Hint

Defines explanation text for the field which is displayed below the input element as help text.

Required

Defines whether the field is mandatory. A mandatory field cannot be empty.

The fields can be grouped into form groups. The form groups can contain other form groups or fields. The form groups can be displayed in one, two or three column layouts.

- Label: <Displayed Label>
  Collapsible: 1
  Collapsed: 1
  Fields:
  - <Field>
  - ...
  - <FormGroup>
  - ...
  - ColumnLayout: N # Repeated N-times (2 or 3)
    Fields:
    - <Field>
    - ...
    - <FormGroup>
    - ...

The following keys and values can be used for the form groups.

警告

The keys marked with the * symbol are mandatory. Skipping them might result in broken configuration and/or non-functional features.

Label *

Defines the label of the form group.

Collapsible

Defines whether the form group is collapsible.

Collapsed

Defines whether the form group is collapsed by default.

Fields *

Lists the fields and form groups that belong to this form group. There is no limitation on how many fields can be added or how many form groups can be nested.

If the form group has no fields and acts only as placeholder, then this key has to be defined as an empty list.

- Label: Placeholder Form Group
  Fields: []

ColumnLayout

Defines the grid in the form component. The fields are displayed in one column layout by default. This key can be used only for the two or three column layouts. The width of the columns are the same, 50%-50% for two column layout and 33%-33%-33% for three column layout.

- Label: Two Column Example
  - ColumnLayout: 2
    Fields:
    - Name: IsVisibleForCustomer
  - ColumnLayout: 2
    Fields:
    - Name: MarkAsImportant

Business Cards

Business cards are used throughout the system to display additional information about agent users.

An Example of the Ticket Owner Business Card

The configuration of this business card is located in the related system configuration setting in the YAML format.

AdditionalProperties

This key is used to show additional user fields in the agent business card. Each field is referenced by its Name key. It is possible to customize its DisplayName and control visibility via IsVisible flag (1 shows it, 0 hides it).

Contact

This key defines contact options in agent business cards. Each property item is referencing a user field with some contact information via the Name key (i.e. UserEmail), an icon to show the user (regular weight only!) and can be made visible via the IsVisible: 1 key. By default, clicking on these contact icons will copy the value of the user field to the clipboard.

Alternatively, the Link key can be specified to show a URL instead. Each Link key supports the TemplateToolkit syntax for replacements, and will receive all of the field values of the user via the Data variable.

Chat

This key adds an icon to call the chat function directly from a business card.

Header

This key defines the information shown in the header of a business card. Each field is referenced by its Name key. It is only possible to control the visibility via IsVisible flag (1 shows it; 0 hides it).

Business Object Reference

This chapter lists all possible values for specific business object configurations. The values can be different in each setting.

Column Names

The columns can be referenced by their name. This section lists the possible column names for specific business object types.

注解

The columns marked with the ⇅ symbol are sortable. The default limit for the multi-sorting feature is a maximum of three columns at a time, unless explicitly mentioned differently.

ChatRequest

Possible column names:

Action

Channel ⇅

CreateTime ⇅

Description

RequesterName ⇅

RequesterType ⇅

Type

注解

This business object type does not support the multi-sorting feature. Sorting is supported only by a single column at a time.

CustomerCompany

Possible column names depend on the available fields in the CustomerCompany###Map configuration array. For the default database back end, these include:

CustomerCompanyCity ⇅

CustomerCompanyComment ⇅

CustomerCompanyCountry ⇅

CustomerCompanyName ⇅

CustomerCompanyStreet ⇅

CustomerCompanyURL ⇅

CustomerCompanyZIP ⇅

CustomerID ⇅

ValidID ⇅

Additional column names which are always available:

ClosedTickets

Edit

OpenTickets

CustomerUser

Possible column names depend on the available fields in the CustomerUser###Map and the CustomerCompany###Map configuration arrays. For the default database back ends, these include:

CustomerCompanyCity ⇅

CustomerCompanyComment ⇅

CustomerCompanyCountry ⇅

CustomerCompanyName ⇅

CustomerCompanyStreet ⇅

CustomerCompanyURL ⇅

CustomerCompanyValidID ⇅

CustomerCompanyZIP ⇅

CustomerID ⇅

UserCity ⇅

UserComment ⇅

UserCountry ⇅

UserCustomerID ⇅

UserEmail ⇅

UserFax ⇅

UserFirstname ⇅

UserLastname ⇅

UserLogin ⇅

UserMobile ⇅

UserPassword ⇅

UserPhone ⇅

UserStreet ⇅

UserTitle ⇅

UserZip ⇅

ValidID ⇅

Additional column names which are always available:

Chat

ClosedTickets

CreateTicket

Edit

OpenTickets

SwitchToCustomer

FormDraft

Possible column names:

Delete

Saved

Title

Type

KnowledgeBaseArticle

Possible column names:

Category ⇅

Changed ⇅

Created ⇅

Language ⇅

Number ⇅

State ⇅

Title ⇅

Valid ⇅

KnowledgeBaseArticleAttachment

Possible column names:

ContentType ⇅

CreateTime ⇅

Download

Filename ⇅

Filesize ⇅

Preview

注解

This business object type does not support the multi-sorting feature. Sorting is supported only by a single column at a time.

Search

Possible column names:

Result

Source

Type

Statistic

Possible column names:

Changed ⇅

Created ⇅

ObjectName ⇅

ObjectType ⇅

StatNumber ⇅

StatType ⇅

Title ⇅

Valid

注解

This business object type does not support the multi-sorting feature. Sorting is supported only by a single column at a time.

StatisticReport

Possible column names:

ChangeTime ⇅

CreateTime ⇅

CronDefinition

Description

Language

Name ⇅

Valid ⇅

注解

This business object type does not support the multi-sorting feature. Sorting is supported only by a single column at a time.

Ticket

Possible column names:

Age ⇅

ArticleTree

Changed ⇅

Created ⇅

CreatedBy

CustomerCompanyName

CustomerID ⇅

CustomerName

CustomerUserID

EscalationResponseTime ⇅

EscalationSolutionTime ⇅

EscalationTime ⇅

EscalationUpdateTime ⇅

Lock ⇅

Owner ⇅

PendingTime ⇅

Priority ⇅

Queue ⇅

Responsible ⇅

Sender

Service ⇅

SLA ⇅

State ⇅

Subject

TicketNumber ⇅

Title ⇅

Type ⇅

Watch

TicketArticle

Possible column names:

ArticleNumber ⇅

ArticleProperties

Attachment

Channel ⇅

CreateTime ⇅

Direction

Sender

Status

Subject

注解

This business object type does not support the multi-sorting feature. Sorting is supported only by a single column at a time.

TicketAttachment

Possible column names:

ContentType ⇅

CreateTime ⇅

Direction ⇅

Download

Filename ⇅

Filesize ⇅

Preview

注解

This business object type does not support the multi-sorting feature. Sorting is supported only by a single column at a time.

WebNotification

Possible column names:

CreateTime ⇅

Name ⇅

ObjectReference ⇅

ObjectType ⇅

Subject ⇅

Filter Names

Filters can be referenced by their names. This section lists the possible filter names for specific business object types. Each filter has a value type displayed next to it that can be used to quickly jump to the reference.

参见

The list of possible filter value types can be found in the Filter Value Types chapter.

注解

The filters marked with the × symbol support array values for multiple matches.

ChatRequest

The following filter names and values can be used for the Chat Request business object lists.

ChannelIDs: array ×

Defines the IDs of the chat channels.

Create_DateTimeRange: absolute date

Defines the absolute range of the chat request creation time.

Create_DateTimeRelative: relative date

Defines the relative range of the chat request creation time.

RequesterType: array ×

Defines the type of the user that initiated the chat request.

User

The user is an agent.

Customer

The user is a customer user.

Public

The user is anonymous (public user).

Type: array ×

Defines the type of the chat request.

Invitation

The invitation to a chat initiated by another agent user.

Request

A chat request initiated by a customer user or a public user.

CustomerCompany

The following filter names and values can be used for the Customer business object lists.

CustomerCompanyCity: string

Defines the text when searching for the customer city. Wildcard * can be used. The search is case insensitive.

CustomerCompanyComment: string

Defines the text when searching for the customer comment. Wildcard * can be used. The search is case insensitive.

CustomerCompanyCountry: string

Defines the text when searching for the customer country. Wildcard * can be used. The search is case insensitive.

CustomerCompanyName: string

Defines the text when searching for the customer name. Wildcard * can be used. The search is case insensitive.

CustomerCompanyStreet: string

Defines the text when searching for the customer street. Wildcard * can be used. The search is case insensitive.

CustomerCompanyURL: string

Defines the text when searching for the customer URL. Wildcard * can be used. The search is case insensitive.

CustomerCompanyZIP: string

Defines the text when searching for the customer postcode. Wildcard * can be used. The search is case insensitive.

CustomerID: string

Defines the text when searching for the customer ID. Wildcard * can be used. The search is case insensitive.

ValidID: array ×

Defines the IDs of the customer validity. By default, these include:

1 = valid

2 = invalid

3 = invalid-temporarily

CustomerUser

The following filter names and values can be used for the Customer User business object lists.

CustomerCompany_CustomerCompanyCity: string

Defines the text when searching for the customer city. Wildcard * can be used. The search is case insensitive.

CustomerCompany_CustomerCompanyComment: string

Defines the text when searching for the customer comment. Wildcard * can be used. The search is case insensitive.

CustomerCompany_CustomerCompanyCountry: string

Defines the text when searching for the customer country. Wildcard * can be used. The search is case insensitive.

CustomerCompany_CustomerCompanyName: string

Defines the text when searching for the customer name. Wildcard * can be used. The search is case insensitive.

CustomerCompany_CustomerCompanyStreet: string

Defines the text when searching for the customer street. Wildcard * can be used. The search is case insensitive.

CustomerCompany_CustomerCompanyURL: string

Defines the text when searching for the customer URL. Wildcard * can be used. The search is case insensitive.

CustomerCompany_CustomerCompanyZIP: string

Defines the text when searching for the customer postcode. Wildcard * can be used. The search is case insensitive.

CustomerCompany_ValidID: array ×

Defines the IDs of the customer validity. By default, these include:

1 = valid

2 = invalid

3 = invalid-temporarily

CustomerID: string

Defines the text when searching for the related customer ID. Wildcard * can be used. The search is case insensitive.

UserCity: string

Defines the text when searching for the customer user city. Wildcard * can be used. The search is case insensitive.

UserComment: string

Defines the text when searching for the customer user comment. Wildcard * can be used. The search is case insensitive.

UserCountry: string

Defines the text when searching for the customer user country. Wildcard * can be used. The search is case insensitive.

UserCustomerID: string

Defines the text when searching for the customer user ID. Wildcard * can be used. The search is case insensitive.

UserEmail: string

Defines the text when searching for the customer user email address. Wildcard * can be used. The search is case insensitive.

UserFax: string

Defines the text when searching for the customer user fax number. Wildcard * can be used. The search is case insensitive.

UserFirstname: string

Defines the text when searching for the customer user first name. Wildcard * can be used. The search is case insensitive.

UserLastname: string

Defines the text when searching for the customer user last name. Wildcard * can be used. The search is case insensitive.

UserLogin: string

Defines the text when searching for the customer user login name (username). Wildcard * can be used. The search is case insensitive.

UserMobile: string

Defines the text when searching for the customer user mobile number. Wildcard * can be used. The search is case insensitive.

UserPhone: string

Defines the text when searching for the customer user phone number. Wildcard * can be used. The search is case insensitive.

UserStreet: string

Defines the text when searching for the customer user street. Wildcard * can be used. The search is case insensitive.

UserTitle: string

Defines the text when searching for the customer user title. Wildcard * can be used. The search is case insensitive.

UserZip: string

Defines the text when searching for the customer user postcode. Wildcard * can be used. The search is case insensitive.

ValidID: array ×

Defines the IDs of the customer user validity. By default, these include:

1 = valid

2 = invalid

3 = invalid-temporarily

KnowledgeBaseArticle

The following filter names and values can be used for the Knowledge Base Article business object lists.

Approved: boolean

Defines whether the article has been approved.

CategoryIDs: array ×

Defines the IDs of the article categories.

CreatedUserIDs: array ×

Defines the IDs of the agents who created the article.

ItemChange_DateTimeRange: absolute date

Defines the absolute range of the article change time.

ItemChange_DateTimeRelative: relative date

Defines the relative range of the article change time.

ItemCreate_DateTimeRange: absolute date

Defines the absolute range of the article create time.

ItemCreate_DateTimeRelative: relative date

Defines the relative range of the article create time.

Keyword: string

Defines the text when searching for the article keyword. Wildcard * can be used. The search is case insensitive.

LanguageIDs: array ×

Defines the IDs of the article language. By default, these include:

en

de

LastChangedUserIDs: array ×

Defines the IDs of the agents who changed the article last.

Number: string

Defines the text when searching for the article number. Wildcard * can be used.

Rate: comparison

Compares the article rating in percentage against the supplied value.

StateIDs: array ×

Defines the IDs of the article state. By default, these include:

1 = internal (agent)

2 = external (customer)

3 = public (all)

Title: string

Defines the text when searching for the article title. Wildcard * can be used. The search is case insensitive.

ValidIDs: array ×

Defines the IDs of the article validity. By default, these include:

1 = valid

2 = invalid

3 = invalid-temporarily

Votes: comparison

Compares the number of votes for the article against the supplied value.

What: string

Defines the text when searching through the article full text. Wildcard * can be used. The search is case insensitive.

KnowledgeBaseArticleAttachment

The following filter names and values can be used for the Knowledge Base Article Attachment business object lists.

Create_DateTimeRange: absolute date

Defines the absolute range of the attachment create time.

Create_DateTimeRelative: relative date

Defines the relative range of the attachment create time.

Filename: string

Defines the text when searching for the attachment filename. Wildcard * and regular expressions can be used. The search is case insensitive.

Type: string

Defines the text when searching for the attachment MIME type. Wildcard * and regular expressions can be used. The search is case insensitive.

Search

The following filter names and values can be used for the Search business object lists.

Appointment Calendar: string

Defines the calendar in which to search for the appointment. Please set it to a string value formatted as:

CalendarID#

Where # is the ID of the calendar, i.e. CalendarID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Appointment. Otherwise, it will be ignored.

Appointment Schedule: string

Defines the type of the appointment.

AllDay

The appointment is an all day appointment (i.e. it does not have the time component).

TimeFrame

The appointment is a time frame appointment (i.e. it has the time component).

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Appointment. Otherwise, it will be ignored.

DocumentType: string

Defines the type of document to be searched. By default, these include:

Appointment = Calendar Appointments

FAQ = Knowledge Base Articles

Ticket = Tickets

FAQ FAQ Categories: string

Defines the knowledge base article category for which you are searching. Please set it to a string value formatted as:

CategoryID#

Where # is the ID of the category, i.e. CategoryID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value FAQ. Otherwise, it will be ignored.

FAQ FAQ Languages: string

Defines the knowledge base article language for which you are searching. Please set it to a string value formatted as:

LanguageID#

Where # is the ID of the language, i.e. LanguageID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value FAQ. Otherwise, it will be ignored.

FAQ Has attachments: string

Defines the presence of knowledge base article attachments.

HasAttachments

The article has at least one attachment.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value FAQ. Otherwise, it will be ignored.

FAQ State: string

Defines the knowledge base article state for which you are searching. Please set it to a string value formatted as:

StateID#

Where # is the ID of the state, i.e. StateID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value FAQ. Otherwise, it will be ignored.

Ticket Has attachments: string

Defines the presence of the ticket article attachments.

HasAttachments

The ticket article has at least one attachment.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Owner: string

Defines the ID of the agent who is the ticket owner. Please set it to a string value formatted as:

OwnerID#

Where # is the ID of the agent, i.e. OwnerID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Priority: string

Defines the ID of the ticket priority. Please set it to a string value formatted as:

PriorityID#

Where # is the ID of the priority, i.e. PriorityID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Queue: string

Defines the ID of the ticket queue. Please set it to a string value formatted as:

QueueID#

Where # is the ID of the queue, i.e. QueueID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Responsible: string

Defines the ID of the agent who is the ticket responsible. Please set it to a string value formatted as:

ResponsibleID#

Where # is the ID of the agent, i.e. ResponsibleID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Sender type: string

Defines the sender of the ticket articles.

SenderTypeAgent

The sender of the ticket article is an agent user.

SenderTypeCustomer

The sender of the ticket article is a customer user.

SenderTypeSystem

The sender of the ticket article is a system user.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Service Level Agreement (SLA): string

Defines the ID of the ticket SLA. Please set it to a string value formatted as:

SLAID#

Where # is the ID of the SLA, i.e. SLAID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Service: string

Defines the ID of the ticket service. Please set it to a string value formatted as:

ServiceID#

Where # is the ID of the service, i.e. ServiceID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket State: string

Defines the ID of the ticket state. Please set it to a string value formatted as:

StateID#

Where # is the ID of the state, i.e. StateID1.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Ticket Visible to customer: string

Defines whether the ticket articles are visible to the customer user.

IsVisibleForCustomer

Ticket article is visible to the customer user.

警告

This filter is applicable only when the filter DocumentType is defined and set to the value Ticket. Otherwise, it will be ignored.

Statistic

The following filter names and values can be used for the Statistic business object lists.

StatNumber: string

Defines the text when searching for the statistic number. Wildcard * can be used.

StatType: array ×

Defines the statistic type for which you are searching.

static

The statistic is of the static type.

dynamic

The statistic is of the dynamic type.

Title: string

Defines the text when searching for the statistic name. Wildcard * can be used. The search is case insensitive.

ObjectName: array ×

Defines the statistic object name to be searched. By default, these include:

Ticketlist

TicketAccountedTime

TicketAccumulation

TicketSolutionResponseTime

FAQAccess

StateAction

ObjectType: array ×

Defines the statistic object type to be searched.

DynamicList

The object type is a list.

DynamicMatrix

The object type is a matrix.

Static

The object type is static.

Valid: array ×

Defines the IDs of the statistic validity. By default, these include:

1 = valid

0 = invalid

StatisticReport

The following filter names and values can be used for the Report business object lists.

Name: string

Defines the text when searching for the report name. Wildcard * can be used. The search is case insensitive.

Description: string

Defines the text when searching for the report description. Wildcard * can be used. The search is case insensitive.

LanguageID: string

Defines the report language code, i.e. de.

ValidID: array ×

Defines the IDs of the report validity. By default, these include:

1 = valid

2 = invalid

3 = invalid-temporarily

Ticket

The following filter names and values can be used for the Ticket business object lists.

AgentCreator: boolean

Defines whether the ticket was created by the current agent.

AgentInvolved: boolean

Defines whether the current agent is involved in the ticket.

AgentOwner: boolean

Defines whether the current agent is the ticket owner.

AgentQueues: boolean

Defines whether the ticket is in one of the subscribed queues of the current agent. Agents can subscribe to queues via their My Queues personal preference.

AgentResponsible: boolean

Defines whether the current agent is the ticket responsible.

AgentServices: boolean

Defines whether the ticket has one of the subscribed services of the current agent. Agents can subscribe to services via their My Services personal preference.

AgentTicketFlagSeen: string

Defines whether the current agent has read the ticket.

Unread

All articles are unread by the current agent.

Read

All articles are read by the current agent.

AgentWatcher: boolean

Defines whether the current agent is watching the ticket.

ArticleCreate_DateTimeRange: absolute date

Defines the absolute range of the ticket article creation time.

ArticleCreate_DateTimeRelative: relative date

Defines the relative range of the ticket article creation time.

Chat_ChatterName: string

Defines the text when searching for the chat article participants. Wildcard * can be used. The search is case insensitive.

Chat_MessageText: string

Defines the text when searching for the chat article message. Wildcard * can be used. The search is case insensitive.

CreatedQueueIDs: array ×

Defines the IDs of the queues where the ticket was originally created.

CreatedUserIDs: array ×

Defines the IDs of the agents who created the ticket.

CustomerID: string

Defines the text when searching for the ticket customer ID field. Use this filter for a complex search. Wildcard * can be used. The search is case insensitive.

CustomerIDRaw: string

Defines the text when searching for the ticket customer ID field. Use this filter for an exact match. The search is case insensitive.

CustomerUserID: string

Defines whether the ticket is accessible to a specific customer user in the external interface. Supports only exact match. The search is case insensitive.

CustomerUserLogin: string

Defines the text when searching for the ticket customer user ID field. Use this filter for the complex search. Wildcard * can be used. The search is case insensitive.

CustomerUserLoginRaw: string

Defines the text when searching for the ticket customer user ID field. Use this filter for an exact match. The search is case insensitive.

Fulltext: string

Defines the text when searching for the ticket article full text. Wildcard * can be used. The search is case insensitive.

LockIDs: array ×

Defines the IDs of the ticket lock types. By default, these include:

1 = unlock

2 = lock

3 = tmp_lock

MIMEBase_AttachmentName: string

Defines the text when searching for the article attachment names. Wildcard * can be used. The search is case insensitive.

MIMEBase_Bcc: string

Defines the text when searching for the article blind carbon copy field. Wildcard * can be used. The search is case insensitive.

MIMEBase_Body: string

Defines the text when searching for the article body. Wildcard * can be used. The search is case insensitive.

MIMEBase_Cc: string

Defines the text when searching for the article carbon copy field. Wildcard * can be used. The search is case insensitive.

MIMEBase_From: string

Defines the text when searching for the article sender field. Wildcard * can be used. The search is case insensitive.

MIMEBase_Subject: string

Defines the text when searching for the article subject field. Wildcard * can be used. The search is case insensitive.

MIMEBase_To: string

Defines the text when searching for the article recipient field. Wildcard * can be used. The search is case insensitive.

OwnerIDs: array ×

Defines the IDs of the agents who are the ticket owners.

PriorityIDs: array ×

Defines the IDs of the ticket priorities.

QueueIDs: array ×

Defines the IDs of the ticket queues.

ResponsibleIDs: array ×

Defines the IDs of the agents who are the ticket responsibles.

SearchInArchive: string

Defines how the search behaves related to the ticket archive status.

ArchivedTickets

Search in archived tickets only.

NotArchivedTickets

Search in unarchived tickets only.

AllTickets

Search in all tickets.

ServiceIDs: array ×

Defines the IDs of the ticket services.

SLAIDs: array ×

Defines the IDs of the ticket SLAs.

SMS_PhoneNumbers: string

Defines the text when searching for the SMS article recipient phone numbers. Wildcard * can be used. The search is case insensitive.

SMS_Text: string

Defines the text when searching for the SMS article body. Wildcard * can be used. The search is case insensitive.

SMS_TransactionNumbers: string

Defines the text when searching for the SMS article transaction numbers. Wildcard * can be used. The search is case insensitive.

StateIDs: array ×

Defines the IDs of the ticket states.

StateType: string

Defines the ticket state category.

Open

Search in open tickets only.

Closed

Search in closed tickets only.

警告

Despite its name, this filter does not apply to the actual ticket state types. Open and Closed are not valid state types. They are group constructs included for compatibility reasons. If a ticket is in a state which has any of the state types defined in the Ticket::ViewableStateType setting, it will be considered as open; otherwise, it is closed.

StateTypeIDs: array ×

Defines the IDs of the ticket state types.

TicketChange_DateTimeRange: absolute date

Defines the absolute range of the ticket change time.

TicketChange_DateTimeRelative: relative date

Defines the relative range of the ticket change time.

TicketClose_DateTimeRange: absolute date

Defines the absolute range of the ticket close time.

TicketClose_DateTimeRelative: relative date

Defines the relative range of the ticket close time.

TicketCreate_DateTimeRange: absolute date

Defines the absolute range of the ticket create time.

TicketCreate_DateTimeRelative: relative date

Defines the relative range of the ticket create time.

TicketEscalation_DateTimeRange: absolute date

Defines the absolute range of the ticket escalation time.

TicketEscalation_DateTimeRelative: relative date

Defines the relative range of the ticket escalation time.

TicketLastChange_DateTimeRange: absolute date

Defines the absolute range of the ticket last change time.

TicketLastChange_DateTimeRelative: relative date

Defines the relative range of the ticket last change time.

TicketNumber: string

Defines the text when searching for the ticket number. Wildcard * can be used.

TicketPending_DateTimeRange: absolute date

Defines the absolute range of the ticket pending time.

TicketPending_DateTimeRelative: relative date

Defines the relative range of the ticket pending time.

Title: string

Defines the text when searching for the ticket title. Wildcard * can be used. The search is case insensitive.

TypeIDs: array ×

Defines the text when searching for the ticket type.

WatchUserIDs: array ×

Defines the IDs of the agents who are watching the ticket.

TicketArticle

The following filter names and values can be used for the Ticket Article business object lists.

CommunicationChannelID: array

IsVisibleForCustomer: string

SenderTypeID: array

TicketAttachment

The following filter names and values can be used for the Ticket Attachment business object lists.

Article: string

Create_DateTimeRange: absolute date

Create_DateTimeRelative: relative date

Direction: array ×

Filename: string

Type: string

WebNotification

The following filter names and values can be used for the Web Notification business object lists.

Name: array ×

Subject: string

ObjectTypes: array ×

Seen: array ×

ObjectReferences: array ×

Filter Value Types

Every filter supports exactly one kind of a value type. Depending on this type, the following structures should be used to define it in the YAML configuration.

Boolean

A simple value that is considered either true or false.

<FilterName1>:
  Value: 1
<FilterName2>:
  Value: 0

1

The filter is active (turned on).

0

The filter is inactive (turned off).

String

A text value, normally used when searching. Check specific filters for more details.

<FilterName1>:
  Value: simple
<FilterName2>:
  Value: 'String with spaces or special characters like @$#!+*'

Array

An array value normally used to search for multiple values at the same time.

<FilterName1>:
  Value:
  - 1
  - 2
  - 3
<FilterName2>:
  Value:
  - 4
  - 5

Absolute date

The time range value between two absolute dates.

<FilterName1>:
  Value:
    Start: '2020-01-01 00:00:00'
    End: '2020-02-01 00:00:00'
<FilterName2>:
  Value:
    Start: '2020-02-01 00:00:00'
    End: '2020-03-01 00:00:00'

Start

Absolute timestamp in ISO format for the start of the range (i.e. 2020-01-01 00:00:00). The value must be supplied in the current system time zone (configurable via the OTRSTimeZone system setting).

End

Absolute timestamp in ISO format for the end of the range (i.e. 2020-02-01 00:00:00). The value must be supplied in the current system time zone (configurable via the OTRSTimeZone system setting).

Relative date

The time range value relative to the current time.

<FilterName1>:
  Value:
    Start: Last
    Point: 1
    Format: month
<FilterName2>:
  Value:
    Start: Before
    Point: 3
    Format: day

Start

The type of the relative range.

Possible values for the Start key:

Last = within the last…

Before = more than … ago

Point

Integer value of the time unit (i.e. 3).

Format

Time unit of the relative range.

Possible values for the Format key:

minute
hour
day
week
month
year

Comparison

The comparison with the supplied value.

<FilterName1>:
  Value:
    Type: Equals
    Value: 25
<FilterName2>:
  Value:
    Start: GreaterThan
    Value: 50

Type

The type of the comparison.

Possible values for the Type key:

Equals = equals …

GreaterThan = greater than …

GreaterThanEquals = greater than or equals …

SmallerThan = smaller than …

SmallerThanEquals = smaller than or equals …

Value

Integer value to compare against (i.e. 25).

Form Fields

The form fields can be defined via their Name key. This section lists the values of the Name key for the specific settings.

参见

Form fields can be made mandatory by setting their Required key to 1.

Possible field names for ticket actions:

Forms###AgentFrontend::Ticket::Action::Close

Configurable form for the Close Ticket ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Close

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Customer

Configurable form for the Customer ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Customer

Possible values for the Name key of the form field:

CustomerUserID
CustomerID

Forms###AgentFrontend::Ticket::Action::EmailOutbound

Configurable form for the Create Outbound Email ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::EmailOutbound

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
EmailSecurity
From
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::FreeText

Configurable form for the Change Free Fields ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::FreeText

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Merge

Configurable form for the Merge ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Merge

Possible values for the Name key of the form field:

AddMessage
Attachments
Body
DynamicField
From
HistoryComment
HistoryType
IsVisibleForCustomer
MarkAsImportant
Messages
RelevantKnowledge
SenderType
Subject
To

Forms###AgentFrontend::Ticket::Action::Move

Configurable form for the Change Queue ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Move

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Note

Configurable form for the Add Note ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Note

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Owner

Configurable form for the Change Owner ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Owner

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Pending

Configurable form for the Set Pending Time ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Pending

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::PhoneCallInbound

Configurable form for the Add Inbound Phone Call ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::PhoneCallInbound

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::PhoneCallOutbound

Configurable form for the Add Outbound Phone Call ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::PhoneCallOutbound

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Priority

Configurable form for the Change Priority ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Priority

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::Responsible

Configurable form for the Change Responsible ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::Responsible

Possible values for the Name key of the form field:

AccountedTime
AddMessage
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::Ticket::Action::SmsOutbound

Configurable form for the Create Outbound SMS ticket action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Ticket::Action::SmsOutbound

Possible values for the Name key of the form field:

AccountedTime
Body
CustomerID
CustomerUserID
DynamicField
FlashMessage
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Title
To
TypeID

Possible field names for article actions:

Forms###AgentFrontend::TicketArticle::Action::Forward

Configurable form for the Forward Article article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::Forward

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
DynamicField
EmailSecurity
From
HistoryComment
HistoryType
IsVisibleForCustomer
MarkAsImportant
Messages
RelevantKnowledge
SenderType
StandardTemplateID
StateID
Subject
To

Forms###AgentFrontend::TicketArticle::Action::Redirect

Configurable form for the Redirect article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::Redirect

Possible values for the Name key of the form field:

AddMessage
Body
From
HistoryType
Messages
RedirectTo
StateID
Subject
To

Forms###AgentFrontend::TicketArticle::Action::Reply

Configurable form for the Reply article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::Reply

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
DynamicField
EmailSecurity
From
HistoryComment
HistoryType
IsVisibleForCustomer
MarkAsImportant
Messages
RelevantKnowledge
SenderType
StandardTemplateID
StateID
Subject
To

Forms###AgentFrontend::TicketArticle::Action::ReplyAll

Configurable form for the Reply to All article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::ReplyAll

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
DynamicField
EmailSecurity
From
HistoryComment
HistoryType
IsVisibleForCustomer
MarkAsImportant
Messages
RelevantKnowledge
SenderType
StandardTemplateID
StateID
Subject
To

Forms###AgentFrontend::TicketArticle::Action::ReplyToNote

Configurable form for the Reply to Note article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::ReplyToNote

Possible values for the Name key of the form field:

AccountedTime
Attachments
AutoInvolvedAgents
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
Title
To
TypeID

Forms###AgentFrontend::TicketArticle::Action::ReplyViaSms

Configurable form for the Reply via SMS article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::ReplyViaSms

Possible values for the Name key of the form field:

AccountedTime
Body
CustomerID
CustomerUserID
DynamicField
FlashMessage
HistoryComment
HistoryType
InformAgent
InvolvedAgent
IsVisibleForCustomer
MarkAsImportant
Messages
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Title
To
TypeID

Forms###AgentFrontend::TicketArticle::Action::Split

Configurable form for the Split article action.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketArticle::Action::Split

Possible values for the Name key of the form field:

LinkAs
Messages
ProcessID
Target

Possible field names for the ticket create properties forms:

Forms###AgentFrontend::TicketCreate::Email::CreateProperties

Configurable form for the Properties widget of the New Email Ticket screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketCreate::Email::CreateProperties

Possible values for the Name key of the form field:

AccountedTime
Attachments
Bcc
Body
Cc
CustomerID
CustomerUserID
DynamicField
EmailSecurity
HistoryComment
HistoryType
IsVisibleForCustomer
LinkTicketID
LinkType
OwnerID
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
Signature
SLAID
StandardTemplateID
StateID
Subject
To
TypeID

Forms###AgentFrontend::TicketCreate::Phone::CreateProperties

Configurable form for the Properties widget of the New Phone Ticket screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketCreate::Phone::CreateProperties

Possible values for the Name key of the form field:

AccountedTime
Attachments
Body
CustomerID
CustomerUserID
DynamicField
From
HistoryComment
HistoryType
IsVisibleForCustomer
LinkTicketID
LinkType
OwnerID
PendingDate
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
SenderType
ServiceID
SLAID
StandardTemplateID
StateID
Subject
To
TypeID

Forms###AgentFrontend::TicketCreate::SMS::CreateProperties

Configurable form for the Properties widget of the New SMS Ticket screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::TicketCreate::SMS::CreateProperties

Possible values for the Name key of the form field:

AccountedTime
Body
CustomerID
CustomerUserID
DynamicField
FlashMessage
HistoryComment
HistoryType
IsVisibleForCustomer
OwnerID
PendingDate
PriorityID
QueueID
RelevantKnowledge
ResponsibleID
Sender
SenderType
ServiceID
SLAID
StandardTemplateID
StateID
Subject
To
TypeID

Possible field names for knowledge base article actions:

Forms###AgentFrontend::KnowledgeBaseArticleCreate::Properties

Configurable form for the Properties widget of the Create Knowledge Base Article screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::KnowledgeBaseArticleCreate::Properties

Possible values for the Name key of the form field:

Approved
Attachments
Category
DynamicFields
Field1
Field2
Field3
Field4
Field5
Field6
Keywords
Language
State
Title
Valid

Forms###AgentFrontend::KnowledgeBaseArticleUpdate::Properties

Configurable form for the Properties widget of the Edit Knowledge Base Article screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::KnowledgeBaseArticleUpdate::Properties

Possible values for the Name key of the form field:

Approved
Attachments
Category
DynamicFields
Field1
Field2
Field3
Field4
Field5
Field6
Keywords
Language
State
Title
Valid

Possible field names for customer actions:

Forms###AgentFrontend::CustomerCompanyCreate::Properties

Configurable form for the Properties widget of the Create Customer screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::CustomerCompanyCreate::Properties

Possible values for the Name key depend on the available fields in the CustomerCompany###Map configuration array. For the default database back end, these include:

CustomerCompanyCity
CustomerCompanyComment
CustomerCompanyCountry
CustomerCompanyName
CustomerCompanyStreet
CustomerCompanyURL
CustomerCompanyZIP
CustomerID
ValidID

Additional column names which are always available:

DataSource

警告

In case Multiple Customer User Back Ends are configured, all possible fields must be present in the form configuration in order to be able to modify them. Both configurations must be kept in sync, otherwise it will not be possible to modify the customer records.

Forms###AgentFrontend::CustomerCompanyUpdate::Properties

Configurable form for the Properties widget of the Edit Customer screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::CustomerCompanyUpdate::Properties

Possible values for the Name key depend on the available fields in the CustomerCompany###Map configuration array. For the default database back end, these include:

CustomerCompanyCity
CustomerCompanyComment
CustomerCompanyCountry
CustomerCompanyName
CustomerCompanyStreet
CustomerCompanyURL
CustomerCompanyZIP
CustomerID
ValidID

警告

In case Multiple Customer User Back Ends are configured, all possible fields must be present in the form configuration in order to be able to modify them. Both configurations must be kept in sync, otherwise it will not be possible to modify the customer records.

Possible field names for customer user actions:

Forms###AgentFrontend::CustomerUserCreate::Properties

Configurable form for the Properties widget of the Create Customer User screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::CustomerUserCreate::Properties

Possible values for the Name key depend on the Customer User Back Ends configuration. For the default database back end, these include:

UserCity
UserComment
UserCountry
UserCustomerID
UserEmail
UserFax
UserFirstname
UserLastname
UserLogin
UserMobile
UserPassword
UserPhone
UserStreet
UserTitle
UserZip
ValidID

For most customer user preference modules registered under CustomerPersonalPreference###* namespace, it is also possible to show dedicated form fields. By default, these include:

Preference_LoginForbidden
Preference_PGP
Preference_SMIME
Preference_TwoFactor

Additional column names which are always available:

DataSource

警告

In case of Multiple Customer User Back Ends, all possible fields must be present in the form configuration in order to be able to modify them. Both configurations must be kept in sync, otherwise it will not be possible to modify the customer user records.

Forms###AgentFrontend::CustomerUserUpdate::Properties

Configurable form for the Properties widget of the Edit Customer User screen.

Link to the reference of the system configuration:

Forms###AgentFrontend::CustomerUserUpdate::Properties

Possible values for the Name key depend on the Customer User Back Ends configuration. For the default database back end, these include:

UserCity
UserComment
UserCountry
UserCustomerID
UserEmail
UserFax
UserFirstname
UserLastname
UserLogin
UserMobile
UserPassword
UserPhone
UserStreet
UserTitle
UserZip
ValidID

For most customer user preference modules registered under CustomerPersonalPreference###* namespace, it is also possible to show dedicated form fields. By default, these include:

Preference_LoginForbidden
Preference_PGP
Preference_SMIME
Preference_TwoFactor

警告

In case of Multiple Customer User Back Ends, all possible fields must be present in the form configuration in order to be able to modify them. Both configurations must be kept in sync, otherwise it will not be possible to modify the customer user records.

Possible field names for calendar appointment actions:

Forms###AgentFrontend::Calendar::AppointmentCreate::Properties

Configurable form for the Add Appointment calendar action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Calendar::AppointmentCreate::Properties

Possible values for the Name key of the form field:

AllDay
CalendarID
Description
EndTime
Location
Notification
Recurrence
ResourceID
StartTime
TeamID
TicketPlugin
Title

Forms###AgentFrontend::Calendar::AppointmentUpdate::Properties

Configurable form for the Edit Appointment calendar action.

Link to the reference of the system configuration:

Forms###AgentFrontend::Calendar::AppointmentUpdate::Properties

Possible values for the Name key of the form field:

AllDay
CalendarID
Description
EndTime
Location
Notification
Recurrence
ResourceID
StartTime
TeamID
TicketPlugin
Title

系统日志

专业系统将其活动记录在一个或多个日志文件中，以帮助管理员进行故障排除或在详细级别上了解系统中发生的情况。

在操作系统上没有一定级别的权限和技能的情况下，应用程序管理员通常无法使用这些日志。

OTRS允许应用程序管理员使用图形界面轻松访问系统日志，而无需访问服务器的命令shell。 管理员可以决定需要哪个级别的日志记录，以确保不会不必要地填充日志文件。

使用此屏幕可查看OTRS的日志条目。 日志概览屏幕位于 系统管理 组的 系统日志 模块中。

系统日志屏幕

日志中的每一行都包含时间戳、日志优先级、系统组件和日志条目本身。

注解

如果日志中显示多个日志条目，请使用过滤器框通过键入要过滤的名称来查找特定日志条目。

To adjust the logging settings of the system:

转到 系统配置 屏幕。

Navigate to Core → Log in the navigation tree.

查看设置。

术语表

活动

流程管理的一部分。

服务人员

服务人员是为客户用户提供服务的用户，为组织工作的人员。

后端

OTRS中的配置文件、模块、脚本或其它的功能项，无法通过浏览器访问。

日历

定义使用 升级时间 时要应用的工作时间、时区和假期。

客户

分配给客户用户的物理组织。这些功能将属于单个组织的用户分组在一起。

客户用户

属于客户的自然人及其联系人数据。 这些是发起工单的人。

动态字段

工单和信件中用于扩展可保存在工单或信件中的数据的字段。它们用数据库中的值保存或从外部资源访问。

升级时间

工单在违反服务级别协议前规定的工作时间。

前端

在浏览器中查看的OTRS的图形界面。

组

这是OTRS中的资源。 服务人员 或 客户 可根据需要分配对此资源的权限。 此外，它们还可用于访问控制、流程和Web服务。

调用程序

调用程序是一个特殊的Perl模块，它允许OTRS通过REST或HTTP向远程系统提供信息。 必须由后端开发人员在Perl中开发调用程序。

映射

映射允许OTRS提供数据的入站和出站转换，允许我们提供特定的数据结构来重建传入的结构以满足我们的需求。

操作

与Web挂钩类似，提供程序操作为外部系统提供特定的OTRS Perl API功能子集。

流程

流程管理的一部分。

流程路径

流程管理的一部分。

资源

资源是具有有效权限的任何对象，这可以是但不限于工单、仪表板小部件、统计信息或模块。

屏幕

在浏览器中查看的OTRS图形界面（另请参见 前端）。

服务

通过使客户更容易或帮助客户实现预期结果，而无需亲自承担特定成本和风险的责任，为客户提供增值服务的方法。

服务级别协议

服务级别协议（SLA）是服务提供商（内部或外部）与最终用户之间的合同，定义了服务提供商预期的服务级别。SLA是基于输出的，因为它们的目的是专门定义客户将收到的内容。

服务请求

（参见 工单）。

序列流

流程管理的一部分。

序列流操作

流程管理的一部分。

SLA

（参见 服务级别协议）。

工单

工单是在服务请求过程中与客户进行的所有通信的集合。 工单包含信件，它是从客户、服务人员、外部系统等接收或发送给客户的通信。工单属于客户用户，分配给服务人员并驻留在队列中。

传输

传输是为通信选择的方法。 OTRS支持REST和SOAP。

用户任务活动对话框

流程管理的一部分。

工时

在任何 日历 中定义的工作时间内过去的分钟数的定义。

索引

S | 传 | 前 | 动 | 升 | 后 | 客 | 屏 | 工 | 序 | 操 | 日 | 映 | 服 | 活 | 流 | 用 | 组 | 调 | 资

S

SLA

传

传输

前

前端

动

动态字段

升

升级时间

后

后端

客

客户

客户用户

屏

屏幕

工

工单

工时

序

序列流

序列流操作

操

操作

日

日历

映

映射

服

服务

服务人员

服务级别协议

服务请求

活

活动

流

流程

流程路径

用

用户任务活动对话框

组

组

调

调用程序

资

资源