Drupal Association 宣布, 2011年1月释出的 Drupal 7
将到2021年11月结束支持,这意味着
Drupal 安全团队将不会继续为 Drupal 7
核心或模块、主题等提供安全更新,暴露出来的新漏洞将不太可能得到修正。

澳门葡萄京官方网站 1

1.Drupal及FMS的特点

Drupal简介:Drupal是一个开箱即用的网站内容管理系统也是一个可定制化的平台。

百度百科介绍:
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。截止2011年底,共有13,802位WEB专家参加了Drupal的开发工作;228个国家使用181种语言的729,791位网站设计工作者使用Drupal。著名案例包括:联合国、美国白宫、美国商务部、纽约时报、华纳、迪斯尼、联邦快递、索尼、美国哈佛大学、Ubuntu等。

澳门葡萄京官方网站 2

根据 Drupal官网信息,2018年3月7日将发布Drupal 8.5.0版本。

2.为什么选择Drupal

1.高度可扩展
澳门葡萄京官方网站,Drupal的高扩展性让它可以管理世界上最大的、访问量最高的网站(如Weather.com,
Grammy.com)。Drupal让这些网站能够支撑高访问量的同时保持网站的持续更新。

2.移动优先
无论用户使用什么设备,都可以创建响应式网站或App应用,来达到最佳的访问体验。Drupal完整支持响应式的设计,确保您的用户在不同设备上可以无缝切换

3.应用集成
Drupal可以非常方便地与各种应用系统集成,您可以灵活地使用和切换各种工具。Drupal的API设计让它与其他站点的连接非常紧密,使内容更加强大

4.安全
Drupal社区有无数的开发者在维护Drupal站点安全。您的团队和开源社区紧密合作,共同发现安全问题、提交修复补丁。Drupal的安全小组在发现安全问题时,会第一时间发布安全更新,来确保安全。

5.内容编辑简单易用
可视化的编辑器、页面布局工具、快捷编辑等一系列的工具,让内容的编辑简单易用。配合工作流工具、管理员角色划分和权限设定可以快速地定制您的内容发布流程。

6.灵活的内容结构
通过管理员后台就可以灵活地定制内容结构,满足您业务的需要。配合一系列工具,可以管理各种媒体资源(图文,视频,pdf等),如自定义路径,跨终端显示等,您能想到的都能实现。

7.站群
通过一个平台,您就能统一管理各个站点,如不同部门,不同品牌,不同地域,不同活动等各种站点。同时实现快速的内容发布和不同站点之间的内容部署。

8.业务不再受限
Drupal不决定您的业务,您的业务决定Drupal提供什么。大部分CMS系统会迫使您按它们的方式去做。Drupal却完全相反:使用Drupal创建业务需要的解决方案。

9.健壮的技术栈
Drupal是运行在现代LAMP技术栈上:Linux,Apache,MySQL
和PHP。这些结合在一起,满足了快速、灵活、敏捷的下一代数字平台的需要。

10.内容也是服务
Drupal结构化的数据模型让您可以在不同的终端适配不同的布局来显示,也可以以服务的方式提供(如REST
services)。Drupal的架构和API让内容与渠道解耦:内容可以在任何地方、任何渠道、任何格式展示。

11.有着丰富知识库和专家的社区
遍及全球的Drupal社区相互分享经验和知识。如果您在社区里提了一个问题,就会有人来回答。借助开源的力量,来构建功能完善的方案。Drupal开发者也可以在全球社区获取经验和帮助。

12.多语言
多语言的支持是Drupal诞生伊始的基因。Drupal让创建和管理不同地区、不同国家、不同语言的站点变得非常简单,让翻译和做本地化内容的工作变得轻松。

在2021年11月之后,Drupal 7 网站的更新状态模块将会显示不再支持,Drupal 7
网站可能会被第三方标记为不安全,网站最好现在就开始迁移到 Drupal 8。

截止到RC
alpha和beta的更新,站点管理员和模块开发人员需要注意此发布版本的如下事项:

3. Drupla8 新特性

  1. www.drupalchian.cn
    的一篇文章详细介绍了Drupal8的新特性

2.Drupal8 目录结构

澳门葡萄京官方网站 3

image.png

core: Drupal8
的内核目录,所有核心文件,功能模块,core的主要目录以下会在介绍
modules: 贡献模块与自定义模块存放位置
profile: 安装配置文件
themes: 第三方主题或自定义主题目录
vendor: Drupal8 核心所需要的后后端库:如symfony2,twig 等

core 核心目录
core/assets:Drupal 8
所使用的各种扩展库,若JQuery,CKE第托人,Bakcbone,Underscore,Modernizer

core/includes: 提供核心API
core/lib:Drupal8 的各种核心类(classes)
core/misc:Drupal8 核心所需要的前端杂项文件,如js,css,小图片等等
core/modules:Drupal 8内核模块
core/profiles: Drupal8 内置安装配置文件
core/scripts: 开放人员可用的各种命令行脚本
core/tests: Drupal8 测试相关文件
core/themes: Drupal8 内核主题

