Drupal 1.0 到 8.0 的简要历史

1 位读者喜欢这篇文章。
open source button on keyboard

Opensource.com

Drupal 最初是几个朋友用来监控他们共享的互联网连接的论坛,“因为互联网连接很昂贵,而且在他们之间分接”,正如 Jared Whitehead 在Drupal 的崛起和闭源的衰落中所说的那样。如今,它是最受欢迎的内容管理系统之一,与 WordPress 等巨头竞争。

那么,Drupal 社区做了哪些工作来确保持续的竞争力、可用性和整体可持续性呢?在本文中,我将按时间顺序向您介绍 Drupal 的演变过程,包括关键的设计决策和功能升级。我的资料来源包括 WebSolutions HR 的 Drupal 历史:从 Drop 1.0 到 Drupal 8.0 幻灯片,以及 Drupal 的 CHANGELOG.txt

Drupal 1.0

创建者 Dries Buytaert 在很大程度上以模块化 CMS Slash 为基础创建了 Drupal。最初,有 18 个核心模块,每个模块都是一个 PHP 文件。您可以将代码输入到模块中的七个钩子之一。管理员钩子只能由管理员使用。核心中已经有主题,您也可以创建自己的主题。通过主题,您可以控制颜色、标记、布局和区块位置。要修改数据库,您需要导入 SQL 文件。功能包括硬编码类别中的故事提交、充当博客的日记、帐户、评论、搜索、RDF 标题以及充当存档的日历。重要的是,任何人都可以成为贡献者。

Drupal 2.0

第二个迭代的主要开发是翻译功能,它允许您以不同的语言创建或覆盖您的网站。为了做到这一点,您必须使用 t() 函数编辑配置文件和 SQL 数据库。2.0 版本还通过添加用户评分、故事部分和用户权限系统,为框架贡献了更多的复杂性。user_access () 函数变得更加精细,允许不同的用户组。

Drupal 3.0

在这个版本中,节点(而不是页面)成为内容的主要单元。所有类型的内容——故事、书籍、日记、论坛、博客——都作为由节点模块管理的节点存在。这里的关键是您可以将任何类型的内容创建为节点。评论与节点连接起来。使用节点模块,您可以安排内容类型的配置方式,并设置博客文章的显示方式的默认值。十年后,节点将成为移动网络的基础。

Drupal 4.0

2002 年,科技新闻网站 KernelTrap.org 迁移到 Drupal 3.0.2,标志着 Drupal 在科技界的崛起。KernelTrap 的 Jeremy Andrews 编写了 Throttle 模块,该模块后来被包含到 Drupal Core 中。Throttle 检测流量激增,然后提供拥塞控制。

Drupal 的第四次迭代引入了 分类法 模块,该模块取代了元标记和属性。核心分类法模块是一个重要的分类和组织功能,至今仍是 Drupal 的核心功能。您可以基于关键字创建词汇表,将不同类型的内容分配给这些关键字,并创建、分配和修改内容类型。

Drupal 4.1 到 4.7

这个阶段包括大量的修改和增长,包括第一个电子商务模块 (4.4)。这有点像是 Drupal 的寒武纪大爆发

  • 个人资料模块
  • 主题模板
  • 可配置菜单
  • 翻译改进
  • WYSIWYG(所见即所得)支持——允许编辑者查看一段代码将如何向用户显示

总的来说,Drupal 变得更容易被更广泛的用户群体接受。4.2 版本包括对 Microsoft SQL 服务器的支持,2003 年总统候选人 Howard Dean 将 Drupal 用于 DeanSpace。这帮助 Drupal.org 上的内容活动增加了 300%。

4.7 版本包括一个新的表单 API,它为在 Drupal 中处理任何类型的表单提供了极大的自由度。此外,模块现在可以使用简单的查询和安装钩子来安装数据库,而无需手动在模块中安装数据库。

Drupal 5.0

5.0 版本采用了著名的 jQuery,这是一个使 HTML 脚本更容易的 JavaScript 库。Drupal 迅速跟进,现在它已成为 Web 标准。

