开源的内容管理系统-Drupal
2010-10-11 12:45:26 阿炯

Drupal 是一个开源的内容管理系统(CMS) 平台,主要用于构造提供多种功能和服务的动态网站,这些功能包括用户管理(UserAdministration)、发布工作流 (Publishing Workflow)、讨论、新闻聚合(NewsAggregation)、元数据(Metadata)操作和用于内容共享的 XML 发布。

使用 Drupal 的博客看起来更像个博客社区,Performancing 就是一个可以把 Drupal 用作博客社区的很好的例子。无论你是否想把一个博客当100个博客运作,Drupal 都是个很好的选择。需要强调的是,Drupal 也是个多功能的软件。不仅有强大的用户系统,还有很多社区功能,比如论坛,书籍(一个叫“书籍”的模块,可以在里面创建文档),自动更新模块,并可以追踪其他用户的文章。

Drupal 也有强大的开发团队和诸多模组。使用这些模组,可以添加任何功能,建立任何类型的网站。许多顶尖网站使用 Drupal 运作他们的多个博客和用户社区。比如 Performancing,Spread Firefox,The Onion,和 Ubuntu 等等。

Drupal是一套采用GPL授权的开放源码软件,是由数以千计的使用者和开发人员所共同维护和开发的。

特点
* 灵活,便于扩展,模块众多
* 特有Book模块
* 灵活的分类法,可以实现tags,目录等功能
* 优秀的缓存机制,有效提升效率,降低负载
* 可以自定义URL,有助于搜索引擎优化
* 基于角色的用户管理

特性
* 共同写作(Collaborative Book):Drupal独特的共同写作特性让你能够设立一个内容项目或称之为“手册(book)”以供创作,同时你也可授权其他用户共同参与写作。
* 简洁友好的网址(Friendly URLs):基于Apache的mod_rewrite功能,Drupal允许你自定义网址,这可以令网址对于用户和搜索引擎都显得简洁友好。
* 模块(Modules):通过各种模块,你可以轻松扩展Drupal以获得更为丰富的功能。Drupal社区已经开发了许多模块,它们能为你提供诸如分类显示、jabber认证、私密消息、书签等多种功能。
* 在线文档帮助(Online help):就像许多开源项目,我们不能说我们的在线文档完美无缺,但我们已经建立了相对健全的在线文档帮助系统,提供精髓的帮助。
* 开放源代码(Open source):作为开源项目,Drupal的源代码通用公共许可证(GPL)提供,是自由且公开的。不同于版权私有的Blog程序或内容管理系统,Drupal的特性设置完全可以按照你的需要扩展延伸和自由定制。
* 个性化(Personalization):基于Drupal的核心部分可以为你提供完善的个性化环境。不论内容还是显示方式都可以通过用户自定义的参数选择实现充分的个性化。
* 基于角色的权限系统(Role based permission system):Drupal的管理员不必辛苦的为每一个用户单独设置权限,而是给不同的角色分配所需的权限,再将用户加入到相应的角色组中。
* 搜索(Searching):Drupal里的所有内容都可以被建立索引和搜索。

用户管理

* 用户认证(User authentication):用户可以在本地注册并认证,或使用外部的认证源(诸如Jabber、Blogger、LiveJournal或其它的Drupal站点)进行认证。若在企业内部网络使用,Drupal还可以与LDAP服务器整合。

内容管理

* 投票(Polls):使用内建的poll模块,Drupal能够让管理员或用户创建投票,并可设定在任意的页面显示。
* 主题模板(Templating):Drupal的主题系统将内容和显示方式分离开来,这样可以更好地控制网站的外观风格。主题模板是基于标准的HTML和PHP代码构建的,这意味着你无需学习另外的专有模板语言。
* 线性评论(Threaded comments):Drupal提供了一个强大的线性评论模块,使用户可以对内容发表评论。评论是分等级且有层次的,就像新闻组或论坛那样。
* 版本控制(Version control):Drupal的版本控制系统能跟踪内容更新的详细情况,包括更改人、更改内容、更改日期及时间等。版本控制特性还提供了可选的评论记录功能,同时允许你将内容恢复到早期的版本。

博客

