Drupal 8

Drupal 8 分享,9月6日下午2点 广州drupal聚会。

本次交流会将邀请诗人来给大家谈谈他使用drupal8的经验和感受,与大家一齐讨论下还在测试期的drupal8。视频是Drupal 8的分享录像,大家可以打开来看。

链接:http://pan.baidu.com/s/1ntslavJ 密码:7q0s

第一个Drupal8 做的网站, 基于Drupal 8 Alpha 7。

网址:http://www.gqwuliu.com

Drupal 8 真的非常强大,但苦于正式版一直没有面世。为了切身体验一下Drupal 8 带来的惊喜,我毅然选择了Drupal 8 Alpha 7作为基础进行开发一个企业站。

途中遇到不少的障碍,例如搜索引擎没有任何的文档资料,官方也没有文档资料。官方模块也是寥寥无几,主题屈指可数,如表单没有webform,只能用form api;slideshow 也没有,只能自己幻灯片;faq功能也没有,只能自己写。就算有的,也是一堆的bug。

更痛苦的是Drupal 8 Alpha 7的核心bug也真的不少,连views 也有bug而只能放弃,自己写列表。。。。。。经常莫名其妙就出现错误,Alpha 8 出来后,直接升级还失败了。

官方解析是,无法Alpha 版本升级Alpha版本。。。

这是我的一个bug反馈。答案超级无奈。Drupal 8 Alpha 7 To Alpha 8 Upgrade error

不过怎么说也好,Drupal 8 Alpha 7做企业站还是绰绰有余的。

只用了自定义模块,官方的第三方模块没有用,所以速度还可以,下面是自定义的模块。

下面是网页截图。

首页:

内容页:

列表页:

表单页:

在drupal 8 中增加模块,创建区块。

今天花了一点时间,眼睛了一下drupal 8的模块开发。并且分享一下作为例子。

在开发前,我们首先看看在drupal7 下的基本模块是怎么样的。

test.info

; $Id:$
name = Test
description = "Test Module"
package = "Test"
core = 7.x
dependencies[] = node
dependencies[] = some_other_custom_module
files[] = test.module

test.module

Drupal 7 与 Drupal 8 的一些变化

1,Settings, States, ConfigEntity

Drupal 7:保存配置

// mymodule/mymodule.module
variable_set("mymodule_results", 5);

Drupal 8:保存配置

// mymodule/mymodule.module
config('mymodule.config')->set('results', 5)->save();
// mymodule/config/mymodule.config.yml
myvalue: 5

Drupal 7:保存状态

// mymodule/mymodule.module
variable_set("mymodule_last_update", 12345678);

Drupal 8:保存状态

// mymodule/mymodule.module
state()->set('mymodule_last_update', 12345678);

Drupal 7:设定

Drupal 7的设定是放在数据库

Drupal 8 设定是基于ConfigEntity,举例图像样式,image style。

在sites/default/files/config/activeXXX能看到image style的配置。

现在通过drupal 8后台增加一个image style,你会发现多了一个配置文件。

如果我们把这个配置文件拷贝到其他drupal8站点的话,同样的,在drupal8后台也能看到新加的image style

Drupal 8 -- 改变将会很大

根据官方说法,Drupal 8将会在2013年9月左右出release版本,“我们期望Drupal 8给我们带来什么?” 这个是最近比较热门的问题。Drupal 8 release版本将会跟dev版本有很大不同,这是肯定的,而对于drupaler来说,期待Drupal 8一些重要的更改,包括它的架构和用户体验等。

你可以查看Drupal的所有改变,在Change Records for Drupal Core page里面,我将列出几个最大的改变。

每一个版本的Drupal都改变很大。

1、核心:Drupal 8 Symfony框架

最大的改变是,Drupal 8将会把Symfony 2 应用于核心里面。Symfony 2前面有说过,它是一个企业级的php 框架,它的强大是很多php框架望尘莫及的。

Symfony 2的加入,会带来什么样的改变?

  1. 第一个是symfony庞大的函数库,让Drupal 开发者花在写基础函数的时间大大的减少,开发者可以更多时间处理其他问题;
  2. 第二个是symfony的功能非常丰富,面向对象,MVC的模型架构。而这些,正是Drupal一直以来渴望得到的。

 

2、模板:Drupal 8模板引擎将会用Twig

