Confluence5-精要-全-
Confluence5 精要(全)
原文:
annas-archive.org/md5/e1884747b78d733cef814b3227bf2894译者:飞龙
前言
Atlassian Confluence 5 Essentials 是一本实用的操作指南,介绍了 Atlassian Confluence,这是一款强大的企业级协作工具,旨在帮助团队创建、分享和讨论内容。
本书将向你展示如何安装和管理自己的 Confluence 环境。你将学习如何配置和自定义 Confluence,以适应你的组织需求并为你的企业创造价值。本书的章节结构将引导你了解管理和使用 Confluence 的所有关键方面。
你将从设置自己的 Confluence 安装开始,接下来的章节将介绍所有的关键功能。随着每一章的深入,你将学习到创建引人入胜的内容、分享信息以及激励用户彼此协作等重要概念。
本书是一本关于 Atlassian Confluence 所有关键方面的深入指南。书中包含了丰富的示例和逐步指导,帮助你成为 Confluence 的专家。
本书涵盖的内容
第一章, 初识 Confluence,将引导你完成 Confluence 的安装过程,并为你提供一个本地安装环境,整个书籍将使用该环境。在第一章结束时,你应该能够完成 Confluence 的安装并使其正常运行。
第二章, 用户管理,讲解了如何邀请并注册新用户参与内容协作过程。我们还将介绍如何将 Confluence 与现有的用户目录(如 LDAP)进行连接。
第三章, 创建内容,也许是最重要的一章,因为内容至关重要。我们将通过空间、页面和博客文章的概念,讲解如何在 Confluence 中添加内容。Confluence 的富文本编辑器拥有许多功能,在这一章中,我们将学习如何通过创建第一个页面来掌握其中的大部分功能。
第四章, 管理内容,重点介绍了如何找到相关内容以及如何使用关注来跟踪你的内容。Confluence 自带强大的搜索引擎,我们将在本章结束时全面了解其功能。
第五章, 在 Confluence 中协作,介绍了如何在日常使用中操作 Confluence。我们将讲解如何通过@提及和分享来让更多人参与内容创作过程,以及如何通过任务来跟踪进展。如果你在路上,Confluence 移动版将帮助你随时了解最新内容、任务和通知。
第六章, 保护你的内容,讲解了如何保护你的私密信息。Confluence 允许在全局、空间和内容级别设置权限,提供了企业解决方案所需的精细安全性。
第七章,自定义 Confluence,将介绍如何更改 Confluence 的外观和感觉,使其能够添加公司品牌或仅对某个空间进行自定义。
第八章,高级 Confluence,涵盖了许多不同的高级话题,如内容模板、元数据的处理和键盘快捷键的使用。
第九章,一般管理,深入探讨了如何查找和管理 Confluence 的插件。插件可以增加额外的功能或集成。如果你的 Confluence 安装出现问题并需要支持,本章将指导你如何从 Atlassian 或本地专家那里获得支持。
第十章,扩展 Confluence,重点介绍了插件开发的基础知识和可能性。到本章结束时,你应该知道如何开始构建一个插件,以及我们可以在何种层面上扩展 Confluence。
本书所需内容
本书中使用的 Confluence 安装版本为 Windows 独立版(ZIP),你可以直接从 Atlassian 网站获取:www.atlassian.com/software/confluence/download。
在写作时,Confluence 的最新版本为 5.1.1。
你还需要安装多个附加软件库,包括 Java SDK,你可以从www.oracle.com/technetwork/java/javase/downloads/index.html下载,以及 PostgreSQL,可以从www.postgresql.org/download/下载。
本书适用对象
如果你刚刚开始使用 Confluence,无论是作为用户还是管理员,本书将帮助你快速入门并教你所需的所有知识。即使你已经使用 Confluence 一段时间,本书也能为你提供新的见解和技巧,帮助你更高效地使用 Confluence。
约定
本书中,你将找到多种文本样式,用于区分不同类型的信息。以下是一些这些样式的示例及其含义解释。
文本中的代码词汇如下所示:“在你的 Apache 配置目录中创建一个名为local_machines_only.conf的文件。”
代码块的设置如下所示:
<linklinkId="config-link">/plugins/config/alpha.action</link>
<icon height="16" width="16">
<link>/images/icons/config.gif</link>
</icon>
任何命令行输入或输出都会如下书写:
netstat –a | find /I "1990"
新术语和重要词汇以粗体显示。你在屏幕上看到的词汇,例如在菜单或对话框中的词汇,会像这样出现在文本中:“点击下一步按钮将带你到下一个屏幕”。
注意
警告或重要提示会以框框形式出现,如下所示。
提示
提示和技巧如下所示。
读者反馈
我们始终欢迎读者的反馈。让我们知道您对这本书的看法——您喜欢或可能不喜欢的部分。读者的反馈对我们非常重要,帮助我们开发出真正对您有价值的书籍。
若要向我们发送一般反馈,只需发送电子邮件至<feedback@packtpub.com>,并在邮件主题中提及书名。
如果您在某个领域有专业知识,并且有兴趣撰写或参与编写书籍,请查看我们在www.packtpub.com/authors上的作者指南。
客户支持
现在您已经成为一本 Packt 书籍的骄傲拥有者,我们提供了许多资源来帮助您充分利用您的购买。
下载示例代码
您可以从www.packtpub.com账户中下载您购买的所有 Packt 书籍的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。
勘误
尽管我们已尽最大努力确保内容的准确性,但错误仍然会发生。如果您在我们的书籍中发现错误——可能是文本或代码错误——我们将非常感激您向我们报告。这样,您可以帮助其他读者避免困惑,并帮助我们改进后续版本。如果您发现任何勘误,请访问www.packtpub.com/submit-errata,选择您的书籍,点击勘误 提交 表单链接,并输入勘误的详细信息。一旦您的勘误被验证,您的提交将被接受,勘误将被上传到我们的网站,或者添加到该书籍现有勘误的列表中,显示在该标题的勘误部分。您可以通过访问www.packtpub.com/support查看任何现有的勘误。
盗版
互联网版权盗版问题在各类媒体中普遍存在,Packt 非常重视版权和许可的保护。如果您在互联网上发现我们作品的任何非法复制品,无论以何种形式,请立即提供相关的地址或网站名称,以便我们采取措施。
请通过<copyright@packtpub.com>与我们联系,并提供涉嫌盗版材料的链接。
我们感谢您的帮助,以保护我们的作者和我们为您提供有价值内容的能力。
问题
如果您在书籍的任何方面遇到问题,可以通过<questions@packtpub.com>与我们联系,我们将尽力解决。
第一章:开始使用 Confluence
Atlassian 自 2002 年起步,他们的目标是创建既便宜又易于使用的软件,并且安装和维护工作量小。正是因为这些原则,Confluence 的安装过程相对简单直接;甚至有一键安装向导可用。在本章中,我们将从 Confluence 的高层次概述开始,查看构成该应用程序的不同组件。我们将探讨可用的不同部署选项,包括发行版选择、应用服务器和数据库。最后,我们将从零开始安装我们自己的 Confluence 应用程序。
在本章结束时,你将学到以下内容:
-
Confluence 的整体架构
-
Confluence 支持的平台和应用程序
-
安装 Confluence 及所有必需的软件
-
配置数据库连接
-
安全地运行 Confluence
理解架构
安装 Confluence 简单明了。然而,理解安装过程中涉及的组件以及可用的选项对我们来说非常重要。理解这些内容将帮助你做出明智的决策,更好地为故障排除和未来的更新做好准备。
高层次架构
Atlassian 提供了 Confluence 技术组件的全面概述,详情请见developer.atlassian.com/display/CONFDEV/Confluence+Architecture。然而,这个概述主要对那些开发自定义插件的人比较有兴趣,对日常管理和使用 Confluence 的管理员帮助不大。因此,我们创建了一个高层次的概述,突出了架构中最重要的组件,以及我们的用户如何连接到 Confluence:

支持的浏览器
Confluence 是一个 Web 应用程序,因此我们的用户只需一个兼容的 Web 浏览器就能访问它。这个浏览器可以是桌面系统、笔记本电脑,甚至是智能手机或平板电脑等移动设备。Confluence 的较新版本依赖于一些新的 Web 技术和标准。因此,较旧版本的 Internet Explorer 和 Firefox 已经不再完全兼容。
下表总结了 Confluence 5.1 的浏览器要求:
| 浏览器 | 兼容性 |
|---|---|
| Microsoft Internet Explorer(Windows) | 8, 9(由于 Internet Explorer 未完全支持相关的 HTML5 特性,因此拖放操作不完全支持) |
| Mozilla Firefox(所有平台) | 10+ |
| Safari(Windows 和 Mac) | 5, 6 |
| Google Chrome(Windows 和 Mac) | 17+ |
| 移动 Safari(iOS) | iOS 5.1, 6.0(在移动设备上不支持编辑) |
数据存储
配置文件、附件、索引和插件默认存储在首次安装 Confluence 时配置的 Confluence Home 目录中。所有其他数据存储在配置的数据库中。附件可以选择配置为存储在数据库中,而不是 Confluence Home 目录中。 |
你可以选择将附件存储在数据库中,以便于备份(所有数据集中存放)或是处理在文件系统中无效的字符。请注意:将附件存储在数据库中会大幅增加数据库的大小。在多个 Confluence 安装共享数据的集群环境中,你需要将附件存储在数据库中。
Confluence 安装目录
安装 Confluence 的目录称为安装目录。它包含了所有应用程序服务器的可执行文件和配置文件。Confluence 不会修改或存储任何数据在此目录中。此目录主要用于执行。接下来的内容中,我们将此目录称为 CONF_INSTALL。
Confluence Home 目录
Confluence Home 目录是 Confluence 存储其配置、搜索索引、附件和插件的文件夹,特定于一个 Confluence 安装。这意味着每个 Confluence 安装必须且只能有一个 Confluence Home 目录,且每个 Confluence Home 目录只能服务于一个 Confluence 安装。如果你正在评估 Confluence 并使用内嵌的 HSQLDB 数据库,数据库文件也存储在此目录中。接下来的内容中,我们将此目录称为 CONF_HOME。
推荐将 CONF_HOME 单独创建,而不是与 Confluence 安装在同一位置。数据和应用程序的分离使得维护、备份和未来升级等任务更加简便。请记住,Confluence Home 目录在高度使用的网站上可能会变得非常大。
在 CONF_HOME 中有几个重要的文件和子目录:
| 文件/目录 | 描述 |
|---|---|
confluence.cfg.xml |
Confluence 的核心配置文件;包含连接数据库和许可证密钥的配置。 |
Attachments/ |
Confluence 网站中的所有文件附件都存储在此目录下。如果附件没有存储在数据库中,这里是 Confluence 存放附件文件的地方。 |
Backups/ |
如果 Confluence 配置为每日备份,备份文件将存储在此目录中。管理员应定期删除旧的备份文件,以防止目录变得过大。 |
Bundled-plugins/ |
与 Confluence 安装捆绑的插件存储在此目录中。用户安装的插件不会保存在此目录。 |
Config/ |
各种全局和每个空间的配置文件保存在此目录中。 |
Index/ |
完整文本搜索索引保存在此目录中。删除或修改此目录中的文件可能会导致搜索功能失效。可以通过管理控制台执行重新索引操作,重新生成此文件夹中的文件。 |
Logs/ |
应用程序日志文件保存在此目录中。 |
Plugins-osgi-cache/ |
通过 Confluence 界面安装的插件会下载并保存在此目录中。 |
Temp/ |
Confluence 在此目录中存储临时文件,特别是在备份和导出期间。Confluence 内部的定时任务会删除不再需要的文件。 |
Thumbnails/ |
存储图像缩略图的临时文件。可以安全删除此目录中的内容,因为 Confluence 会在需要时重新生成缩略图。 |
安装选项
Confluence 是一个基于 Java 的 Web 应用程序,采用许多开放标准和库进行开发。因此,它能够在许多不同的操作系统、数据库和应用程序服务器上运行。我们将更详细地了解我们拥有的选项,并根据我们的情况做出明智的决策。
独立版和 WAR 发行版
首先,我们需要决定选择哪个发行版。Confluence 提供三种发行版:
-
一键安装程序
-
独立版捆绑 Apache Tomcat
-
WAR/EAR 发行版
关于应用程序而言,这三种发行版之间没有区别。安装程序版和独立版都捆绑了 Apache Tomcat,这意味着我们不需要自己安装和配置应用程序服务器。这些发行版还包含了一个嵌入式的内存数据库,可以用于评估目的。
安装程序是一个非常方便的封装工具,自动化了我们通常需要手动执行的所有步骤。对于评估 Confluence 来说,这非常好,但它并未提供我们在维护安装过程中所涉及步骤的深入了解。因此,当我们需要自己安装 Confluence 时,我们将使用独立版发行版。
如果你已经有一个运行中的 J2EE 应用程序服务器,或者有安装和调优应用服务器的经验,那么 WAR 发行版可能适合你。由于不同应用程序服务器之间的差异,你需要使用提供的构建脚本来构建最终的部署文件。一旦构建完成,你可以像部署任何其他 Java Web 应用程序一样部署 Confluence。
操作系统
Confluence 官方支持 Microsoft Windows 和 Linux(所有发行版)。Mac OS 仅作为客户端平台支持。选择在哪个操作系统上运行 Confluence 大多是根据专业技能的偏好来决定的,并且在大多数情况下,已有特定需求的 IT 基础设施。
如果您没有特别偏好并且希望保持初始成本较低,Linux 将是一个不错的选择,因为没有许可证费用。如果您的服务器内存超过 4 GB,请确保选择 64 位版本。
数据库
Confluence 将所有数据存储在关系型数据库中。嵌入式内存 HSQLDB 数据库仅供评估使用,绝不应在生产环境中使用。为了减少数据损坏的风险,重要的是我们为生产系统使用企业级数据库。
Confluence 支持目前大多数关系型数据库。在安装和配置 Confluence 的过程中不会出现明显差异。就像操作系统一样,您选择的数据库通常取决于个人偏好或您所在组织的 IT 标准。如果您使用的是 Windows 操作系统,那么最有可能的选择是 Microsoft SQL Server。如果您使用的是 Linux,那么应该考虑 PostgreSQL、MySQL 或 Oracle。
下表总结了 Confluence 5.1 当前支持的数据库列表。值得一提的是,PostgreSQL 和 MySQL 都是开源(免费)产品,如果您希望减少初始投资,它们是非常好的选择。
| 数据库 | 支持版本 |
|---|---|
| PostgreSQL | 8.4, 9.0 |
| MySQL | 5.1, 5.5 |
| Microsoft SQL Server | 2005, 2008, 2008 R2 |
| Oracle | 11.1, 11.2 |
| HSQLDB | (仅供评估使用) |
应用服务器
Confluence 需要一个兼容 J2EE 的应用服务器。唯一官方支持的应用服务器是 Apache Tomcat。幸运的是,Apache Tomcat 是一个开源产品,适用于所有操作系统。
Confluence 5.1 仅支持 Tomcat 6.0。
安装 Confluence
现在我们已经对 Confluence 的整体架构和各种安装选项有了充分的了解,我们准备安装自己的 Confluence 实例。
在接下来的练习中,我们将安装和配置一个全新的 Confluence 实例,使其准备好投入生产使用。我们将使用独立包,并且安装将基于 Windows 平台。如果您打算使用其他操作系统,请参考 confluence.atlassian.com/display/DOC/Installing+Confluence 以获取有关在该平台上安装 Confluence 的详细信息。
在这个练习中,我们将:
-
安装全新的 Confluence 实例
-
配置 Confluence 以使用关系型数据库
-
配置 Confluence 以发送电子邮件通知
-
配置 Confluence 为自动启动的 Windows 服务,以便其自动启动
我们将在后续章节和练习中继续使用此 Confluence 实例,同时为您所在的组织准备 Confluence 的使用。
对于我们的实现,我们将使用:
-
Confluence 独立发行版 5.1.0
-
PostgreSQL 9.0
-
Java 开发工具包 7 更新 9
-
Microsoft Windows Server 2008 R2
安装 Java
Confluence 要求系统上安装 Java,这是我们的第一步。Confluence 5.1 要求最新更新的 JDK 7。如果你安装的是不同版本的 Confluence,请确认是否支持 JDK 7。选择 32 位或 64 位版本取决于你希望为 Confluence 分配多少内存;如果超过 4GB,选择 64 位版本,因为 32 位版本的上限是 4GB。
当前,只有在 32 位 Java 版本上运行时,才能将 Confluence 安装为 Windows 服务。
按照以下步骤在系统中安装 Java:
-
从
www.oracle.com/technetwork/java/javase/downloads/index.html下载最新版本的 32 位 JDK 7。 -
双击下载的安装文件以启动安装向导。
-
选择你希望安装 Java 的位置;或者你也可以直接接受默认值。安装 JDK 的路径将在本书中被称为
JAVA_HOME。 -
创建一个名为
JAVA_HOME的新环境变量,路径指向你刚刚安装 Java 的位置,如下图所示:![安装 Java]()
-
通过在命令提示符中输入以下命令来测试安装是否成功:
java –version这应该显示已安装的 Java 版本:
C:\>java –version java version "1.7.0_17" Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing)
安装 PostgreSQL
下一步是为我们的 Confluence 安装准备一个数据库。
安装 PostgreSQL,请执行以下步骤:
-
从
www.postgresql.org/download/windows/下载 PostgreSQL。注意
截至目前,PostgreSQL 的最新版本尚不支持 Confluence。我们将使用 PostgreSQL 版本 9.0.12。
-
双击下载的安装文件以启动安装向导。
-
选择你希望安装 PostgreSQL 的位置以及存储数据的位置。在本练习中,我们将使用默认设置。
-
为 root 用户选择一个密码;请记住,这不是我们 Confluence 数据库的密码。我使用了
p0stgre$,为了简便和易于记住,同时符合 Windows 2008 的密码安全规则。 -
如果你选择了不同的端口号,请确保它不会与机器上运行的其他服务发生冲突。并且记住端口号,我们稍后会用到它。
-
取消选中复选框,确保安装过程完成后不会启动 Stack Builder。我们不需要它。
![安装 PostgreSQL]()
创建用户和数据库
现在 PostgreSQL 已安装在我们的机器上,我们需要为 Confluence 创建一个专用的用户和数据库。这样可以防止其他应用用户访问 Confluence 数据。
按照以下步骤创建新用户和数据库:
-
启动刚刚由安装程序安装的 pgAdmin III 管理工具。我们将使用该管理工具来创建 Confluence 用户和数据库。
-
通过双击服务器名称连接到运行在 localhost 上的 PostgreSQL 服务器。在提示时输入您刚刚设置的 root 密码:
![创建用户和数据库]()
-
创建一个新用户,或者说是“登录角色”,正如 PostgreSQL 所称的。右键单击对象浏览器中的 Login Roles(在左侧),然后选择 New Login Role...:
![创建用户和数据库]()
-
输入用户名:
confluence。 -
输入密码:
confluence。 -
不要选择任何角色权限。
-
确认角色的创建。
-
-
创建一个新数据库;右键单击 Databases 并选择 New Database。
-
输入数据库名称:confuencedb。
-
将数据库的所有者设置为我们刚刚创建的用户。
-
选择 UTF-8 作为编码方式。
-
确认数据库的创建。
-
-
就这样。我们已经安装了 PostgreSQL,并为 Confluence 安装创建了一个用户和数据库。
安装 Confluence
现在我们已经准备好了 JDK 和数据库,满足了在我们的机器上安装 Confluence 所需的所有条件。为了安装 Confluence,我们需要:
-
解压 Confluence
-
配置 Confluence Home 目录
-
检查 Confluence 使用的端口
-
配置电子邮件
可选地,我们可以配置 Confluence 使用 HTTPS 并作为 Windows 服务运行。
解压 Confluence
执行以下步骤解压 Confluence:
-
从 www.atlassian.com/software/confluence/download 下载最新版本的 Atlassian Confluence。
-
Atlassian 网站会自动检测您正在使用的操作系统,并相应地推荐一个发行版。如果您打算在与当前系统不同的系统上安装 Confluence,请确保选择正确的发行版。
-
如前所述,Windows 和 Linux 都提供了一键安装程序。为了本次练习,我们将使用 ZIP 压缩包,因为它将让我们了解安装过程中通常隐藏的步骤。
-
将下载的 ZIP 文件解压到
c:/confluence/。建议使用第三方解压软件,如 7-Zip 或 WinZip,因为 Windows 自带的解压工具存在已知问题。您可以选择不同的安装路径;只需确保目录路径中不要使用空格。 -
C:\confluence\atlassian-confluence-5.1将被称为CONF_INSTALL。接下来,我们将定义 Confluence Home 目录。
配置 Confluence Home 目录
接下来,我们需要定义并配置 CONF_HOME。记住,我们希望将数据与安装数据分开存储。
-
创建
c:\confluence\data;该目录将被称为CONF_HOME。 -
打开
CONF_INSTALL并在您喜欢的文本编辑器中打开文件confluence\WEB-INF\classes\confluence-init.properties。 -
定位以下行;通常位于文件末尾。
# confluence.home=c:/confluence/data -
删除此行开头的
#和空格,以便 Confluence 不再将其视为注释。 -
如果您为
CONF_HOME选择了不同的目录,则相应更改路径。请注意以下内容:-
避免在目录路径中使用空格。
-
使用斜杠
/定义路径。
-
配置端口
默认情况下,Confluence 在端口 8090 上运行,没有上下文路径。这意味着启动 Confluence 后,它将在 http://localhost:8090/ 上可用。如果您的机器上有另一个使用相同端口的应用程序运行,您可能需要更改 Confluence 将使用的端口。当您在代理后面运行应用程序并希望使用相同域访问它们时,例如 http://example.com/jira 和 http://example.com/confluence,更改上下文路径非常有用。在此练习中,我们将更改 Confluence 正在运行的上下文为 /confluence。
要更改 Confluence 的端口,请打开您 CONF_INSTALL 目录下的文件 conf/server.xml。该文件的摘录如下所示:
<Server port="8000" shutdown="SHUTDOWN" debug="0">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8090"…. />
<Context path="/confluence" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true">
提示
下载示例代码
您可以从您在 www.packtpub.com 上购买的所有 Packt 图书的帐户中下载示例代码文件。如果您在其他地方购买了这本书,您可以访问 www.packtpub.com/support 并注册,直接将文件通过电子邮件发送给您。
第一行:此行指定关闭 Tomcat 命令的端口。默认情况下,此端口为 8000。如果您已经在该端口上运行应用程序,可以将其更改为另一个端口。
第二行:此行指定 Confluence/Tomcat 将在哪个端口运行。默认情况下,此端口为 8090。如果由于某种原因该端口不可用,可以将其更改为另一个可用端口。
第三行:此行允许您更改 Confluence 可用的上下文路径。默认情况下,路径为空,这意味着 Confluence 将在 http://hostname:portnumber/ 上可用。
在此练习中,我们将上下文路径更改为 /confluence,如前面的文件所示。
配置电子邮件 JNDI 资源
为了使用 Confluence 的共享和通知功能,必须设置电子邮件帐户。通常,我们可以使用 Confluence 界面来完成此操作,但是如果您希望使用例如您的 Gmail 帐户来使用 SMTPS,则存在一个例外。因此,在此练习中,我们将配置 Confluence 以使用您的 Gmail 帐户向用户发送电子邮件通知。
-
移动(不要复制)
activation-1.0.2.jar和mail-1.4.1.jar从CONF_INSTALL/confluence/WEB-INF/lib到CONF_INSTALL/lib。 -
将以下资源添加到你的
CONF_INSTALL/conf/server.xml文件中;确保在</Context>标签之前添加它。<Resource name="mail/GmailSMTPServer" auth="Container" type="javax.mail.Session" mail.smtp.host="smtp.gmail.com" mail.smtp.port="465" mail.smtp.auth="true" mail.smtp.user="yourEmailAddress@gmail.com" password="yourPassword" mail.smtp.starttls.enable="true" mail.transport.protocol="smtps" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory" /> -
将
yourEmailAddress@gmail.com和yourPassword替换为你账户的正确值。 -
记住或写下资源名称。当我们配置 Confluence 并被要求提供电子邮件服务器时,JNDI 位置将是:
java:comp/env/mail/GmailSMTPServer请注意,名称区分大小写。
配置 HTTPS
默认情况下,Confluence 使用标准的未加密 HTTP 协议运行。如果你在安全的环境中运行 Confluence,例如内部网络,这种配置是可以接受的。然而,如果你计划通过互联网开放 Confluence 访问权限,你需要加强安全性。我们将通过将 Confluence 配置为通过 HTTPS(SSL 加密的 HTTP)运行来实现这一点,从而加密登录信息和数据在互联网上传输过程中的安全性。
对于独立安装,我们需要执行以下任务:
-
创建或请求一个新的 SSL 证书
-
在我们的应用服务器上启用 HTTPS
-
将流量重定向到 HTTPS
首先,我们需要获取一个数字证书。这个证书可以是来自认证机构(如 VeriSign 或 StartSSL)的证书(CA 证书),也可以是由你生成的自签名证书。CA 证书不仅能加密数据,还能向用户识别你的 Confluence 副本。自签名证书适用于没有有效 CA 证书且仅需设置 HTTPS 以加密数据的情况。
由于自签名证书没有经过认证机构签名,用户可能会收到提示,表示该站点不可信,并且需要执行一些步骤以接受证书后才能访问该站点。通常这种情况只会在第一次访问时发生。自签名证书非常适合用于评估,但建议在生产环境中使用 CA 证书。
在本次练习中,我们将创建一个自签名证书。如果你已经拥有 CA 证书,当然可以使用该证书。
生成证书
按照以下步骤使用 Java 的 keytool 工具生成证书。该工具包含在 JDK 中,可以在 JAVA_HOME/bin 找到。
-
在命令提示符下运行以下命令:
"%JAVA_HOME%/bin/keytool.exe" -genkeypair -alias tomcat -keyalg RSA -
当系统要求输入密码时:
-
指定你希望用于证书的密码。请注意,密码输入时不会显示为明文。
-
记下你选择的密码;我们将在下一步编辑 Tomcat 配置时需要使用该密码。
-
在本次练习中,我们将使用默认密码
changeit。
-
-
按照提示输入您的域名、组织和位置。这些信息将用于构建实体的 X.500 区别名称 (DN)。对于问题 您的名字是什么? (CN),不要填写您的真实姓名。CN 必须与运行 Confluence 的服务器的完全限定主机名匹配。否则,Tomcat 将无法使用证书进行 SSL。
例如,对于我们在本地运行的 Confluence:
CN =
localhost,OU =Confluence Essentials,O =Packt,C =UK -
输入
y以确认详情。 -
当系统提示输入
tomcat的密码(您在 keytool 命令中输入的别名)时,按 Enter 键。您 必须 使用与密钥库密码相同的密码。这是 Tomcat 实现的限制。 -
现在您的证书已准备好。
我们的自签名证书现在已经在 Java 的密钥库中。如果您使用的是之前生成的证书或 CA 证书,您需要将该证书导入到 Java 的密钥库中。可以使用以下命令进行导入:
keytool -importcert -alias tomcat -file <MY_CERTIFICATE_FILENAME>
配置 Tomcat
要启用 HTTPS,请打开 CONF_INSTALL/conf/server.xml 文件,并在文本编辑器中找到并取消注释以下行:
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" SSLEnabled="true"
URIEncoding="UTF-8" keystorePass="<MY_CERTIFICATE_PASSWORD>"/>
这个连接器将为 Confluence 启用 HTTPS,并使用 8443 端口。我们需要将 <MY_CERTIFICATE_PASSWORD> 替换为创建证书时指定的密码。在我们的案例中,这个密码是 changeit。
默认情况下,Tomcat 期望密钥库文件命名为 .keystore,并位于 Tomcat 运行的用户主目录中。这可能与您的用户账户不同,因此可能位于其他目录。如果您的证书不在默认位置,您需要更新服务器配置,在连接器元素中包含 keystoreFile="<MY_CERTIFICATE_LOCATION>"。
将流量重定向到 HTTPS
尽管 HTTPS 已经启用且可用,但旧的 HTTP URL 仍然有效。我们需要配置 Confluence 以便它会自动将 HTTP 请求重定向到 HTTPS。我们需要通过在 web.xml 中添加安全约束来实现这一点。
打开 CONF_INSTALL/confluence/WEB-INF/web.xml 文件,并在文件末尾 </web-app> 标签之前添加以下代码片段:
<security-constraint>
<web-resource-collection>
<web-resource-name>Restricted URLs</web-resource-name>
<url-pattern>/</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
这将导致 Tomcat 将所有进入非 SSL 端口的请求重定向。第一部分将确保所有 URL 都会被此安全约束检查。第二部分将确保使用 HTTPS 进行传输。
将 Confluence 配置为服务
在 Windows 下,Confluence 可以配置为 Windows 服务,从而在操作系统重启时自动启动。推荐这样做,因为替代方法是让机器上保持控制台窗口开启,这可能会被意外关闭,导致 Confluence 停止运行。
要将 Confluence 配置为 Windows 服务,只需执行以下步骤:
-
以管理员身份启动新的命令提示符,并浏览到
CONF_INSTALL/bin目录。 -
运行以下命令:
service.bat install Confluence -
这将把 Confluence 安装为一个 Windows 服务。该服务将被命名为 Apache Tomcat Confluence。
-
通过进入 开始 | 管理工具 | 服务 来验证配置,访问服务控制台。
![将 Confluence 配置为服务]()
您现在可以通过 Windows 服务面板启动、停止或重启 Confluence。
启动 Confluence
一切就绪,开始我们的 Confluence 安装。因此,让我们通过 Windows 中的服务控制台启动 Confluence。服务器运行后,您可以使用 Internet 浏览器访问 Confluence。您的 Confluence URL 是 https://localhost:8443/confluence。如果您没有在安装时添加 HTTPS 或上下文路径,可以通过 http://localhost:8090/ 访问 Confluence。
如果您使用了自签名证书,您将看到一个提示,表明存在证书错误,类似于以下截图所示:

您将看到的第一页是配置向导的第一步,它将完成您的 Confluence 安装。
安装向导
向导的第一步是提供有效的许可证。这可以是完整许可证或评估许可证。如果您已经从 Atlassian 获得了许可证,可以将其复制并粘贴到 License Key 文本框中。如果您没有许可证,可以通过点击 生成在线评估许可证 链接来生成一个评估许可证。填写完许可证密钥后,您需要选择安装类型。我们将安装 生产环境安装,所以选择该选项。

第 2 步是配置我们的数据库连接。从下拉列表中选择 PostgreSQL,然后点击 外部数据库。接下来,您将选择如何连接到数据库。这可以通过 JDNI 或直接 JDBC 进行。区别在于,JNDI 是在应用服务器上配置和管理的,就像 SMTPS 电子邮件服务器一样;而直接 JDBC 是在应用程序内部进行配置的。
对于本练习,我们将使用直接 JDBC 选项。
在此屏幕中,我们需要填写我们的数据库配置:

根据此处解释的字段,输入数据库配置的详细信息:
| 属性 | 值 |
|---|---|
| 驱动程序类名 | org.postgresql.Driver |
| 数据库 URL | jdbc:postgresql://localhost:5432/confluencedb 如果您为 PostgreSQL 配置了不同的端口号,请确保在此 URL 中也更改它。 |
| 用户名 | confluence |
| 密码 | confluence |
点击 下一步 开始初始化数据库。这个过程可能需要一段时间,请耐心等待。
数据库初始化后,你将进入下一屏(见下图),在这里你可以选择如何加载内容:
-
示例站点:这将把一个演示空间加载到 Confluence 中,展示 Confluence 提供的一些功能。如果你想评估 Confluence,这是一个不错的选择。
-
空白站点:一个干净的 Confluence 安装,没有任何空间或内容。如果你已经熟悉 Confluence 并想快速开始,这将是完美的选择。
-
从备份恢复:如果你已经有一个 Confluence 安装和该安装的备份,你可以使用此选项进行导入。确保备份数据与目标 Confluence 的主要版本相同。
![安装向导]()
对于我们的安装,我们将选择示例站点,因为这可以让我们了解如何使用 Confluence。
一旦加载了示例站点,就可以开始设置用户管理了。选择在 Confluence 内部设置用户管理。将用户管理连接到外部来源的内容在第二章,用户管理中有详细讨论。
设置系统管理员账户,并确保记住用户名/密码,因为 Confluence 仅存储密码的哈希值。你将无法找回密码。

Confluence 现在已经可以使用;你可以选择开始使用或者继续配置。对于本次练习,我们希望继续并设置电子邮件服务器,因此请选择继续配置。在使用系统管理员账户登录后,你将看到 Confluence 管理控制台。
设置电子邮件服务器
登录 Confluence,并通过访问管理 | Confluence 管理员进入管理控制台。由于 Confluence 的WebSudo,你可能需要再次登录。WebSudo 可防止他人访问管理员控制台,例如,当你离开电脑未锁定时。
在管理控制台中,在左侧菜单选择邮件服务器。选择添加新的 SMTP 邮件服务器,以添加一个新的 SMTP 邮件服务器,Confluence 将使用该服务器来发送通知和密码重置邮件。
| 属性 | 描述 |
|---|---|
| 名称 | 用于在 Confluence 中引用的 SMTP 服务器名称。 |
| 发件地址 | 输入电子邮件发送者的地址。在大多数情况下,这必须与所使用的电子邮件账户相同。 |
| 发件人名称 | 输入该服务器发送的电子邮件在发件人字段中显示的名称。此字段接受以下变量,这些变量引用相关 Confluence 用户档案中定义的具体细节:
-
${fullname},用户的全名 -
${email},用户的电子邮件地址 -
${email.hostname},用户的域名
默认值是 ${fullname} (Confluence)。
| 主题前缀 | 输入一些文本以显示在主题行的开头。 |
|---|
输入 either 你的邮件服务器的主机名和凭证,或者 JDNI 资源。由于我们之前设置了一个 Gmail 账户,我们将使用这个:

JNDI 地址将是 java:comp/env/mail/GmailSMTPServer。
提交配置,并尝试向自己发送一封测试邮件以验证设置。
概述
我们已经看到,开始使用 Confluence 是相当简单的;它在安装时提供了非常灵活的选项,你可以根据自己的情况选择合适的选项,或者根据 IT 部门的要求进行配置。如果你希望将初期成本保持在最低,可以完全使用开源软件安装 Confluence,例如 Linux 和 Postgresql,这些软件是免费的。
现在我们已经安装了 Confluence 并完成了设置向导,接下来我们将深入探讨 Confluence 的各个方面。在下一章中,我们将讨论如何管理用户和组,因为 Confluence 并非单独使用。
第二章:用户管理
像 Confluence 这样的协作工具,如果没有用户进行协作,将毫无意义。在本章中,我们将学习不同的方式将用户添加到我们的 Confluence 实例中,并学习如何管理这些用户。
我们还将了解到,在企业环境中,用户管理通常已经存在,因此配置 Confluence 以利用现有的用户基础设施非常容易。
在本章中,我们将涵盖:
-
手动将用户添加到 Confluence
-
邀请用户
-
管理您的用户
-
管理用户组
-
连接到外部用户目录
理解身份验证
Confluence 中的身份验证发生在应用程序的不同层次,例如,在从数据库检索信息时,或在将这些信息显示在 Confluence 页面上时。使用的技术取决于对 Confluence 发出的请求或您的配置。以下是几种身份验证技术的示例。
密码验证
密码验证默认情况下由 Seraph 委托给用户管理系统。如果您使用 单点登录 (SSO) 系统,这可能不需要。身份验证器会从您的 SSO 提供商获取所有必要的凭证。
Seraph
Seraph 是由 Atlassian 开发的开源框架,几乎所有 Confluence 中的身份验证都使用此框架。Seraph 的目标是提供一个简单、可扩展的身份验证系统,可以在任何应用服务器上使用。
Seraph 实现为一个过滤器。过滤器动态拦截每个身份验证请求和响应,并使用和转换请求或响应中的信息。Seraph 的目的是将请求与特定用户关联(如果请求是匿名的,则与无用户关联)。Seraph 支持 HTTP 基本身份验证和基于表单的身份验证,并可以查找已经存储在用户会话中的凭证。
Seraph 本身并不用于用户管理。它只检查传入请求的凭证,并将任何用户管理功能委托出去,包括查找用户和检查用户的密码。
如果您想将 Confluence 与您自己的 SSO(单点登录)基础设施集成,您可以编写自己的 Seraph 身份验证器。有关 Seraph 的更多信息,请参见 docs.atlassian.com/atlassian-seraph。
添加用户
有几种方法可以将用户添加到您的 Confluence 安装中。这些选项互不排斥,因此可以根据您的安装和 Confluence 对外开放的程度,全部使用这些选项。
手动添加用户
由于您刚开始使用 Confluence,因此手动添加用户可能是您想要采取的方式。添加用户仅对 Confluence 管理员或系统管理员可用。
要添加用户,请导航至 Confluence 中的管理控制台(管理 | Confluence 管理员),然后从左侧菜单中选择用户。如下截图所示,点击添加用户选项卡:

在填写表单时,有几件事情需要记住:
-
用户名必须为小写并且在 Confluence 中唯一。如果您的公司有用户名策略,最好在 Confluence 中也使用此策略。如果没有用户名策略,我喜欢使用
firstname.lastname作为标准,例如arthur.dent或ford.prefect。 -
你可以选择通过选中相应的复选框向刚创建的用户发送电子邮件。在这种情况下,密码字段将被忽略,因为用户将收到一个设置自己密码的链接。如果选择不发送电子邮件,则需要填写密码字段。这样的电子邮件看起来像下图所示:
![手动添加用户]()
-
创建用户后,Confluence 将重定向到用户详细信息屏幕,您可以在那里更改一些用户详细信息。稍后将进一步讨论此内容。
同样的方式,您可以添加更多用户。
开放注册
如果您的 Confluence 是公共安装或在本地网络上运行,则可以进行开放注册。开放注册允许所有用户注册自己到 Confluence,如下截图所示:

您的用户可以输入他们自己的姓名、电子邮件地址、用户名和密码,但请注意,当允许用户自行注册时,他们可以选择自己的用户名,这可能不符合您公司的政策。
用户直接添加到 Confluence-users 组,并将获得与该组相关的权限。
邀请用户
而不是手动添加所有用户,还可以向他们发送注册 URL。此选项在公共和私有 Confluence 安装中都可用。当用户在浏览器中访问 URL 时,将显示 Confluence 注册屏幕。
您可以通过以下步骤从管理控制台发送邀请:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
在左侧菜单中选择用户。
-
单击邀请用户选项卡。将显示以下屏幕:
![邀请用户]()
添加要邀请的用户的电子邮件地址,并根据需要包含一条他们可以阅读的自定义消息。他们将收到一封带有消息和邀请 URL 的电子邮件。
邀请 URL 包含安全令牌作为参数。有了这个令牌,您的用户将能够自行注册,如果您的 Confluence 实例被设置为私密访问。安全令牌可以在邀请用户页面重置;重置将使所有先前发送的邀请失效,并且将变为过时。
管理群组
组是用户的集合。一个组可以用来有效地管理大量用户。管理员可以在 Confluence 中创建组并将用户添加到这些组中。然后,权限会分配给组而不是单个用户,从而实现更容易的管理。
Confluence 中已经有两个默认的组,这些是特殊的组:
-
confluence-administrators:这个组代表“超级用户”。该组的成员可以访问管理控制台并执行站点范围的管理操作,如安装插件或更改站点的安全性。
-
confluence-users:这是所有新用户的默认组。此组中的用户被允许登录 Confluence,并计入您的许可证用户限制。
提示
Confluence 管理员权限与 confluence-administrators 组无关
尽管名称上看起来它们是相关的,但实际上并非如此。授予用户或组 Confluence 管理员权限与将用户添加到 confluence-administrators 组中并不相同。Confluence 管理员权限仅赋予用户部分管理员功能的访问权限,而不是完全的访问权限。
您可以在第六章的全局权限部分中找到有关管理员角色差异的更多信息,保护您的内容。
创建组
要向 Confluence 添加一个组,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择组。
-
在已有组表格下方选择添加组。
-
输入新组名称。
-
点击保存按钮。
为了为您公司未来的 Confluence 安装做好准备,最好在开始创建组之前考虑一个命名约定。对我有效的命名约定是 <product>-<space>-<role>。例如,所有参与 MyExample 项目的 Confluence 空间管理员会在 confluence-myexample-administrators 组中,而所有用户则在 confluence-myexample-users 组中。
添加用户到组中
要将用户分配到组中,从而确定他们的权限,您必须是 Confluence 管理员。有两种方式可以编辑 Confluence 中的组成员身份,具体如下:
-
从用户详情屏幕
-
从组管理屏幕
从用户详情屏幕编辑组成员身份
编辑特定用户组成员身份的一种方法是通过用户详情屏幕。此方法仅允许您一次更新一个用户。
要编辑用户的组成员身份,您必须进入该用户的用户详情屏幕。我们将在下一节深入了解如何查找用户,现在我们使用管理控制台。
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择用户。
-
选择显示所有用户以查看 Confluence 中所有用户的概览。
-
点击你想编辑的用户名链接。
-
选择用户详细信息下方的编辑组链接,接下来将显示以下界面:
![从用户详情界面编辑组成员]()
-
勾选你想要将用户添加到的组前面的框,或者取消勾选任何组的框以将用户从该组中移除。
-
点击保存按钮提交更改。
通过组管理界面编辑组成员
如果你想同时将多个用户添加到同一组,可以使用组管理界面,这允许你这么做。
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择组。
-
选择你想要添加用户的组。
-
组成员界面会出现,显示所有该组的成员。点击添加成员链接。
-
在添加成员文本框中,输入你想要添加到该组的人的用户名。你也可以通过点击框旁边的搜索图标来搜索用户,如下图所示:
![通过组管理界面编辑组成员]()
-
当你添加完所有想要加入该组的用户后,点击添加按钮保存更改。
你可以在组成员界面中删除组中的用户。通过点击该用户所在行的图标,将移除该用户的成员资格。
管理用户
现在我们可以将用户和组添加到 Confluence,并管理组成员资格。有时我们需要查找用户、更改其详细信息,或发送新密码。
搜索用户
当我们想要将用户添加到某些组、空间,或进行任何与权限相关的操作时,我们可以选择搜索用户。每当你能在 Confluence 中搜索用户时,都会显示放大镜图标。点击该图标后,会弹出一个新窗口,给我们以下两种搜索用户的选项:
-
简单搜索
-
成员搜索
注意
请注意,搜索不区分大小写;无论输入大写还是小写文本,结果没有区别。支持通配符,但无需使用,搜索会返回相同的结果。
使用简单用户搜索
使用简单用户搜索:
-
在用户搜索界面中选择用户标签,如下图所示。
-
在搜索框中输入有关用户的信息。你可以使用用户的用户名、全名或电子邮件地址的任何部分。
-
点击搜索。
Confluence 会返回匹配的用户列表。你可以勾选用户名前面的框,选择你要找的用户。
![使用简单用户搜索]()
使用成员搜索
还可以使用成员搜索来查找属于某个特定组的用户。
-
在用户搜索页面上选择成员身份标签。
-
在搜索框中输入整个或部分的组名。
-
单击搜索。
Confluence 会返回与您的搜索匹配的组的成员列表。在以下示例中,我搜索了“confluence”。结果显示了所有属于confluence-administrators组的用户和所有属于confluence-users组的用户:

编辑用户详情
要更改用户的详情,您需要 Confluence 管理员权限。用户详情包括用户的姓名、密码、电子邮件地址、组成员身份以及访问 Confluence 的权限。用户可以更改自己的详情,但不能更改他们的组成员身份。
更新用户的详情可以通过显示的用户详情页面完成,接下来的截图将展示该页面。有两种方法可以导航到此页面。
-
第一个方法是通过管理控制台,使用以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择用户。
-
搜索用户,或使用显示所有用户链接。
-
单击您要编辑的用户的链接。
-
-
第二种方法是通过用户个人资料,使用以下步骤:
-
如果您不在管理控制台中,您可以通过用户的个人资料快速进入用户详情页面。
-
单击 Confluence 中用户的全名以进入该用户的个人资料页面。全名可以在 Confluence 的任何页面上找到,如以下截图所示:
![编辑用户详情]()
-
-
单击左侧的管理员用户链接。
现在您应该能够看到用户详情页面,并且可以看到允许您编辑详情的链接。
![编辑用户详情]()
以下是关于用户详情页面上不同链接的解释。请注意,并非所有可用选项都会在之前的截图中显示。
| 链接 | 描述 |
|---|---|
| 查看个人资料 | 查看用户的个人资料。 |
| 编辑组 | 将用户添加到组或从组中移除用户。 |
| 编辑详情 | 更改用户的姓名、电子邮件地址、联系方式和部门信息等详情。 |
| 设置密码 | 更改用户的密码。 |
| 移除 | 从 Confluence 中移除该用户,只有在用户没有在站点上添加或编辑任何内容时才可以执行此操作。 |
| 禁用 | 禁用该用户对 Confluence 的访问。可以在用户已在站点上添加或更改任何内容时使用此选项。禁用用户还将从您的许可证计数中删除该用户。 |
注意
在 Confluence 中,当前不支持通过界面更改用户名,只有通过数据库才能完成更改。如果您需要更改用户名,请阅读confluence.atlassian.com/x/nXUC以获取更多信息。
重置密码
在某些时候,用户可能会丢失密码,并向您发送电子邮件询问是否可以重置密码。幸运的是,Confluence 在其登录屏幕上有一个忘记密码?链接,用户可以自己使用:

忘记密码?链接允许用户请求重置密码。用户需要填写其用户名,并将收到一封包含重置链接的电子邮件。除非点击链接并保存新密码,否则用户的密码不会被更改。
如果您没有设置电子邮件服务器或未配置外部用户目录,则此选项不可用。如果使用外部用户目录,您将需要将用户重定向到该系统的密码恢复选项。
如果您尚未设置电子邮件服务器,您将需要通过用户详细信息屏幕上的设置密码选项手动重置密码,如前所述。此密码重置必须由管理员执行。
公共注册
可以为您的 Confluence 站点启用公共注册。这样,用户就可以添加自己的用户名并立即登录站点。
如果您希望将站点限制为特定用户,您可能需要限制电子邮件域名或完全禁用公共注册。
启用或禁用公共注册:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择用户。
-
选择用户注册选项选项卡。
![公共注册]()
上面的截图向我们展示了几个选项。
我们可以通过一个复选框启用或禁用公共注册。启用公共注册还使我们能够将用户的电子邮件地址限制为一个或多个域名。
注意
您需要在配置域名限制注册之前设置电子邮件服务器。Confluence 将向注册的人员发送一封电子邮件,要求他们点击链接验证其电子邮件地址。
一个非常有用的功能是,当帐户创建时,通过电子邮件通知管理员。通过这种方式,您仍然可以检测是否有不应该注册的人,或者为需要额外权限的用户授予权限。
外部用户目录
到目前为止,我们已经了解了如何将用户添加到我们的 Confluence 安装中。这非常有用,但如果您的公司有自己的 LDAP 服务器或已经使用了其他 Atlassian 产品,如 JIRA 或 Crowd,怎么办?
在 Confluence 中,我们可以配置一个或多个外部用户目录。用户目录是一个存储有关用户和组的信息的地方,包括一些其他的用户信息。这些信息可以是个人的全名、电子邮件地址或部门。当配置了外部用户目录时,Confluence 也会使用该目录来验证用户身份。
Confluence 支持以下外部目录:
-
Microsoft Active Directory
-
各种 LDAP 目录服务器,包括 OpenLDAP、Apache Directory Server 和 Novell eDirectory
-
Atlassian Crowd
-
Atlassian JIRA
你可以根据需要添加多个外部目录。请注意,你可以更改目录的顺序,从而决定哪个目录会优先进行搜索。

目录顺序的影响
当你配置了多个目录时,目录的顺序非常重要,并且会影响 Confluence 中的多个方面。
-
登录:在用户认证过程中,目录顺序非常重要,特别是当用户存在于多个目录中时。登录时,应用程序将按指定顺序搜索目录,并将使用用户首次出现时的密码进行验证。
-
权限:与登录机制相同,Confluence 将只在用户名出现的第一个目录中查找组成员资格,这取决于目录顺序。
例如:
-
你有两个目录:员工目录和客户目录
-
员工目录在目录顺序中排在第一位
-
用户名
arthur.dent在两个目录中都存在 -
用户
arthur.dent是员工目录中的 G1 组成员,并且是客户目录中的 G2 组成员 -
基于目录顺序,用户
arthur.dent仅基于 G1 组拥有权限,而不是 G2 组
-
-
更新用户和组:如果通过 Confluence 的管理界面更新用户或组,更新将仅在 Confluence 具有写权限的第一个目录中进行。
例如:
-
你有两个用户目录:一个读/写的 LDAP 目录和内部目录
-
LDAP 目录是第一个目录
-
用户名
arthur.dent在两个目录中都存在 -
你通过 Confluence 管理控制台更新了用户
arthur.dent的电子邮件地址 -
电子邮件地址将只在 LDAP 目录中更新,而不会在内部目录中更新
-
使用外部目录时的限制
使用外部目录时,你需要注意几个限制。
内建用户管理
你需要注意的第一个限制取决于外部目录的读/写配置。如果 Confluence 无法写入你的外部目录,或者你不希望它写入,你必须禁用内建的用户管理。
要禁用在 Confluence 中对用户和组的管理:
-
转到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择安全配置。
-
单击编辑。
-
勾选外部用户管理复选框。
-
单击保存。
如果禁用了内置用户管理,用户将无法:
-
注册
-
重置他们的密码
-
更新他们的个人资料
此外,管理员将无法:
-
添加新用户和组
-
从 Confluence 将用户分配到组
所有这些功能现在都委托给外部用户管理的管理,并且必须在那里执行。
编辑目录
无法编辑、禁用或删除您的用户所属的目录。这是为了防止管理员通过更改目录配置而锁定自己无法登录或删除其管理权限。
在某些情况下,重新排序目录将更改您当前正在使用的目录,如果您的用户存在于两个目录中。此行为可用于更改现有目录。
注意
建议在内部目录中保留管理员帐户(无法删除),并使用该内部用户对其他外部目录的设置进行更改。
连接到 LDAP 目录
如果您的用户和组存储在公司目录中,则连接到 LDAP 目录服务器非常有用。在配置 Confluence 中的 LDAP 目录时,您可以选择只读、只读并带有本地组或读/写。在最后一种情况下,您在 Confluence 中对用户和组所做的任何更改都将反映在 LDAP 目录中。
连接到 LDAP
要将 Confluence 连接到 LDAP 目录,请执行以下步骤:
-
转到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择用户目录。
-
单击添加目录。选择其中一种类型,然后单击下一步:
-
Microsoft Active Directory:此选项提供了一种快速添加 AD 目录的方式,因为它是其中一个流行的选择。
-
LDAP:您将能够在下一个屏幕上选择更具体的 LDAP 目录类型。
-
-
根据以下表中描述的必需设置输入值。
-
保存目录设置。
服务器设置
下面是设置外部用户目录所需的不同设置:
| 设置 | 描述 |
|---|---|
| 名称 | 输入一个描述性名称,将帮助您识别 LDAP 服务器。例如,MyCompany 员工目录或MyCompany 客户目录。 |
| 目录类型 | 选择要连接的 LDAP 服务器类型。您在此处选择的值将确定屏幕上许多选项的默认值。 |
| 主机名 | 您的目录服务器的主机名。 |
| 端口 | 您的目录服务器监听的端口。例如,389(默认 LDAP 端口),10398 或 636(LDAP over SSL)。 |
| 使用 SSL | 如果与 LDAP 服务器的连接是 SSL 连接,请选中此复选框。 |
| 用户名 | 应用程序连接到目录服务器时使用的用户的区别名称。例如:
-
cn=administrator,cn=users,dc=ad,dc=mycompany,dc=com -
cn=user,dc=domain,dc=name -
user@domain.name
|
| 密码 | 指定用户的密码。 |
|---|
LDAP 架构设置
| 设置 | 描述 |
|---|
| 基础 DN | 运行对目录服务器查询时使用的根区别名称(DN)。例如:
-
o=myCompany,c=com -
cn=users,dc=ad,dc=myCompany,dc=com
|
| 附加用户 DN | 在搜索和加载用户时,除基础 DN 外还使用此值。如果未提供值,则搜索将从基础 DN 开始:
ou=Users
|
| 附加组 DN | 在搜索和加载组时,除基础 DN 外还使用此值。 |
|---|
LDAP 权限
| 设置 | 描述 |
|---|---|
| 只读 | 从您的 LDAP 服务器检索用户、组和成员,并且不能在 Confluence 中修改。 |
| 只读,带本地组 | 从您的 LDAP 服务器检索用户、组和成员,并且不能在 Confluence 中修改。但是,可以将 LDAP 中的用户添加到 Confluence 内部目录中维护的组中。 |
| 读/写 | 在 Confluence 中修改用户、组和成员将直接应用于您的 LDAP 服务器。您配置的 LDAP 用户需要在 LDAP 服务器上具有修改权限。 |
| 默认组成员资格 | 只有在选择只读,带本地组权限时才会显示此字段。如果想要自动将用户添加到一个或多个组中,请在此处输入这些名称。用户首次登录时,将检查并相应添加他们的组成员资格。在后续登录中,将不会自动添加成员资格,允许从默认组中删除用户。 |
注意
只读,带本地组选项在许多情况下是最佳配置,具有极大的功能。用户和组仍可在公司的集中用户管理系统中管理。但是作为管理员,您仍然可以选择创建新组并更改这些组的成员资格,从而在 Confluence 中获得所需的控制而不会混淆您的 LDAP 服务器。lines
高级设置
| 设置 | 描述 |
|---|---|
| 启用嵌套组 | 某些目录服务允许您将一个组定义为另一个组的成员,称为嵌套组。如果您使用组来管理权限,请选中此框以启用嵌套组的使用。 |
| 使用分页结果 | 在查询大型用户目录时非常有用,此选项会将结果分页返回,而不是一次性返回所有结果。 |
| 跟随引用 | 选择是否允许目录服务器将请求重定向到其他服务器。通常需要为配置不正确 DNS 的 Active Directory 服务器使用,以防止出现 javax.naming.PartialResultException: Unprocessed Continuation Reference(s) 错误。 |
| 简单 DN 匹配 | 如果你的目录服务器始终返回一致的 DN 字符串表示,可以启用简单 DN 匹配。使用简单 DN 匹配将显著提高性能,因此建议在可能的情况下启用。 |
| 启用增量同步 | 启用增量同步时,仅查询自上次同步以来的更改。请注意,当使用此选项时,配置的用户帐户必须具有对以下内容的读取权限:
-
所有需要同步的用户和组的
uSNChanged属性 -
活跃目录已删除对象容器中的对象和属性
如果这些条件不满足,可能会导致 LDAP 中的更改无法正确同步到 Confluence。 |
| 同步间隔(分钟) | 指定目录更新之间的间隔时间(分钟)。默认值为 60 分钟。 |
|---|---|
| 读取超时(秒) | 这是等待接收响应的时间。如果在指定时间内没有响应,则停止读取尝试。值为 0 表示没有限制。默认值为 120 秒。 |
| 搜索超时(秒) | 这是等待搜索操作响应的时间。值为 0 表示没有限制。默认值为 60 秒。 |
| 连接超时(秒) | 这是在打开新服务器连接或从连接池获取连接时的等待时间。值为 0 表示无限期等待池中连接的可用,或者在创建新连接时等待默认的 TCP 超时生效。 |
用户架构设置
| 设置 | 描述 |
|---|
| 用户对象类 | 这是用于 LDAP 用户对象的类名。例如:
-
inetorgperson -
user
|
| 用户对象过滤器 | 搜索用户对象时使用的过滤器。例如:
-
(objectclass=inetorgperson) -
(&(objectCategory=Person)(sAMAccountName=*))
|
| 用户名属性 | 加载用户名时使用的属性字段。例如:
-
cn -
sAMAccountName
|
| 用户名 RDN 属性 | 加载用户名时使用的相对可分辨名称(RDN)。RDN 是 DN 中不与目录树结构相关的部分。例如:
cn
|
| 用户名字属性 | 加载用户名字时使用的属性字段。例如:
givenName
|
| 用户姓氏属性 | 在加载用户姓氏时使用的属性字段。例如:
sn
|
| 用户显示名称属性 | 在加载用户全名时使用的属性字段。例如:
displayName
|
| 用户电子邮件属性 | 在加载用户电子邮件地址时使用的属性字段。例如:
mail
|
| 用户密码属性 | 在加载用户密码时使用的属性字段。例如:
userPassword
|
| 用户密码加密 | 选择用于目录中密码的加密算法。例如:
-
SHA
-
MD5
-
PLAINTEXT
|
群组模式设置
| 设置 | 描述 |
|---|
| 群组对象类 | 这是用于 LDAP 群组对象的类名。例如:
-
groupOfUniqueNames -
group
|
| 群组对象过滤器 | 搜索群组对象时使用的过滤器。例如:
-
(objectclass=groupOfUniqueNames) -
(objectCategory=group)
|
| 群组名称属性 | 在加载群组名称时使用的属性字段。例如:
cn
|
| 群组描述属性 | 在加载群组描述时使用的属性字段。例如:
description
|
成员模式设置
| 设置 | 描述 |
|---|
| 群组成员属性 | 在加载群组成员时使用的属性字段。例如:
-
uniqueMember -
member
|
| 用户成员属性 | 在加载用户的群组成员关系时使用的属性字段。例如:
memberOf
|
| 使用用户成员属性 | 如果你的 LDAP 服务器支持用户的群组成员属性,勾选此复选框。如果勾选了此复选框,Confluence 将在检索用户所属的群组列表时使用用户的群组成员属性。这将提高检索效率。如果未勾选此复选框,Confluence 将使用群组中的成员属性进行搜索。请注意,如果使用嵌套群组,则此选项将被忽略,Confluence 将使用群组中的成员属性。 |
|---|
连接到 Crowd 目录
Atlassian Crowd 是一个应用程序安全框架,可以处理 Web 应用程序的身份验证和授权,不仅限于 Confluence 或 JIRA。通过 Crowd,可以将多个用户目录集成到一个目录中,并添加对单点登录(SSO)和集中式身份管理的支持。
Crowd 是一个非常有用的选项,如果你有多个基于 Web 的应用程序和多个用户目录需要配置,特别是当你希望将单点登录(SSO)添加到这些应用程序时。
连接到 Crowd
使用以下步骤连接到 Crowd:
-
前往你的 Crowd 管理控制台并定义 Confluence 作为一个应用程序。有关此步骤的更多信息,可以查看
confluence.atlassian.com/x/rQcD。 -
浏览到管理控制台(管理 | Confluence 管理)。
-
选择左侧菜单中的 用户目录。
-
点击 添加目录 并选择 Atlassian Crowd 选项。
-
输入设置的值(在下表中解释)。
-
保存目录设置。
服务器设置
| 设置 | 描述 |
|---|
| 名称 | 您的 Crowd 服务器的描述性名称。例如:
-
Crowd 服务器 -
MyCompany Crowd
|
| 服务器 URL | 您的 Crowd 控制台服务器的 web 地址。例如:
-
http://www.mycompany.com:8095/crowd -
https://crowd.mycompany.com/
|
| 应用名称 | 用于将 Confluence 与 Crowd 进行身份验证的名称。这是您在为 Confluence 配置 Crowd 时创建的应用名称。 |
|---|---|
| 应用密码 | 配置应用名称的密码。此密码必须与您在 Crowd 中为 Confluence 注册的密码相同。 |
Crowd 权限
| 设置 | 描述 |
|---|---|
| 只读 | 此目录中的用户、组和成员信息只能通过 Crowd 进行修改。无法通过 Confluence 管理控制台更改任何信息。 |
| 读/写 | 如果通过 Confluence 管理界面修改用户、组或成员关系,这些更改将直接应用到 Crowd。请注意,Confluence 需要在 Crowd 中具有修改权限。 |
高级设置
| 设置 | 描述 |
|---|---|
| 启用嵌套组 | 在启用嵌套组之前,请确保 Crowd 中的目录支持此功能。启用嵌套组后,您可以将一个组定义为另一个组的成员,从而继承父组的权限。 |
| 启用增量同步 | 如果选中此项,在同步目录时只会检索自上次同步以来的更改。 |
| 同步间隔(分钟) | 指定目录更新之间的时间间隔(分钟)。默认值为 60 分钟。 |
连接 JIRA 进行用户管理
如果您也在组织内部运行 JIRA,可以使用 JIRA 作为 Confluence 的用户管理系统。这种方法的优势在于,您的用户管理系统只在 JIRA 中,而不分散在多个位置。
注意
请注意,如果您的用户超过 500 个,或者连接到 JIRA 的应用超过五个,则不推荐使用此集成。在这种情况下,LDAP 或 Crowd 会是一个更好的、更稳定的选择。
连接到 JIRA
连接 Confluence 到 JIRA 的方法在 JIRA 4.3 及更高版本中发生了变化。我将假设您将使用 JIRA 4.3 或更高版本进行此练习;如果您使用的是旧版本的 JIRA,可以在线找到更多信息,网址:confluence.atlassian.com/x/hg6zDQ。
要将 Confluence 连接到 JIRA 4.3 或更高版本,请执行以下步骤:
-
转到你的 JIRA 管理界面,并使用以下步骤定义 Confluence 应用程序到 JIRA:
-
对于 JIRA 4.3.x,选择 其他应用程序 来自 用户、组与角色 部分的 管理 菜单。
-
对于 JIRA 4.4 或更高版本,在管理模式下选择 用户 | JIRA 用户服务器。
-
点击 添加应用程序。
-
输入 Confluence 在访问 JIRA 时使用的应用程序名称和密码。
-
输入你的 Confluence 服务器的 IP 地址,例如
192.168.10.42。 -
保存新应用程序。
-
-
使用以下步骤设置 Confluence 以使用 JIRA 用户目录:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择 用户目录。
-
点击 添加目录 并选择 Atlassian JIRA 选项。
-
输入设置的值(在下表中解释)。
-
保存目录设置。
-
-
通过以下步骤确保 Confluence 组在 JIRA 中可用:
-
在 JIRA 中添加 confluence-users 和 confluence-administrators 组。
-
将你自己的用户名添加为两个组的成员。
-
服务器设置
| 设置 | 描述 |
|---|
| 名称 | 你的 JIRA 服务器的描述性名称。例如:
-
JIRA 服务器 -
MyCompany JIRA
|
| 服务器 URL | 你的 JIRA 服务器的网址。例如:
-
http://www.mycompany.com:8080/crowd -
https://jira.mycompany.com/
|
| 应用程序名称 | 用于在 JIRA 中进行身份验证的 Confluence 名称。这是你在为 Confluence 设置 JIRA 时创建的应用程序名称。 |
|---|---|
| 应用程序密码 | 配置的应用程序名称的密码。此密码必须与您在 JIRA 中为 Confluence 注册的密码相同。 |
JIRA 服务器权限
| 设置 | 描述 |
|---|---|
| 只读 | 此目录中的用户、组和成员信息只能通过 JIRA 修改,不能通过 Confluence 管理控制台更改任何信息。 |
| 读/写 | 如果你通过 Confluence 管理界面修改用户、组或成员信息,这些更改将直接应用到 JIRA。 |
高级设置
| 设置 | 描述 |
|---|---|
| 启用嵌套组 | 在启用嵌套组之前,确保 JIRA 服务器已启用嵌套组。当嵌套组被启用时,你可以将一个组定义为另一个组的成员,从而允许从其父组继承权限。 |
| 启用增量同步 | 如果选中此项,则在同步目录时仅会检索自上次同步以来的更改。 |
| 同步间隔(分钟) | 指定目录更新之间的分钟间隔。默认值为 60 分钟。 |
概要
在本章中,我们学习了如何将用户添加到我们的 Confluence 安装中。有许多可用的选项,例如手动添加用户、邀请用户自助注册,或者为用户提供开放注册。
我们已经看到,如果你的公司已经有了用户管理系统,Confluence 可以轻松利用这一点,既可以完全委托认证和授权,也可以仅部分委托。
现在我们已经成功安装并运行了 Confluence,并邀请了一些用户来使用它,我们将进入 Confluence 最重要的部分之一——创建内容。在下一章中,我们将深入探讨如何使用 Confluence 编辑器创建引人入胜的内容。
第三章:创建内容
在本章中,我们将深入探讨使用 Confluence 发挥最大潜力时需要学习的最重要内容之一:创建内容。我们将介绍空间、页面和博客帖子的概念,以解释如何向 Confluence 添加内容。Confluence 的富文本编辑器具有许多功能,在本章中我们将通过创建我们的第一页来掌握其中的大部分功能。
在本章中,我们将学习以下内容:
-
Confluence 基本概念
-
添加空间和页面
-
Confluence 编辑器
-
创建吸引人的内容
-
导入和导出内容
基本概念
在我们开始在 Confluence 中创建内容之前,需要对 Confluence 中使用的基本概念有一个基础的理解。
空间
在 Confluence 中组织内容,我们使用空间(spaces),它有两种类型。空间是 Confluence 内的一个区域,包含你的页面。空间可以被看作是子站点或容器,具有自己的页面结构和主页。
全局空间是定义 Confluence 结构的区域。例如,你可能希望根据团队、部门或主题来划分区域。
个人空间属于特定用户。个人空间可以设置为私密或公开,供每个用户查看和编辑。个人空间可以用来存储个人信息,如博客帖子、书签和附件。管理员可以选择完全禁用个人空间。
每个空间都有特定的内容(页面、博客帖子等)和空间特定的权限。空间内容可以单独导出。
Confluence 中的空间数量没有限制。
页面
页面是 Confluence 的核心,也是存储和共享信息的方式。页面始终包含在一个空间内,与空间不同的是,页面可以是嵌套的。
如果你要在 Confluence 的一个空间中组织本书的内容,你将按以下方式组织:

博客帖子
博客帖子是 Confluence 中一种特殊类型的页面,可以添加到每个空间,只要你有相应的权限。博客帖子通常用于公告、日志条目、报告或任何其他时间敏感的信息。博客帖子有时也被称为新闻。
Confluence 按时间顺序列出博客帖子,并允许通过浏览日历来查找博客帖子。
博客帖子与普通页面的区别如下:
-
你不能将博客帖子移动到另一个空间
-
博客帖子有一个发布日期,创建后不能更改。
-
博客帖子没有父级,因此只能根据其发布日期进行结构化。
评论
评论是对现有页面或博客帖子的备注、问题或其他信息,但它们不一定是页面内容的一部分。评论可以用于与其他用户就某个主题进行互动。评论可以添加到每个页面或博客帖子,只要用户有权限。
评论显示在页面底部,内容下方,并按顺序排列,最新的评论显示在最下方。评论通常以线程的形式显示,显示出响应的层级和上下文。管理员可以更改设置,选择以平铺的方式显示所有评论,去除层级和上下文。
添加全局空间
在我们能向 Confluence 添加任何内容之前,需要先创建一个空间。在本练习中,我们将创建两个空间,后续章节将使用这两个空间。
要设置一个新的全局空间,需要创建空间权限。
要添加一个新的全局空间,请执行以下步骤:
-
转到 Confluence 仪表板,点击位于仪表板右上角的创建空间。将出现如下所示的创建空间对话框。
-
输入以下信息以创建第一个空间:
-
空间名称:该空间的名称。此名称无需唯一。使用名称项目文档。
-
空间键:用于识别空间的键。该键只能包含字母和数字,不能包含其他字符。此键用于在空间之间链接内容、网址和报告。对于我们的项目文档空间,我们使用DOC。空间键必须唯一。
-
将此空间设为私密:勾选此框将确保该空间仅对创建者可见。如果空间不是私密的,它将具有默认的空间权限。目前,我们不关心权限,将创建一个公共空间。
-
-
点击创建。您将被转到该空间的主页。此主页会自动创建,并包含默认的空间内容。
![添加全局空间]()
-
创建第一个空间后,创建第二个空间:
-
空间名称为管理
-
空间键为MGMT
-
将此空间设为私密框未勾选
-
空间权限可以之后更改。有关权限的更多信息,请参阅第六章,保护您的内容。
添加页面
在 Confluence 中有多种方法可以创建页面,我将在这里进行说明。Confluence 还允许导入现有的 Word 文档,后面章节会进一步解释这一点。
向 Confluence 添加新页面
可以直接从顶部导航栏创建页面,而无需进入特定的空间浏览。
-
点击顶部导航栏中的创建按钮。
-
使用选择空间下拉列表选择您想要添加页面的空间。
-
然后选择您想要创建的内容类型。可以根据某个模板创建页面,也可以创建一个空白页面。暂时选择空白页面。
-
点击创建。Confluence 将以编辑模式打开该页面。
-
给页面命名为简介并保存页面。
创建内容对话框将呈现如下截图:

注释
Confluence 会将页面添加到空间的根目录。如果这不是你的意图,请记得在保存之前设置位置(将在后续部分中说明)。
从另一个页面创建页面
另一种在 Confluence 中创建页面的方法是直接从另一个页面创建。默认情况下,这个新页面会作为当前页面的子页面添加。
-
前往我们刚刚创建的介绍页面。如果你没有创建它,可以前往 Confluence 中的任何其他页面。
-
在顶部导航栏中选择创建,紧挨着选择空间下拉菜单。新页面的父页面会显示出来。
-
为新页面命名标题并点击保存。
设置页面位置
如果你想将页面添加到与默认位置不同的位置,可以在保存页面之前设置位置。
设置新页面位置的步骤如下:
-
在添加页面时,点击底部的位置。
-
将会出现设置页面位置对话框,如下图所示。使用左侧的标签页搜索新页面的父页面。对话框底部的面包屑导航将显示当前位置和新位置。
-
如果你想在子页面中定义位置,选择重新排序。点击移动时,会显示同级页面的列表。
-
点击移动。
![设置页面位置]()
Confluence 编辑器
Confluence 拥有一个功能强大的编辑器,允许你创建丰富且引人入胜的内容。但在开始创建内容之前,我们需要先了解一下编辑器及其选项。
我们首先从上到下浏览编辑器界面:

| 项目 | 描述 |
|---|---|
| Confluence 导航 | 主要的 Confluence 导航栏。 |
| 页面标题 | 页面标题;用于 URL 和其他指向该页面的链接。页面标题是必填项,并且在一个空间中应该是唯一的。 |
| 编辑器工具栏 | 格式化内容、创建表格和列表、更改对齐方式以及向页面添加其他内容的所有功能。关于编辑器工具栏的更多内容将在下节中介绍。 |
| 页面内容 | 你的内容:文字、图片和其他媒体。 |
| 限制 | 控制谁可以查看或编辑你的页面。 |
| 附件 | 查看、管理并插入页面的附件。 |
| 标签 | 通过添加标签对页面进行分类。 |
| 位置 | 更改页面的位置。 |
| 更改注释 | 描述你对页面所做的更改;仅在编辑现有页面时可用。 |
| 通知观察者 | 选择此选项以通知观察者你对页面所做的更改;如果更改仅为小幅更改,可以取消选择。此选项仅在编辑现有页面时可用。 |
| 预览 | 查看你修改的内容如何影响页面,且无需先保存。 |
| 保存 | 保存你的更改。 |
| 取消 | 停止编辑页面并重置你所做的所有更改。 |
在编辑过程中,Confluence 会自动保存页面的草稿。如果其他用户开始编辑同一页面,Confluence 会通知该用户,并尽可能地尝试合并更改。
工具栏
如果你习惯了在线创建内容,或者在你电脑上的办公软件中进行编辑,这个工具栏上的大多数选项应该都很熟悉。