* 支持Blogger API(Blogger API support):Blogger API允许你使用许多不同的工具来更新你的Drupal站点。这包括非基于网页浏览器的工具软件(如Zoundry、BlogJet),它们可以提供更丰富强大的编辑环境。
* 内容整合(Content syndication):Drupal可以将站点的内容作为RDF/RSS格式输出。这样任何人就可以在他们的桌面上舒适的使用新闻聚合软件(如FeedDemon)浏览你的站点内容。
* 新闻聚合器(News aggregator):Drupal内建了功能强大的新闻聚合器,它可以读取并记录其它网站的新闻咨询。新闻聚合器将文章缓存在你的数据库中,而管理员可以设定这个缓存的时间。
* 永久链接(Permalinks):在Drupal创建的所有内容都有一个永久链接,用户可以通过它直接访问而不必担心因动态链接损坏而无法访问内容。

平台

* 支持Apache/IIS,Unix/Linux/BSD/Solaris/Windows/Mac OS X:Drupal从设计一开始就是面向多平台的。你不仅可以在Apache或IIS上使用,还可以在Linux、BSD、Solaris、Windows、Mac OS X等多种平台上运行Drupal。
* 数据库独立(Database independence):很多用户使用MySQL作为Drupal运行的数据库,但我们知道MySQL不是适合所有人的解决方案。Drupal建立在数据库抽象层的顶层,这意味着你可以使用MySQL或PostgreSQL。其它的SQL数据库也可以被Drupal支持,你需要编写一个包含14组功能的数据库后端并创建一个匹配的SQL数据库架构。
* 多语言(Multi-language):Drupal设计符合全球使用者需求,提供了完整的框架用以创建多语言的网站、博客、内容管理系统和社群应用。通过导入现有的翻译资料,或通过与其它的翻译软件整合(例如GNU gettext),所有的文字都可以在一个图形用户界面被翻译。

管理分析

* 分析、跟踪和统计(Analysis, Tracking and Statistics):Drupal可以生成基于浏览器的报告,提供有关站点的referrals、热门内容、用户浏览方式等信息。
* 日志和报告(Logging and Reporting):所有重要的行为和系统事件都会被捕获并记录在一个事件日志中,管理员可以在事后查看。
* 基于浏览器管理(Web based administration):Drupal可以完全通过浏览器管理,你可以在全世界任何能够连接上互联网的地方管理你的站点,这不需要在电脑上额外安装任何软件。

社群特性

* 论坛(Discussion forums):Drupal内建了完整的论坛模块,可用以创建活跃的、动态的社群站点。

性能和可伸缩性

* 缓存(Caching):缓存机制可以减少对数据库的查询,减轻服务器的负荷,从而提高站点的运行效能。当站点负荷量大时,你还可以对缓存实时调整。开启缓存机制的站点不仅成功的通过了“slashdotting”测试,而且表现得相当出色!

最新版本:8.0
该版本包含 bug 修复和小的 API 和功能的提升;修复了在一些老的浏览器上 JavaScript 无法执行的问题;更新管理器模块性能提升等。

最新版本:8.8
Drupal 8.8.0 现已发布。作为 Drupal 8 的最后一个正常功能发行版,Drupal 8.8.0 包括稳定的媒体库以及对工作区和迁移的一些改进。新的实验性 Claro 管理主题也使得站点管理焕然一新,也是本机 Composer 支持的第一个版本。该版本的一些更新内容具体如下:
稳定的媒体库:媒体库模块允许轻松地在整个站点上重复使用图像,文档,视频和其他资产。它被集成到内容形式中并无缝地适合 CKEditor。用户可以直接从库中上传媒体,甚至可以重复使用已上传媒体和现有媒体的组合。媒体库先前作为 Beta 实验模块包含在 Drupal 核心中。

新的实验管理主题:Claro 管理主题已添加到 Drupal 核心,并具有 beta 实验稳定性。新主题干净,易用且功能强大。管理页面更易于触摸,并且颜色组合和对比度更易于访问。

对工作区的重大改进:该版本目前已可以定义分层的工作空间。同时,工作区可以与“内容审核”一起使用,并且还可以分阶段更改路径别名。

包括 Native Composer 支持:Drupal 8.8.0 是第一个包含本机 Composer 支持的版本,而无需依赖第三方项目来设置具有其依赖项的 Drupal。可以使用单行命令创建新站点。

迁移改进:多语言迁移路径仍处于试验阶段,但已进行了各种更新。这包括词汇语言设置,术语语言信息和本地化的处理。模块现在可以指定它们提供的迁移是否完成,以帮助审核可用迁移的完整性。