Drupal 8 采用Twig templating framework 作为默认的模板引擎,以代替以往的PHPTemplate 模板引擎,这可能是因为 Twig 也是Symfony 2的默认模板引擎的缘故,Twig 将大大优化Drupal 模板的逻辑,使得更安全,更快速,并且更易于开发。

尚不清楚的是,有多少Drupal主题将被支持,还有是多少主题将被保存到Drupal 8,但这只是普及问题,Twig无疑是一个需要加强Drupal主题体系结构,使其更快和更有序的很好的选择。

Drupal 8 -- 响应式的Toolbar

现在Drupal 8 dev 的toolbar 大体跟Drupal 7比较类似,还没有响应设计的:

正式版中,核心Toolbar模块,这个效果是很大机会会调整的,在过往一年,很多热心的drupaler都加入了社区,并且尝试改善Toolbar。

在Drupal 7中,有一个模块Mobile friendly navigation toolbar,实现在移动端也能很好的应用管理菜单。

关于响应式Toolbar问题,Drupal 开发Team 也有一些初步的构想,比较当前D8工具栏设计到D7工具栏。

 

目前,工具栏Toolbar是正在积极讨论,无论是在设计和实现细节。

我们一直有关注Toolbar这方面的讨论,到现时位置,已经开始慢慢清晰,一个成功的响应工具栏的解决方案不能简单的就只是为了移动。一个成功的解决方案应该还需要考虑折叠手机的友好设计。

在这里,我们将考察一些不同用户的工具栏需求,说明当前的设计满足这些用例。

“作为一个内容作者……我希望能够在任何设备管理我的网站,我的工具自动适应屏幕大小。”

Drupal 8 初探 -- Drupal 8的安装过程。

首先我们看看第一个版面安装界面。先出现的界面,让我们选择语言,这跟Drupal 6是一样的,而Drupal 7的第一个界面,是选择profile,这有一点顺序的改变。

而安装语言的po文件存放文件,也有所改变,在Drupal7 po文件是放在/profiles/standard/translations/里的,在Drupal8改了一下,地址变成了/sites/default/files/translations

 

Save an continue 按钮,进入第二个界面是Choose profile,默认只有StandardMinimal两种,这个跟Drupal 6,Drupal 7是一样的。我们选择Standard,继续下一步,系统通过Verify requirements后,直接进入第四部Set up database,数据库设置这步,也是沿用Drupal 7一样的风格,同样的,我们得先在mysql新建数据库才能进行,安装过程不会自动生成数据库,如果没建立数据库,会报错SQLSTATE[42000] [1049] Unknown database 'drupal8'。我们这里先在mysql 新建 数据吗名为:drupal8,再返回drupal 8安装界面中,设置好数据库的名称,用户名,密码,还有表前缀,继续下一步:

关于Drupal 8,你了解多少?

假如你是专业、上进、积极的Drupal开发者,假如你时时跟进Drupal核心和社区的一切新闻,请绕行,此文不针对深度Drupal程序员。
假如你听说过Drupal 8、了解不多,建议直接忽略此段从“Drupal 8概况”开始读起。

 

Drupal 8概况

 


- Drupal 8 什么时候发布?- 2013年8月。

- Drupal 8有什么了不起的?- 这大概会成为有史以来最有野心的一个内容管理系统。

- 谁会使用Drupal 8?- 刚开始当然是开发者和少数使用者。Drupal 7 花了一年半的时间,市场份额才超过Drupal 6。Drupal 8 要超越Drupal 7预计要到2013年。

- Drupal 8升级容易吗?- 不容易。其难度等同于Drupal 5升级到Drupal 6,或者说从Drupal 6 到 Drupal 7。

- 我还在使用Drupal 5/6/7。我该怎么办?- 建议Drupal 5用户现在就升级到Drupal 7;Drupal 6用户的时间相对宽裕,至少在Drupal 8 发布之前都是支持Drupal 6的;Drupal 7用户们至少还有四到五年的时间考虑是否要升级到Drupal 8。


Drupal 8 发布日程

 

  • 2012年12月1日:功能确定
  • 2013年2月1日:开发完成
  • 2013年8月Drupal Europe大会之日:正式发布

 

Drupal 8优化

 


Drupal 8 制定了一系列优化方案(initiative)。每项优化方案现状如下图:

 

订阅 RSS - Drupal8的博客