另一个功能是支持预先创建的 Drupal 包的发行版,人们可以根据自己的喜好进行自定义。新的基于 Web 的安装程序完全取消了用户手动更改数据库的需要,并显示了运行时要求。用户现在可以缓存来自后端的文件,并创建自定义内容类型。模块被移动到它们自己的目录中,并且变得更容易安装和卸载。在主题方面,CSS 预处理器将可缓存的样式表迁移到单个压缩文件夹中,从而缩短了站点加载时间。

Drupal 6.0

Whitehouse.gov 采用了 Drupal 6.0 作为其 CMS,这是又一个巨大的进步。

菜单系统被从头重写,使其更易于使用。管理员现在可以拖放许多功能,包括区块、菜单项以及分类法词汇表和术语。语言系统被修改为支持从右到左的语言,并且总体上进行了调整,以使非英语使用更容易。安装程序得到了改进,新的表单在安装期间提供了站点信息,并自动使用了 5.0 版本中实现的 Garland 主题。安全功能改进包括更新状态模块,该模块自动检查可用更新,并在站点缺少安全更新或较新版本时发出警告。

Drupal 7.0

在 6.0 版本发布三年后,Drupal 7.0 再次改进了核心和可用性功能。所有模块都可以在运行时与任何节点交互,因此节点不再依赖于特定的模块。从这个意义上说,7.0 及更高版本上的所有内容都是独立的实体:内容类型、分类法、用户、自定义实体类型。为了处理多个或长时间运行的任务,7.0 版本添加了队列 API。jQuery 得到了升级,翻译进行了修改以支持消息上下文。

7.0 版本标志着基于 Web 的应用程序的普及:安装程序被重构为 API,节点正文和字段以及分类法术语成为字段 API,从而启用了自定义数据字段。事实上,在这个版本中,任何对象都可以注册为字段 API,允许自定义数据字段附件。

对于搜索引擎优化 (SEO),7.0 版本在节点和评论上添加了 rel="canonical" 链接,以防止重复内容被索引。图像处理得到了改进,文件变成了它们自己的实体或对象。

OpenID 的添加允许用户在使用 Google 提供的电子邮件域时使用其电子邮件地址登录。

Drupal 8.0

我们现在正处于 Drupal 的当前版本。

6.0 和 7.0 版本取得了很大的成就,而 8.0 版本更进一步。Appnovation 博客上的一篇文章概括了一些关键创新:Drupal 8.0:功能与实用性的结合

现在有一个标准的六个月发布周期,这意味着我们将在 2016 年 11 月看到 Drupal 8.2。语义版本控制或 SemVer 会向用户发出有关每个补丁版本的警报。8.0 版本合并了来自 Drupal 社区外部的代码,并且该代码在很大程度上是面向对象的。Views 模块现在是核心的一部分,具有批量操作功能。几个核心 API 现在都有一个 插件系统。配置存储在 YAML 文件中,可以在代码旁边进行管理。

来自 Facebook 的概念 BigPipe 是 8.1 的一部分。它通过首先发送可缓存的部分来帮助页面加载更快。迁移模块有助于确保从 6.0 和 7.0 的无缝升级。而且,在前端,PHP 被简化为 Twig 模板,这对于前端构建者来说更容易管理。

我们接下来可以期待什么?

Drupal 的发展始终优先考虑快速调整和具有前瞻性的适应,以优先考虑易用性。社区将其从专家的 CMS 转变为任何人都可以使用的广泛的站点构建器。随着 Drupal 的不断发展,期待看到持续的灵活性。

标签
User profile image.
Daniel Matthews 是一位技术爱好者和自由撰稿人,他对所有开源事物都着迷。他在网上广泛发表文章,专门分析数字世界的商业并提取有价值的见解。总的来说,作为一名作家,无论主题是什么,他都努力理解并迎合他的受众,提供相关、具体和引人入胜的内容。

2 条评论

“语言系统被修改为支持从左到右的语言……”——这应该是从右到左的语言吧?

你说的对 Adam,感谢你发现并评论!

回复 作者 Adam Browne (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.