值得一提的是,Drupal 8.8 是 Drupal 8 的最后一个次要发行版,在 9.0.0 之前包含重要的新功能或不推荐使用。下一个(也是最后一个)次要版本 8.9 计划是一个长期支持版本,它将包含与 Drupal 9.0 相同的所有更改。与 8.8.0 相比,它不会包含重大的新功能,尽管现有的实验模块可能会变得稳定,并且仍可以添加一些小的 API 和 UX 改进。Drupal 8.9.0的计划发布日期是2020年6月3日,而Drupal 9.0.0的目标发布日期是同一天。更多详细信息请点击这里

最新版本:9.2
Drupal 9 的第二个版本于2021年6月中旬发布,有助于让网站更加安全,并且增加了对访客隐私的保护,改进了从 Drupal 7 的迁移工具,增强了 Olivero 前端主题,以及对 WebP 图片格式的早期支持。以下是该版本更新内容的详情:

安全和隐私的改进:重要的安全公告和公共服务公告现在将显示在网站管理员的状态报告页面和特定管理页面。这有助于让网站所有者做好准备,及时应用安全修复措施。为了增加对网站访问者的隐私保护,Drupal 9.2.0 现在默认阻止 Google FLoC 用户追踪。

更好的构建模块:Olivero 主题,即将成为 Drupal 新的默认前端主题,在这个版本中有数十项重大改进,包括一个新的表单设计和各种无障碍修复。内置的 Umami 演示现在也更加灵活。

为 Drupal 10 作准备:所有 Symfony 5 和几个 Symfony 6 的兼容性问题都已经解决。作为 Drupal 9 前端现代化的一部分,核心的 Tour 功能现在使用 ShepherdJS 而不是 jQuery Joyride。这极大地改善了 Tour,并移除了对 jQuery 的依赖。

其他改进:已经很稳定的 Drupal 7 迁移路径现在得到了扩展,用户设置、节点/用户参考字段和其他以前缺失的部分都得到了迁移。Drupal 加入了对管理 WebP 图片的初步支持,对于完整的 WebP 支持,将在未来逐步更新。更多内容可查看这里

最新版本:9.3
Drupal 9.3.0 已于2021年12月中旬发布,这是 Drupal 9 的第三个功能版本,更新内容包括添加对 CKEditor 5 的实验性支持,使 Olivero 主题变稳定,并针对内容编辑器和面向开发者的使用进行了优化。

Olivero 前端主题已处于稳定阶段:新的 Olivero 主题于 Drupal 9.1.0 中引入,现在已到达稳定阶段。作为一个现代的主题,Olivero 计划在以后成为新的 Drupal 默认主题(取代 Bartik)。目前尚不支持 Subtheming Olivero,未来可能会加入正式支持。主题以 Rachel Olivero (1982-2019) 命名。她是美国盲人联合会组织技术组的负责人,是知名的无障碍专家,是 Drupal 社区的贡献者,也是很多人的朋友。

对 CKEditor 5 的实验性支持:Drupal 9.3.0 包含一个新的 beta 实验性 CKEditor 5 模块。CKEditor 5 是一个全新的编辑器,在视觉和架构方面均有所改进。在构建集成的过程中,该团队与 CKSource 一起努力实现对 Drupal 站点至关重要的功能,例如常规 HTML 支持和动态加载 CKEditor 插件的方法,因此基于可视化 Web 的编辑器设置在 Drupal 中仍然可用。此外,开发团队还特意提供了一个流畅的从 CKEditor 4 配置进行升级的路径。

新的内容编辑角色:一个新的专门的内容编辑角色被添加到了标准配置文件中,并默认启用内容编辑、媒体管理、翻译、内容工作流和修订处理权限。

面向开发者的改进:实体包现在可以声明自己的类,封装所需的业务逻辑。捆绑类必须是基础实体类的一个子类,如 \Drupal\node\Entity\Node。开发者可将每个 bundle 的所有所需逻辑封装到自己的子类中,为制作更清晰、简单、可维护和可测试的代码提供了许多可能性。每个用户角色现在都依赖于提供该角色权限的模块,这意味着当一个模块被卸载时,权限会被自动清理掉。

PHP 8.1.0 于 11 月底正式发布,Drupal 9.3.0 已完全支持新版本。安装 Drupal 9.3.0 的推荐 PHP 版本也是 PHP 8,但同时保留了对 PHP 7.3+ 的支持。更多详情请查看发行说明

官方主页:http://drupal.org/
中文参考:http://drupalchina.org/

该文章最后由 阿炯 于 2021-12-15 21:40:30 更新,目前是第 2 版。