而对于目前基于 Drupal 7 的网站,则意味着从2021年11月起:

  • 修复了Drupal核心代码中关键的安全漏洞(详细参照SA-CORE-2018-001)如下(8.4.5版本中也包含对此漏洞的修复):

    • 评论回复表单漏洞
    • JavaScript跨站脚本漏洞
    • 私有文件访问漏洞
    • jQuery非信任域漏洞
    • 多站点Node访问语言漏洞
    • 设置托盘漏洞
    • 外链注入漏洞
  • 此发布会自动重建节点访问系统用以更新特定配置的特定记录。如果站点包括二次开发或自定义访问控制组件,管理员可能会看见创建节点访问的提示。请注意重建操作会持续一段时间,但对保证节点访问功能的准确性和健壮性是必需的。

  • 如果你的二次开发或自定义模块处理挂起的修改或者加载不同的修改,请注意新的验证会限制不可翻译字段的修改,详细参考https://www.drupal.org/node/2938191。

  • 重要:如果你还没有升级到8.4.0请在升级到8.5.0之前阅读8.4.0发布说明(https://www.drupal.org/project/drupal/releases/8.4.0)。Drupal
    8.4包括Symfony、jQuery和jQueryUI的主要版本更新并且不再支持就把本Drush。Drupal
    8.3和更早的版本不再受支持。

  • Symfony
    3.4中转换带有注释YAML文件失败的缺陷。Drupal核心代码做了代偿处理,但自定义的services.yaml文件或者其它自定义的YAML格式必须自己解决,直到上游Symfony解决此问题(希望会在8.5.0发布前),详细参考https://www.drupal.org/node/2937545。

  • 部分JavaScript库和脚本已更新为最新版本(https://www.drupal.org/node/2925008)。大部分更新都是向后兼容,但部分列表(https://www.drupal.org/node/2925008)中的更新可能会影响自定义JavaScript代码。

4.模块安装与卸载

实战

  • Drupal 7
    将不再受到整个社区的支持。整个社区将不再为其创建新项目、修复现有项目中的错误,以及编写文档等。
  • Drupal 7 将不再有核心提交。
  • Drupal 安全团队将不再为 Drupal 7
    核心或模块、主题或其他项目提供支持或安全建议。有关 Drupal 7
    漏洞的报告可能会公开,从而产生 0day 漏洞。
  • 所有项目页面上的 Drupal 7
    版本都将被标记为不受支持。如果他们愿意,维护人员可以更改该标志。
  • 在具有更新状态模块的 Drupal 7 站点上,Drupal Core 将显示为不受支持。
  • 在2021年11月之后,使用 Drupal 7
    可能会在第三方扫描中被标记为不安全,因为它不再获得支持。
  • 最佳做法是不使用不受支持的软件,不建议继续构建新的 Drupal 7 站点。
  • 是时候开始计划迁移到 Drupal 8 了。

另外,在Drupal文档的PHP版本支持中可以发现Drupal
8.5.0将解决8.4.4中遗留的严重缺陷从而支持PHP 7.2(因此缺陷之前只能支持PHP
7.1)。

5.主题安装与卸载

实战

如果由于任何原因,在版本7到达生命周期结束时,无法迁移到 Drupal 8 或
9,会有一些组织将为其付费客户提供 Drupal 7
供应商扩展支持(D7ES)。该计划将是一项额外的付费服务,由这些组织在安全团队的帮助下完全运营。

PHP Version Supported? Recommended?
5.5 5.5.9+ No
5.6 Yes No
7.0 Yes No
7.1 Yes Yes
7.2 Yes as of Drupal 8.5.0* Yes

6.模块开发

进行 Drupal 8
模块开发的第一步,就是为模块取一个好名称。不仅要能够望文生义,模块名称还需要遵循以下规范:

  • 必须以字母开头
  • 只能包含小写字母和下划线,不能包含空格
  • 必须唯一,不能与网站上使用的其它模块重名
  • 不能使用如下名称:src, lib, vendor, assets, css, files, images, js,
    misc, templates, includes, fixtures, drupal 等等

遵循以上规范,我们使用 hello_world 作为将要开发的模块的名称。
实战

(文/开源中国)    

PHP 7.1和7.2的性能比较结果如下:

澳门葡萄京官方网站 4

使用前端页面控制器和Twig渲染

澳门葡萄京官方网站 5

单纯调用API后台控制器

开发中项目,可从8.4.x版本更新到8.5.0版本,如之前未升级到8.4.x版本请仔细阅读8.4.x版本发布说明避免更新造成不必要的成本浪费。

请扫描下面二维码订阅“敏捷架构”公众号

澳门葡萄京官方网站 6

敏捷架构 公众号