工具栏可以从左到右用于以下功能:
-
更改段落和字符格式(如标题、粗体、斜体)
-
给文本着色,以便强调或区分不同的文本
-
创建项目符号列表、编号列表或任务列表
-
选择文本或图像的缩进和对齐方式
-
向其他页面、附件和外部网站插入链接
-
添加表格,添加、删除或合并行和列
-
向页面插入其他内容,例如图片、视频或符号
-
向页面添加布局
-
在你编辑的页面中搜索和替换内容
格式化和自动补全
在 Confluence 4 版本之前,有一种叫做wiki 标记的概念,用来格式化 Confluence 中的页面。如果你想格式化内容或添加表格,你必须熟悉 wiki 标记。而在当前的编辑器中,已经不再需要使用 wiki 标记。
当前的编辑器确实允许使用 wiki 标记进行快速编辑;wiki 标记会自动将页面转换为相关格式。借助自动补全和格式化,你可以更快地创建和编辑内容,且全部操作都可以通过键盘完成。
自动格式化
使用自动格式化功能,你可以直接在编辑器中输入 wiki 标记。一些常用的示例列在下面的表格中。如果你想了解更多,可以点击编辑器工具栏上的?,然后选择编辑器自动格式化选项卡。
| Wiki 标记 | 结果 |
|---|---|
| bold | 粗体 |
| italic | 斜体 |
| h1. 标题 | 标题 1 |
| h2. 标题 | 标题 2 |
| - item 1****- item 2 | 项目列表 |
| | cell 1 | cell 2 | | 两列表格 |
自动补全
在 Confluence 中进行编辑时,有一些“快捷”字符,可以让你快速在页面中添加或附加图片、文件、宏、链接或用户提及。
| 触发字符 | 操作 | 描述 |
|---|---|---|
| **** | 添加链接 | 显示一个推荐的(最近使用的)页面列表供你链接 |
| ! | 显示图片、视频、音频文件或文档 | 显示附加到页面的媒体列表,供你嵌入页面 |
| { | 添加宏 | 一旦开始输入宏名称,显示宏列表 |
| @ | 通过提到某个用户来通知他们 | 显示一个用户列表;输入用户名以获得建议 |
自动补全可以通过按下键盘上的Esc键,或者点击编辑面板的其他地方来取消。
要自动补全一个链接,执行以下步骤:
-
编辑页面,并点击你想要插入链接的位置。
-
输入
[和你想链接的文件的页面标题或用户名的前几个字符。 -
从建议列表中选择相关链接。
如果你想链接的项目不在列表中,你可以:
-
选择搜索“over”以继续查找页面。
-
选择插入网页链接以使用链接浏览器插入外部页面的链接。
-
选择插入链接以创建页面,创建一个指向尚未创建页面的链接。当第一次点击该链接时,页面将被创建。![自动完成
自动转换
当你将 URL 粘贴到 Confluence 中时,编辑器会检查你粘贴的内容,并会自动将其转换为 Confluence 中可显示的内容。
Confluence 可以识别来自此处列出的服务的链接,并且每次发布新版本时,列表都会增加:
-
YouTube 和 Vimeo 视频
-
单个 JIRA 问题或完整的 JQL 查询
-
谷歌地图
-
其他 Confluence 页面和博客的 URL
拖放
如果你想从桌面向 Confluence 添加文件,可以通过将文件从桌面拖到浏览器中来实现。根据你使用的 Confluence 视图,结果会有所不同:
-
如果你正在查看页面,文件已被附加
-
如果你正在浏览附件,文件已被附加
-
如果你正在编辑页面,文件会在光标位置附加并嵌入。
拖放功能要求浏览器支持 HTML5 拖放功能。大多数最新的浏览器都满足此要求。较旧的浏览器版本,如 Firefox 3.5、Safari 4 和 Internet Explorer 8 和 9,仅提供有限的 HTML5 支持,不支持拖放功能。
添加内容
现在我们已经了解了 Confluence 编辑器,我们可以使用样式、布局、表格和宏来创建丰富且引人入胜的页面。
我们从创建一个新页面开始,称其为Lorem Ipsum,并使用位于www.lipsum.com/feed/html的生成器为我们生成一些文本段落。如果你有其他文档需要使用,也可以。
大部分格式化可以通过鼠标和编辑器工具栏完成,或者使用带快捷键的键盘。后者使得编辑页面变得非常简单,但需要一些适应。
样式
我们使用段落样式和字符格式化来突出显示内容的部分或将内容分隔为逻辑块。对于我们的Lorem Ipsum页面,我们将添加一些标题和引用,并强调几行内容。
-
首先,我们将在每个生成的段落上方添加一个标题:
-
在段落的前两个词后按Enter键。
-
选择这两个词,然后从段落下拉列表中选择标题 1。
-
标题可以轻松更改为不同的样式。将所有标题更改为标题 2,但第一个标题除外。
-
-
第二段实际上是某人说的引用:
-
选择完整的第二段。
-
从样式下拉列表中选择引用。
-
-
最后,我们想通过加粗来强调一些句子:
-
选择你想加粗的句子。
-
点击工具栏上的B按钮使句子加粗。或者在键盘上按Ctrl + B也可以使句子加粗。
-
-
保存页面。它应该像这样:
![样式]()
宏
使用 Confluence 中的宏,你可以为页面添加额外的功能或包括动态信息。例如,附件宏可以放置在页面上列出所有附件;如果你在此页面添加新的附件,附件列表将自动更新。
让我们将之前创建的面板宏添加到页面上:
-
打开我们的Lorem Ipsum页面并点击编辑。
-
选择第三段。
-
点击插入并选择其他宏。
-
Confluence 将显示宏浏览器。
![宏]()
-
使用搜索框搜索面板,然后点击面板宏。
-
在下一个屏幕中,我们可以为这个特定宏输入一些细节。保持为空并点击右下角的插入。
-
保存页面。
宏浏览器
在上一节中,我们将一个面板宏添加到页面中,这引入了宏浏览器。宏浏览器是你在创建页面时会经常使用的一个功能,它是探索你可用的不同宏的好方法。
宏按一个或多个类别进行分组。宏浏览器的左侧面板分为不同的类别。当点击某个类别时,相关宏将在右侧面板中显示。
宏浏览器搜索将使用你的查询根据宏标题和描述进行过滤。
编辑宏
在将宏添加到页面后,Confluence 会在你的内容周围显示一个特殊的框。这就是宏占位符。这个占位符可以用来编辑、删除或复制/粘贴宏。
左键单击占位符一次,显示可用选项。这些选项根据宏的不同而有所不同。面板的选项如下图所示:

要编辑宏,选择编辑选项或双击占位符。Confluence 将显示编辑“面板”宏界面:

左侧的大部分区域显示了内容的预览。右侧则可以更改宏选项,如果该宏支持的话。
在Lorem Ipsum页面上,我们想更改面板的样式,使其看起来像上一张截图。这可以通过执行以下步骤实现:
-
打开我们刚刚添加的面板的编辑宏界面。
-
使用段落标题作为面板标题。
-
将边框样式更改为虚线。
-
如果你想更突出这个面板,你也可以更改颜色。颜色应以十六进制表示:
-
边框颜色:
#FF0000(红色) -
背景色:
#FFEDED(非常浅的红色)
-
-
保存面板。
Confluence 中几乎所有的宏都可以通过我们刚才使用的右键菜单和编辑宏对话框进行更新。
宏的键盘快捷键
当你更熟悉 Confluence 中的宏时,你也可以使用键盘快捷键将这些宏添加到页面中。
输入 { 开始自动补全宏。继续输入你要查找的宏名称,建议列表会自动更新。选择你需要的宏,它将被添加到页面中。

面板
我之前使用了面板宏来解释宏浏览器,但值得再次提及。面板宏是我使用最多的宏之一。面板宏非常有用,可以用来分隔内容、为页面添加一些样式,或者突出显示某个内容。
页面布局和节
当我们想要为页面添加结构时,最常见的方法是将信息拆分成多列。我常用的一个例子是,在 Confluence 中添加事件信息。左边我添加事件信息,右边添加 RSVP(答复)。
Confluence 提供两种方法来为页面添加结构:
-
页面布局,即预定义的列和节。
-
节和列宏提供了更大的灵活性,但比页面布局更难使用。你可以设置列的宽度,并根据需要在页面上添加任意数量的节和列。
使用页面布局
Confluence 编辑器自带一套预定义的页面布局,每种布局提供两列或更多列。某些布局还为页面提供了横向的页头和页脚。你选择的布局决定了列的位置以及这些列在页面上的相对宽度。如果使用页面布局,页面的内容将被限制在该布局的边框内,无法在其前后添加内容。
要选择页面布局,请执行以下步骤:
-
打开一个页面并进入编辑模式。
-
点击 页面布局 图标(如下截图所示)。
-
会弹出一个下拉列表,显示可用的布局。
-
选择一个布局。
![使用页面布局]()
如果页面上已经有内容,Confluence 会将现有内容放置到新布局的左上角列中。如果页面已经使用了其他布局,Confluence 会将内容放置到新布局的相应列中。
例如:你有一个三列布局,想要切换到两列布局。Confluence 会将第二列和第三列合并成一列,并将第三列的内容放到第二列的下方。
请记住,每列的宽度是页面总宽度的百分比。Confluence 会根据页面宽度自动调整列的宽度。如果某列包含较大的表格或对象,内容可能无法完全显示,你在查看页面时会看到一个水平滚动条。
使用节和列宏
如果预定义的布局不是你所需要的,且你希望有更多的灵活性,Confluence 也提供了使用章节和列宏的功能。章节宏定义了包含你列的区域。与页面布局不同的是,你可以有任意数量的章节,并且在每个章节中可以添加任意数量的列。
要将章节和列宏添加到页面,请执行以下步骤:
-
打开页面的编辑模式。
-
通过导航至插入 | 其他宏找到章节宏,并将其插入到页面中。
-
再次进入插入 | 其他宏。
-
找到列宏并将其插入到章节宏中。
-
向列中添加内容。
-
根据需要插入任意数量的章节和列。
![使用章节和列宏]()
在编辑模式下,你会看到章节和列以宏占位符的形式呈现。这使得在查看模式下更难看到页面的实际效果。
除了可以添加任意数量的章节和列外,这些宏还具有可以设置的参数。
章节宏有一个参数Show Border,如果设置为true,则会在章节和列周围显示边框。
列宏有一个参数Column Width。默认情况下,它为 100%,按章节中的列数进行划分。列宽可以设置为像素值或可用宽度的百分比。
表格
表格功能非常强大;你几乎可以在编辑器中执行任何你期望的表格操作。Confluence 中的表格可以突出显示单元格、行或列,并且在查看模式下包含排序功能。
要创建一个表格,请执行以下步骤:
-
打开页面的编辑模式,将光标放在你希望插入表格的位置。
-
从工具栏中选择表格。
-
从出现的下拉列表中,选择你希望表格包含的行数和列数。
-
如果你不想在表格上添加标题,在选择行和列时按住Shift键。
![表格]()
编辑表格
当你在编辑器中选择表格时,会出现一个额外的工具栏,显示你可以对表格执行的所有操作。我们从左到右逐一介绍这些选项。

| 在当前选中行上方插入一个空行。 |
|---|
| 在当前选中行下方插入一个空行。 |
| 删除当前选中行。 |
| 剪切当前行并将其复制到剪贴板。 |
| 将当前行复制到剪贴板。 |
| 将剪贴板中的行粘贴到当前行。 |
| 在当前列的左侧插入一个空列。 |
| 在当前列的右侧插入一个空列。 |
| 删除当前列。 |
| 合并选中的单元格。 |
| 拆分选中的合并单元格。 |
| 将一行标记为表格标题。该行的单元格会被高亮显示为灰色,文本会以粗体显示。 |
| 将一列标记为表格头。该列中的单元格将以灰色突出显示,文本将以粗体显示。 |
| 高亮显示带有背景颜色的单元格。 |
| 移除表格。 |
键盘快捷键
为了加速表格操作,Confluence 提供了大多数操作的键盘快捷键。
| Windows | Mac OS X | 操作 |
|---|---|---|
| Ctrl + Shift + C | Cmd + Shift + C | 复制当前表格或选定的行 |
| Ctrl + Shift + I | Cmd + Shift + I | 插入新表格 |
| Ctrl + Shift + V | Cmd + Shift + V | 将剪贴板中的行粘贴到当前行上方 |
| Ctrl + Shift + X | Cmd + Shift + X | 剪切当前表格或选定的行 |
| Alt + 向上箭头 | Alt + 向上箭头 | 在当前行上方添加一个空行 |
| Alt + 向下箭头 | Alt + 向下箭头 | 在当前行下方添加一个空行 |
排序表格
在页面的查看模式中,用户可以通过点击标题行中的排序图标对表格进行排序。此选项仅在查看页面时可用,且不能配置排序。表格的初始显示(排序前)与编辑模式中的顺序相同。

附件
附件定义为包含在页面中的任何文件。我们之前已经讨论过图片作为附件,但也有其他示例,比如截图、Word 或 PDF 文档以及视频。当你希望分享不同于纯文本格式的信息时,附件非常有用。
当你查看的页面包含附件时,页面标题下方会显示一个小的回形针图标。如果点击该回形针图标,你将进入附件视图,在那里你可以看到所有附件。
页面上的附件继承页面的权限,因此如果用户没有查看页面的权限,他或她将无法查看或下载附件。
将文件附加到页面
将文件附加到页面可以通过拖放方式完成,或者通过浏览文件并从计算机上传。
要使用拖放方式附加文件,请执行以下步骤:
-
浏览到你想附加文件的页面。
-
将一个或多个文件从你的计算机拖放到页面中。附加文件对话框将出现,显示文件附加到页面的上传进度。
文件也可以拖放到附件或编辑器视图中,或者拖放到插入链接或插入图片对话框中。
注意
拖放需要一个实现了 HTML5 拖放功能的浏览器。大多数现代浏览器都符合这一要求。
要通过“经典”上传方式附加文件,请执行以下步骤:
-
通过进入工具 | 附件来浏览页面的附件视图。
-
点击浏览并导航到文件。
-
选择文件并点击打开。
-
添加一个评论(可选)作为描述。
-
如果你想一次上传更多文件,请选择附加更多文件。
-
选择附加。
附件版本管理
Confluence 会追踪上传到页面的附件版本。通过上传相同文件名的附件,会添加新版本。现有文件将保留为版本 X,每次上传时会递增版本号。
要查看附件的所有版本,请点击附件名称旁边的箭头。

请注意以下几点:
-
你无法恢复到附件的先前版本。下载并重新上传先前版本是一种变通方法。
-
Confluence 不会追踪附件中的更改。
-
除非服务器上的磁盘空间足够,否则附件和版本的数量没有限制。
-
附件的旧版本可以被删除,只要用户具有适当的权限。
下载附件
用户可以下载 Confluence 中的所有附件,只要用户具有查看附加附件的页面所需的权限。
要下载单个附件,请执行以下步骤:
-
通过点击工具 | 附件,进入页面的附件视图。
-
右键点击附件名称的链接,选择选择链接为,或在浏览器中选择类似的选项。
-
选择下载文件的位置。
要下载页面中的所有附件,请执行以下步骤:
-
通过点击工具 | 附件,进入页面的附件视图。
-
点击页面底部的下载全部按钮,下载一个包含所有附件的 ZIP 文件(如果有两个或更多文件附加,才会显示此链接)。
下载附件并不会阻止其他人上传附件的新版本。这可能会导致通过重新上传附件时,修改内容被覆盖。Confluence 有插件可以增强这种功能,例如 Arsenale 的 Lockpoint 插件。
嵌入附件
一旦你将文件附加到页面,就可以通过不同的方法将文件内容嵌入到 Confluence 页面中。
多媒体
你可以使用多媒体宏嵌入许多多媒体文件。这允许用户直接观看或收听你的多媒体文件,而无需先下载它。在某些情况下,用户需要一个独立的插件或解码器。
支持的多媒体文件:
-
Adobe Flash(
.swf) -
Apple QuickTime(
.mov) -
Windows Media(
.wma,.wmv) -
Real Media(
.rm,.ram) -
MP3 和 MP4 文件(
.mp3,.mp4) -
MPEG 文件(
.mpeg,.mpg) -
AVI 文件(
.avi)
要插入多媒体宏,请执行以下步骤:
-
打开页面的编辑模式,并将光标放置在你希望插入宏的位置。
-
选择插入 | 其他宏,然后搜索多媒体宏。
-
填写宏参数(请参见下表)。
-
点击插入。
下表列出了宏参数,并为每个参数提供了简短的描述:
| 参数 | 默认值 | 描述 |
|---|---|---|
| 页面名称 | 当前页面 | 附加到您的多媒体文件的页面名称。使用自动完成查找页面。如果此字段为空,将使用当前页面。 |
| 附件 | - | 多媒体文件的文件名。 |
| 宽度 | 基于文件类型 | 显示窗口的宽度。可以以像素为单位或作为窗口宽度的百分比来指定。 |
| 高度 | 基于文件类型 | 显示窗口的高度。可以以像素为单位或作为窗口高度的百分比来指定。 |
| 自动播放 | 关闭 | 如果选中,则视频或音频文件将在页面加载后立即开始播放。如果未选中(默认设置),用户将需要按播放按钮。 |
您无法从远程服务器嵌入多媒体文件,但 Confluence 允许使用小部件连接器来实现,这作为一个宏提供。
Office 文件和 PDF
Confluence 可以显示附加到页面的 Office 文件。这对于没有安装 Office 套件或不想下载完整文件的用户非常有用。
支持的 Office 文件:
-
Office Word(
.doc,.docx) -
Office Excel(
.xls,.xlsx) -
Office PowerPoint(
.ppt,.pptx) -
PDF
要在 Confluence 中显示 Office 文件,请执行以下步骤:
-
打开编辑模式下的页面,并将光标放置在要添加宏的位置。
-
选择插入 | 其他宏,并搜索宏。每个 Office 文件都有一个宏——包括 Office Word 宏、Office Excel 宏、Office Powerpoint 宏和 PDF 宏。
-
填写宏参数(请参见下表)
-
点击插入。
| 宏 | 参数 | 默认值 | 描述 |
|---|---|---|---|
| 全部 | 页面名称 | 当前页面 | 包含附加文件的 Confluence 页面。如果未指定,则假定为当前页面。 |
| 文件名 | 无 | 要显示的附加文件的名称。 | |
| Excel | 显示网格线? | 是 | 选择以显示每个单元格周围的网格线。取消选择以隐藏这些网格线。 |
| 工作表名称 | 上次查看的工作表 | 要显示的工作表名称。 | |
| 最后一行 | 有内容的最后一行 | 要显示的最后一行的编号,从 0 开始为第一行。 | |
| 最后一列 | 有内容的最后一列 | 要显示的最后一列的编号,从 0 开始为第一列。 | |
| Powerpoint | 高度 | 显示的高度,以像素为单位或作为窗口高度的百分比。 | |
| 幻灯片编号 | 无 | 如果指定,Confluence 将显示单个幻灯片作为图像,而不是幻灯片放映。第一张幻灯片编号为 0。 | |
| 宽度 | 显示的宽度,以像素为单位或作为窗口宽度的百分比。 |
PDF 文件中的文本在使用 PDF 宏查看时可能会模糊。这是设计使然,因为 Confluence 会将 PDF 转换为图像并减小其大小以节省带宽。这在宏浏览器中无法实现,因此我们必须使用一个技巧,涉及 Wiki 标记:
-
在编辑模式下打开页面,并将光标放在您希望添加 PDF 文件的位置。
-
转到 插入 | Wiki 标记,并将以下行粘贴到文本编辑器中:
{viewfile:my.pdf|width=800|height=1000}。 -
将
my.pdf替换为您的文件名称。 -
点击 插入。
拖放
根据您的浏览器,您还可以使用拖放将多媒体和 Office 文件嵌入到页面中。Confluence 将尝试确定正确的宏并使用它来显示您的附件:
-
在编辑模式下,只需将文件从桌面拖放到编辑器中。
Confluence 会将文件附加到页面,并在光标位置插入宏。
-
如有需要,点击宏并选择 编辑 来更改宏属性。
图像
如果图像满足以下条件之一,则可以在 Confluence 页面上显示图像:
-
图像附加到当前页面
-
图像附加到同一 Confluence 安装中的另一个页面;即使在另一个空间中也可以
-
图像位于您的服务器可以连接的远程网页上
一旦图像显示在页面上,您可以:
-
更改图像的外观
-
移动图像到新位置
-
将图像用作指向另一个 Confluence 页面或 URL 的链接
显示附加的图像
一旦您将图像附加到页面上,有三种不同的方法可以显示该图像:
-
使用 插入图像 对话框:
-
在编辑模式下打开页面,并将光标放在您希望显示图像的位置。
-
从工具栏选择 插入 | 图像,并在对话框中选择 附加图像 标签。
-
选择所需的图像并点击 插入,或双击图像以选择它。
-
-
使用自动完成:
-
在编辑模式下打开页面,并将光标放在您希望添加图像的位置。
-
输入
!以触发自动完成功能。 -
继续输入图像名称,并从出现的列表中选择图像。
-
-
使用拖放:
此功能使用 HTML5 的拖放功能,因此仅在支持 HTML5 的浏览器中可用。根据您的浏览器,您可以通过一次操作附加并显示图像。在编辑页面时,将图像从桌面拖动并放到页面上。图像将被上传、附加,并显示在当前光标位置。
在另一个页面上显示附加的图像
也可以显示附加到同一 Confluence 安装中另一个页面的图像;该页面不需要在同一空间中。您只需知道图像的名称。
提示
从其他页面显示图片可以方便地管理您的图片。您可以将所有图片上传到一个页面,以避免重复上传。如果您希望限制对某些图片的访问,用户需要拥有该页面的查看权限,因此请勿使用此方法。
要显示附加在其他页面上的图片,请执行以下步骤:
-
在编辑模式下打开页面,并将光标放置在您希望显示图片的位置。
-
转到插入 | 图片,然后选择搜索标签。
-
输入您要查找的图片名称。
-
选择您要搜索的当前空间或所有空间,然后点击搜索。
-
从搜索结果中选择所需的图片。
从远程网页显示图片
如果您知道图片的 URL,您可以在您的 Confluence 实例中从远程网页显示图片,而无需将其附加到页面上。
要从外部网页显示图片,请执行以下步骤:
-
在编辑模式下打开页面,并将光标放置在您希望显示图片的位置。
-
转到插入 | 图片,并选择来自网络标签。
-
输入或粘贴图片的 URL。
-
点击预览以检查是否使用了正确的 URL。
-
点击插入。
修改图片外观
一旦将图片添加到页面中,您通常需要编辑图片。Confluence 提供了通过图片属性面板进行编辑的方法。

要更改图片的大小,请执行以下步骤:
-
在编辑页面时,点击图片以显示图片属性面板,如前述截图所示。
-
在面板左侧的文本框中手动调整图片大小(大小可以在 16px 到 900px 之间)。图片会按原始比例进行调整。或者,选择文本框旁边的大小预设按钮,来更改图片的大小。
图片以缩略图形式显示;在查看模式下点击图片将弹出图片的较大版本。
要为图片添加边框,请执行以下步骤:
-
在编辑页面时,点击图片以显示属性面板。
-
从属性面板中选择边框。
要使用图片效果,请执行以下步骤:
-
在编辑页面时,点击图片以显示属性面板。
-
从属性面板中选择属性。
-
在属性对话框中选择效果。
-
选择五种效果之一。
注意
即时相机效果仅适用于拉丁字符语言。这是因为使用了手写风格字体。
下一个截图展示了带有效果的图片示例。
为图片添加标题的唯一方法是使用前面描述的即时相机效果。标题非常有用,可以为图片添加额外的信息。执行以下步骤为图片添加标题:
-
从图像属性面板选择属性,并选择即时相机效果。
-
保存页面。
-
进入工具 | 附件以查看页面的附件。如果你正在展示来自其他页面的图像,前往该页面的附件视图。
-
选择位于图像旁边的属性。
-
为附件添加评论。此评论将用作图像标题。
注意
每次上传同一图像的新版本时,你都需要重新应用评论。
若要为图像添加链接,请执行以下步骤:
-
从图像属性面板选择链接。
-
Confluence 将显示插入链接对话框,你可以使用它来搜索想要链接的页面。
对齐图像
对齐图像的方式与对齐文本相同。选择你的图像并从编辑器工具栏的段落对齐按钮中选择。
如果你选择将图像左对齐或右对齐,文本将围绕图像换行。对于居中对齐,文本不会换行。

在画廊中显示图像
当你有许多图像附加到页面时,你可能希望将它们作为画廊显示。画廊将页面附件以缩略图的形式展示。当用户点击缩略图时,将显示该图像的更大版本。
若要将附加到页面的图像作为画廊显示,请按照宏部分中描述的步骤插入画廊宏。
画廊宏的功能:
-
画廊中的图像来自该页面的附件。也可以指定从不同的页面获取附件,但不能同时从多个页面获取。
-
画廊中的标题来自于图像评论。
-
默认情况下,画廊将包含页面上附加的所有图像。你可以通过宏属性根据名称或标签排除或包含图像。
-
画廊可以按名称、日期甚至大小排序。
-
画廊的宽度(列数)和标题可以通过宏属性轻松更改。
链接
链接比你想象的更重要。链接使你能够从 Confluence 的任何地方,或从其他网站或应用程序连接到内容。
可以链接到以下内容:
-
页面,来自 Confluence 内部或外部
-
博客文章
-
尚未存在但你希望稍后创建的页面
-
附件,如图像和文档
-
用户个人资料或个人空间
-
页面的一部分,使用锚点
链接到 Confluence 页面
可以使用以下方法创建指向页面的链接:
-
自动完成:链接到 Confluence 页面
-
插入链接对话框:链接到 Confluence 和网页
-
剪切并粘贴链接到编辑器:链接到 Confluence 和网页
使用自动完成
如果你知道想要链接的页面名称,可以使用自动完成创建指向 Confluence 中任何页面的链接。
通过输入``开始您的链接,这样可以看到建议列表。继续输入页面名称以搜索您希望链接的页面。
使用插入链接对话框
您可以使用“插入链接”对话框来创建指向页面的链接。执行以下步骤:
-
打开页面并进入编辑模式,将光标放置在您希望插入链接的位置。您也可以高亮显示您希望链接的文本。
-
在编辑器工具栏中选择链接,或按Ctrl + K。插入链接对话框将会出现。![使用插入链接对话框 1. 使用左侧的标签查找您想要链接到的页面: + 搜索:使用此标签链接到 Confluence 中的页面或文件 + 最近查看:此标签显示您最近查看(和创建)的页面。 + 附件:显示此页面上的附件 + 网页链接:此标签用于链接到 Confluence 外部的网页 + 高级:此标签用于链接到锚点以及尚不存在的页面 1. 输入将在页面上显示的链接文本。如果链接文本为空,则链接将显示目标页面名称或网址。1. 点击插入。#### 使用复制和粘贴链接也可以通过剪切并粘贴链接到编辑器来创建。执行以下步骤:1. 在您的网页浏览器中,选择并复制 Confluence 页面标题。1. 打开页面并进入编辑模式,将标题粘贴到您想要插入链接的位置。1. 使用编辑链接更改链接文本(如果需要)。### 链接到网页要创建指向网页的链接,请执行以下步骤:1. 打开页面并进入编辑模式,将光标放置在您希望创建链接的位置。1. 点击工具栏中的链接,或按Ctrl + K 打开插入链接对话框。1. 从左侧标签中选择网页链接,然后将网页地址粘贴到地址文本框中。1. 输入链接文本。1. 点击插入。您还可以直接将链接粘贴到 Confluence 编辑器中。链接文本将是完整的 URL,之后可以通过图像属性面板进行更改。### 链接到锚点还可以通过在页面的特定位置插入锚点宏,并将链接指向该锚点来实现页面内的链接。要为页面添加锚点,请执行以下步骤:1. 打开页面并进入编辑模式,将光标放置在您希望添加锚点的位置。1. 通过以下方式查找锚点宏: + 进入插入 | 其他宏,然后找到锚点宏。 + 输入`{anchor`以使用自动完成插入宏。1. 指定您的锚点名称。### 提示选择锚点名称锚点名称应该描述您想要链接到的部分。锚点名称可以包含空格。Confluence 在构建指向锚点的 URL 时会去掉这些空格。请记住,锚点名称是区分大小写的,在构建链接时要特别注意。要链接到锚点,请执行以下步骤:1. 打开页面并进入编辑模式,将光标放置在您希望添加链接的位置。1. 在编辑器工具栏中选择链接,或按Ctrl + K。1. 选择高级,并将锚点名称输入到链接文本框中。1. 输入将在页面上显示的链接文本。1. 点击插入。输入锚点名称时,请使用以下语法:| 锚点位置 | 链接语法 | 示例 || --- | --- | --- || 同一页面 | `#anchor` | `#footer
#highlighted info` || 不同页面 | `pagename#anchor` | `Overview#footerOverview#highlighted info` || 其他空间中的页面 | `spacekey:pagename#anchor` | `DOC:Overview#footer``DOC:Overview#highlighted info` |### 注意不要将锚点链接用于目录。还有另一种宏可以为你生成目录;你可以通过宏浏览器搜索`Table of Content`来插入此宏。### 链接到标题你可以直接链接到 Confluence 中的标题,而无需使用锚点。然而,如果有人更改了标题,链接将会失效。使用锚点可以避免这种情况。要链接到标题,请执行以下步骤:1. 打开页面并进入编辑模式,将光标放置在你希望添加链接的位置。1. 在编辑器工具栏中选择链接,或按Ctrl + K。1. 选择高级,然后将标题输入到链接文本框中。标题区分大小写,且必须输入时不含空格。1. 输入将在页面上显示的链接文本。1. 点击插入。### 链接到未定义页面在某些情况下,你可能希望插入一个指向尚不存在的 Confluence 页面的链接,但你打算稍后创建该页面。我们称这种类型的链接为未定义链接。要添加未定义链接,请执行以下步骤:1. 打开页面并进入编辑模式,将光标放置在你希望添加链接的位置。1. 输入``以触发自动补全功能,然后输入未定义页面的名称。1. 从建议列表中选择插入链接来创建页面。## 草稿在你编辑页面的过程中,Confluence 会确保你的工作已保存。在规定的时间间隔内,草稿会被保存,这样在网络或服务器发生错误时,你可以恢复到最后一次保存的草稿并继续工作。草稿是在你添加或编辑页面时创建的。默认情况下,Confluence 每 30 秒保存一次草稿。Confluence 管理员可以在常规配置设置中更改此间隔。如果你在编辑页面时跳转到另一个站点或页面,草稿也会被创建。当你再次编辑页面时,Confluence 会显示一条消息,告知有未保存的页面版本,并询问你是否要放弃该版本或继续使用该版本。### 注意草稿仅适用于未保存的页面。如果你不小心取消了编辑会话,所有更改将丢失,因为草稿也会被删除。### 更改草稿间隔默认情况下,Confluence 会每 30 秒保存一次正在编辑页面的草稿。作为 Confluence 管理员,你可以更改此设置。1. 浏览到管理控制台(管理 | Confluence 管理)。1. 在左侧菜单中选择常规配置。1. 编辑设置并更改草稿保存间隔中的值。### 恢复编辑草稿如果您想恢复编辑未保存的页面或博客文章,有两种选择:+ 使用草稿视图: 1. 点击导航栏右上角的头像。 1. 从下拉菜单中选择草稿。 1. 您将看到 Confluence 为您保存的所有草稿。![恢复编辑草稿 1. 点击相关草稿旁的恢复,以继续编辑。+ 恢复编辑: 如果您创建了一个新页面但未保存,那么下次在同一空间中创建新页面时,Confluence 会询问您是否要恢复编辑之前的页面。如果您选择恢复编辑,草稿将被恢复,您可以继续编辑。![恢复编辑草稿]()
查看未保存的更改
在编辑页面或博客文章时,可以在保存更改之前查看所做的更改。一旦保存了草稿,您将在右下角看到一行草稿已自动保存于...(查看更改),就在保存按钮下方。
如果点击查看更改,将弹出一个对话框,显示您在此次编辑中所做的更改。

使用内容历史
Confluence 会跟踪页面的所有更改,每次修改页面时都会创建一个新版本。您可以查看不同版本之间的更改,也可以回滚到某个特定版本。
查看页面历史
可以查看页面的所有先前版本。
要查看页面的历史,请执行以下步骤:
-
转到您想查看历史记录的页面。
-
转到工具 | 页面历史。
-
在页面历史屏幕中,如下图所示,点击版本号以查看该特定版本的页面。
![查看页面历史]()
要了解更改的内容,可以将两个版本进行对比。Confluence 会显示页面的最新版本,并突出显示所做的更改;下图展示了这一示例。
要比较版本之间的更改,请执行以下步骤:
-
转到您想查看历史记录的页面。
-
转到工具 | 页面历史。
-
使用复选框选择最多两个不同的版本。
-
选择比较所选版本以显示比较结果。
版本之间的更改将通过颜色突出显示:
-
绿色:内容已添加
-
红色:内容已删除
-
蓝色:格式已更改
![查看页面历史]()
显示页面比较视图时,所有未更改的文本部分将被隐藏并缩减为省略号,如:...。
也可以恢复页面的先前版本。Confluence 将使用该版本的内容来创建一个新版本。因此,如果你当前使用的是版本 10 并希望恢复版本 8,Confluence 将用版本 8 的内容创建版本 11。这样做的优点是,恢复版本不会丢失任何更改。
要恢复版本,请执行以下步骤:
-
转到你想查看历史记录的页面。
-
转到工具 | 页面历史记录。
-
点击恢复此版本,旁边是你想要恢复的版本。
-
在下一个页面,你可以根据需要更改注释。
-
点击确定以恢复版本。
导入内容
Confluence 可以从多个不同来源导入内容,包括其他 Confluence 站点。在大多数情况下,人们是从基于文档的系统迁移到 Confluence 的,因此我们将重点介绍 Word 文档导入器。如果你对从其他来源(如其他 Wiki)导入内容感兴趣,请访问confluence.atlassian.com/display/DOC/Importing+Content+Into+Confluence。
导入 Word 文档
如果你导入一个 Office Word 文档,它将作为 Confluence 页面提供给你的用户,并且具备 Confluence 页面的所有优点。Word 文档将不再是必需的。
导入 Word 文档最简单的方法是将文档的全部内容作为单个 Confluence 页面导入。
更高级的选项允许你将内容导入到新页面中,根据标题将单个文档拆分成多个页面,并解决标题冲突。
Confluence 可以导入有效的 Microsoft Word 文档,这些文档以 97-2007(.doc和.docx)格式存储。
提示
在将 Word 文档导入 Confluence 之前,最好先准备好文档。确保所有标题正确,并且文档中没有 Word 艺术(Confluence 不支持此功能)。确保文档中的图片是 100%的放大比例;这样可以确保 Confluence 以完整的大小导入图片。
将 Word 文档作为单一页面导入
使用此方法将替换当前 Wiki 页面上的所有内容,因此请谨慎使用:
-
创建一个新页面以导入 Word 文档,并保存该页面。
-
转到工具 | 导入 Word 文档。
-
点击浏览以查找你想要导入的 Word 文档。
-
点击下一步以进入导入选项页面。
![将 Word 文档作为单一页面导入]()
-
指定选项并点击导入。
| 选项 | 描述 |
|---|---|
| 根页面标题 | 包含 Word 文档内容的新页面的标题。 |
| 作为当前空间的新页面导入 | 如果你希望创建一个新页面,并使用指定的标题,请选择此项。 |
| 替换<当前页面> | 选择如果要替换当前页面;标题将被重命名为指定标题。 |
| 删除<当前页面>的现有子页面 | 当前页面的子页面将被删除。 |
| 如果页面名称已存在,重命名导入的页面 | 如果空间中已经存在同名页面,则重命名新页面。 |
| 用导入的相同标题的页面替换现有页面 | 如果导入的文档与现有页面标题相同,则会替换现有页面,页面历史将被保留。 |
| 删除与导入页面标题相同的现有页面 | 如果导入的页面与现有页面标题相同,则现有页面将被删除。 |
| 按标题拆分 | 根据标题创建新的子页面。 |
注意
请注意,一旦导入,页面将不再与原始 Word 文档关联,新的页面及其内容应直接在 Confluence 中更新和编辑。
将 Word 文档导入多个页面
也可以根据文档中的标题拆分 Word 文档;Confluence 会为这些标题创建子页面:
-
按照上一节中描述的方法导入 Word 文档。在导入屏幕上,选择根据标题拆分文档。
-
根据您的选择,Confluence 将向您展示导入后层级结构的预览。
![将 Word 文档导入多个页面]()
-
点击 导入 开始导入。
导出内容
您可能需要将内容导出为其他格式。例如,您可能需要将 Confluence 中编写的文档用于电子邮件或其他网站。您可以通过将部分空间、整个空间或单个页面导出为 HTML、Word 或 PDF 来做到这一点。也有插件可帮助您将内容导出为其他格式。
导出单个页面
您可以轻松将每个页面导出为 PDF。此选项适用于所有拥有导出页面权限的用户:
-
转到您要导出的页面。
-
转到 工具 | 导出为 PDF。
-
浏览器将提示您下载并保存 PDF 文件。
页面上的评论不会导出到 PDF 文件中。
导出空间
您可以将空间的一部分或全部导出为 HTML、PDF 或 XML。对于这三种格式,导出方法几乎相同,只有选项上有一些小差异。
导出空间,请执行以下步骤:
-
浏览到空间中的某个页面,并从左侧边栏选择 空间工具。
-
选择 内容工具。
-
打开 导出 标签。如果您有权限导出空间,此选项将可用。
-
选择导出的类型并点击 下一步。可用的导出格式包括:
-
HTML:这将导出空间为静态 HTML 页面。
-
XML:这会创建 XML 导出,可用于备份,或将空间导入到不同的 Confluence 安装中。
-
PDF:这将导出空间为 PDF 文件。
-
-
选择你是否想要普通导出或自定义导出。
-
普通导出将包含空间中的所有页面和博客文章,包括评论和附件(图片)。
-
自定义导出将基于你接下来选择的页面和选项。
-
如果你选择了自定义,请确保选择你想要导出的页面。
-
点击导出。
-
当导出过程完成后,下载导出文件并将其存储在桌面上。
![导出空间]()
总结
我们详细探讨了创作引人入胜内容的艺术,以及富文本编辑器。宏命令是编辑器的核心,提供了许多可以用来创建内容的功能。
我们已经看到,Confluence 中的内容不仅限于文本,我们还可以使用图片、音频和视频。你当前的文档,可以是 Word 文档的形式,可以轻松导入到 Confluence 中并在那里面提升到一个新的层次。
创建内容非常强大,但如何再次找到它呢?你如何确保你的用户和同事能够找到你的页面?这正是下一个章节的主题,管理内容。
第四章:管理内容
查找内容和创建内容同样重要。在本章中,我们将学习如何使用标签、收藏夹来组织内容,并利用关注功能跟踪你的内容。借助快速和高级搜索功能,我们可以找到相关的内容和文档。
本章的目标是学习如何组织你的 Confluence 内容,以便你和你的用户能够轻松找到他们需要的最新信息。在本章结束时,我们将清楚地了解如何:
-
组织你的空间
-
使用标签
-
在 Confluence 中跟踪更改
-
在 Confluence 中搜索
组织你的空间
在第三章中,创建内容,我们学习了如何创建空间和页面。随着时间的推移,你的空间会不断增长,页面可能会出现不按正确顺序或位置排列的情况。用户也可能会抱怨找不到你所提到的页面。这正是你需要整理和清理空间的时刻。
更改页面顺序
Confluence 中的页面具有层级结构,其他页面可以被归类在父页面下。我们将这个组称为页面家族。页面家族中的页面默认按字母顺序排序。当你创建一个新页面时,它将按字母顺序插入到页面家族中。可以将页面移动到不同的位置,系统会自动将排序模式更改为手动模式。在手动模式下,新页面会被放置在页面家族的底部。
在空间内重新排序页面最简单的方法是使用重新排序页面视图,该视图位于空间工具中。要进入此视图:
-
转到空间,并在左侧边栏选择空间工具。
-
选择内容工具,然后选择重新排序页面,如以下截图所示:
![Changing the order of pages]()
所有页面都可以通过拖放的方式重新排序。在拖动页面时,你将看到以下其中一种情况发生:
-
在现有页面之间将出现一条细线。这表示页面的新位置;释放鼠标按钮后,页面将被放置在该位置。
-
在一个或多个现有页面上将出现一个高亮显示的部分。这表示你可以将页面拖放到页面家族中。被拖放的页面将根据排序顺序(字母顺序或手动)被加入到页面家族中。
将页面排序设置为字母顺序
一旦你移动了一个或多个页面,页面的排序将设置为手动模式。要将此排序恢复为字母顺序,请执行以下步骤:
-
转到空间,并在左侧边栏选择空间工具。
-
选择内容工具,然后选择重新排序页面。
-
展开树形结构,找到你想恢复的页面家族。
-
如果页面家族是手动排序的,父页面旁边将显示一个A/Z图标。
-
点击A/Z图标,恢复该页面家族的字母顺序。
-
点击图标后,撤销图标会出现,允许你恢复手动排序。此撤销图标仅在你仍处于树形视图并且没有更改其他内容时有效。
孤立页面
孤立页面是没有父页面或任何外部链接的页面。孤立页面不会出现在任何导航中,因此用户必须知道它的存在,才能搜索到它。这意味着,如果你在孤立页面上有内容,很不可能有人通过自然的导航过程找到它。孤立页面可以通过搜索找到。
孤立页面通常是在删除父页面时产生的。所有被删除的父页面的子页面将被移到空间的根目录。从那时起,子页面就成了孤立页面。
特别是在大型空间中,很难追踪孤立页面。Confluence 允许你查看空间中的所有孤立页面,以便你重新组织或删除它们。
要查看孤立页面,请执行以下步骤:
-
进入空间,并在左侧边栏选择空间工具。
-
选择内容工具,然后选择孤立页面。
在孤立页面界面,你可以编辑或删除该页面。如果你想移动页面并为其指定父页面,使用之前讨论的重新排序页面功能更为方便。另一种方法是从查看模式下选择工具 | 移动,此方法的优点是你能够将页面移动到其他空间。

提示
孤立页面不一定是坏事
孤立页面常用于作为附件或信息的占位符,这些信息可能在许多其他页面中使用。通过“包含”宏,这些孤立页面可以被包含在这些页面中。如果信息发生变化,你只需要更新一个页面。
归档空间
一些空间可能包含已经不再相关的信息。例如,当你使用 Confluence 编写用户文档并且为每个产品版本设置一个空间,或者一个项目完成后,空间不再需要时。
归档空间将使内容在 Confluence 中保持可用,但比之前更不显眼。如果一个空间被归档:
-
使用 Confluence 搜索框时,页面和其他内容不会出现在建议列表中。
-
页面和其他内容不会出现在任何搜索结果中,除非指定也包括已归档的空间。
-
该空间未列在仪表板中。
-
对空间内容的任何更新都不会出现在各种活动流中。
-
空间、页面和其他内容不会出现在 Confluence 的任何下拉菜单中。
-
已归档的空间不会出现在空间目录中的常规空间列表中。该空间会出现在“已归档空间”标签页和由空间标签确定的类别中。
在空间归档期间,以下功能将保持可用:
-
用户将照常查看内容,任何已书签的 URL 仍然有效
-
用户可以编辑内容,只要他们拥有相应的权限
-
任何订阅、关注或通知将保持激活状态
要归档空间,请执行以下步骤:
-
进入空间并在左侧边栏选择空间工具。
-
选择概览,以导航到空间详情页面。
-
选择编辑空间详细信息。
-
从状态下拉菜单中选择已归档。
-
点击保存,如下面的截图所示:
![归档空间]()
如果你的 Confluence 安装是公开的,那么已归档的空间仍然会被索引,并通过像 Google 这样的搜索引擎找到。
使用 Confluence 标签
为了对 Confluence 中的内容进行分类、标识或书签管理,我们可以使用标签。标签是可以添加到页面、博客文章、附件和空间的元数据,起到关键词或标签的作用。标签是由用户定义的,因此任何能够标识内容的词都可以作为标签使用。
例如,你可以将标签“requirement”分配给所有包含项目需求的页面。然后,你可以浏览或列出在同一空间甚至整个 Confluence 中所有带有该标签的页面。也可以基于该标签搜索内容。
使用标签的优点如下:
-
标签是由用户定义的,所以你可以决定哪些信息是相关的,以及如何为其打上标签,使用你和你的用户都理解的词语
-
使用标签,你可以对页面和空间进行分组,而无需重组你的网站
-
你可以添加任意数量的标签
-
标签的添加非常简单,不会影响所分配标签的内容
Confluence 不支持多词标签。这意味着,如果要为页面添加“needs review”标签,空间名称必须使用其他字符替代,例如连字符或下划线。
内容标签
任何有权限编辑页面或博客文章的用户也可以管理标签。
为了添加标签,你需要执行以下步骤:
-
转到你想要标记的页面。在页面底部内容下方,将会有一个标签列表(前提是页面已经有标签,否则会显示无标签)。
-
点击列表旁边的编辑图标,或者按键盘上的L键。这将显示标签对话框。
-
输入一个新标签。你在输入时,Confluence 会建议你常用的标签。
-
点击添加,如下面的截图所示:
![内容标签]()
为了移除标签,你需要执行以下步骤:
-
打开标签对话框(如前所述,添加标签的步骤)。
-
每个标签旁边都会有一个X图标。
-
点击X图标从页面中移除标签。
附件标签
附件也可以拥有标签,这使得查找或筛选它们更加方便。任何有权限编辑包含附件的页面的用户都可以添加或移除标签。
要将标签添加到附件,请执行以下步骤:
-
转到包含附件的页面。
-
选择工具 | 附件以转到附件视图。
-
在附件视图中,您将看到一个附件列表。如果附件已经有标签,这些标签将显示在标签栏中。
-
单击编辑图标以打开标签对话框。
-
输入新标签;在输入时,会建议现有标签。
-
单击添加,如下图所示:
![附件标签]()
标签的删除方式与页面相同。单击标签旁边的X标记即可将其从附件中移除。
使用空间类别
空间类别是 Confluence 用于在空间目录和仪表板的最近活动区域中对空间进行分组的特殊标签。假设您有一个或多个空间,其中包含有关同一项目Project42的信息。我们可以将所有这些空间归类为“Project42”以进行分组。
使用类别对空间进行分组将反映在空间浏览器中,您可以通过在仪表板的空间类别标签下选择Project42类别,查看这些空间的更新内容,如下图所示:
注意
您必须是空间管理员或 Confluence(系统)管理员,才能为空间设置空间类别。

要向空间添加类别,请执行以下步骤:
-
转到空间并选择左侧边栏中的空间工具。
-
选择概览以导航到空间详情页面。
-
单击编辑,位于空间类别旁边。
-
使用文本字段为空间添加新类别。
-
单击完成。
类别的移除方式与标签相同。单击类别旁边的X标记即可将其移除。
注意
要完全删除类别或标签,只需删除它在所有使用的地方。如果标签或类别没有被使用,则无法存在。
查看标签
当您单击页面、博客文章或附件中的标签时,系统会将您转到标签视图。或者,如果您使用的是文档主题,可以转到空间中的任何页面,选择浏览 | 标签。
空间中的标签视图提供以下功能:
-
热门标签:使用此视图可以查看该空间中最常用的标签列表。您还可以查看全局热门标签。标签越大,越受欢迎。
-
所有标签:此视图将显示空间中的所有标签。单击某个标签以查看该空间中的相关内容。如果存在相关标签,也会显示。相关标签是指常常一起出现在页面上的标签。
-
查看所有空间的内容:在这两个视图中,您可以轻松扩展列表,查看 Confluence 站点上所有标签的内容。
![查看标签]()
使用标签显示内容
标签在与宏结合使用时非常强大,可以动态展示内容。Confluence 提供了以下标签宏:
-
按标签显示内容:此宏列出带有一个或多个特定标签的页面
-
标签列表:此宏列出空间中所有标签,并按字母顺序分组
-
导航地图:此宏创建一个与指定标签关联的页面地图
-
热门标签:此宏生成一个最受欢迎标签的列表或热图
-
最近使用的标签:此列表展示了在预定义的空间范围内最近使用的标签
-
相关标签:此宏列出在其他页面上使用的、与当前页面有共同标签的标签。
我们将讨论按标签显示内容的宏,因为它可能是此宏集合中使用最广泛的一个。
按标签显示内容的宏
按标签显示内容的宏将查找并展示一个列出所有带有指定标签的页面、博客文章和附件的列表。想象一下你有一个充满项目和客户信息的空间;使用此宏,你可以轻松地创建一个所有客户的概览,只要你为他们打上标签。
小提示
使用标签进行评论
我们经常使用标签来标示页面是否需要审核或是否过时。通过按标签显示内容的宏,我们创建了一个概览页面,展示这些页面。当页面被审核后,标签会被移除,因此不会显示在概览中。
要将按标签显示内容的宏添加到页面,请执行以下步骤:
-
在编辑模式下打开页面,并将光标放置在你希望添加宏的位置。
-
选择插入 | 其他宏。
-
找到并选择按标签显示内容的宏。
-
在屏幕右侧填写属性,标签是必填项。
-
点击插入,如下图所示:
![按标签显示内容的宏]()
以下是按标签显示内容宏可用的属性:
| 属性 | 默认值 | 描述 |
|---|---|---|
| 标签 | 此宏将仅显示带有指定标签的内容。你可以使用逗号分隔多个标签。如果需要排除某些标签,可以直接在标签前加上减号(-)。例如,指定-lorum时,宏只会显示没有 lorum 标签的内容。 |
|
| 作者 | 这将按创建者或最后更新时间筛选。 | |
| 仅显示此内容类型 | 所有 | 设置内容类型为显示。默认情况下将显示页面、博客文章和附件,但你也可以指定一个或多个内容类型。 |
| 每个页面显示标签 | 是 | 这将显示或隐藏结果中的标签。 |
| 每个页面显示空间名称 | 是 | 这将显示或隐藏结果中的空间名称。 |
| 列表标题 | 在这里你可以为列表添加一个标题。 | |
| 最大页面数 | 15 | 这是限制显示的最大结果数。请注意,结果首先会排序,然后再进行限制。 |
| 显示摘要 | 否 | 显示页面摘要(由摘要宏添加)。 |
| 限制到空间 | @all | 宏只会显示指定空间中的内容。你可以通过逗号分隔指定多个空间。要排除某个空间,在空间关键字前添加减号(-)。特殊值包括:
-
@self:当前空间
-
@personal:所有个人空间
-
@global:所有全局空间
-
@favorite:你标记为收藏的空间
-
@all:你 Confluence 站点中的所有空间
|
| 操作符 | OR | 这是在匹配内容与指定标签时应用的操作符:
-
OR:显示任何标签的内容
-
AND:显示所有标签的内容
以减号开头的标签不受此设置的影响。|
| 排序方式 | 修改时间 | 这指定了结果应如何排序。 |
|---|---|---|
| 反向排序 | 否 | 选择反向排序将排序方式从降序改为升序。此参数需与排序方式参数一起使用。如果未指定排序方式,则忽略反向排序。 |
跟踪内容
当你遇到相关内容时,你可以选择跟踪该内容。Confluence 提供了功能,让你快速找到你喜欢的页面,或者在某个页面或空间内容修改时收到通知。
我们将更详细地了解如何在不被信息过载的情况下,跟踪你最喜欢的内容。
观看内容
你可以“观看”Confluence 页面、博客文章或空间。每当有人更新所观看的内容时,Confluence 会向你发送电子邮件通知。
当发生以下情况时,你将收到通知:
-
页面已被编辑,除非在保存页面之前取消选中通知观察者复选框
-
内容已被删除
-
对现有或新附件进行了任何更改
-
添加了新评论
-
更新或删除了评论
Confluence 会将你添加为任何你创建或编辑的页面或博客文章的观察者。此行为称为自动观看,并且是你可以在用户配置文件中更改的设置之一。
设置通知选项
在开始观看内容之前,查看你的通知设置并根据需要进行更改,始终是个好主意。
若要编辑你的通知选项,请执行以下步骤:
-
点击右上角的头像,在菜单中选择设置。
-
从左侧菜单中选择电子邮件。
-
点击编辑并更新设置。
-
点击提交保存更改。
| 设置 | 描述 | 频率 |
|---|---|---|
| 自动观看 | 你创建或编辑的页面将自动添加到你的观察列表。 | 无 |
| 订阅每日更新 | 这将允许你收到电子邮件报告,显示你有权限查看的所有空间的内容更改。此选项不包括附件的更改。 | 每日 |
| 订阅所有博客文章 | 这样,您将收到有关 Confluence 中博客更改的通知,包括新博客文章。 | 立即 |
| 订阅网络 | 这样,您将收到您关注的用户所做更改的通知。 | 立即 |
| 订阅新关注者通知 | 这样,当有人选择关注您时,您将收到一封电子邮件通知。 | 立即 |
| 我的操作通知 | 这样,您将收到有关您自己更改的通知。 | 不适用 |
| 显示更改内容 | 如果您希望在通知中查看页面的更改,请选择此项。 | 不适用 |
| 订阅推荐更新 | 这样,您将收到您可以查看的空间中热门内容的更新。 | 每日(工作日)或每周一次。 |
提示
邮件太多了?
一个常见的抱怨是 Confluence 发送太多电子邮件。如果是这种情况,人们往往不再阅读任何电子邮件。您可以通过关闭自动观察和我的操作通知功能来减少电子邮件数量。
此外,请注意您想要观察的内容或您选择观察的内容数量。有时,每日更新已经足够提供相关信息。
观察页面或博客文章
要开始观察一个页面或博客文章,请执行以下步骤:
-
进入页面或博客文章。
-
选择工具 | 观察。
您现在正在观察该页面或博客文章。
停止观察一个页面或博客文章:
-
进入页面或博客文章。
-
选择工具 | 停止观察。
观察某个空间
当您开始观察一个空间时,您将收到关于该空间中所有内容的更新通知,包括新页面或博客文章。
开始观察一个空间:
-
进入该空间并在左侧边栏选择页面。
-
在右上角选择观察这个空间。
停止观察一个空间:
-
进入该空间并在左侧边栏选择页面。
-
在右上角选择停止观察这个空间。
对于空间,您还可以选择仅在有新博客文章添加到空间时接收通知。如果选择此选项,您将不会收到有关博客文章更改或删除的任何通知。
要开始观察一个空间中的新博客文章:
-
进入该空间并在左侧边栏选择博客。
-
在右上角选择观察这个博客。
注意
此选项仅在您没有观察该空间时可用。
停止观察空间中的新博客文章:
-
进入该空间并在左侧边栏选择博客。
-
在右上角选择停止观察这个博客。
管理您的观察
您观察的所有页面或空间可以通过用户个人资料中的单一视图进行管理。此视图对于您想停止观察多个页面时特别有用。
管理您的观察:
-
单击右上角的头像并选择观察。
-
单击旁边的停止观察以关闭观察状态。
![管理您的观察]()
还可以直接从收到的电子邮件通知中管理特定的关注。根据电子邮件内容的不同,页脚可能会有所不同,但通常您会看到以下一个或多个链接:
-
停止关注页面:点击此链接停止关注触发通知的页面
-
停止关注空间:点击此链接停止关注触发通知的空间
-
停止关注此用户:点击此链接停止关注触发通知的用户
-
管理通知:点击此链接直接跳转到用户个人资料中的电子邮件设置页面
通知中的页脚示例如下所示:

收藏
收藏功能可以看作是书签功能,为您提供了一种快速访问感兴趣的特定页面或空间的方式。
添加收藏
将页面添加为收藏,请执行以下步骤:
-
转到页面。
-
选择工具 | 收藏。菜单项会变为移除收藏。
将空间添加为收藏,请执行以下步骤:
-
通过空间目录:
-
选择顶部导航中的空间。
-
点击每个空间旁边的星标图标将该空间添加为收藏。
-
-
或者,使用仪表板上空间旁边的星标图标。
要移除页面或空间的收藏,请重复前面的步骤。
查看收藏
当您将页面或空间添加为收藏时,您可以通过用户个人资料或仪表板查看它们。
通过个人资料查看您的收藏:
-
点击右上角的头像。
-
选择下拉菜单中的收藏。
![查看收藏]()
通过仪表板查看您的收藏:
-
在仪表板的左侧,您可以看到:
-
您的收藏空间,位于空间标签中
-
您最近的收藏页面,位于页面标签中
-
-
在右侧的收藏空间标签中,您可以看到您收藏空间的更新内容。
搜索 Confluence
当您的 Confluence 安装内容增多时,使用常规导航查找信息将变得更加困难。到目前为止,您一定注意到 Confluence 导航栏上的搜索框。这个框被称为快速搜索或快速导航辅助,我们接下来将介绍的就是这一功能。
快速导航辅助
快速导航辅助功能会根据您的搜索查询自动提供页面、附件和用户个人资料的下拉列表。此列表会在您输入查询时发生变化。您可以选择其中一个建议项直接浏览该项目。
使用快速导航辅助功能,请执行以下步骤:
-
点击搜索框或使用键盘快捷键/。
-
开始输入查询。Confluence 将根据标题和您的查询给出建议。
-
使用键盘上的上下箭头浏览建议。
-
按Enter打开选定的项目。
-
如果您没有找到所需的项目,请使用底部的搜索链接执行完整站点搜索。关于完整搜索的更多信息将在下一节中讨论。
![快速导航辅助]()
关于快速导航辅助,有一些事情需要了解:
-
Confluence 会截断任何太长以至于无法显示的标题。
-
项目按其内容类型分组。Confluence 最多显示六个页面/博客文章、两个附件、三个人和两个空间。这样您可以轻松找到所需的类型。
-
项目根据最新更新排序。
-
标题的匹配部分将以粗体显示。
-
Confluence 管理员可以在 Confluence 管理控制台中禁用快速导航辅助功能。
完整和高级搜索
完整搜索是对所有空间中的所有内容进行的搜索,包括全局和个人空间、用户档案和附件。Confluence 还会索引附件的内容;因此,完整搜索也会搜索附件中的内容。
要进行完整搜索,请执行以下步骤:
-
使用快速搜索输入您的查询。
-
按下Enter键。这意味着您将忽略任何建议。
-
如果有结果,搜索屏幕将显示结果。
-
点击项目标题以打开该项目。
![完整和高级搜索]()
每个项目将通过其标题、几行匹配的内容、包含空间的名称或内容最后更新的日期来表示。对于附件,将显示大小和下载链接。
屏幕右侧有更多选项可以过滤您的搜索,稍后将进一步解释。
“是否是您想要的”
当您执行完整搜索时,Confluence 可能会为您的搜索查询提供一个拼写替代建议。这个替代拼写会显示在是否是您想要的旁边。点击链接接受建议。此功能提供的一些主要特性如下:
-
Confluence 使用捆绑的字典和从您自己的内容中收集的单词。这意味着 Confluence 可以为您提供可能不出现在标准字典中的术语建议。
-
Confluence 会优先考虑在您的内容中出现频率较高的单词,而不是字典中的单词。
-
Confluence 可能会提供拼写不正确的建议。这通常发生在您的内容中出现错误拼写的次数较多时。这是故意的,因为“是否是您想要的”功能的目的是帮助找到您的内容,而不是纠正拼写错误。
-
必须由 Confluence 管理员在管理控制台中启用“是否是您想要的”索引。
过滤结果
如前一页所示,搜索屏幕在您进行第一次搜索时出现。默认情况下,Confluence 会搜索所有空间和附件中的所有内容。您可以使用屏幕右侧的过滤选项来筛选结果。
使用筛选选项,你可以基于以下类别筛选结果:
-
哪里:这将把你的结果限制为特定空间或一组空间(收藏、个人或全局)
-
什么:这将把你的结果限制为特定的内容类型(页面、博客文章、评论等)
-
何时:这将把你的结果限制为在给定时间段内修改的内容(今天、昨天、上周等)
-
谁:这将把你的结果限制为由特定用户最后修改的内容
别忘了在指定筛选条件后点击筛选器按钮。如果你使用多个筛选条件,Confluence 将基于所有这些筛选条件进行过滤。使用清除筛选器链接来移除所有筛选条件并返回完整的结果集。
搜索标签
你还可以使用完整搜索来搜索标签。使用 labelText: 前缀来指定搜索带有特定标签的内容。以下是一些使用此前缀的示例:
| 搜索… | 返回的内容… |
|---|---|
IpsumlabelText:lorem |
包含 "ipsum" 一词或具有标签 "lorem" |
ipsum AND labelText:lorem |
包含 "ipsum" 一词并具有标签 "lorem" |
labelText:ipsumlabelText:lorem |
有标签 "ipsum" 或标签 "lorem" |
labelText:ipsum AND labelText:lorem |
同时具有 "ipsum" 和 "lorem" 标签 |
labelText: 前缀是使用搜索字段的一个示例。使用搜索字段是 Confluence 中 Apache Lucene 搜索引擎的强大而高级的用法。
注意
Apache Lucene 是 Confluence 用于索引所有内容并提供本章中讨论的搜索功能的全文搜索引擎。
Confluence 提供了更多的搜索字段,可以用来查找内容。它们如下所示:
| 搜索字段 | 描述 |
|---|---|
spaceKey |
你可以搜索位于指定 spaceKey 字段所在空间的内容。例如,spaceKey:doc。 |
creatorName |
你可以搜索由指定用户名的用户创建的内容。例如,creatorName:arthur。 |
lastModifiers |
你可以搜索最后修改者是指定用户名的用户的内容。例如,lastModifiers:ford。 |
macroName |
你可以搜索使用了指定宏的内容。例如,macroName:table-plus*。 |
filename |
你可以搜索具有指定文件名的附件。例如,filename:requirement*。 |
created |
你可以搜索在指定范围内创建的内容。格式是 yyyymmdd。例如,created:[20130524 TO 20130525]。 |
关于搜索字段的更多信息,请访问 confluence.atlassian.com/display/DOC/Confluence+Search+Field。
搜索语法
Confluence 具有一种搜索语法,可以帮助你进一步细化搜索查询。此搜索语法如下所述:
| Syntax | Example | Description |
|---|---|---|
OR |
lorem OR ipsum |
你可以搜索包含其中一个术语的内容。注意,OR 必须大写。 |
AND |
lorem AND ipsum |
你可以搜索包含两个术语的内容。注意,AND 必须大写。 |
NOT |
lorem NOT ipsum |
在这个例子中,你可以搜索包含 lorem 但不包含 ipsum 的内容。注意,NOT 必须大写。 |
- |
lorem -ipsum |
这与 NOT 搜索类似。 |
( ) |
(lorem OR ipsum) AND dolor |
在这个例子中,搜索必须包含 dolor,但可以包含 lorem 或 ipsum。 |
title: |
title:lorem |
在这个例子中,你可以搜索标题中包含 lorem 的内容。 |
? |
l?rem |
在这个例子中,你可以搜索 lorem 或 larem。 |
* |
lo* |
在这个例子中,你可以搜索以 lo 开头的内容。 |
i*m |
在这个例子中,你可以搜索 ipsum 或 idem。 |
|
~n |
"lorem ipsum"~1 |
这两个指定的单词必须在彼此一定数量的单词范围内。 |
[ ] |
[ipsum TO lorem] |
这个符号用于搜索字母顺序落在指定范围内的单词。注意,不能在此语句中使用 AND,并且 TO 必须大写。 |
~ |
octogan~ |
这个符号用于查找拼写相似的单词。当你不确定拼写时非常有用。在这个例子中,~ 会正确地返回 octagon。 |
macroName: |
macroName:Panel |
这个符号用于查找使用了宏“Panel”的内容。 |
Confluence 会忽略常见词,如“and”或“the”。这是基于 Lucene 使用的默认停用词列表。
摘要
在本章中,我们学习了如何更好地组织和重构我们的空间,随着 Confluence 网站的不断发展,我们也看到了通过标签的使用,内容变得更容易查找,并且概览也变得容易创建。标签、关注和收藏可以帮助我们跟踪有趣的内容,甚至接收到有关新内容或现有内容更改的通知。
Confluence 背后的搜索引擎非常强大,但通过快捷导航帮助也有一种简便的方法使用它。对于高级用户,Confluence 还提供了高级搜索功能。Confluence 还会对我们的附件进行索引,以便我们也可以搜索这些文档和电子表格。
在下一章中,我们将了解如何在日常工作中使用 Confluence,并学习如何利用 Confluence 与同事协作和共享信息。
第五章:在 Confluence 中协作
到目前为止,我们已经学会了如何创建引人入胜的内容,以及如何自己跟踪有趣的内容。现在,我们将了解 Confluence 工作区,以及如何在日常工作中使用 Confluence 功能。
我们将了解如何直接在 Confluence 中分享有趣的内容、任务和喜欢,并学习如何快速回应而不切换上下文。我们还将学习如何通过分享、点赞和提及来吸引其他用户。
本章结束后,我们将能够:
-
分享内容并让其他人参与
-
管理应用内通知
-
处理个人任务
-
跟踪你在路上的内容
与他人合作
Confluence 是一个很棒的协作工具,但你如何利用 Confluence 与他人协作呢?假设你刚刚写了一篇很棒的文章,想在发布前让某人审核,或者你刚开了一个会议,想让一些人根据会议内容采取行动。
协作最重要的事情是内容的可用性,在 Confluence 中,所有内容默认对所有用户开放。接下来要做的是让人们参与,Confluence 提供了几种方法来实现这一点。
提及
提及是一种让人们参与到创建有用且相关内容的绝佳方式。你可以通过一种特别的方式提及某人,触发 Confluence 向该人发送通知。这就是所谓的@提及。@提及通知适用于页面、博客帖子和评论。
Confluence 会向用户发送电子邮件,通知他们已在页面中被提及。此消息会在你保存页面时发送,但仅当被提及的人对该页面有查看权限时才会发送。
使用自动补全功能执行以下步骤来提及某人:
-
在编辑模式下打开页面,并将光标放在你想添加提及的位置。
-
输入
@,然后输入用户全名的前几个字符。 -
从建议列表中选择用户的姓名。
![提及]()
也可以通过编辑器工具栏添加提及,方法如下:
-
在编辑模式下打开页面,并将光标放在你想添加提及的位置。
-
选择插入 | 用户提及。Confluence 将在页面中添加一个
@符号。 -
开始输入该人的全名。
-
从列表中选择用户的姓名。
请注意,提及是基于用户的全名而非用户名。目前,无法提及群组。
@提及通知是一种让人们参与你的对话或内容的好方法。例如,如果你希望阿瑟·丹特查看一些需求,只需在评论中提及他来让他参与。不要试图向你想要合作的人发送垃圾信息;要节制使用提及。另一种让人们参与的方法是分享你的内容。
分享内容
Confluence 提供了多种与其他用户共享内容的方式。之前讨论过的提及就是其中之一,但您还可以直接将页面链接共享给一个或多个用户,并简要说明您希望他们如何处理该链接。
通过分享按钮分享内容,前提是 Confluence 管理员已配置邮件服务器。
要使用分享按钮通过电子邮件发送链接,请执行以下步骤:
-
转到您想分享的页面或博客帖子。
-
点击右上角的分享按钮。输入 Confluence 用户的姓名或用户名,或者使用有效的电子邮件地址。开始输入时,将会出现建议列表。
-
从列表中选择合适的用户或电子邮件地址。您可以添加多个收件人,并结合使用用户名和电子邮件地址。
-
在备注框中输入可选消息。
-
点击分享按钮通过电子邮件发送链接。
![分享内容]()
喜欢
当您在 Confluence 上阅读到一篇好的博客文章或页面时,您可以通过喜欢该页面来让其他用户知道。Confluence 在每个页面、博客帖子和评论上都有一个喜欢按钮。
点赞也用于填充仪表板上的热门内容标签页和推荐更新电子邮件。
点击喜欢按钮,让人们知道您同意或喜欢该内容或评论。您的名字将被添加到已喜欢该内容的其他人名单中。点击不喜欢按钮将把您从名单中移除。
当您喜欢一页、博客帖子或评论时:
-
内容的作者会收到通知
-
您网络中的人会收到通知,除非他们已经知道该内容,即:
-
他们网络中的其他人已经喜欢了该内容
-
用户自己已经喜欢了该内容
-
用户已经评论了该内容或回复了评论
-
-
如果足够多人喜欢该内容,它将出现在仪表板的热门内容标签页中
-
如果足够多人喜欢该内容,它将包含在推荐更新的电子邮件中
喜欢功能由名为Confluence Like Plugin的插件提供,可以在管理控制台|管理插件中禁用。这将会在整个网站范围内禁用该功能,无法在特定空间或页面禁用。有关管理插件的更多信息,请参见第九章,通用管理。
状态更新
状态更新是短消息,会广播到 Confluence 中的不同活动流。这类短消息可能包括:
-
关于您正在处理的工作的描述
-
您想分享的有趣链接或事实
-
您可能希望快速得到答案的问题
您的状态更新历史可在状态更新视图中查看,当前状态消息则显示在您的个人资料和个人资料悬停上。

更新您的状态
要更新您的状态:
-
确保您已登录到 Confluence。
-
点击右上角的头像,并从下拉菜单中选择更新状态…。
-
输入一个简短的消息(最多 140 个字符),描述您当前的状态或您想分享的内容。
-
点击更新以发布您的新状态。
![更新您的状态]()
管理状态更新
更新状态后,您可以轻松查看、清除或删除它们(如果您犯了错误)。编辑状态更新是不可能的。
要查看您的状态更新,请执行以下步骤:
-
点击右上角的头像。
-
从下拉菜单中选择状态更新。
也可以通过前往其他用户的个人资料来查看其状态。
要清除当前状态,请执行以下步骤:
-
前往用户个人资料中的状态更新视图。
-
点击顶部状态更新下方的清除。
清除状态不同于删除状态。如果您清除状态,它不会显示在您的个人资料或个人资料悬停中,但仍会在状态更新视图中可见。
要删除状态更新,请执行以下步骤:
-
前往用户个人资料中的状态更新视图。
-
点击状态更新下方的删除。
显示状态更新
通常,状态更新仅显示在用户个人资料中或在仪表板上的最近更新内容中。利用状态更新的一个好方法是使用最近更新宏在页面上显示这些更新。
要在页面中插入状态更新:
-
打开页面编辑模式或创建新页面。
-
使用快捷键{(Shift + )或插入** | 其他宏来选择最近更新的宏。
-
点击宏容器并选择编辑,以打开宏的属性面板。
-
为了仅显示状态更新,填写以下属性:
-
空间:@all
-
仅包含这些内容类型:状态
-
显示用户个人资料图片:已勾选
-
-
点击保存并保存页面。
您还可以将宏放入面板中,使其从其他内容中稍微突出一些。如下图所示:

包括的通知
当有人在 Confluence 中执行以下操作时,工作箱会显示通知:
-
与你共享页面或博客文章
-
评论你正在关注的页面或博客文章
-
在页面、博客文章或评论中提到你
-
点赞你正在观看或创建的页面或博客文章
-
通过在任务列表中提到你来分配任务
因为你正在关注空间而触发的通知将 不会 显示在工作箱中。
如果你的 Confluence 安装与 JIRA 连接,你还会在工作箱中看到来自 JIRA 的以下通知:
-
评论你正在关注的问题
-
在问题中提到
-
分享问题、筛选器和搜索
配置工作箱通知
Confluence 工作箱默认启用;作为 Confluence 管理员,你可以禁用它或更改配置。有几种配置方案:
-
你的 Confluence 安装提供应用内通知,并将其显示在自己的工作箱中。在这种情况下,有两种可能性:
-
这个 Confluence 安装是唯一涉及的安装。
-
或者,这个 Confluence 安装会显示自己的通知,并且还会显示来自 JIRA 和/或其他 Confluence 安装的通知。
-
-
你的 Confluence 安装将应用内通知发送到另一个 Confluence 安装。
-
应用内通知完全禁用且不可用。
Confluence 工作箱包括通知和任务,当工作箱通知启用时,个人任务也会启用。如果你禁用通知,个人任务也将不可用。
启用工作箱通知
要使用通知和任务,必须启用 Confluence 工作箱。
要启用 Confluence 工作箱,请执行以下步骤:
-
浏览到管理控制台 (Administration | Confluence Admin)。
-
从左侧菜单中选择 应用内通知。
-
选择 显示应用内通知 并点击 保存 来保存表单。工作区图标将出现在导航栏的右上角。
![启用工作区通知]()
-
主动轮询间隔:这是 Confluence 在检查与当前用户查看的页面相关的新通知之前等待的秒数。
-
非活动轮询间隔:这是 Confluence 在检查与当前未聚焦的所有页面相关的新通知之前等待的秒数。如果已配置,这也可以在其他服务器上进行。
-
包括来自 JIRA 的通知
Confluence 工作区可以包括来自 JIRA 问题跟踪器的通知,但这需要额外的设置。
要包括来自 JIRA 的通知,请执行以下步骤:
-
确保 JIRA 和 Confluence 通过应用链接连接。
-
浏览到管理控制台 (Administration | Confluence Admin)。
-
从左侧菜单中选择 应用链接。
-
选择 添加应用链接 并按照向导创建新的应用链接。(有关应用链接的更多信息,请参见 第八章,高级 Confluence。)
-
如果你的 JIRA 服务器已链接多个 Confluence 服务器,确保主应用链接指向将显示应用内通知的 Confluence 服务器。
-
-
在管理控制台的左侧菜单中选择 应用内通知。
-
选择 显示来自其他服务器的应用内通知。
-
你的 JIRA 服务器将出现在链接应用程序的列表中。
-
用户将在 Confluence 工作区中看到 JIRA 通知。
-
请注意,此功能仅适用于 JIRA 5.2 或更高版本。JIRA 将仅将通知发送到配置为主应用链接的 Confluence 服务器。
向另一个 Confluence 服务器发送通知
Confluence 可以向另一个 Confluence 服务器发送和接收通知。为了演示如何设置,我们假设有两个 Confluence 服务器 ConfSend 和 ConfReceive,其中 ConfSend 将其通知发送到 ConfReceive。
要将通知发送到另一个 Confluence 服务器,请执行以下步骤:
-
通过应用链接连接两个 Confluence 安装。在
ConfReceive中:-
浏览到管理控制台 (Administration | Confluence Admin)。
-
从左侧菜单中选择 应用链接。
-
按照 包括来自 JIRA 的通知 部分中描述的方式设置应用链接。
-
-
配置
ConfReceive显示应用内通知。-
从管理控制台的左侧菜单中选择 应用内通知。
-
选择 显示来自其他服务器的应用内通知。
-
-
在
ConfSend中配置通知设置。-
从管理控制台左侧菜单中选择 应用内通知。
-
选择 将应用内通知发送到另一个服务器。
-
选择要将通知发送到的 Confluence 安装。
-
使用任务
Confluence 工作盒的另一个重要部分是任务。通过个人任务,你可以直接在 Confluence 中创建自己的待办事项列表,这对于与 Confluence 中的内容或评论相关的任务非常有用。
有几种方式可以让你和其他人将任务分配给你:
-
你可以通过工作盒添加个人任务
-
你可以通过工作盒中的通知添加任务;如果你不想忘记某些事情,这非常有用
-
有人可以从 Confluence 页面上的任务列表中分配任务给你
-
其他插件可以为你创建任务
使用个人任务
你可以使用工作盒界面在 Confluence 中创建自己的个人任务。
要创建新任务,请执行以下步骤:
-
通过选择 Confluence 头部的工作盒图标来打开工作盒。
-
选择个人任务图标。
-
在文本框中输入任务概要,点击 添加任务 来添加个人任务。
-
要向任务添加更多细节,点击新创建的任务。在备注文本框中输入任何细节和备注。
![使用个人任务]()
要更改任务优先级,请执行以下步骤:
-
通过选择 Confluence 头部的工作盒图标来打开工作盒。
-
拖放任务以更改其顺序。点击任务并按住鼠标按钮,拖动任务到新的位置。释放鼠标按钮以保存更改。
要完成任务,请执行以下步骤:
-
通过选择 Confluence 头部的工作盒图标来打开工作盒。
-
勾选任务旁边的复选框以完成它。
-
完成的任务会被隐藏,并可以通过工作盒底部的 查看已完成 链接显示出来。
使用任务列表
任务列表可以放置在页面上,非常有助于在团队中分配和管理任务。任务列表会将已分配的任务放入被分配者的工作盒中,并保持进度同步,这意味着在工作盒中完成任务也会在任务列表中完成该任务。
提示
任务列表在会议纪要中非常有用,特别是当你想要分配并跟踪会议中的行动项时。
你还可以使用任务列表来跟踪新员工入职时所需完成的所有任务,例如用户账户、笔记本电脑和互联网访问。
要在页面上添加任务列表,请执行以下步骤:
-
打开页面的编辑模式。
-
在编辑器工具栏中,选择任务列表图标或使用快捷键 [ + ]。
-
输入任务的描述。
-
如果你想将任务分配给某人,请在任务描述中输入
@和该人的全名(@提及的详细说明请参见本章其他部分)。被分配的人将收到通知,任务将出现在他们的个人任务列表中。你也可以提及自己,以将任务分配到自己的任务列表。 -
完成任务列表时,按Enter键两次。
![与任务列表的互动]()
在页面上管理任务
当您或他人查看页面时,任务可以被标记为已完成或未完成。更新的任务及其状态也会与工作区同步。
-
要在查看模式下更新任务列表:
-
您需要编辑权限
-
您需要在空间中拥有创建页面的权限
-
Confluence 移动界面
使用像 Confluence 这样的协作工具,您能够在出差时仍然访问您的信息并跟进讨论是非常重要的。Confluence 提供了内置的移动界面,适用于带有网页浏览器的现代移动设备,操作简便。
在您的手机或其他支持的移动设备上,您可以:
-
查看 Confluence 仪表板、页面、博客文章和用户资料
-
向页面或博客文章添加评论
-
点赞内容,例如页面、博客文章或评论
-
管理您的个人任务和通知
在移动界面中无法添加或编辑页面或博客文章,也无法编辑现有评论。与桌面版相比,移动界面的导航方式也有所不同。空间和树形视图在移动界面中不可用,导航是通过使用 Confluence 搜索来查找内容完成的。

查看
登录移动界面后,您首先看到的将是仪表板,尽管并非所有更新都会显示。移动界面上仪表板中可用的内容包括:
-
热门内容 – 基于评论和点赞
-
最近的博客 – 您可以访问的空间中的最新博客文章
-
网络 – 来自您网络中的人的更新
点击链接将带您进入页面、博客文章或评论的完整内容。查看页面或博客文章的完整内容时,您可以:
-
查看内容。点击任何链接即可跳转到 Confluence 中的其他页面。
-
点赞或取消点赞页面、博客文章或评论。
-
添加评论。移动界面仅支持纯文本评论。
![查看]()
如前一张截图所示,您可以使用移动界面更改任务的状态。
用户资料
通过移动界面,您可以搜索用户,然后直接使用手机拨打电话、发短信或发电子邮件给该用户,前提是该用户已在 Confluence 中填写了相关信息。
提示
公司通讯录
使用 Confluence 的移动界面,您可以轻松创建公司通讯录。只需确保每位员工及时更新自己的信息。

搜索
点击左上角的菜单图标以打开菜单面板。在搜索框中开始输入页面标题或人的名字。移动界面的搜索引擎旨在快速并仅提供基于页面标题的匹配结果。要进行完整搜索,你需要切换到桌面模式。点击搜索结果以查看完整内容。

通知和任务
你可以直接从手机查看和回复通知。点击菜单图标打开左侧菜单。选择通知,然后点击一个通知查看其详细信息。你可以通过行动来回复、点赞或关注。点击打开以打开页面或博客帖子。
选择任务来查看和管理你的个人任务。点击加号(+)添加新任务。点击任务以查看其详细信息。使用移动设备,你可以添加备注、完成任务或浏览相关页面。
关于移动界面的注意事项
移动界面是保持与时俱进的一种好方式,即使你不在正常的桌面前。 但是,Confluence 桌面版本提供的所有功能并不能完全转移到移动界面。
-
有些宏可能无法使用。
Confluence 宏在移动界面中尚不完全支持。如果你正在查看带有不支持的宏的内容,你将看到一个消息,邀请你切换到页面的桌面版本。
-
在桌面和移动界面之间切换。
在你的移动界面中使用左侧菜单面板,你可以切换到 Confluence 的桌面版本。当你在移动设备上查看桌面版本时,你还会看到一个链接,允许你切换回移动界面。
-
移动界面可以被禁用。
如果你在 Confluence 上运营一个公共网站,你可能希望关闭移动界面,以保持原有的外观和感觉。移动界面有一个插件叫做 Confluence 移动插件,可以通过管理控制台禁用。
总结
我们已经了解了 Confluence 工作区及其与应用内通知和个人任务的协同工作能力。两者都可以用来共享内容,或让更多人参与到你的工作流程、行动和内容中。
任务是会议后或准备新版本时跟踪待办事项的好方法。通过任务列表,我们可以将任务分配给其他人并跟踪这些任务。
使用移动界面,你可以在旅途中随时随地使用 Confluence(前提是你有互联网连接)。移动界面可以用来搜索信息、对页面或博客帖子发表评论,并管理你的通知和任务。使用移动界面搜索其他用户时,可以直接从你的移动设备拨打电话或发送消息给他们。
通过在 Confluence 中创建、分享和跟踪内容,我们可以深入了解 Confluence 的另一个方面——内容安全。能够控制谁可以查看或编辑你的内容是我们将在下一章节中学习的内容。
第六章:安全您的内容
现在我们知道如何创建丰富和引人入胜的内容,以及如何让同事参与内容创建过程中。我们已经在使用 Confluence 一段时间了,越来越多的信息变得可用。
在本章中,我们将学习如何保护我们的私有内容。我们将查看保护内容的不同方法,同时也将研究如何保护完整的 Confluence 安装。
本章我们将讨论以下主题:
-
全局权限
-
空间权限和页面限制
-
安全管理员会话
-
一些安全最佳实践
访问内容
到目前为止,我们创建的所有内容都可以被具有 Confluence 访问权限的任何人查看和编辑,甚至可以在启用匿名登录的情况下无需登录。当公司的信息和文档存储在 Confluence 中时,允许任何人查看或编辑它们可能不是最佳的安全设置。
Confluence 为您提供了使安装尽可能开放或封闭的所有工具。在我们讨论选项及如何启用它们时,请记住以下几点:
-
Confluence 是一款用于沟通和协作的工具;它允许用户尽可能查看和编辑更多的内容。这将帮助您充分利用组织内透明的知识交流。
因此,在仅在有充分理由时才限制空间或页面的情况下。
-
Confluence 记录对页面或博客文章的每一次更改。这使得轻松查看谁更改了什么,如果需要的话,可以将内容恢复到先前保存的状态。
在每个人都在自己的桌面上处理文档的情况下,人们不习惯获得反馈和输入。这可能是公司在开始使用 Confluence 时必须经历的文化转变。在限制对空间、页面或博客文章的访问之前,请问自己:“为什么这篇文档应该是私有的,而在我的组织内使其更可见会有什么害处?”
全局权限
全局权限是站点范围的权限,只能由系统管理员和 Confluence 管理员分配。全局权限可以分配给组、个别用户和匿名用户。
在我们讨论如何更改不同的全局权限之前,了解不同的管理员角色是很重要的:
-
超级用户:任何属于 confluence-administrators 组的用户都具有对 Confluence 的完全管理访问权限。超级用户甚至可以查看和编辑所有内容,即使受权限限制也不例外。
-
系统管理员:具有系统管理员全局权限的用户具有对 Confluence 的完全管理访问权限,但不能查看或编辑他们没有权限的内容。
-
Confluence 管理员:具有 Confluence 管理员全局权限的用户对 Confluence 的管理功能有有限的访问权限。例如,Confluence 管理员不能安装新的插件。有关哪些功能受到限制的更多详细信息,请参阅比较管理角色部分。
提示
Confluence 管理员权限和 confluence-administrators 组是没有关系的。
尽管名称上看起来它们相关,但实际上并不相同。授予用户或组 Confluence 管理员权限并不等同于将该用户添加到 confluence-administrators 组。
不同角色之间的关系在以下图示中有所说明:

注意
由于 confluence-administrators 组内的用户被允许查看和编辑所有内容,建议为日常工作使用不同的用户账户。具有系统管理员权限时,可以执行所有管理功能,但您的管理员不能查看所有内容。
如果限制的内容无法再被任何人访问,则需要一个超级用户账户。超级用户仍然可以访问内容并恢复限制。
更新全局权限
如果您是 Confluence 管理员,您可以将用户和组添加到全局权限中,以确定其权限。
要查看全局权限:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
在左侧菜单中选择全局权限。接下来的屏幕将显示如下截图:
![更新全局权限]()
要为组添加权限,请执行以下步骤:
-
选择编辑权限;这将显示编辑全局权限屏幕。
-
在组部分的授予浏览权限给框中输入组名。您也可以搜索组名。
-
点击添加。
-
该组将被添加到列表中,您可以编辑其权限。
-
当所有相关的复选框都被选中后,点击页面底部的保存所有按钮。
要为用户添加权限,请执行以下步骤:
注意
在向用户添加权限之前,首先考虑管理开销。将他们添加到一个组并为该组分配权限,从长远来看将减少维护工作。
-
选择编辑权限;这将显示编辑全局权限屏幕。
-
在个人用户部分的授予浏览权限给框中输入用户名。您也可以搜索用户名。
-
点击添加。然后,用户将被添加到列表中,您可以编辑其权限。
要添加或编辑组和用户的权限,请执行以下步骤:
-
在相关用户或组的权限下,选择或清除复选框。选中的框表示已授予该权限。
-
要允许匿名访问你的 Confluence 安装,请在匿名访问部分选择使用 Confluence选项。
-
选择保存所有以保存更改。
![更新全局权限]()
全局权限概述
在之前的步骤中,我们学习了如何管理不同的全局权限。下表中解释了这些不同的全局权限。这些权限也显示在之前的截图中。
| 权限 | 描述 |
|---|---|
| 可以使用 | 这允许用户访问你的 Confluence 网站。拥有此权限的用户将计入你的许可证用户数。 |
| 将文件附加到用户个人资料 | 由于个人空间的引入,此权限不再相关,可以忽略。 |
| 更新用户状态 | 这允许用户更新他们的状态消息。 |
| 个人空间 | 这允许用户创建和维护个人空间。 |
| 创建空间 | 该权限允许用户在 Confluence 中创建新空间。当一个空间被创建时,创建者会自动成为该空间的空间管理员。 |
| Confluence 管理员 | 该权限允许用户访问控制站点范围管理的管理控制台。拥有此权限的用户可以执行部分管理功能。 |
| 系统管理员 | 该权限允许用户访问控制站点范围管理的管理控制台。拥有此权限的用户可以执行所有管理功能。 |
比较管理角色
我们已经学习过,拥有系统管理员权限的用户可以执行 Confluence 中的所有管理功能。而拥有 Confluence 管理员权限的用户仅允许管理这些功能的子集。
你可以将 Confluence 管理员权限授予那些应该能够执行大多数管理功能的用户,但不应授予那些可能危及 Confluence 系统安全性的功能。
以下功能被授予系统管理员权限,但从 Confluence 管理员权限中排除,以确保你的 Confluence 实例的完整性和安全性。
-
一般配置 – 仅排除以下选项:
-
更改服务器基本 URL
-
启用/禁用远程 API
-
启用/禁用压缩 HTTP 响应
-
更改连接超时
-
-
备份管理
-
外部小工具
-
邮件服务器
-
用户宏
-
应用内通知
-
附件存储
-
PDF 导出
-
Office 连接器
-
插件 – 仅排除以下选项:
-
升级插件
-
安装新插件
-
Confluence 升级检查
-
-
安全配置 – 仅排除以下选项:
-
外部用户管理
-
向用户和组搜索添加通配符。
-
为空间启用自定义样式表。
-
在 500 错误页面上显示系统信息。
-
最大 RSS 项目数
-
RSS 超时
-
XSRF 保护
-
防止 XSS 模式
-
-
更改全局样式表
-
添加自定义 HTML
-
备份与恢复
-
邮件队列
-
缓存统计
-
定时任务
-
日志记录与分析
-
Atlassian 支持工具
关于全局权限的说明
在使用全局权限时需要记住一些事项,例如拥有以下权限的用户:
-
Confluence 管理员权限可以访问全局权限页面并更改权限,但不能更改 confluence-administrators 组的权限
-
Confluence 管理员权限无法授予自己系统管理员权限
-
Confluence 管理员权限无法将自己添加到 confluence-administrators 组,并成为超级用户
-
系统管理员权限可以在全局权限页面上更改 confluence-administrators 组的权限
-
系统管理员权限可以将自己添加到 confluence-administrators 组,并成为超级用户
空间权限
每个空间都有自己的一组权限。这些权限决定了特定用户和组对该空间的访问权限。为了分配这些权限,用户必须是空间管理员,即他们应该具有该空间的管理员权限。
权限概述
以下是您可以在空间级别设置的不同权限列表:
| 权限 | 描述 |
|---|---|
| 查看 | 用户可以查看此空间的内容,包括页面和博客文章。如果没有此权限,用户将无法访问该空间。 |
| 页面 – 添加 | 用户可以在此空间中添加和编辑页面。 |
| 页面 – 限制 | 用户被允许应用页面级别的限制。 |
| 页面 – 删除 | 用户被允许删除此空间中的页面。 |
| 博客 – 添加 | 用户被允许创建和编辑博客文章。 |
| 博客 – 删除 | 用户被允许删除此空间中的博客文章。 |
| 评论 – 添加 | 用户被允许在此空间中发表评论。 |
| 评论 – 删除 | 用户被允许删除此空间中的任何评论。 |
| 附件 – 添加 | 用户被允许在此空间中添加附件。 |
| 附件 – 删除 | 用户被允许删除此空间中的任何附件。 |
| 邮件 – 删除 | 用户被允许删除邮件项。 |
| 空间 – 导出 | 用户被允许从此空间导出内容。 |
| 空间 - 管理 | 用户对该空间具有管理权限。 |
注释
如果由于错误,所有对空间的管理访问权限被移除,则没有人可以再管理该空间。例如,如果一个空间管理员离职,或者拥有空间管理员权限的组被从 Confluence 中移除,就可能发生这种情况。在这种情况下,需要来自 confluence-administrators 组的人员来帮助修复权限。
管理空间权限
权限可以授予组或个人用户。你需要是空间管理员才能分配空间权限。Confluence 管理员也可以设置新建空间时应用的默认权限;此内容将在以下部分说明。
要访问空间权限,你需要执行以下步骤:
-
进入空间并在左侧边栏选择空间工具。
-
选择权限,然后选择权限。
注意
请注意,权限菜单仅在你是空间管理员或超级用户时显示。
在空间权限屏幕中,你将注意到以下三个部分:
-
组:已拥有访问空间权限的组列表
-
个人用户:已拥有访问空间权限的用户列表
-
匿名访问:为匿名用户授予此空间的权限
![管理空间权限]()
要为组分配权限,请执行以下步骤:
-
点击组部分下方的编辑权限按钮。
-
要分配权限,勾选相关的复选框。
-
要删除权限,取消勾选相关权限下方的复选框。
-
要将新组添加到列表中,请在组部分的文本框中输入组名,然后点击添加。你还可以通过点击文本框旁边的放大图标来搜索组。
注意
对于批量操作:
点击操作列中的齿轮图标。
选择全选或取消全选来执行批量操作。
-
点击保存所有以应用更改。
要为用户分配权限:
-
点击编辑权限按钮,位于个人用户部分下方。
-
要分配权限,勾选相关的复选框。
-
要删除权限,取消勾选相关权限下方的复选框。
-
要将新用户添加到列表中,请在个人用户部分的文本框中输入用户名,然后点击添加。你还可以通过点击文本框旁边的放大图标来搜索用户。
注意
对于批量操作:
点击操作列中的齿轮图标。
选择全选或取消全选来执行批量操作。
-
点击保存所有以应用更改。
要为匿名用户分配权限:
-
点击编辑权限按钮,位于匿名用户部分下方。
-
要分配权限,勾选相关复选框。
-
要删除权限,取消勾选相关权限下方的复选框。
-
点击保存所有以应用更改。
匿名用户不能被授予空间管理权限或限制页面的权限。
设置默认空间权限
Confluence 管理员可以设置默认权限,这些权限将应用于每个新创建的空间。默认权限只能为组配置,而不能为个人用户或匿名用户配置。
要设置默认空间权限:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择空间权限。
-
选择编辑权限。
-
按照上一节中如何为组分配权限的描述,添加组并更改权限。
![设置默认空间权限]()
页面限制
页面限制是控制你内容访问权限的最低层次。通过页面限制,你可以控制谁可以查看或编辑单个页面。
页面限制层级
在我们讨论如何设置和管理页面限制之前,了解 Confluence 如何处理权限和限制是很有帮助的。权限和页面限制是分层处理的。这意味着可以访问和修改全局权限的用户,可以定义哪些用户可以访问和修改空间权限。空间管理员可以定义哪些用户有权创建和修改页面。这些用户随后可以对页面应用查看和编辑限制。子页面会继承父页面的查看和编辑限制。
如果你将其转化为一个图示,它将是这样的:

继承
我之前提到过,子页面会继承父页面上设置的查看限制。这对于子页面的子页面也是成立的,依此类推。如果一个页面已经继承了父页面的限制,并且对该页面设置了查看限制,那么用户必须同时满足两项限制才能看到该页面。
编辑限制不会从父页面继承,只会从空间继承。编辑限制需要重新应用到子页面。
管理页面限制
我们将首先讨论查看页面限制。
当你查看已应用页面限制的页面时,你会注意到页面标题下方的署名旁边有一个小锁图标。如果你点击该图标,页面限制对话框将显示,展示该页面限制的详细信息。
当你编辑页面时,你会注意到屏幕底部有一个限制按钮。点击此按钮也会显示页面限制对话框。
接下来,我们将看看如何设置页面限制。为了设置页面限制,执行以下步骤:
-
浏览到相关页面。
-
选择工具 | 限制以打开页面限制对话框。
-
选择你想要设置的限制选项(查看或编辑)。
-
选择你希望能够查看或编辑页面的用户和组。
-
要包括自己,请点击我。
-
要选择特定的用户或组,请在文本框中输入用户的用户名或组名。点击限制,允许该用户或组查看或编辑该页面。
-
要搜索用户或组,请点击人员…或组…按钮。
-
-
点击保存以应用新的限制,如下图所示:
![管理页面限制]()
要移除页面限制,请执行以下步骤:
-
使用挂锁图标打开页面限制对话框,或选择工具 | 限制。
-
点击用户或组旁边的移除限制链接,以将其从限制中移除。这样,除非没有限制,否则您将禁止他们查看或编辑该页面。
-
点击保存。
接下来我们将讨论查看受限页面。作为空间管理员,您可以查看所有受限页面。在此视图中,还可以移除页面限制。例如,当没有人能够访问某个页面时,您可能需要执行此操作。
-
进入空间并在左侧边栏选择空间工具。
-
选择权限,然后选择受限页面。
注意
请注意,权限菜单仅在您是空间管理员或超级用户时显示。
-
点击解锁图标将移除限制。
![管理页面限制]()
Confluence 安全
到目前为止,我们讨论了权限和限制,这当然是保护数据安全的关键部分。但还有一些最佳实践和功能可以降低 Confluence 安装被破坏的风险,并防止错误的人获得访问权限。
安全管理员会话
Confluence 通过一个特殊的管理员会话保护其管理功能的访问。当用户尝试访问管理控制台或空间管理时,会提示用户重新登录。这将使管理员登录到一个临时的安全会话,允许访问这些管理页面。在文档的其他部分,这一功能也称为WebSudo。

管理员会话具有 10 分钟的滚动超时(默认)。这意味着如果在 Confluence 或空间管理中没有活动 10 分钟,用户将被登出管理员会话。如果用户点击任何管理功能,超时时间将被重置。
配置安全管理员会话:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择安全配置。
-
编辑设置:
-
要禁用安全管理员会话,请取消选中启用旁边的复选框安全管理员会话。
-
要更改会话的超时时间,请更新自动失效前的分钟数旁边的值。
-
-
点击保存。
如果您的 Confluence 实例使用自定义构建的身份验证机制,额外的登录验证可能会导致问题,因为它会将身份验证与 Confluence 进行对比,而不是与您自己的自定义身份验证服务器进行对比。禁用密码确认将是一个有效的解决方案。
管理员始终可以通过点击屏幕顶部显示的横幅中的丢弃访问来手动结束安全会话,以下截图所示:

Atlassian 安全通告
像 Confluence 这样的软件并非完美无缺,偶尔会发现一些漏洞。当漏洞被发现时,Atlassian 将根据行业标准的常见漏洞评分系统(CVSS)来计算其严重性。
注意
欲了解更多有关 CVSS 的信息,请访问www.first.org/cvss/cvss-guide.html。
根据 CVSS 评分,严重性将依据以下准则进行映射:
| CVSS 评分范围 | 通告中的严重性 |
|---|---|
| 0 – 2.9 | 低 |
| 3 – 5.9 | 中 |
| 6 – 7.9 | 高 |
| 8 – 10 | 严重 |
以下是通常导致特定严重性的因素总结。这些评级不考虑您个人的安装细节,而是基于一个平均的安装环境。
-
严重:这意味着为利用该漏洞所需的信息广泛可供攻击者获取。
漏洞利用通常是直接的,这意味着攻击者无需任何特殊凭证或对您安装环境中的个人知识。
漏洞的利用会导致您的服务器或其他基础设施设备的根级别妥协。
注意
对于严重漏洞,建议您尽快修补或升级,除非您已采取其他措施。例如,如果您的 Confluence 安装没有通过互联网访问。
-
高:在此情况下,漏洞的利用不会导致权限提升。
漏洞的利用不会导致显著的数据丢失或损坏。
并且,漏洞利用是困难的。
-
中等:拒绝服务漏洞的设置较为复杂。
这些漏洞只会影响非标准配置或不常见的应用程序。
这包括需要攻击者与受害者位于同一局域网内的漏洞。
这包括那些需要攻击者通过社交工程手段操控个别受害者的漏洞。
这包括漏洞利用仅提供非常有限的访问权限。
-
低:低范围的漏洞通常对组织的业务影响非常小。利用这些漏洞通常需要本地或物理系统访问权限。
当发现严重漏洞并解决时,Atlassian 将通过以下渠道通知客户:
-
Atlassian 将在发布漏洞修复的同时,将安全通告发布到 Confluence 的最新文档中。请查看以下链接:
confluence.atlassian.com/display/DOC/Confluence+Security+Overview+and+Advisories -
Atlassian 将会把安全通告的副本发送到“技术警报”邮件列表。
如果您想跟踪非关键性漏洞,您可以监视 Confluence 的问题跟踪器,网址为jira.atlassian.com/browse/CONF。安全问题将标记有“security”标签。
限制对 Confluence 管理的访问
Confluence 管理控制台在保持您的 Confluence 安装运行并确保用户具有应有的权限方面发挥着至关重要的作用。
进一步保护管理控制台的一种方式是将其访问限制在您网络或互联网上的某些机器上。如果您在 Confluence 安装前使用 Apache Web 服务器,操作如下:
-
第一步是在服务器的常见位置创建一个文件。我们将使用此文件来包含所需的 Apache 配置,确保我们只需更改一个位置而不是多个位置。我们可以按以下方式执行此操作:
-
在您的 apache 配置目录中创建名为
local_machines_only.conf的文件。 -
在此文件中添加以下行(仅包括粗体部分):
-
Order Deny, Allow:首先查找 Deny 规则,然后是 Allow 规则
-
Deny from All:拒绝所有人的访问
-
Allow from 192.168.1.5 #Arthur 的机器:基于 IP 允许从 Arthur 的机器访问
注意
有关 Apache 访问控制的更多信息,请参阅
httpd.apache.org/docs/2.2/howto/access.html。 -
-
接下来的步骤是将大量位置添加到您的 Apache 虚拟主机配置中。以下配置假设您已在上下文路径
/confluence下安装了 Confluence,即http://mycompany.com/confluence。如果您的安装不是这样,请相应地更改以下配置中的位置:<Location /confluence/admin> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/consumers/list> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/view-consumer-info> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/service-providers/list> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/service-providers/add> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/consumers/add> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/consumers/add-manually> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/oauth/update-consumer-info> Include local_machines_only.conf </Location> <Location /confluence/pages/templates/listpagetemplates.action> Include local_machines_only.conf </Location> <Location /confluence/pages/templates/createpagetemplate.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/spacepermissions.action> Include local_machines_only.conf </Location> <Location /confluence/pages/listpermissionpages.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/removespace.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/importmbox.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/viewmailaccounts.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/addmailaccount.action?> Include local_machines_only.conf </Location> <Location /confluence/spaces/importpages.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/flyingpdf/flyingpdf.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/exportspacehtml.action> Include local_machines_only.conf </Location> <Location /confluence/spaces/exportspacexml.action> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/embedded-crowd> Include local_machines_only.conf </Location> <Location /confluence/plugins/servlet/upm> Include local_machines_only.conf </Location>
这将确保只有指定的机器和 IP 才能访问管理功能。
最佳实践
设置您的 Confluence 角色、权限和内部流程的方式将极大影响保持您的 Confluence 安装的安全性。以下是一些您可以考虑的建议。这些建议不能使您的安装完全安全,但可以减缓或阻止攻击者的行动。
通常可以说,“安全不应因方便而忽视。”
-
尽可能保持 Confluence 管理员的数量尽可能低,但仅有一个管理员也不是没有风险。
-
限制具有强大角色或组成员资格的用户数量。如果只有一组用户应访问某些特定数据,请将数据访问权限限制为这些用户。当无需时,不要将所有员工都授予对敏感数据的访问权限。
-
Confluence 管理员应为其管理角色和日常工作分别拥有独立的帐户。
-
尽可能限制管理访问。如果没有理由从办公室外执行管理任务,请使用前面提到的方法将访问限制为已知 IP 地址。
-
制定好文档化的流程,以便当人员离开部门或公司时,确保他们无法再访问您的 Confluence。
-
Confluence 数据库用户应该仅具有读取和写入 Confluence 数据库的权限,不应允许执行数据库管理职能。
-
定期监控您的安全需求,因为随着时间的推移,情况会发生变化。您可能不知不觉中会有 10 个管理员,而不是 3 个,或者在升级系统时修改了 Apache 配置。
请记住,这些建议可能只是您整个基础设施的一小部分。应用那些对贵公司和安全需求有意义的建议。
摘要
我们已经了解了如何通过空间权限和页面限制来保护我们的内容隐私。Confluence 有一个分层的权限结构,从超级用户开始,超级用户可以更改所有权限并查看所有内容。关于安全性,遵循的一个好规则是,将具有管理权限的用户数量限制到绝对最小。
需要注意的是,限制权限可以帮助限制对您创建的内容的访问,但这与应用程序的预期用途和好处相悖。Confluence 是一个 Wiki,因此它的设计目的是鼓励协作和共享。在限制特定用户和群体对 Confluence 实例区域的访问时,请记住这一点。
下一章将介绍如何自定义 Confluence 的外观和感觉,使其融入贵公司的品牌。
第七章:自定义 Confluence
如果你打算将 Confluence 引入公司,使用公司品牌和徽标会有很大帮助。本章将介绍不同的方式来定制 Confluence 的外观和感觉,并修改用户体验的方法。
我们将学习如何相对轻松地根据需求定制 Confluence。即使这些功能不足以满足你的需求,Confluence 还提供了更多高级选项,供你修改布局和样式。
本章内容包括:
-
更改登录页面并修改仪表盘
-
选择实例或空间的主题
-
将公司品牌应用于 Confluence
-
添加自定义 HTML 和样式表
-
更改默认的 Confluence 布局
Confluence 仪表盘
第一次登录 Confluence 时,你将看到仪表盘。Confluence 仪表盘会快速显示最近更改的内容。从仪表盘,用户可以导航到 Confluence 中的空间或部分。
Confluence 首页
Confluence 的默认首页是仪表盘,但作为 Confluence 管理员,你可以将其更改为任何你喜欢的空间首页。请记住,空间必须对所有用户可访问,如果你的 Confluence 安装允许匿名访问,空间也应该允许匿名用户查看。
要更改默认首页,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择常规配置。
-
点击左上角的编辑链接。
-
从站点首页旁边的下拉菜单中选择一个空间。
-
点击保存以保存更改。
用户还可以更改个人默认首页,这将覆盖全局设置。
要更改个人默认首页,请执行以下步骤:
-
在右上角选择你的头像。
-
从下拉菜单中选择设置。
-
点击编辑按钮。
-
从站点首页旁边的下拉菜单中选择一个空间。
-
点击提交以保存更改。
欢迎消息
欢迎消息出现在 Confluence 仪表盘的左上角,可以用来展示关于 Confluence 的常见介绍或一些重要的公司新闻。
提示
将页面包含为欢迎消息
要更改欢迎消息的内容,用户必须是 Confluence 管理员。如果你希望其他用户更改欢迎消息,或者只是想使用默认的 Confluence 编辑器,包含一个页面是一个完美的解决方案。我们将在本章后面部分学习如何设置此配置。
执行以下步骤编辑欢迎消息:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择全局模板。
-
点击默认欢迎消息右侧的编辑链接。
-
使用编辑器创建你自己的欢迎消息。
-
点击保存以保存更改。
注意
请记住,欢迎消息只是 Confluence 仪表板的一小部分。尽量避免使用页面布局和区块,因为它们可能无法正确显示。如果你在欢迎消息中插入图片和其他元素,尽量将宽度保持在 300px 到 400px 之间。
恢复默认的欢迎消息
默认欢迎消息如下图所示。它是一个常见的欢迎使用 Confluence和开始使用的文本。

要恢复默认的欢迎消息,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择全局模板。
-
点击默认欢迎消息右侧的重置为默认值链接。
删除“开始使用”文本
默认情况下,Confluence 仪表板会在站点欢迎消息下显示管理员的快速入门指南。此指南仅对 Confluence 管理员和系统管理员可见。系统管理员可以通过以下方式编辑站点布局来更新或删除此指南:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择布局。
-
选择创建自定义或在全局布局旁边选择编辑。如果全局布局已经自定义,则可以选择编辑选项,否则你需要使用创建自定义链接。
-
在代码中找到以下部分,并根据需要删除或编辑:
#if($permissionHelper.isConfluenceAdministrator($remoteUser)) <div class="dashboard-item wiki-content"> <h2>$i18n.getText("getstarted.heading")</h2> <ol id="dashboard-get-started"> <li class="create-space"> <h3><a href="$req.contextPath/spaces/createspace-start.action">$i18n.getText("getstarted.add.space")</a></h3> <p>$i18n.getText("getstarted.add.space.desc")</p> </li> <li class="add-users"> <h3><a href="$req.contextPath/admin/users/browseusers.action">$i18n.getText("getstarted.add.users")</a></h3> <p>$i18n.getText("getstarted.add.users.desc")</p> </li> <li class="user-profile"> <h3><a href="$req.contextPath/users/editmyprofilepicture.action">$i18n.getText("getstarted.choose.profile.picture")</a></h3> <p>$i18n.getText("getstarted.choose.profile.picture.desc")</p> </li> </ol> </div> #end -
选择保存。
注意
升级 Confluence 安装后,可能需要重新应用这些更改。
包含来自其他页面的内容
在许多情况下,将另一个页面作为欢迎消息包含进来能为你提供更多的灵活性和控制权,并允许你定期更新内容。使用普通的 Confluence 页面意味着你可以:
-
允许不是 Confluence 管理员的其他人编辑消息
-
监视包含的页面,当欢迎消息发生更改时会收到通知。
确保你要包含的页面对所有用户可见,包括如果你的 Confluence 允许匿名访问的话,还需要对匿名用户可见。
如果用户没有权限查看某个页面,他们将在仪表板上看到以下消息:
无法渲染 {include} 包含的页面找不到。
要包含来自其他页面的内容,请执行以下步骤:
-
按照平常的方式在 Confluence 中创建页面。
-
点击顶部导航中的创建按钮。
-
选择你想要创建页面的空间。
-
选择空白页面模板。
-
给页面起一个标题,比如
Confluence 仪表板。 -
在页面上输入一些基本内容。
-
点击保存以保存页面。
-
-
根据需要更改页面限制。常用的设置是将该页面的编辑权限限制为某一特定小组。
-
使用前面的步骤编辑站点的欢迎信息。
-
选择插入 | 其他宏,然后搜索“Include Page”宏。
-
在宏属性面板中,搜索您刚刚创建的页面。
-
选择插入。
-
-
点击保存以保存欢迎信息。
![从另一个页面包含内容]()
在前面的示例中,我们添加了一个通过标签查找内容的“Content by Label”宏。我们还包括了一个带有效果的图片,该图片链接到 Confluence 上的另一页面。
主题
主题是一组预定义的样式,可以用来个性化 Confluence 的外观和感觉。主题可以应用于整个站点和单个空间。一些主题为 Confluence 添加了额外的功能,或者显著改变了布局。
Confluence 5 自带两个主题,管理员可以通过管理控制台作为附加组件安装新的主题。我们将在第九章,一般管理中详细介绍附加组件和 Atlassian 市场。
注意
Atlassian 计划将文档主题与默认主题合并。由于 Confluence 5 中尚未完成这一变化,我们将分别讨论它们,因为它们有一些不同的功能。请记住,文档主题将在某个时刻从 Confluence 中移除。
要更改全局 Confluence 主题,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
从左侧菜单中选择主题。
-
所有已安装的主题将显示出来。
选择适当的单选按钮以选择一个主题。
-
选择确认以更改主题:
![主题]()
空间管理员还可以为自己的空间选择不同的主题。拥有自己主题选择的空间(因此不使用全局外观和感觉)在 Confluence 管理员更改全局默认主题时不会受到影响。
要更改空间主题,请执行以下步骤:
-
转到空间中的任何页面。
-
在侧边栏中选择空间工具。(如果您不使用默认主题,请选择浏览 | 空间管理员。)
-
选择外观和感觉,然后选择主题。
-
选择您想要应用于空间的主题。
-
点击确认。
默认主题
如其名称所示,这是随 Confluence 一起发布的默认主题。这个默认主题在 Confluence 5 中进行了全面的改版,效果如下所示:

默认主题为每个空间提供了一个侧边栏,包含有用的链接和当前空间的导航帮助。通过侧边栏,您可以快速在浏览页面和博客帖子之间切换,反之亦然。侧边栏还允许将重要的空间内容作为链接添加,以便更快速地访问,并显示当前页面的子页面,方便导航。
提示
你可以折叠或展开侧边栏。点击并拖动边框,或使用快捷键:*。如果侧边栏已折叠,你仍然可以访问侧边栏选项。
配置主题
默认主题没有任何全局配置,但空间管理员可以对主题的侧边栏进行一些空间特定的更改。

文档主题的侧边栏会显示一个树形结构,列出你空间中的所有页面。点击页面标题前的图标将展开该分支并显示其子页面。
提示
侧边栏可以通过 ** 快捷键打开和关闭,或者通过 Confluence 页头搜索框左侧的图标来操作。
配置主题
文档主题允许配置侧边栏内容、页面标题和页脚,并可以将搜索限制为仅在当前空间内。
Confluence 管理员可以全局配置主题,但空间管理员可以覆盖该配置来为其空间定制主题。要为空间配置文档主题,空间管理员应明确选择 文档主题 作为空间主题。
文档主题的主题配置允许你更改以下截图中显示的属性。如何到达这个页面以及这些属性的含义将在接下来的内容中解释。

外观与感受
Confluence 的外观和感受可以在全局级别和空间级别进行自定义。对全局级别所做的任何更改将作为所有空间的默认设置应用。
空间管理员可以选择使用与全局外观不同的主题。当空间管理员选择不同的主题时,默认设置和主题不再应用于该空间。这也意味着,如果全局设置更新,空间中的设置将不会更新。
在本节中,我们将介绍一些基本的外观和感受的更改,例如更改 Confluence 实例的标志和配色方案。也可以更改一些 Confluence 布局;这将在 高级自定义 部分进行说明。
Confluence 标志
Confluence 标志是显示在 Confluence 导航栏上的标志。你可以轻松将其更改为公司标志。
要更改全局标志,请执行以下步骤:
-
进入管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择站点徽标。
-
点击选择文件以从您的计算机中选择文件。
-
决定是仅显示您的公司徽标,还是同时显示您的 Confluence 安装的标题。
- 如果您选择同时显示标题,您可以在站点标题旁边的文本字段中更改此项。
-
点击保存。
![Confluence 徽标]()
注意
正如您所注意到的,Confluence 还更改了您的安装配色方案。Confluence 将根据您的徽标建议配色方案。要恢复此更改,请点击撤销,该按钮会在您更新徽标后直接显示。
空间徽标
每个空间可以选择自己的徽标,使其更容易识别特定的主题或空间。Confluence 管理员也可以为新创建的空间或没有指定徽标的空间设置默认空间徽标。
注意
个人空间的徽标无法更改;它将始终使用用户的头像作为徽标。
要设置默认空间徽标,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
从左侧菜单中选择默认空间徽标。
-
点击选择文件以从您的计算机中选择文件。为获得最佳效果,请确保图像约为 48 x 48 像素。
-
点击上传徽标以上传默认空间徽标。
作为空间管理员,您可以替换空间的默认徽标。具体操作取决于您使用的主题。
要更改带有默认主题的空间徽标,请执行以下步骤:
-
进入相关空间的任意页面。
-
点击侧边栏中的配置侧边栏。
-
选择页面标题旁边的编辑图标。
-
点击徽标旁边的选择文件,并从您的计算机中选择文件。Confluence 将显示一个图像编辑器,指示徽标应如何显示,如下截图所示。
-
在编辑器中拖动并调整圆圈到正确的位置。
-
点击保存以保存更改。
-
点击完成按钮退出配置模式。
![空间徽标]()
要更改带有文档主题的空间徽标,请执行以下步骤:
-
进入相关空间的任意页面。
-
选择浏览 | 空间管理员。
-
从左侧菜单中选择更改空间徽标。
-
选择选择文件并从您的计算机中选择徽标。
-
点击上传徽标以保存新徽标;Confluence 将自动为您调整徽标的大小和裁剪。
配色方案
Confluence 和空间管理员可以为 Confluence 及单个空间配置新的配色方案。由 Confluence 管理员配置的全局配色方案也将作为默认空间配色方案。空间管理员可以为他们的空间配置不同的颜色。更改配色方案同样适用于个人空间。
要更改全局配色方案,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
从左侧菜单中选择 配色方案。
-
点击 编辑,然后将显示下一个截图中的界面。
-
使用标准 HTML/CSS 颜色代码或文本字段旁边的颜色选择器。
-
点击 保存 以应用更改到 Confluence。
要更改空间的配色方案,请执行以下步骤:
-
访问该空间中的任何页面。
-
在侧边栏中选择 空间工具。 (如果你没有使用默认主题,请选择 浏览 | 空间管理员。)
-
选择 外观和感觉,然后选择 配色方案。
-
选择下面的配色方案 自定义配色方案。
-
点击 编辑 链接。
-
使用标准 HTML/CSS 颜色代码或文本字段旁边的颜色选择器。
-
点击 保存 以应用更改到该空间。
![配色方案]()
如果你不喜欢所选的配色方案,可以在编辑界面中使用 重置 按钮恢复到 Confluence 的默认设置。
高级自定义
仅使用主题和配色方案来更改 Confluence 的外观和感觉通常是不够的。如果你想进一步更改 Confluence 的外观,或者希望在布局中添加一些额外的功能,那么这些更高级的话题可能会引起你的兴趣。
默认空间内容
每当你创建一个新空间时,该空间的首页总是具有相同的内容。作为 Confluence 管理员,你可以更改此默认空间内容,添加你喜欢的任何其他内容。
要更改全局空间的默认内容,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
从左侧菜单中选择 全局模板。
-
在 系统模板 部分,点击 默认空间内容 文本下方的 编辑 链接。
-
创建你希望出现在新空间主页上的内容。你也可以在内容中使用变量。
-
$spacekey:此字段将被新空间的空间密钥替代。 -
$spacename:此字段将被新空间的名称替代。
-
-
点击
保存以保存新的默认内容。
要更改个人空间的默认内容,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
从左侧菜单中选择 全局模板。
-
在 系统模板 部分,点击 默认个人空间内容 文本下方的 编辑 链接。
-
创建你希望出现在新空间主页上的内容。你也可以在内容中使用变量。
-
$userFullName:此字段将被空间所有者的全名替代。 -
$userEmail:此字段将被空间所有者的电子邮件地址替代。 -
$userPersonalInfo:此字段将被空间所有者的 关于我 文本替代,该文本是在用户个人资料中输入的。
-
-
点击 保存 以保存新的默认内容。
自定义 HTML
Confluence 允许您在每个 Confluence 页面中添加一些自定义 HTML。一个非常常见的用例是向 Confluence 添加 Google Analytics 跟踪代码。
如下截图所示,有三个地方可以插入 HTML:
-
在 HEAD 结束处
-
在 BODY 开始处
-
在 BODY 结束处
在向 Confluence 页面添加任何自定义 HTML 之前,请确保它是有效的。添加不完整或损坏的 HTML 可能会导致无法再使用 Confluence。

要插入自定义 HTML,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择自定义 HTML。
-
点击编辑按钮。
-
将 HTML 插入到相应的文本区域,如前面的截图所示。
-
点击保存。
自定义样式表
Confluence 使我们能够向 Confluence 添加自定义 CSS 文件,并可能改变整体的外观和感觉。为了应用 CSS,您需要具备使用和编写 CSS 的足够知识。网络上有许多入门教程,例如在 W3Schools 上可以找到(www.w3schools.com/css/default.asp)。
自定义 CSS 可以在全局和空间级别添加,尽管默认情况下禁用了空间级别的自定义 CSS,应该由 Confluence 管理员启用。具有自定义 CSS 的空间将忽略全局自定义 CSS。
注意
请记住,Confluence 的 HTML 可能会在版本间发生变化,您的 CSS 可能会停止工作。Atlassian 不支持自定义 CSS 或与之相关的任何问题。因此,在迁移到新版本的 Confluence 时,请始终检查您的自定义 CSS,并根据需要调整。
要启用空间的自定义样式表,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择安全配置。
-
点击编辑。
-
启用空间的自定义样式表前面的复选框。
-
点击保存以保存更改。
要向 Confluence 添加自定义样式表,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择样式表。
-
点击编辑。
-
添加你的 CSS。
为了展示更改样式表的强大功能,请输入下一个示例。
-
点击保存以保存更改。
使用以下示例了解使用自定义样式表可以实现的功能:
body:not(.dashboard) #main { padding: 40px 80px 0px; font-size:120%; }
#title-heading { font-size: 200%; }
#breadcrumbs { display:none; }
.content-navigation {width: 300px; height: 30px; }
.content-navigation ul { display:none; }
.content-navigation:hover ul { display:block; }
第一个代码块将改变主元素的内边距,以便内容的左右两侧有更多的空白。它还会将文本大小调整为原始大小的 120%,并将页面标题调整为原始大小的 200%。
第二条语句将移除页面标题上方的面包屑导航。
样式表的最后一部分将隐藏页面工具(编辑、分享、和工具),除非有人将鼠标悬停在该位置。
这是安装此自定义样式表后你的页面的外观:

如前面的示例所示,改变 CSS 是一种强大的方式来更改 Confluence 的外观。但它确实需要一些基本的 CSS 和 HTML 技能。
网上有一个教程可以帮助你入门修改 CSS:confluence.atlassian.com/display/DOC/Basic+Styling+Tutorial。
网站布局
Confluence 建立在开源库 SiteMesh 上,这是一个网页布局系统。为了进一步改变 Confluence 的外观和感觉,你可以修改这些装饰器文件。如果你想修改装饰器文件,你应该熟悉 Velocity。用户指南可以在线查看:velocity.apache.org/engine/releases/velocity-1.4/user-guide.html。
Confluence 中的装饰器文件按以下部分进行分组:
-
网站布局:这些布局用于定义内容周围的布局,例如页眉和页脚。
-
内容布局:这些布局控制内容的外观,例如页面和博客文章。它们不会改变页面本身的显示方式,但允许你改变周围评论或附件的显示方式。
-
导出布局:这些布局控制将空间和页面导出为 HTML 时的外观。例如,如果你使用 Confluence 生成静态网站,你需要修改这些布局。
要编辑装饰器文件,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择布局。
-
点击创建自定义以编辑默认文件。
-
进行任何更改。
-
点击保存以保存页面。
使用查看默认值来查看默认装饰器文件。如果出现问题,你可以使用重置默认值返回原始布局。
在编辑装饰器文件时,有几个 Velocity 宏可以用来在布局中插入如面包屑或菜单等项。以下是一些宏;更多宏可以在网上找到:confluence.atlassian.com/display/DOC/Working+With+Decorator+Macros。
| 宏 | 用法 |
|---|---|
#includePage (pageTitle) |
包含具有指定标题的 Confluence 页面。如果 Confluence 中有两个或更多页面具有相同标题,该宏将使用当前查看空间中的页面。 |
#searchbox () |
插入一个类似于右上角默认搜索框的搜索框。 |
#dashboardlink () |
插入指向仪表盘页面的链接。 |
这些宏只有在你编辑主装饰器时才会可靠地工作。它们可能在其他装饰器中无法使用;它们在普通的 Confluence 编辑器中肯定无法使用。
注意
如果你已经改变了布局,以至于某些功能不再可见,你可以通过直接访问以下 URL 来重置布局。请替换基础 URL 和相应的 .vmd 文件。
http://<confluence_url>/admin/resetdecorator.action?decoratorName=decorators/main.vmd
摘要
在本章中,我们从一些基本方法开始,逐步介绍了如何更改 Confluence 安装的外观,最终达到一种高级的、彻底改变外观的方法。将公司品牌添加到 Confluence 可以通过上传公司徽标并更改配色方案来实现。
你还可以更改用户登录时看到的页面;这可以是 Confluence 的仪表板,或者是包含公司新闻和其他重要信息的空间主页。用户也可以指定他们自己的偏好设置。
我们还了解到,Confluence 提供了一些内置主题,具有不同的外观、感觉和功能。如果这些主题无法完全满足你所期望的用户体验,一个选择是自己更改样式表和装饰器。
在下一章,我们将查看一些更高级的选项,比如创建和使用模板,以使你的文档更具结构性,并帮助用户快速入门。
第八章:高级 Confluence
到目前为止,我们一直在使用 Confluence 的默认功能,利用所有与安装包捆绑在一起的特性、模板和宏。Confluence 还提供了添加自己特性、模板和宏的功能。这样,你可以根据公司的需求定制你的 Confluence 安装。
本章中,我们将学习 Confluence 中的一些高级功能,例如如何创建和应用模板,使你的内容更具结构性。我们还将看看如何创建自己的宏,以便在创建内容时使用。
到本章结束时,你将学到:
-
创建和管理内容模板
-
编写用户宏
-
使用页面属性宏
-
创建快捷链接
模板
到目前为止,我们已经添加了很多页面,每次都从头开始;但其实我们不必这样做。当你发现自己不断重复创建相同的页面结构,或者你希望用户出于一致性的原因使用相同的结构时,模板就是答案。
模板是预定义的页面,可以在创建页面时用作框架。只有新页面可以从模板中创建,并且当使用模板时,新的页面将包含与模板相同的内容。模板非常有用,当你希望页面具有统一的风格或格式时。
使用模板
当有可用模板时,你可以开始使用它们来创建新页面。当你基于模板创建页面时,Confluence 会将以下内容和信息复制到新页面:
-
标签
-
文本和样式
-
布局和其他格式
-
宏
-
显示的媒体,如图像或视频
新创建的页面与原始模板没有任何关联;对模板所做的更改不会反映在已创建的页面上。无法将模板应用到现有页面;模板只能在创建新页面时使用。新创建的页面可以像空白页面一样进行编辑;可以添加、更新和删除内容。
要基于模板创建页面,请执行以下步骤:
-
点击标题中的创建。
-
选择一个空间来创建新页面。
-
从可用模板中选择一个模板。
-
如果模板包含变量,你将看到一个表单。在字段中输入相关信息,然后点击下一步。
-
你将看到一个基于模板的新页面。
-
为页面命名,并添加、更新或删除内容。
-
点击保存。
以下截图展示了可以用来创建新页面的可用模板:

创建模板
在 Confluence 中,模板可以在 Confluence 层级的两个级别上创建:
-
空间模板:这些模板只在你创建它们的空间中可用。空间管理员可以通过空间管理界面定义空间模板。
-
全局模板:这些模板在 Confluence 中的每个空间都可以使用。Confluence 管理员可以通过管理控制台定义全局模板。
空间模板
空间模板可以由空间管理员创建,并且只在您创建它们的空间中可用。
要为某个空间添加模板,请执行以下步骤:
-
转到空间中的任何页面。
-
从侧边栏点击空间工具。
-
从空间管理员菜单中选择内容工具,然后选择模板。
-
点击创建新模板按钮。
如果您的空间使用文档主题:
-
选择浏览 | 空间管理员。
-
从左侧导航中点击模板。
-
点击创建新模板按钮。
您将被重定向到创建模板页面。在将内容添加到模板部分中说明了如何添加内容并创建您的模板。
全局模板
全局模板可以由 Confluence 管理员创建,并且在 Confluence 中的所有空间中都可以使用。
要添加全局模板,请执行以下步骤:
-
浏览至管理控制台(管理 | Confluence 管理员)。
-
在左侧菜单中选择全局模板。
-
点击添加新全局模板按钮。
您将被重定向到创建模板页面。在将内容添加到模板部分中说明了如何添加内容并创建您的模板。
将内容添加到您的模板
创建模板视图与 Confluence 中的常规编辑器非常相似:

通常情况下,页面标题将是模板名称。模板名称将在您创建新页面时显示,因此请选择一个具有描述性的名称作为模板名称。
模板的内容就像普通页面一样;您可以使用样式、布局和其他格式化功能。您还可以添加链接和宏。除了常规功能外,模板编辑器还允许您添加变量和说明性文本。使用变量将使模板在有人基于它创建页面时生成一个数据收集表单。
创建模板时需要考虑的几个要点:
-
标签:从左下角选择标签以向模板添加标签。这些标签将包含在所有使用此模板创建的页面中。
-
图片和其他附件:无法将任何文件或图片添加到模板中。如果您想在模板中使用图片或附件,需要将该文件附加到 Confluence 中的其他页面。
然后按照以下步骤插入图片:
-
选择插入 | 图片。
-
使用媒体浏览器查找您的图片。
-
点击插入以插入您的图片。
-
-
说明性文本:说明性文本允许您向模板中添加占位符内容。此占位符仅在编辑器中可见,并且当页面的作者开始在该占位符中输入内容时,它将消失。
这些文本可以为用户提供如何使用模板以及在特定位置期望输入哪些数据的说明。
要插入说明文本,请执行以下步骤:
-
将光标放置在模板中你希望显示说明文本的位置。
-
点击编辑器工具栏中的模板。
-
选择说明文本。
-
开始输入;说明文本将以斜体显示,并带有阴影背景,以便与普通段落文本区分开来。
占位符的类型可以从“文本”更改为“用户提及”,当作者开始输入时,会启动用户提及的自动完成。要更改占位符类型,请点击占位符并选择用户提及。
-
-
变量:通过使用变量,你可以将数据输入引入模板,确保不仅布局井然有序,内容也得到了组织。添加到模板中的变量充当表单字段。当有人基于你的模板创建页面时,Confluence 会为每个变量显示一个输入框,如下所示:
![向模板添加内容]()
每个变量必须有一个唯一的名称。如果你在同一个模板中多次添加相同的变量,Confluence 会为这两个占位符提供相同的值。当你需要在多个位置使用相同的信息时,这非常有用。
要将变量插入模板,请执行以下步骤:
-
将光标放置在你想插入变量的位置
-
从编辑器工具栏中选择模板。
-
选择一个现有变量或点击新建变量。
-
输入变量名称。
-
按下Enter键。这将创建一个单行文本输入字段。
-
要更改变量类型,请点击占位符。属性面板将出现,您可以在其中选择不同的类型。有关这些类型的描述,请参见下表。
-
使用键盘快捷键$(Shift + 4)来加速变量输入并启用自动完成。
这些是可用的变量类型:
| 变量类型 | 描述 |
|---|---|
| 文本 | 创建一个单行文本输入字段,如下所示:![]() |
| 多行文本 | 创建一个允许输入多行文本的文本框。默认情况下,该文本框有5行,宽度为100个字符。你可以在属性面板中更改其大小:![]() |
| 列表 | 创建一个下拉列表。你必须为下拉列表指定值。这些值:
-
必须用逗号分隔
-
可以包含任何字母、数字、空格以及其他特殊字符,除了逗号,因为逗号用作分隔符。
|
导入模板
除了创建自己的模板外,您还可以从 Atlassian Marketplace 下载预定义的模板,这些模板以模板包或蓝图的形式提供。每个包包含一个或多个模板,这些模板由 Atlassian 或其他方创建。
其中一个模板包的示例如下:
marketplace.atlassian.com/20489
下载和安装附加组件,如模板包的详细信息,请参阅第九章,通用管理。
检查已安装的模板包
要检查哪些模板包可用并可以导入,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择导入模板。
-
您将看到已安装的模板包列表,以及每个包中包含的所有模板:
![检查已安装的模板包]()
显示可供导入的模板包
使模板可供使用
如果您已安装一个或多个模板包,可以导入它们以便为您的用户提供这些模板。
要导入模板,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择导入模板。
-
您将看到已安装的模板包列表,以及每个包中包含的所有模板。如果您点击模板名称,将显示预览。
-
通过勾选模板名称旁边的框来选择要导入的模板。
-
在导入到:下拉菜单中选择模板的目标位置。如果您希望将模板导入到特定空间,请选择该空间;否则,选择全局模板以使模板对所有空间可用。
用户宏
在本书中,我们已经学习了什么是宏,以及如何使用宏使我们的内容更加生动和吸引人。到目前为止,我们使用的大多数宏要么是与 Confluence 一起捆绑的,要么是我们安装的附加组件的一部分。但还有另一种添加宏的方式:通过用户宏。
用户宏是简短的代码片段,可以简化常用功能的执行或为页面添加自定义格式。例如,这可以是一个预配置的面板宏,其样式不同于默认样式。我们将在本章稍后自己创建这个示例。
系统管理员可以通过 Confluence 管理控制台添加用户宏。
管理用户宏
要管理用户宏,您需要具有系统管理员权限。请谨慎从未知来源安装用户宏;宏可能会影响您 Confluence 安装的稳定性和安全性。
添加用户宏的步骤如下:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择用户宏。
-
单击宏列表底部的创建用户宏。
-
输入宏详细信息,如编写用户宏部分所解释。
-
单击保存。
执行以下步骤以编辑用户宏:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择用户宏。
-
单击相关宏旁边的编辑。
-
更改宏详细信息,如编写用户宏部分所解释。
-
单击保存。
执行以下步骤以删除用户宏:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择用户宏。
-
单击相关宏旁边的删除。
如果您删除了正在 Confluence 页面上使用的用户宏,您需要手动从页面中删除该宏。
提示
您可以使用 Confluence 搜索来查找正在使用用户宏的页面。有关搜索宏的更多信息,请参阅第四章中的搜索标签部分,管理内容。
编写用户宏
编写用户宏是在管理控制台通过表单完成的。我们将通过输入字段帮助您创建第一个用户宏:

创建新用户宏的输入表单
-
宏名称:这是宏的名称,且只能包含字母、数字和连字符(-);例如:teaser-panel。
-
可见性:在这里,您可以设置宏浏览器中的可见性;可以是所有用户或仅系统管理员。将宏对所有用户隐藏仍然允许他们使用该宏,但可以避免宏浏览器和自动完成功能的杂乱。
选择仅对系统管理员在宏浏览器中可见意味着:
-
仅系统管理员将在宏浏览器或自动完成中看到此宏。对于其他用户,即使在搜索宏时,此宏也不会显示。
-
宏输出将对所有有权限查看页面的用户可见。
-
任何具有编辑权限的用户都可以看到页面上已有的宏。您的用户还可以编辑或删除该宏。
-
-
宏标题:宏标题是将出现在宏浏览器和自动完成中的名称。选择一个描述性的标题,以便用户更容易找到该宏。
-
描述:描述文本会显示在宏浏览器中的宏旁边。宏浏览器中的搜索也会使用描述文本进行搜索。
-
类别:选择一个或多个类别,将您的用户宏放入其中。这些类别与用户在宏浏览器中看到的类别相关。要选择多个类别,请在选择时按住Ctrl键。
-
图标 URL:如果您提供一个 URL,宏浏览器可以显示您的宏的图标。这可以是绝对 URL,也可以是相对于 Confluence 基本 URL 的路径;例如:
http://example.com/images/no-print-icon.png或/images/icons/macrobrowser/no-print-icon.png。 -
文档 URL:如果您有在线文档,请在此处输入文档的 URL。链接将显示在宏属性对话框中。在某些情况下,为用户宏编写一个 Confluence 页面文档非常有用。
-
宏主体处理:您可以指定您的宏可以具有主体,允许用户在您的宏中输入内容。一个具有主体的宏的示例是面板宏。
如果您的宏有主体,则该主体将在宏模板中通过
$body变量可用。主体的内容取决于处理方式。处理选项 描述 无宏主体 如果您的宏不需要主体,请选择此选项。 已转义 如果您的宏有主体,并且在模板中使用了主体,则 Confluence 将转义主体中的任何 HTML。因此,如果主体是: <b>Example HTML</b>那么$body的值是:<b>ExampleHTML</b>这将呈现为:<b>Example HTML</b>未渲染 如果您希望 $body变量与用户输入的完全一致,请使用此选项。您应在模板中处理主体以确保模板输出 HTML。已渲染 主体将被渲染,因此大多数 HTML 将未经修改地传递到模板;但 Confluence 特定的标记,如宏定义,将被处理和渲染。因此,如果主体是: <b>Example HTML</b>那么$body的值是<b>Example HTML</b>这将呈现为:Example HTML -
模板:这是魔术发生的地方:宏模板。在这里,您应该编写指定宏功能的代码。我们很快将详细介绍如何编写用户宏模板,但以下是一个快速指南:
-
在您的宏模板中使用 HTML 和 Confluence 特定的 XML 元素。使用存储格式工具查找特定的 XML。
-
可以在模板中使用 Apache Velocity。
-
如果您的宏有主体,则该内容可通过
$body变量获得。 -
每个宏的参数应具有匹配的元数据定义。使用
@param来定义该元数据。 -
如果您的宏不访问任何参数,请使用
@noparams。
注意
Apache Velocity 是一个模板引擎,提供一个模板语言来引用在 Confluence 后端定义的对象。Velocity 是 Confluence 的主要模板引擎,几乎用于显示每一页。您可以在您的宏中使用 Velocity 来添加一些逻辑(if-else)或从后端获取信息,例如当前页面标题和其他页面属性。
-
编写用户宏模板
用户宏模板是指定宏功能的一段代码。它是由 HTML、XML 和 Velocity 代码组合编写的。我们将一起构建一个用户宏,帮助您了解可用的功能。
我假设您已经根据前面的段落填写了宏的其他文本字段。确保宏主体处理选项设置为已渲染。
描述性标题
在每个模板的顶部添加描述性标题是一种良好的实践。标题告诉用户宏的功能以及它期望的参数类型。
我们的标题大致如下:
## Macro title: Teaser Panel
## Macro has a body: Y
## Body processing: Rendered
##
## Developed by: Stefan Kohler
## Date created: 04/02/2013
## The Teaser panel is a predefined panel used as teaser
参数
在用户宏中使用参数是可能的,这样用户就可以传递额外的信息供您渲染。如果您定义了参数,Confluence 会在宏属性对话框和浏览器中显示相应的字段。
模板中的参数定义包括三个部分:
-
@param– 用于告诉 Confluence 我们正在定义一个参数 -
名称 – 用于访问模板中参数的值
-
额外属性 – 用于进一步描述您的参数
参数通常定义在模板的顶部,在标题下方。指定参数的顺序也决定了它们在宏浏览器中的参数部分(右侧)中显示的顺序。
## @paramTitle:title=Title|type=string|desc=What is the title for the Teaser
正如您可能已经注意到的,您可以使用相当多的额外属性来描述您的参数。您指定的越多,Confluence 在宏浏览器和属性编辑器中提供的帮助就越好。我们来了解一下可用的属性:
| 属性名称 | 描述 | 是否必需? |
|---|
| [未命名的第一个属性] | 参数名是第一个属性,不需要名称。
## @param example
将定义参数 example。 | 必需 |
title |
将出现在宏浏览器中的参数标题。如果未指定标题,则使用参数名称。 | 推荐 |
|---|---|---|
type |
参数的字段类型。有关类型的详细信息,请参见接下来的页面。 | 推荐 |
desc |
显示在宏浏览器中的参数描述。 | 可选 |
| required | 指定参数是否是必需的;默认为false。 | 可选 |
| multiple | 指定参数是否允许多个值;默认为false。 | 可选 |
| default | 参数的默认值。 | 可选 |
如果您没有指定参数的类型,它将默认设置为字符串。但还有许多其他类型供您选择。Confluence 将根据您指定的类型渲染参数的输入字段。
| 类型 | 描述 |
|---|
| boolean | 向用户显示一个复选框,并将值true或false作为字符串传递给宏。
## @param hide:title=Should hide?|type=boolean
|
| enum | 提供可供选择的值列表。您可以自己指定要出现在下拉列表中的值。该变量将按原样传递给宏,包括大小写。
## @param color:title=Color|type=enum|enumValues=Grey,Red,Green
|
| string | 显示一个文本字段;如果没有指定其他类型,这是默认类型。
## @param title:title=Title|type=string
|
| confluence-content | 显示一个快速搜索框,用户可以在 Confluence 中搜索页面或博客文章。
## @param page:title=Page|type=confluence-content|required=true
|
| username | 显示一个快速用户搜索框。
## @param user:title=Username|type=username
|
| spacekey | 显示可供选择的空间列表;空间键将传递给宏。
## @param space:title=Space|type=spacekey
|
| date | 当前被视为普通字符串。用户可以输入任何格式的日期;请确保在模板中检查日期。
## @paramfromDate:title=From Date|type=date
|
| int | 类型被接受,但目前作为普通字符串处理。
## @param numItems:title=Number of items|type=int
|
| percentage | 类型被接受,但目前作为普通字符串处理。
## @param pcent:title=Percentage|type=percentage
|
参数在模板中可用,例如,$paramtitle 和 $paramcolor 分别表示名为 title 和 color 的参数。
通常,如果像 $paramtitle 这样的参数缺失,它将在输出中显示为 $paramtitle。如果参数未设置并且希望不输出任何内容,请在美元符号后使用感叹号:$!paramtitle。
当你的宏没有任何参数时,应在模板中使用 @noparams。这将告诉 Confluence 无需显示参数输入字段。如果你的宏没有参数且没有指定 @noparams,宏浏览器将显示一个自由格式的文本框,允许用户输入未定义的参数。你应该在模板中按如下方式使用 @noparams:
## @noparams
模板代码
现在我们已经为宏准备了良好的描述性标题和参数声明,接下来是编写宏模板代码的时间。
在编写宏时,以下对象可以供你使用:
| 变量 | 描述 |
|---|---|
$body |
宏的主体,如果你的宏有的话。 |
$param<name> |
如模板中描述的命名参数。 |
$renderContext | PageContext 对象,主要用于(但不限于)检查 $renderContext.baseUrl 或 $renderContext.spaceKey。有关 PageContext 对象的更多信息,请访问 docs.atlassian.com/atlassian-confluence/latest/com/atlassian/confluence/renderer/PageContext.html。 |
|
$space |
包含此页面或博客文章的空间对象。此对象可用于检索空间名称、描述和 URL 等信息。更多信息请访问 docs.atlassian.com/atlassian-confluence/latest/com/atlassian/confluence/spaces/Space.html。 |
$content |
当前包含此宏的ContentEntity对象。例如,可以用它来检索附件、标签或评论。更多信息可以在docs.atlassian.com/atlassian-confluence/latest/com/atlassian/confluence/core/ContentEntityObject.html找到。 |
使用这些对象,可以访问某些额外的信息,这些信息在 Confluence 页面上通常无法获取;这使得用户宏非常强大。
包含另一个宏
对于我们的用户宏,我们希望包含一个预定义版本的面板宏,它与 Confluence 一起捆绑提供。这意味着我们需要找出定义该面板的 Confluence 特定 XML。
最简单的做法是参考存储格式工具。要获取面板宏的存储格式:
-
创建并保存一个包含面板宏的新页面,其中包括我们希望预定义的所有参数。
-
选择工具 | 查看存储格式。此选项仅对 Confluence 管理员可用,并显示页面的 XML 源,正是我们需要的内容。
-
一个 Confluence 宏以
<ac:macroac:name…开头。 -
宏参数以
<ac parameter ac:name…开头。
-
对于我们的面板,想要在模板中使用的 XML 如下所示:
<ac:macro ac:name="panel">
<ac:parameter ac:name="titleBGColor">#00a8e1</ac:parameter>
<ac:parameter ac:name="title">$!paramTitle</ac:parameter>
<ac:parameter ac:name="borderStyle">dashed</ac:parameter>
<ac:parameter ac:name="borderColor">#00a8e1</ac:parameter>
<ac:parameter ac:name="titleColor">#ffffff</ac:parameter>
<ac:rich-text-body>$body</ac:rich-text-body>
</ac:macro>
正如你可能已经注意到的,我已经在 XML 中包含了title参数和@body。我通过使用在页面上创建的panel属性中的值来实现这一点,这样我就知道我将变量放在了正确的位置。
如果我们将所有代码块组合在一起,就得到了我们自己的预告宏。
## Macro title: Teaser Panel
## Macro has a body: Y
## Body processing: Rendered
##
## Developed by: Stefan Kohler
## Date created: 04/02/2013
## The Teaser panel is a predefined panel used as teaser
## @param Title:title=Title|type=string|desc=What is the title for the Teaser
<ac:macro ac:name="panel">
<ac:parameter ac:name="titleBGColor">#00a8e1</ac:parameter>
<ac:parameter ac:name="title">$!paramTitle</ac:parameter>
<ac:parameter ac:name="borderStyle">dashed</ac:parameter>
<ac:parameter ac:name="borderColor">#00a8e1</ac:parameter>
<ac:parameter ac:name="titleColor">#ffffff</ac:parameter>
<ac:rich-text-body>$body</ac:rich-text-body>
</ac:macro>
如果你想了解更多关于编写用户宏的信息,可以查看一些在线示例,网址:confluence.atlassian.com/x/V4lYDQ。
我们的用户宏的最终结果如下所示:

页面属性宏
有一个宏我想稍微强调一下。页面属性宏,也被称为元数据详情宏,是一个小巧的美丽宏。
页面属性宏使您能够将数据嵌入到一个页面中,然后在另一个页面上以表格形式显示该信息。页面属性宏可以放置在任意数量的页面上,您还可以使用页面属性报告宏显示所有数据。
一个示例是客户联系信息,其中每个客户都有一个包含联系信息的页面,使用页面属性宏。然后在概览页面上,我们将以表格形式展示所有客户的联系信息。
要创建客户详情页面,请执行以下步骤:
-
为此练习创建一个
Sales & Marketing空间,或者如果有可用的测试/沙盒空间,可以使用它。 -
在新的空间中,创建一个名为
Customers Overview的页面。-
在正文中,添加页面属性报告宏。
-
在宏属性中,使用标签
customer-contact-details。 -
点击保存以保存页面。
-
-
创建一个新的页面,作为“客户概览”页面的子页面。
-
使用客户名称作为标题。
-
插入页面属性宏。
-
在宏的正文中,创建一个包含两列和四行的表格。
-
在表格中输入一些联系信息:
姓名 –
Ford Prefect。职位 –
管理董事。电子邮件 –
ford.prefect@example.com。电话 –
317-822-2752。 -
给页面添加标签
customer-contact-details。 -
点击保存以保存页面。
-
-
对几个客户重复此步骤。(这是一个很好的模板使用示例。)
现在我们已经有几页包含客户信息,类似于以下截图所示:

如果我们现在返回浏览之前创建的客户概览页面,我们应该会看到一个包含客户信息的表格。像所有 Confluence 中的表格一样,你可以按列对表格进行排序。
注意
列是按字母顺序排序的,而不是按你在页面属性宏中指定的顺序。如果你想重新排序列,给列添加数字是一个很好的方法。

注意
页面属性报告宏生成的表格也可以作为其他宏的输入,比如图表宏。
快捷链接
快捷链接提供了一种快速链接到经常使用的资源的方法,例如链接到 Google 搜索。快捷链接需要由 Confluence 管理员进行配置,用户才能使用它们。
创建快捷链接
如果你在 Packt Publishing 网站上搜索书籍,URL 会是www.packtpub.com/books?keys=。如果你为这个搜索创建一个快捷方式并使用packt作为关键字,每当用户需要访问该网站时,只需输入[terms@packt],Confluence 会链接到www.packtpub.com/books?keys=terms。
-
浏览到管理控制台(管理 | Confluence 管理)。
-
从左侧菜单中选择快捷链接。
-
输入快捷链接值的键。在我们的例子中,我们将使用
packt。 -
输入扩展值:
http://www.packtpub.com/books?keys=。你可以在 URL 中使用%s来指定术语插入的位置。如果 URL 中没有%s,则术语会被放置在末尾。 -
输入默认别名。这是在 Confluence 中显示的链接文本。文本中也可以使用
%s。如果没有输入值,Confluence 将使用term@key作为链接文本。 -
点击提交。
![创建快捷链接]()
使用快捷链接
你的用户可以像使用其他链接一样使用你之前创建的快捷链接。
-
打开页面的编辑模式,并将光标放在你想要添加链接的位置。
-
在工具栏中点击链接,或者按Ctrl + K。
-
点击高级,并将快捷链接
confluence@packt输入到链接文本框中。 -
输入将要显示的链接文本。
-
点击插入。
你还可以使用[ 键盘快捷键并输入链接,用' ''将其括起来;例如'[confluence@packt]'。
注意
用户需要知道哪些快捷键是可用的。做这件事的最好方法是创建一个单独的页面,列出所有快捷键。Confluence 不提供自动列出这些快捷键的方法。
总结
如果你想创建统一性,或者只是希望为用户提供一个快速入门的内容创建方式,模板就能帮到你。模板是预先格式化的页面,可以在你添加新页面时使用。我们已经学习了如何创建这些模板,并且这些模板可以在空间级别或全局级别添加。
另一个自动化你经常做的事情的机制是用户宏。用户宏允许你编写一些功能或格式,供你的用户重复使用。用户宏可以通过 Confluence 用户界面轻松添加,但它们确实需要一些 HTML 和 XML 的知识。通过本章中的示例,你应该能够有一个坚实的基础,开始构建自己的宏。
宏的强大功能通过页面属性宏得到了证明,您可以使用它从页面中提取元数据,并在概览表中显示这些信息。
有许多附加组件可用,它们向 Confluence 添加模板、宏和其他功能。这些附加组件可以通过 Atlassian 市场安装,接下来的章节我们将学习如何使用它。
第九章:一般管理
Confluence 是一个功能强大且灵活的应用程序。我们已经了解了如何自定义 Confluence 的外观与感觉,添加结构,创建内容,以及如何让其他人参与进来。除了我们已经涵盖的内容外,还有一些其他有用的功能值得学习。
本章将介绍如何管理插件,为 Confluence 添加新功能,如何通过应用程序链接将 Confluence 与不同的应用程序集成,以及如何排查 Confluence 问题并与 Atlassian 支持团队联系。
在本章结束时,我们将学习到:
-
使用插件
-
将 Confluence 与其他应用程序集成
-
内容索引
-
获取支持
使用插件
在本书中,我们使用的是一个标准的 Confluence 安装,没有任何额外的功能或特性。插件是独立安装的组件,用于补充或增强 Confluence 的功能。它可以是一个单一功能,比如宏,也可以是一个独立的产品,例如插件“Team Calendars”。
在 Atlassian Marketplace 上有超过 500 个 Confluence 插件,并且还在不断增加。这些插件可以通过 Marketplace 进行下载、评估和购买。Marketplace 可以通过互联网直接访问,也可以通过 Confluence 管理控制台中的 Universal Plugin Manager 访问。
注意
“插件”和“附加组件”这两个术语都表示额外的功能。虽然这两个术语有时可以互换使用,但它们并不相同。插件是可以添加到 Confluence 中的附加组件,并且是使用 Atlassian 插件 SDK 开发的。并非所有的附加组件都是插件。适用于移动设备的原生应用程序也被视为附加组件,而“内容格式化宏”则是插件。
Marketplace
Atlassian Marketplace,位于marketplace.atlassian.com,是寻找、评估和购买 Confluence 插件的资源。
使用 Marketplace 的普通搜索功能查找插件通常非常简单,可以帮助您找到合适的插件。有时您希望缩小搜索范围,查找特定版本的插件。这可以通过高级搜索来实现。
要使用高级搜索查找插件,请执行以下步骤:
-
从顶部导航栏选择高级搜索,以浏览下图所示的高级搜索界面。
-
选择Confluence作为应用程序,并从版本字段的值中选择您的版本。
-
填写其他选项以指定您正在寻找的插件。
-
点击高级搜索。The Marketplace
当您找到一个喜欢的插件时,有两种可能性:
-
该插件是免费的,可以在没有许可证的情况下使用。
-
如果插件是你需要付费的,那么你需要购买许可证才能使用该插件。插件可以评估 30 天,评估期可延长至 90 天。
无论哪种方式,你都必须下载插件并将其安装到你的 Confluence 安装中。Marketplace 提供了一个下载链接,但有一个更简单的方法可以将新插件安装到你的应用程序中,那就是通用插件管理器。
通用插件管理器
通用插件管理器(UPM)本身就是一个插件,可以用于在 Confluence 内部管理插件。UPM 被称为通用的,因为它可以跨其他 Atlassian 产品工作。
在较新版本的 Confluence 中,通用插件管理器是预装的,因此你无需自己安装。然而,由于 UPM 是一个插件,它会定期更新,所以你需要不时地更新它。
在线和离线模式
通用插件管理器依赖可用的互联网连接来执行以下任务:
-
搜索和安装新插件
-
检查和安装插件的更新
-
执行应用程序升级检查
如果你的 Confluence 服务器无法连接到互联网,可以将 UPM 切换为离线模式。在离线模式下,UPM 不连接互联网,所有依赖互联网的功能都会被禁用。即使在离线模式下,你仍然可以使用 UPM 执行以下操作:
-
管理已安装的插件
-
从本地服务器上传新插件
-
检查 UPM 审计日志
另一个选择是用防火墙保护服务器,并仅允许 UPM 连接到所需的服务。为了让 UPM 在防火墙后执行在线功能,请确保 Confluence 能够连接到以下服务器的 443 端口(https):
-
*.atlassian.com:UPM 连接到
atlassian.com域中的多个服务器,包括 marketplace.atlassian.com 和 id.atlassian.com。 -
dq1dnt4af4eyy.cloudfront.net:Marketplace 使用 Amazon CloudFront 作为 CDN,这里是你的插件下载来源。
注意
这些链接可能会发生变化,如果前面提到的设置对你不起作用,请检查
confluence.atlassian.com/x/Y4tCEg。
由 UPM 传输的信息
如果通用插件管理器处于在线模式(默认),每次 Confluence 管理员访问“管理插件”页面时,信息都会被传输。此外,后台任务会每 24 小时将相同的信息发送到 Marketplace,以检查是否有新版本。
传输到 Atlassian 的信息包括:
-
应用程序的类型和版本(例如,Confluence 5.1.2)
-
已安装插件的插件密钥和版本(例如,
com.atlassian.calendar1.2) -
当前 UPM 版本
当启用分析信息收集时,以下信息也会传输到 Atlassian:
-
支持授权号码 (SEN) 和服务器 ID
-
许可统计信息,例如最大用户数
-
许可类型(商业版、评估版)
-
某些使用事件,例如卸载插件
如果你希望禁用向 Atlassian 传输许可信息,可以通过设置 Java 系统属性禁用此功能。该属性为 atlassian.upm.server.data.disable=true。
设置 Java 系统属性:
-
打开位于
CONF_INSTALL/bin下的setenv.bat文件。 -
找到
set JAVA_OPTS=%JAVA_OPTS%部分。 -
在该部分添加
-Datlassian.upm.server.data.disable=true;列表项用空格分隔。注意
如果你以 Windows 服务方式运行 Confluence,则该系统属性必须在其他地方设置;请参阅
confluence.atlassian.com/x/JoUDCg获取更多信息。
切换到离线模式
如果你想将 Universal Plugin Manager 设置为离线模式,则不会向 Atlassian 传输任何数据,但你无法通过 UPM 直接下载任何插件。
启用离线模式:
-
浏览到管理控制台 (管理 | Confluence 管理)。
-
在左侧菜单中选择 管理插件。
-
点击页面底部的 设置 链接;将出现如下图所示的对话框:
![Switching to offline mode]()
-
取消勾选 连接到 Atlassian 市场 前面的复选框。默认情况下启用此选项。
-
点击 应用 以使设置生效。
离线模式中禁用的功能,如 查找新插件,将从用户界面中隐藏。
寻找新的插件
任何用户、管理员或非管理员都可以从 Confluence 中浏览 Atlassian 市场。系统管理员可以使用此页面安装插件,而其他用户则可以用此请求安装插件(有关请求的更多信息,请参见 用户请求插件 部分)。
查找插件的步骤如下:
-
点击左上角的头像。
-
从下拉菜单中选择 Atlassian Marketplace。产品中的市场视图如下图所示:
![Finding new add-ons]()
-
通过浏览建议或以下方式搜索插件:
-
在 搜索市场 框中输入搜索字符串。这将根据插件名称过滤结果。
-
使用下拉菜单根据以下条件过滤插件:
-
属性,例如 最近添加 或 员工推荐
-
分类,例如 主题与样式 或 蓝图
-
基于定价,如 免费、通过 Atlassian 付费 或 所有付费
-
-
注意
通过 Atlassian 付费和所有付费之间有差异。插件供应商可以选择让 Atlassian 处理他们插件的所有购买。这对用户来说是一个巨大的优势,他们现在可以通过 Atlassian 购买插件,利用其标准化的流程和my.atlassian.com。所有付费选项也会显示选择自己购买系统的供应商的插件。
安装插件
Universal Plugin Manager 使得在 Confluence 中安装新插件变得非常容易。通过几次点击,你就可以浏览所有插件并安装你喜欢的插件。
或者,你可以通过上传 JAR 或 OBR 文件到 Confluence,使用文件上传手动安装插件。归档文件应包含插件代码和资源。如果其他操作无法使用,因为你处于防火墙后,你可以使用这种方法。
注意
插件非常强大,可以改变 Confluence 许多方面的行为。然而,验证插件供应商并在将其添加到生产环境之前进行测试是非常重要的。
通过市场直接安装
如果你是系统管理员,并且 UPM 已连接到互联网,你可以通过点击查找新插件页面上的安装按钮来安装插件。这个一键安装是安装插件的最快方法。
要直接安装插件:
-
点击页面左上角的头像。
-
从下拉菜单中选择Atlassian 市场。此时会显示产品中的市场视图。
-
查找相关的插件。
-
点击安装按钮以安装插件。
如果插件是付费插件,将显示立即购买和免费试用按钮。点击其中一个按钮将下载并安装插件,并要求你通过my.atlassian.com获取有效许可证。
通过文件上传安装
当一键安装方法不可用时,你可以使用手动文件上传来安装插件。插件通常以 JAR 或 OBR 文件的形式分发,包含插件代码和资源。这是 UPM 接受的安装文件的唯一两种类型。
在手动上传插件之前,请确保你已经将分发文件放在桌面或本地服务器上,例如从市场下载到桌面。
要上传插件:
-
进入管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择管理插件。
-
点击页面右上角的上传插件链接。以下上传对话框将出现:
![通过文件上传安装]()
-
从你的计算机中选择一个 JAR 或 OBR 文件,或者输入服务器可以访问的 URL。
-
点击上传按钮。插件成功安装后,将显示确认消息。
更新插件
插件提供商定期发布插件的新版本,以包含错误修复和新功能。这些更新可以在任何时候发布,且与 Confluence 的版本发布无关。通常建议保持插件更新,但在将更新应用到生产环境之前,应该验证该更新。
如果 Universal Plugin Manager 已连接到市场,管理插件页面将帮助你保持已安装插件的最新状态。如果 UPM 未连接,则需要通过marketplace.atlassian.com手动检查插件更新。
要更新插件,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择管理插件。
-
有更新可用的插件将显示在需要操作的插件列表中,如下图所示:
![更新插件]()
-
点击插件旁边的更新按钮。UPM 将下载并安装最新版本。安装完成后会显示成功消息。
或者,可以手动上传更新后的插件。更新过程与一键更新选项相同。通常,在更新插件之前,不需要先移除“旧”插件,只要插件开发者增加了版本号即可。
注意
在某些情况下,插件更新可能失败,例如,插件开发者没有预料到 UPM 的新版本,导致在新版 UPM 上更新插件时失败。也可能有其他原因。这时,可以停止 Confluence 实例,删除缓存文件夹(confluence.atlassian.com/x/TgG_EQ),重新启动实例,并重新尝试更新或上传先前版本的插件。
移除已安装的插件
你可以在管理插件页面中移除已安装的插件。卸载插件会永久从 Confluence 中移除该插件,并且文件会从主目录中删除。如果你只想暂时移除插件,你可以选择禁用插件。
要卸载插件,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择管理插件。
-
在插件列表中找到你想要卸载的插件。
-
点击插件以打开详细视图。
-
点击卸载按钮。
-
在对话框中点击继续按钮确认。
-
完成后,会在插件的详细视图中显示通知。
![移除已安装插件]()
如果你想临时移除插件的功能,也可以禁用该插件。禁用插件将使其功能不可用。
要禁用一个插件,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择管理插件。
-
在插件列表中找到您想禁用的插件。
-
点击插件以打开详细视图。
-
点击禁用按钮。
注意
一些插件是 Confluence 的一部分,无法禁用。
用户对插件的请求
启用后,Confluence 中的所有用户都可以查看产品内的 Marketplace,搜索插件。用户可以选择请求插件,而不是安装或试用插件。
点击请求按钮时,会弹出一个对话框,您可以在其中为系统管理员提供额外的信息,如以下截图所示:

如果用户请求了插件,系统管理员将收到电子邮件通知。
查看用户请求
通过查找新插件页面,管理员可以轻松查看最受请求的插件以及谁请求了它们。
要查看最受请求的插件:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
在左侧菜单中选择管理插件。
-
从插件筛选器中,选择最受请求,如以下截图所示:
![查看用户请求]()
请求的插件将显示在列表中,最受请求的插件排在最上面。
-
点击插件以查看请求的更多详细信息。这里会显示用户、请求日期和附加消息。
-
在此视图中,您可以安装、购买或取消请求,移除插件的请求计数。
禁用用户请求
用户插件请求功能默认启用,但可以由系统管理员禁用。这将移除用户的产品内 Marketplace 链接以及最受请求插件筛选器。
禁用用户请求不会删除请求计数。如果该功能再次启用,先前请求的插件将重新显示。
要禁用用户插件请求:
-
浏览到管理控制台(管理 | Confluence 管理员)。
-
在左侧菜单中选择管理插件。
-
点击页面底部的设置链接;将会出现一个对话框。
-
清除允许用户请求插件复选框。
-
点击应用以保存设置。
内容索引
存储在 Confluence 中的所有内容都被视为内容。为了能够搜索这些内容,它需要先被索引。Confluence 管理员可以调整索引和 Confluence 搜索的行为。
内容不会直接添加到索引中。新的和修改过的内容会被放入队列中,队列每分钟处理一次。
重新构建索引
通常,内容索引会自动维护,但在以下情况下,您可能需要手动重建索引:
-
创建的内容不会出现在“最近更新”或搜索结果中
-
你是想说这个吗功能无法正常工作
-
在 Confluence 升级后,如果在升级发布说明中提到
-
如果您更改了索引语言
要重建内容索引,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择内容索引。
这将显示搜索索引和当前状态:
![重建索引]()
-
点击你想要重建的索引下方的重建按钮。如果索引之前从未构建过,则该按钮为构建。
构建 Confluence 内容索引可能需要很长时间,完成时间取决于:
-
你安装中页面的数量
-
附件的数量、类型和大小
-
分配给 Confluence 的内存量
更改索引语言
如果大多数内容使用的语言与英语不同,改变 Confluence 中的索引语言可能会提高 Confluence 搜索结果的准确性。Confluence 支持以下语言的内容索引:英语、德语、俄语、中文、日语、法语、巴西葡萄牙语、捷克语和希腊语。
要更改索引语言:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择常规配置。
-
选择编辑。
-
从格式化和国际化设置部分的下拉列表中选择索引语言。
-
点击保存以应用设置。
注意
即使是在不支持的语言(例如荷兰语)中,内容索引功能也能很好地工作,因为它不仅仅依赖于一种语言,而是会查看可用的内容(页面和附件)来构建搜索索引。
应用链接
Confluence 可以使用应用链接与其他 Atlassian 工具进行集成。应用链接是两个应用之间的受信关系,这些应用可以共享信息并相互协作。
为了说明这些可能性,我们将把 Confluence 安装连接到 JIRA 安装。使用相同的技术,Confluence 也可以连接到 Bamboo、FishEye、Crucible、Stash 或另一个 Confluence 安装。
将 Confluence 与 JIRA 集成可以让你在 Confluence 页面中显示 JIRA 问题列表,如下图所示:

添加应用链接
在添加应用链接之前,确保两个应用的基本 URL 在常规配置中设置正确。
要将 Confluence 连接到 JIRA,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用链接。
-
点击添加应用链接。链接向导的第 1 步将会出现。
![添加应用链接]()
-
输入 JIRA 的服务器 URL 并点击下一步。
-
在向导的第 2 步中,输入以下信息:
-
还要创建 从“您的公司 JIRA”返回此服务器的链接:如果您希望在 Confluence 和 JIRA 之间创建双向链接,请选择此选项。如果是这样,请提供一个 JIRA 管理员帐户来创建该链接。
-
提供的凭据不会被存储。
-
凭据需要是具有管理权限的用户帐户。
-
互惠链接 URL:此 URL 将覆盖基本 URL。应用程序链接将使用此 URL 连接到 JIRA。
![添加应用程序链接]()
-
-
点击下一步按钮,第 3 步将出现。
-
输入配置身份验证所需的信息:
-
这些服务器具有相同的用户和用户名集或这些服务器具有不同的用户或用户名集:根据 Confluence 和 JIRA 中的用户管理方式,选择其中一个选项。
-
这些服务器完全信任彼此:选择此选项将允许 Confluence 和 JIRA 作为任何用户相互连接。这是最有用的连接方式。
-
编辑应用程序链接
Confluence 系统管理员可以更改任何现有应用程序链接的应用程序名称和显示 URL。
要编辑应用程序链接,请执行以下步骤:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序链接。
-
点击您要编辑的应用程序链接旁边的配置链接。
-
应用程序链接的详细信息将显示:
![编辑应用程序链接]()
-
按照您的需求更新详细信息;应用程序类型和应用程序 URL字段在创建链接后无法更改。
- 显示 URL字段用于显示指向应用程序的链接。当您创建应用程序链接时,可能使用了一个用户无法访问的内部 URL 或 IP。此 URL 将在显示链接时覆盖该 URL。
-
点击更新以保存更改。
空间项目链接
应用程序链接顾名思义是应用范围广泛的。一旦在应用之间设置了应用程序链接,就可以创建更具体的链接,称为项目链接。通过项目链接,您可以将特定的 Confluence 空间连接到特定的 JIRA 项目、Bamboo 项目或 FishEye 仓库。这样做可以更方便地将信息集中在一个地方。
要将空间链接到 JIRA 项目:
-
转到您希望连接到 JIRA 的空间。
-
在侧边栏中选择空间工具。(如果您未使用默认主题,请选择浏览 | 空间管理员。)
-
选择集成标签。
-
点击添加链接。下拉菜单会显示已配置的应用程序链接;选择您要链接的应用程序。
-
在需要授权页面上选择其中一个选项。
-
授权:如果您希望授予空间访问目标项目的权限,请选择此选项。系统会提示您输入 JIRA 凭据。
-
跳过 – 你的访问是匿名的:如果你希望匿名访问 JIRA,请选择此选项。
-
-
在名称或密钥字段中,输入你想要连接的 JIRA 项目的名称/密钥。
-
选择是或否,在 JIRA 中也创建一个指向 Confluence 空间的链接。
-
点击创建按钮以创建项目链接。
![空间项目链接]()
配置身份验证
在每个应用程序链接上,你可以配置应使用哪种身份验证方法来处理进出站连接。进站身份验证用于所有从 JIRA 到 Confluence 的请求,而外发身份验证则反向应用。
应用程序链接的身份验证本质上是定义 Confluence 和其他应用程序之间的信任级别。你应该配置的身份验证级别取决于多个因素:
-
这两个应用程序彼此信任吗?:如果是 Atlassian 应用程序,安全答案是“是”。如果你要将 Confluence 连接到另一个应用程序,请确保该应用程序是安全的。
-
这两个应用程序是否共享相同的用户基础?
-
你是否具有对另一个应用程序的管理访问权限?
常见的场景如下:
-
Confluence 和 JIRA 都是内部使用且共享相同用户基础的。在这种情况下,受信任的应用程序是最佳的身份验证方式,适用于进出站的身份验证。
-
如果 Confluence 和 JIRA 没有共享相同的用户基础,请使用OAuth(下一节会解释)进行身份验证(双向认证)。这可能是你的内部 Confluence 和外部(面向客户的)JIRA 实例。
-
如果你在 JIRA 服务器上没有管理员权限,你可以配置单向的外发身份验证,使用基本 HTTP 身份验证。
受信任的应用程序身份验证
受信任的应用程序身份验证允许一个应用程序代表任何用户访问另一个应用程序的功能,而无需用户登录到另一个应用程序。因此,在我们的情况下,每个 Confluence 用户在使用“JIRA 问题”宏时,看到的 JIRA 问题列表与使用 JIRA 问题导航器时看到的完全相同。
要配置受信任的应用程序身份验证:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序链接。
-
点击配置链接,编辑你想要的应用程序链接。
-
选择进站身份验证标签;所有进站身份验证将显示在选中受信任的应用程序标签的状态下。
-
如果身份验证当前已启用或未启用,标签会显示相应的信息。受信任的应用程序配置具有以下属性:
-
IP 模式:输入 Confluence 应该接受请求的 IP 地址(IPv4)。你可以通过使用星号来指定通配符,例如
192.168.2.*。 -
URL 模式:输入允许 JIRA 访问的 URL。对于 Confluence,这至少应包括以下内容:
/plugins/servlet/streams/plugins/servlet/applinks/whoami -
证书超时(毫秒):输入证书超时时间。默认时间为 10 秒。超时用于防止重放攻击。如果第二个请求比初始(授权)请求晚 10 秒,它将被拒绝。请注意,超时依赖于两个服务器的时钟同步。
-
-
单击应用以保存您的更改。
外发身份验证设置具有相同的属性。外发身份验证也可以从 Confluence 设置,但可能会提示您输入 JIRA 凭据。

OAuth 身份验证
OAuth 是一种允许 Web 应用程序与其他外部应用程序共享数据的协议。这可以是另一个 Web 应用程序(例如 JIRA)或桌面或移动应用程序。
当两个应用程序彼此信任但不共享相同用户集并且具有通过应用程序链接连接的选项时,通常会使用 OAuth。
小贴士
使用 SSL
建议您的应用程序使用 SSL(HTTPS),而不是基本 HTTP,因为敏感信息通过 Internet 传输。
要配置 OAuth 身份验证,请执行以下步骤:
-
转到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序链接。
-
单击要编辑的应用程序链接旁边的配置链接。
-
选择传入身份验证,并选择OAuth选项卡。
-
单击启用按钮以为传入链接启用 OAuth 身份验证。远程应用程序将自动设置为“消费者”,您的本地应用程序将设置为“服务提供者”。
对于外发身份验证,如果您尚未登录到远程应用程序,将显示登录对话框。使用您的凭据登录到其他(JIRA)服务器。选择启用按钮将为外发身份验证设置 OAuth。
基本 HTTP 身份验证
使用基本 HTTP 身份验证依赖于 Confluence 和 JIRA 之间的安全连接。建议您使用不同的身份验证方法,只要您能够这样做。
基本 HTTP 身份验证允许您为 Confluence 提供 JIRA 用户凭据,反之亦然。一旦验证通过,Confluence 便可以代表该用户访问 JIRA 功能和资源。这也意味着,如果您提供具有管理功能的用户凭据,您的应用程序链接也将能够访问这些功能。
要配置基本 HTTP 身份验证:
-
转到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序链接。
-
单击要编辑的应用程序链接旁边的配置链接。
-
选择传入身份验证并选择基本访问标签。
-
输入用户凭据。
-
点击启用以存储凭据并启用基本 HTTP 身份验证。
![基本 HTTP 身份验证]()
使用应用程序导航器
一旦配置了多个链接,应用程序导航器将出现在 Confluence 的左上角。应用程序导航器可以用于在不同应用程序之间快速导航。
并非所有 Atlassian 应用程序目前都拥有此导航器,但未来会有。
添加新链接
Confluence 管理员可以将新链接添加到导航器中。默认情况下,应用程序链接也会被添加到导航器中;无法删除它们。
要添加新链接:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序导航器。
-
填写新链接的详细信息:
-
名称:将在导航器下拉列表中显示的名称
-
URL:指向应用程序或网站的链接
-
隐藏:如果不想在导航器下拉列表中显示此链接,请选择此复选框
-
仅限群组:可以将链接限制为某些群组;选择允许查看此链接的群组
-
-
点击添加以保存链接。
![添加新链接]()
管理链接
除已配置的应用程序链接外,现有链接可以轻松更改、排序或删除,应用程序链接有些受限。
要更改现有链接:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序导航器。
-
将鼠标悬停在你想更改的链接上,查看背景是否变黄(如果背景不变,表示你不能更改该值)。
-
点击该值以切换到编辑模式。
-
更新你想要更改的值。
-
按下回车,或点击更新以保存更改。
改变链接在导航器中显示顺序的方式是通过拖放链接来实现的。

要删除链接:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择应用程序导航器。
-
点击删除按钮。
获取支持
有时你会遇到需要帮助才能继续的情况。Atlassian 提供了几个渠道,在这种情况下你可以寻求帮助。
在许多情况下,在线文档(confluence.atlassian.com/display/DOC/)提供了详细信息帮助你解决问题。如果你在文档中找不到需要的信息,你可以通过 Atlassian Answers 在线提问。当然,你也可以创建支持工单寻求 Atlassian 的帮助,或联系 Atlassian 专家提供帮助。
Atlassian Answers
Atlassian Answers 是一个由社区驱动的问答网站,任何人都可以使用。如果你需要帮助,你可以用你的 Atlassian ID(即用于管理许可证的账户)登录 answers.atlassian.com。
Answers 是一个声誉系统,通过使用Karma来激励用户参与并为发布的问题提供正确答案。积累足够的 Karma 点数,你将获得 Atlassian 赠送的 T 恤。

如果你在 Answers 上找不到问题的答案,或者你需要分享一些关于安装的信息而你不太方便公开,总是可以寻求 Atlassian 支持的帮助。
Atlassian 支持
拥有有效许可证的用户有权获得 Atlassian 的支持。为了充分利用 Atlassian 支持,最好先使用内置的支持工具对你的系统进行初步诊断。
Atlassian 支持工具
Confluence 提供了一个内置的日志扫描器。该扫描器会检查你的 Confluence 日志文件中的错误,并将其与 Atlassian 知识库和 bug 跟踪器中的已知问题进行对比。该日志扫描器名为Hercules。Hercules 将连接到互联网以检索最新的已知问题;但你的文件不会通过互联网发送。系统管理员可以使用 Hercules 扫描日志文件。
使用日志扫描器:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择Atlassian 支持工具。
-
在故障排除标题下选择日志扫描器。
-
如果你的日志文件在默认位置,点击扫描。否则,先更改位置。
-
日志扫描器会返回指向 Atlassian 知识库或 bug 跟踪器的链接列表。
-
最后报告的问题会优先显示。如果你有超过 10 个错误匹配已知问题,可以点击页面顶部出现的显示全部链接。
-
选择一个链接查看报告的问题和可能的解决方案或变通方法。
![Atlassian 支持工具]()
-
提交支持票
在此时,我们可能遇到了没有已知解决方案的问题,但我们已经解决了大部分通过日志扫描器诊断出的故障。此时是提交 Atlassian 支持票的好时机。
提交支持票的最简单方法是直接通过管理控制台。如果你无法使用此方法,你需要通过 JIRA 实例 support.atlassian.com 提交请求。
通过 Confluence 提交支持请求
使用此方法的好处是,所有需要提供的支持文件都将直接添加到支持请求中。设置 SMTP 服务器是此方法的前提条件。
提交支持请求:
-
浏览到管理控制台(管理 | Confluence 管理)。
-
在左侧菜单中选择Atlassian 支持工具。
-
选择支持请求。
-
尽可能提供更多信息:
-
联系邮箱:默认使用登录用户的邮箱。该邮箱地址用于在
support.atlassian.com上查找或创建账户。所有后续通知将发送到该邮箱。 -
摘要:问题的简要描述。
-
描述:您可以分享的尽可能多的信息,包括任何错误消息和重现问题的步骤。
-
-
在附件支持数据部分,选择您希望附加到请求中的附加文件类型。在这种情况下,越多越好,但请记住公司的隐私和保密规则。
-
选择发送以发布您的请求。
一旦支持请求被接收,您将通过电子邮件收到通知。
![通过 Confluence 提交支持请求]()
Atlassian 专家
Atlassian 拥有超过 250 个合作伙伴,称为专家,他们致力于帮助您解决 Confluence 及其他产品相关的具体需求。如果您需要培训、定制插件或内部支持来设置您的产品套件,当地专家将为您提供帮助。
早期邀请专家帮助您设置 Confluence,从长远来看将大有裨益。专家们见过许多不同的安装,了解各种使用案例,并且非常熟悉为您提供的超过 1000 个插件。
要找到本地专家,请执行以下步骤:
-
使用筛选器指定:
-
您在寻找什么类型的专家(培训、调整、迁移)
-
针对哪种产品(Confluence、JIRA)
-
在哪个国家
-
-
点击搜索专家以生成符合筛选条件的专家列表。
![Atlassian experts]()
摘要
在这一章节中,我们学习了如何在 Atlassian Marketplace 中找到插件,以便为 Confluence 添加新功能,满足您的所有需求。Atlassian Marketplace 是一个充满活力的地方,越来越多的插件每天都在添加。您可以轻松地在 Confluence 中浏览它。
在 Confluence 中,内容就是一切,而一切也是内容。正常情况下,内容的索引工作良好,但在某些情况下,我们需要帮助 Confluence。我们学习了内容索引以及如何在需要时进行维护。
通过应用链接,您可以将 Confluence 与其他工具集成,创建一个完整的产品套件。应用链接使您能够将来自不同工具的不同内容集中在一个应用中。使用应用导航器,您也可以轻松地在不同工具间切换。
最后但同样重要的是,我们学习了如何在遇到问题时寻求支持。在线资源非常丰富,Atlassian 支持团队和专家可以帮助您重新开始。
下一章将让你了解如何编写自己的插件。这意味着需要进行一定的编码。如果你不熟悉这部分内容,完成后可以把书交给公司里的开发人员;他或她或许能帮助你编写所需的插件。
第十章:扩展 Confluence
不是所有功能都可能在 Confluence 开箱即用或作为市场中的附加插件提供。Confluence 通过自定义插件非常可扩展,如果你是开发人员,你甚至可以使用 Atlassian 软件开发工具包 (SDK) 创建自己的插件。
到本章结束时,你将了解:
-
设置开发环境
-
使用 Atlassian 插件 SDK
-
不同的扩展点
-
如何发布你的插件
如果你不是开发人员,本章可能会很难阅读,但它可以让你了解通过扩展 Confluence 可以实现的功能。
Atlassian 插件 SDK
Atlassian 提供了一个软件开发工具包(SDK)给插件开发人员。通过使用这个 SDK,开发人员可以创建扩展所有 Atlassian 产品功能的插件。SDK 使你能够快速连接并使用插件开发平台。
Atlassian 插件 SDK 通过帮助完成以下任务,让你的工作更轻松:
-
使用单一工具为任何 Atlassian 应用程序构建插件。
-
创建一个特定于你正在开发的 Atlassian 应用程序的插件框架。
-
下载应用程序二进制文件,安装插件,并启动应用程序。
-
在开发过程中,修改插件后可动态重新安装,无需重新启动。
-
编写高质量的单元测试和集成测试。
-
加速至关重要的代码-部署-测试循环。
安装 Atlassian 插件 SDK
在我们开始构建第一个插件之前,我们必须安装 Atlassian 插件 SDK。我们将逐步讲解如何在 Windows 系统上安装 SDK。
先决条件
首先,我们需要确保我们的 Windows 系统已经安装了必备软件,并且配置正确。Atlassian SDK 依赖于 Oracle JDK 版本 1.6.x 或更高版本。
安装 Oracle JDK 的步骤如下:
-
从
www.oracle.com/technetwork/java/javase/downloads/index.html下载最新的 JDK。注意
本文写作时,最新版本是 JDK 7 更新 17。
-
双击下载的安装文件以启动安装向导。
-
选择你希望安装 Java 的位置,或者直接接受默认值。你安装 JDK 的位置将被称为
JAVA_HOME。 -
右键点击“计算机”图标。
-
从左侧菜单中选择 高级系统设置。
-
点击 环境变量 按钮。
-
创建一个新的环境变量
JAVA_HOME,其值为你刚安装的 Java 路径,如下所示:![先决条件]()
现在你已经在系统上安装了 JDK,请将 JAVA bin 目录添加到系统路径中,确保可以从命令提示符中使用 Java。再次假设这是 Windows 环境。
若要将 JAVA_HOME 添加到系统路径中,请执行以下步骤:
-
右键点击“计算机”图标。
-
从左侧菜单中选择高级系统设置。
-
点击环境变量按钮。
-
在系统变量中找到Path变量并点击编辑...。
-
将
;%JAVA_HOME%\bin添加到变量值的末尾。 -
保存更改并关闭所有对话框。
在继续之前,我们必须确保 JDK 已正确安装,以便 Atlassian SDK 能够使用它。
为了验证你的 JDK 安装是否正确,请执行以下步骤:
-
在 Windows 中打开一个命令提示符窗口。
-
输入以下命令验证
JAVA_HOME变量是否已设置:echo %JAVA_HOME% -
这应该会返回一个路径,即
C:\Program Files (x86)\Java\jdk1.7.0_17。 -
设置变量后,验证你的Path是否包含 JDK 的 bin 目录。输入以下命令:
java –version这应该会显示已安装的 Java 版本,即:
java version "1.7.0_17" Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing) -
如果你已经安装了 JDK 并且Path已正确配置,你可以继续进行下一步。
在为 Confluence 构建插件时,应用程序将运行在你的桌面上。为了让 Confluence 能够启动,它假设端口 1990是可用的。大多数机器上这不会成为问题。
通过执行以下步骤验证你的端口号:
-
打开命令提示符窗口并输入以下命令:
netstat –a | find /I "1990"
如果前面的命令没有返回任何内容,则表示端口可用。如果前面的命令返回了内容,则说明端口 1990 已经被其他应用占用。Atlassian SDK 在启动时会注意到这一点,并为 Confluence 分配一个不同的端口。我们将在构建、安装和运行插件部分深入讨论这个问题。
注意
如果你在 Linux 或 Mac 上开发插件,可以参考developer.atlassian.com/display/DOCS/Set+up+the+SDK+Prerequisites+for+Linux+or+Mac的在线指南来安装 JDK。
设置 Atlassian SDK
在所有先决条件安装完毕后,我们可以下载并设置 Atlassian SDK。
-
通过以下链接下载最新版本的 SDK:
marketplace.atlassian.com/download/plugins/atlassian-plugin-sdk-windows(直接下载链接)。 -
定位到下载的安装程序并双击 EXE 文件。
![设置 Atlassian SDK]()
-
点击下一步并选择一个安装 SDK 的路径。
-
跟随接下来的界面安装 SDK。
现在 Atlassian 插件 SDK 已安装,我们准备创建第一个插件。
为了验证 SDK 是否配置正确,执行以下步骤:
-
打开命令提示符窗口并运行以下命令:
atlas-version系统应该会响应类似以下信息:
ATLAS Version: 4.1.7 ATLAS Home: C:\atlassian-plugin-sdk ATLAS Scripts: C:\atlassian-plugin-sdk\bin ATLAS Maven Home: C:\atlassian-plugin-sdk\apache-maven -------- Executing: "C:\atlassian-plugin-sdk\apache-maven\bin\mvn.bat" --version -gs C:\atlassian-plugin-sdk\apache-maven/conf/settings.xml Apache Maven 2.1.0 (r755702; 2009-03-18 20:10:27+0100) Java version: 1.7.0_17 Java home: C:\Program Files (x86)\Java\jdk1.7.0_17\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows server 2008 r2" version: "6.1" arch: "x86" Family: "windows"
命令
Atlassian 插件 SDK 提供了一组脚本,用于为 Atlassian 产品创建、安装和构建插件。让我们看看 SDK 中的一些典型任务和命令示例。
创建一个新的插件
当你想要构建一个新的插件时,需要创建一个插件骨架。打开命令提示符并在你想要创建插件的位置运行以下命令。
atlas-create-confluence-plugin
向你的插件中添加一个新模块
如果你想为你的插件添加一个新的模块,也可以通过命令行来完成。打开命令提示符并浏览到插件所在位置。在插件目录中运行:
atlas-create-confluence-plugin-module
在应用程序中运行插件
如果你想在目标应用程序中运行你的插件,使用命令提示符进入插件目录并输入:
atlas-run
上述命令将启动插件中指定的应用程序(例如 Confluence、JIRA 等),并自动安装你的插件。
运行特定版本的应用程序
如果你正在构建一个插件,并且希望它能够与特定版本的应用程序兼容,或者你只是想测试你的插件在新版本应用程序中的表现,可以在启动应用程序时指定这一点。在你的插件目录中运行以下命令:
atlas-clean
atlas-run –-version 5.0.1
atlas-clean命令将清除任何先前运行的插件版本。只有在之前运行的是不同版本时才需要此操作。
使用 Maven 命令行界面(CLI)插件
SDK 捆绑了 Maven CLI 插件,允许你在开发 Confluence 安装中运行命令。要将其与插件的宿主应用程序一起使用,进入插件的项目目录(即你创建插件的地方)并输入:
atlas-cli
当命令行界面启动时,你可以使用命令pi来打包你的插件并将其安装到正在运行的 Confluence 安装中。
运行独立应用程序
如果你想快速测试应用程序的新版本,可以使用独立命令来启动该应用程序。你可以在任何地方运行此命令,因为不需要插件:
atlas-run-standalone-–product confluence --version 5.0.1
帮助命令
有更多可用的命令,但这些是最常用的。如果你不确定某个命令的用法或者有哪些命令可用,可以运行以下命令:
atlas-help
Maven
当你构建插件时,Maven 将作为底层库依赖管理和构建工具。Maven 已经包含在 Atlassian Plugin SDK 中,因此不需要在你的机器上单独安装它。即使你已经安装了 Maven 版本,也应该使用捆绑的版本,因为 SDK 需要特定的 Maven 版本。
Atlassian SDK Maven 配备了已配置的设置,使得构建 Atlassian 插件尽可能简单。使用 Maven 和构建插件确实需要一个活跃的互联网连接,因为 Maven 会在构建过程中解析并下载所有需要的依赖。
如果你在公司代理后面,确保相应配置 Maven:
-
在文本编辑器中打开
%USERPROFILE%/.m2/settings.xml文件。如果该文件不存在,你可以创建它。 -
在你的文件中添加以下部分,并确保用你的代理设置替换这些配置:
<settings> <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts> www.google.com|*.somewhere.com </nonProxyHosts> </proxy> </proxies> </settings> -
保存文件。
对于普通的 Maven 安装,或者如果你有多个安装版本,mvn将通过命令提示符使用。为了确保使用 Atlassian 提供的版本,Maven 将使用atlas-mvn代替。
pom.xml 文件
在插件的根目录下,有一个pom.xml文件;该文件是 Maven 中项目配置的核心。在这个文件中,你可以定义对其他库的依赖并指定要运行的 Confluence 版本,它还包含插件的名称和描述。
pom.xml文件是你使用atlas-run启动插件时使用的文件。
插件描述符
每个插件必须有一个插件描述符文件。该文件atlassian-plugin.xml用于描述插件与目标应用的关系。当你第一次创建插件时,Atlassian SDK 会生成atlassian-plugin.xml文件。每当你使用atlassian-create-confluence-plugin-module添加新模块时,描述符文件也会更新。
在插件开发的某个阶段,你需要手动更新文件,因此理解插件描述符的内容是很有用的。插件描述符位于<plugin_home>/src/main/resources/目录下。
一个非常简洁的插件描述符的构建如下所示:
<atlassian-plugin key="${project.groupId}.${project.artifactId}"
name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}"
url="${project.organization.url}" />
</plugin-info>
</atlassian-plugin>
该描述符文件主要包含变量,这些是 Maven 变量,并将在你构建插件时,使用pom.xml文件中的值替换。描述符文件的其余部分为空;这个插件没有包含任何组件,这对于插件来说是非常不常见的。
在本章中,我们将向这个文件添加更多的模块,如果你想了解可用模块的概览,可以跳到插件模块类型部分。
使用开发环境
在开发插件时,使用集成开发环境(IDE)是个不错的主意。开发环境能帮助你减少错误,并且在调试插件时非常有用。
在 Windows 上安装 Eclipse
我们将使用 Eclipse,但如果你有其他偏好,也可以使用自己的 IDE。
-
从
www.eclipse.org/downloads/下载适用于 JAVA EE 开发者的 Eclipse。 -
将下载的 ZIP 文件解压到硬盘根目录。当你完成时,如果你的硬盘根目录是
C:\,你将会在硬盘上看到以下文件夹:![Installing Eclipse on Windows]()
在下一步中,我们将确保 Eclipse 使用我们刚刚安装的 JDK;这通过编辑 Eclipse 初始化文件来完成。
-
备份原始的
eclipse.ini文件,并将其命名为eclipse.ini.original。 -
在记事本中打开
eclipse.ini文件。 -
在文件中
-vmargs条目之前添加–vm条目。该条目应该指向%JAVA_HOME%/bin的值。Eclipse 要求你将反斜杠转换为正斜杠。你的文件应如下所示:-startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -vm C:/Program Files/Java/jdk1.7.0_17/bin -vmargs -Dosgi.requiredJavaVersion=1.5 -Dhelp.lucene.tokenizer=standard -Xms40m -Xmx512m -
关闭并保存文件。
-
启动 Eclipse 并选择 Eclipse 存储工作区的位置。
安装 Maven Eclipse 插件
我们将使用 Maven Eclipse 插件,它将帮助我们获取 Confluence 插件所需的依赖项。
-
选择帮助 | 安装新软件。点击添加按钮以添加新的仓库。
-
在名称字段中输入
Sonatype M2Eclipse。 -
在位置字段中输入
http://m2eclipse.sonatype.org/sites/m2e。 -
点击确定关闭对话框。系统将搜索该站点以查找插件。稍等片刻,名称字段将填写Maven Integration for Eclipse软件,如下所示:
![安装 Maven Eclipse 插件]()
-
选中复选框并点击下一步。
-
接受许可协议的条款并点击完成。
-
在提示时重新启动 Eclipse。
配置 Maven 插件
Eclipse 重新启动后,确保 Maven 插件已正确配置。
-
从 Eclipse 菜单栏选择窗口 | 首选项。
-
在过滤文本字段中输入
Maven并选择安装。 -
点击添加按钮以添加新的 Maven 安装。
-
浏览到您的 Atlassian SDK 安装位置并选择
apache-maven文件夹。 -
点击确定。
![配置 Maven 插件]()
-
点击应用。
-
点击 Maven 根目录。
-
取消选中在启动时下载仓库索引更新。这样可以防止 Maven 在 Eclipse 启动时更新,这可能会消耗较多时间。
atlas-命令将为您更新仓库。 -
点击确定关闭对话框。
构建您的第一个插件
安装 Atlassian SDK 后,您可以开始构建第一个插件。我们将构建一个新的 Confluence 宏,它可以用于格式化内容。
我们将查看:
-
宏接口,这是所有宏的基础
-
xhtml-macro模块 -
向插件添加资源,例如样式表
我们将构建一个将链接显示为按钮的宏。
创建插件项目
首先,我们需要使用 Atlassian SDK 创建插件骨架,并将新项目加载到 Eclipse 中。
-
打开命令提示符并导航到新插件的位置。
-
输入以下命令以创建一个新的 Confluence 插件:
atlas-create-confluence-plugin -
在提示时,输入以下信息以标识您的插件:
groupIdcom.example.confluenceartifactIdbutton-macro版本1.0-snapshotpackagecom.example.confluence.button -
在提示时确认您的输入。
-
启动 Eclipse。
-
从 Eclipse 菜单中选择文件 | 导入...。
-
在过滤文本字段中输入
Maven,然后选择现有的 Maven 项目:![创建插件项目]()
-
点击浏览并浏览到您创建插件的位置。
-
选择
pom.xml文件并点击完成。Eclipse 现在将导入您的项目并根据需要下载所有依赖项。这个过程可能需要一些时间。 -
有时在此过程中会发生错误,如果是这样:
-
右键点击导入的项目(在项目资源管理器中)。
-
选择Maven | 更新项目配置。
-
更新生成的代码
当你刚刚生成一个新的插件骨架时,你需要确保所有细节,如插件名称或描述,都是正确的。在本节中,我们将检查 Confluence 版本值并调整一些设置。打开 Eclipse 中的插件项目并跟随操作。
将插件元数据添加到 POM 文件
POM 文件中的元数据将在插件构建时使用。这将是添加公司详细信息和插件描述的地方。
-
编辑插件根目录中的
pom.xml文件。 -
将您的公司或组织的详细信息添加到
<organization>元素中:<organization> <name>Stefan Kohler</name> <url>http://www.stefankohler.nl/</url> </organization> -
更新
<name>和<description>元素:<name>Confluence Button Macro</name> <description>Display a link using a nicely formatted button.</description> -
保存文件。
验证您的 Confluence 版本
当你生成了一个新的插件骨架时,默认的 Confluence 版本已经包含在pom.xml文件中。在开始构建插件之前,请确保此版本是最新的。
-
打开 Eclipse 中的
pom.xml文件。 -
滚动到文件的底部。
-
查找
<properties>元素。本节列出了 Confluence 版本及插件的其他属性。 -
将 Confluence 版本更改为
5.1.2,如果有更高版本则选择更新版本。 -
保存
pom.xml文件。Eclipse 将自动为您下载新的依赖项。
清理插件骨架
我们正在构建一个新的宏,生成的大部分代码用于不同的组件。因此,我们不需要生成的代码。在开始之前,让我们先清理一下。
-
在 Eclipse 中打开
src/main/resources/atlassian-plugin.xml。 -
删除
<web-resource>、<component-import>和<component>部分。 -
还需要删除相应的文件:
-
MyPluginComponent.java -
MyPluginComponentImpl.java -
MyComponentWiredTest.java -
MyComponentUnitTest.java
-
添加新的宏模块
在我们的插件骨架准备好进行开发后,我们将向插件描述符中添加一些新的模块。
-
在 Eclipse 中打开您的
atlassian-plugin.xml文件。 -
将
xhtml-macro组件添加到文件中:<xhtml-macroname="link-button" class="com.example.confluence.button.LinkButton" key="link-button"> <parameters/> </xhtml-macro> -
Class参数指向我们宏的实现。
实现宏接口
我们刚刚定义的宏模块将调用我们 Java 类com.example.confluence.button.LinkButton的execute方法。该类还不存在,所以我们来创建它。
-
右键点击项目中的
com.example.confluence.button包(文件夹)。 -
选择新建 | 类并输入以下详细信息:
-
包 –
com.example.confluence.button -
名称 –
LinkButton -
接口 – 添加
com.atlassian.confluence.macro.Macro
-
-
点击完成。
您的新 Java 类将被生成,您可能会注意到我们需要实现三个方法。
实现 getBodyType 和 getOutputType 方法
这两种方法指定了宏是否有主体(如果有主体,则指定其类型)以及输出类型,是块级元素还是内联元素。我们实现的宏将有主体,并且会有块级输出类型。
@Override
publicBodyTypegetBodyType() {
returnBodyType.RICH_TEXT;
}
@Override
publicOutputTypegetOutputType() {
returnOutputType.BLOCK;
}
实现execute方法
execute方法将决定我们的宏输出是什么。我已经包括了一个简单的模板,里面有一些 HTML 代码来样式化我们的按钮。我们将使用宏的主体并将其作为按钮的输入。
@Override
public String execute(Map<String, String> parameters,
String body, ConversionContext context) throws MacroExecutionException {
String template = "<div class=\"aui-button aui-button-primary link-button\">%s</div>";
returnString.format(template, body);
}
我们使用的模板使用了Atlassian 用户界面(AUI),这是一个包含 JavaScript、样式表和模板的库,所有 Atlassian 产品中都包括这个库。如果您的插件使用了 AUI,它将与 Confluence 具有相同的外观和感觉。
更多关于 AUI 的信息可以在线查阅,网址为developer.atlassian.com/display/AUI/。
构建、安装和运行您的插件
当我们为插件设置好基础后,就该在 Confluence 中构建和运行插件了。
-
保存所有代码更改。
-
打开命令提示符并导航到插件的位置。
-
运行以下命令:
atlas-run该命令将构建您的插件,启动一个 Confluence 安装实例,并在该 Confluence 实例中安装您的插件。这个过程可能需要一些时间。完成后,输出的最后几行应如下所示:
[INFO] confluence started successfully in 225s at http://localhost:1990/confluence [INFO] Type Ctrl-D to shutdown gracefully [INFO] Type Ctrl-C to exit如果 Confluence 无法使用 1990 端口,因为另一个应用程序正在使用它,Confluence 会在不同的端口启动,并在这些行中提到它。
-
在浏览器中打开
http://localhost:1990/confluence。 -
在 Confluence 登录界面,输入用户名
admin,密码为admin。 -
创建一个新页面,并使用您的新宏。
-
点击导航栏中的创建。
-
选择插入 | 其他宏。
-
搜索
Link Button。 -
插入您的宏。
![构建、安装和运行您的插件]()
-
在宏的主体中添加链接,就像您在 Confluence 中通常做的那样。
-
保存页面。
-
-
观察您的新宏是如何格式化您的链接的:
![构建、安装和运行您的插件]()
添加资源
前面的截图显示的内容不太适合用户阅读;如果链接本身是白色的,会更好。为此,我们需要将资源(一个 CSS 文件)添加到我们的插件中。
在atlassian-plugin.xml文件中,添加<web-resources>元素:
<web-resource key="link-button-resources"
name="Link Button Resources">
<resource type="download" name="button-macro.css"
location="css/button-macro.css" />
<context>atl.general</context>
</web-resource>
<resource>元素决定了哪个文件将与我们的插件一起包含。该位置相对于src/main/resources文件夹。
<context>元素将告诉 Confluence 何时加载这些额外的资源。在我们的情况下,资源会在每个页面上加载,除了管理界面。
以下 CSS 必须添加到我们的button-macro.css类中:
.aui-button.link-button a {
color: #ffffff !important;
}
重新加载插件后,按钮现在应该如下所示:

提示
使用 FastDev 重新加载您的插件
FastDev 是 Atlassian SDK 的一项功能,能够加速插件开发。FastDev 会扫描插件目录中的变化,并能够直接从 Confluence 打包并重新安装插件。更多关于 FastDev 的信息,请访问developer.atlassian.com/display/DOCS/Automatic+Plugin+Reinstallation+with+FastDev。
发布插件。
在某个时刻,你完成了插件的开发,并希望将最终成果交付给你的公司,甚至是全世界。我们需要做的第一件事就是发布你的插件。
发布过程很大程度上依赖于你为插件设置了版本控制系统,比如 Subversion 或 GIT。如果你没有这样的系统,可以考虑查看bitbucket.org,这是一个免费的在线 Atlassian 工具,提供源代码托管服务。
在我们发布插件之前,我们必须确保pom.xml文件包含所有必要的要求。
设置 SCM 属性,按照以下步骤进行:
-
打开插件中的
pom.xml文件。 -
将以下行添加到文件中,包含你的 SCM 信息:
<scm> <connection> scm:git:git@bitbucket.org:stefankohler/plugin-example-button.git </connection> <developerConnection> scm:git:file:///${basedir} </developerConnection> url> https://bitbucket.org/stefankohler/plugin-example-button </url> </scm> -
保存
pom.xml文件。
connection和developerConnection告诉 Maven 如何连接到你的仓库。connection要求 Maven 有读取权限,以便能够找到源代码(例如更新),而developerConnection要求有写入权限的连接。
url元素不是必需的,但可以用于指向你仓库的公开 URL。
设置 distributionManagement。
发布过程将会将你的插件上传到由pom.xml文件中distributionManagement部分定义的指定位置。这个位置可以是从远程服务器到本地文件系统的任何地方。现在,我们将这个位置设置为你本地机器上的一个临时目录,因为该过程需要这个设置。
-
打开插件中的
pom.xml文件。 -
将以下行添加到文件中:
<distributionManagement> <repository> <id>local-repository</id> <url>file:///${basedir}/target</url> </repository> </distributionManagement> -
变量将会被替换为你自己的本地设置。
-
保存文件。
下一步是发布你的插件:
-
确保所有更改都已提交。
-
打开命令提示符,导航到插件所在位置并运行以下命令:
atlas-mvn release:prepare -
该命令将更新你的
pom.xml文件,填写所需的版本,并为发布创建一个新标签。在此过程中,你将被要求输入发布版本和下一个开发版本。 -
命令执行完成后,运行以下命令:
atlas-mvn release:perform此命令将:
-
检出刚刚创建的标签。
-
运行所有测试。
-
编译代码并打包它。
-
将你的二进制文件上传到指定位置。
-
-
命令完成后,你可以在插件文件夹的 target 目录中找到已发布的插件。这个文件应该是一个
.jar文件,文件名为你的插件名和版本号,例如button-macro-1.0.jar。
在没有版本控制的情况下发布插件。
如果您没有任何版本控制,插件的发布过程将涉及一些手动步骤。
-
打开插件中的
pom.xml文件。 -
将
<version></version>参数更改为您的发布版本,即1.1。 -
保存文件。
-
打开命令提示符并进入您的插件所在位置。
-
运行
atlas-package命令。该命令将编译、测试并构建您的插件。 -
命令完成后,您可以在插件文件夹中的目标目录中找到已发布的插件。它应该是一个
.jar文件,文件名为您的插件及其版本,例如button-macro-1.1.jar。
插件模块类型
Atlassian 插件可以指定一个或多个插件模块,以影响底层的 Atlassian 应用程序。插件模块是您可以添加到插件中的元素,这些元素将通过 SDK 和应用程序架构转化为 Confluence 能够理解的内容。
我们在第一个插件中已经使用了 xhtml-macro 和 web-resource 模块,但还有更多其他模块。
通用模块类型
这些是每个应用程序中都可用的模块类型,不仅仅是 Confluence。如果您正在为多个应用程序构建插件,请仅使用这些类型。
| 模块类型 | 描述 |
|---|---|
component |
将组件添加到组件系统中以供重用和自动连接。可以把它当作您自己的服务。 |
component-import |
从其他插件导入组件,使其在您自己的插件中可用。 |
module-type |
向插件框架添加新的插件模块。在为其他插件或在其他插件之上构建时非常有用。 |
path-converter |
使您能够为插件创建自定义的 URL 方案,也就是说,您可以拥有 SEO 友好的 URL 方案。 |
rest |
将服务和资源作为 REST API 提供。 |
servlet |
在 Confluence 插件中部署标准 Java servlet。 |
servlet-context-listener |
部署 Java servlet 上下文监听器,作为插件的一部分。 |
servlet-context-param |
在 Java Servlet 上下文中添加参数,该上下文由您的插件的 servlet、过滤器和监听器共享。 |
servlet-filter |
向您的插件添加 Java servlet 过滤器。别忘了指定过滤器的位置和排序。 |
velocity-context-item |
向您的 Velocity 上下文中添加辅助对象,可以在模板中使用。 |
web-item |
向 Confluence 用户界面添加链接和标签。 |
web-resource |
使您能够将样式表和 JavaScript 包含到插件中。 |
web-resource-transformer |
允许您在将 Web 资源发送到浏览器之前进行操作。 |
web-section |
向 Confluence 用户界面添加链接部分。 |
Confluence 特定的模块类型
每个 Atlassian 应用程序都有自己的模块,Confluence 也不例外。以下是 Confluence 支持的模块类型:
| 模块类型 | 描述 |
|---|---|
codeformatter |
向 {code} 宏添加新的代码语言。 |
colour-scheme |
向主题添加颜色方案。 |
decorator |
为你的插件添加一个装饰器(布局),可以在没有主题的情况下使用。 |
device-type-renderer |
为指定的(移动)设备类型添加一个渲染器。 |
extractor |
允许你提取数据并将其放入 Confluence 索引器。 |
job |
为 Confluence 添加一个可重复的作业,例如定时服务。 |
keyboard-shortcut |
在 Confluence 中定义一个新的键盘快捷键。 |
language |
为 Confluence 提供新的语言翻译。 |
layout |
为你的插件添加一个布局(装饰器),以便与主题一起使用。 |
lifecycle |
可用于安排应用程序启动和关闭期间的任务。 |
listener |
一个特殊组件,响应 Confluence 中的某些事件。 |
xhtml-macro |
向 WYSIWYG 编辑器添加一个新宏。应该输出可以嵌入页面的 HTML。 |
rpc-soap |
为 Confluence 添加一个 SOAP 服务。 |
rpc-xmlrpc |
为 Confluence 添加一个 XML-RPC 服务。 |
theme |
为 Confluence 或单个空间创建一个新的主题(外观和感觉)。 |
trigger |
添加一个触发器,用于安排作业。 |
xwork |
向插件添加新的动作和视图,启用用户交互。 |
插件模块类型详细介绍
上述列表相当全面,有很多选择。在本节中,我将详细解释一些你几乎肯定会在大多数插件中使用的插件模块类型。
XWork
如果你想向 Confluence 添加一个动作或屏幕(如配置屏幕),有两种选择。第一种是构建一个标准的 Java Servlet,第二种是使用 XWork/WebWork。
模块描述符
XWork 模块的语法如下:
<xwork name="plugin-actions" key="plugin-actions">
<package name="configure" extends="default"
namespace="/plugins/config">
<default-interceptor-ref name="defaultStack" />
<action name="alpha"
class="com.example.action.AlphaConfigAction"
method="view">
<result name="success"type="velocity">
/templates/alpha-config-action.vm
</result>
</action>
</package>
</xwork>
让我们快速浏览 XML,解释我们刚才定义的内容:
<xwork name="plugin-actions" key="plugin-actions">
定义 XWork 模块,name 和 key 属性仅用于标识。
<package name="configure" extends="default"
namespace="/plugins/config">
包含动作的包用于组织动作,你的 XWork 模块可以有多个包。name 是唯一的必需属性,用于标识该包。extends 指定包是否继承自其他包的行为;在此案例中,我们使用 Confluence 默认包。通过 namespace,你可以定义动作可用的 URL。
<action name="alpha"
class="com.example.action.AlphaConfigAction"
method="view">
action 元素是工作中的基本单元,定义了一个动作,在大多数情况下是一个 URL。name 属性完成了 URL,因为前面的动作可通过 /plugins/config/alpha.action 访问。一个动作总是具有一个类,该类会扩展 ConfluenceActionSupport。通过 method,可以指定负责此动作的类中的方法。
<result name="success"type="velocity">
/templates/alpha-config-action.vm
</result>
result 元素会将动作的结果映射到模板中。在前面的例子中,如果我们的 AlphaConfigAction 返回 success,则会渲染 velocity 模板 alpha-config-action.vm。
动作类
每个动作都应该有一个实现,继承 ConfluenceActionSupport 类。如果适合你的插件,多个动作可以使用相同的实现。
我们的AlphaConfigAction类应类似于下面这样:
public class AlphaConfigAction extends ConfluenceActionSupport {
public String view() {
if (condition == true) return SUCCESS;
return ERROR;
}
public String getViewMessage() {
return "Don't forget a towel";
}
}
基于我们的动作配置,调用方法view(),根据返回结果渲染成功或错误模板。
这当然是一个简单的示例,但你可以在这个动作类中做更多事情。这个动作类也可以在你的模板中使用,因此,如果你希望通过模板渲染某些信息,确保有一个可用的get方法,类似于#getViewMessage()。
Web Sections
Web Sections 允许你的插件向现有菜单添加新部分;每个部分可以包含一个或多个链接,这些链接被定义为 Web Items。我们可以使用 Web Sections 向 Confluence 管理界面添加新部分,用于插件配置。
模块描述符
Web Section 的语法如下:
<web-section key="plugin-admin-section" location="system.admin"
weight="1000">
<label key="plugin.menu.section" />
<condition class="com.atlassian.confluence.plugin.descriptor.web.conditions.SystemAdministratorCondition" />
</web-section>
让我们分解一下这个定义:
<web-section key="plugin-admin-section" location="system.admin"
weight="1000">
一个 web-section 元素需要一个key,这是该组件的唯一标识符。location与该部分需要添加到的菜单相关,weight决定了它在菜单中的位置。
如果你不熟悉 Confluence 源代码,location菜单可能很难找到。更多location菜单的文档请参见developer.atlassian.com/display/CONFDEV/Web+UI+Modules。一些常用的菜单如下:
| 位置 | 描述 |
|---|---|
system.profile |
用户资料视图上方的标签页。 |
system.user |
点击右上角用户头像时的下拉菜单。 |
system.admin |
管理员控制台左侧菜单中的链接。 |
label元素是 web-section 插件中唯一必需的元素。它会在你的插件属性文件中查找label并将其用于菜单部分标题。
<label key="plugin.menu.section" />
你可以为 Web 面板或项添加一个或多个条件。这些条件的实现必须返回true,才能在界面中显示该部分。你可以用它来确保链接仅对管理员可用。
<condition class="com.atlassian.confluence.plugin.descriptor.web.conditions.SystemAdministratorCondition" />
Web Items
使用 Web Items,你可以通过插件向 Confluence 添加链接。如果你构建了一个页面,可能希望用户能够找到它;向插件添加 Web Items 应该可以实现这一目标。
模块描述符
一个常见的 Web Item 配置可能类似于这样:
<web-item key="config-link" name="Plugin Configuration"
section="system.admin/plugin-admin-section" weight="10">
<label key="plugin.menu.config" />
<linklinkId="config-link">/plugins/config/alpha.action</link>
<icon height="16" width="16">
<link>/images/icons/config.gif</link>
</icon>
</web-item>
我将更详细地解释这个示例:
<web-item key="config-link" name="Plugin Configuration"
section="system.admin/plugin-admin-section" weight="10">
web-item属性有一个section参数,而不是location,因为 Web Items 必须放置在某个部分中。在我们的例子中,我将这个 Web Item 放在我们之前定义的部分中。
<linklinkId="config-link">/plugins/config/alpha.action</link>
link元素将决定用户点击菜单项后将前往的位置。linkId参数是可选的,它将在渲染时提供一个 HTML ID。链接可以是相对 Confluence 服务器的,也可以是绝对链接,指向你想要的任何网站。
<icon height="16" width="16">
<link>/images/icons/config.gif</link>
</icon>
Web Items 可以包含图标,这些图标将被放置在 label 元素之前。图标可以设置 width 和 height 属性。图像的位置由 link 元素定义。
就像 Web Sections 一样,Web Items 也可以包含条件,用来确定何时显示链接以及显示给谁。
在线资源
本章仅为你展示了扩展 Confluence 和编写插件的可能性的一小部分。有许多在线资源可以帮助你从这里继续前进。
所有开发者文档都已打包并可以在 developer.atlassian.com 找到。
-
Confluence 模块类型:有关可用模块的更多细节,以及它们接受哪些参数和元素,请访问
developer.atlassian.com/display/CONFDEV/Confluence+Plugin+Module+Types。 -
Confluence 插件教程:各种从初学者到高级开发者的 Confluence 教程可以在
developer.atlassian.com/display/CONFDEV/Confluence+Tutorials找到。 -
Atlassian 设计指南与用户界面:Atlassian 提供了一套工具包,帮助你为他们的产品创建漂亮的功能,详细信息请访问
developer.atlassian.com/display/AUI/。 -
市场:获取你的插件在 Marketplace 上架所需的一切资源,可以在
developer.atlassian.com/display/MARKET/Atlassian+Marketplace找到。
提示
获取源代码
如果你拥有有效的 Confluence 许可证,你可以通过 my.atlassian.com 下载源代码。如果你正在开发插件,这些源代码有时是最好的文档。当你遇到困难时,搜索源代码中的类似情况,看看 Atlassian 是如何解决这些问题的。
摘要
我们已经了解了如何通过插件扩展 Confluence。我们学习了如何设置 IDE 并构建我们的第一个插件,创建一个新的 Confluence 宏。
我们还看到 Confluence 有超过 30 个扩展点,可以用来增强 Confluence 功能。此章节将帮助你在开始构建自己的插件时获得一些启示,并大致了解可行的扩展方式。
到这里,你已经掌握了使用 Confluence 的所有基本知识,使它成为你公司不可或缺的工具。如果你遇到任何问题,可以在 Atlassian Answers (answers.atlassian.com) 上找到我和其他许多社区成员的帮助。






















































































浙公网安备 33010602011771号