第 1 部分 - 开始的先决条件是什么?
0。 HTML、PHP、JS、CSS知识
如果您已经了解 HTML、PHP、JS、CSS 等,它肯定会帮助您开始使用 Drupal。
但根据我的经验,这些技能并不是跟上 Drupal 最重要的技能。您可以“即时(在工作中?)”了解它们。具体到 PHP,在 Drupal 的上下文中,你只需要知道你可以用 PHP 做的所有事情的一个子集。
1。所需的基础设施
显然,您需要一台计算机,并且(至少偶尔)需要一个有效的互联网连接和一个电子邮件 ID。至少要将 Drupal、贡献的模块等下载到您自己的计算机上。
-
稍后,当您的网站准备好向全世界展示时,您还需要:
- 托管该 Drupal 站点的一些托管服务提供商。
- 域名(DNS 注册)。
-
要真正能够在您自己的计算机上使用 Drupal 网站,您需要典型的软件,这些软件类似于 Drupal 的先决条件。以下是所谓的“堆栈”(通常也称为 WAMP、MAMP 或 LAMP)的列表:
- 适用于您计算机的操作系统(Windows、Mac 或免费的 Linux)。
- Web 服务器(如免费的 Apache,...)。
- 一个 DBMS(如免费的 MySQL)。
- PHP(这里没有其他语言,但是...免费)。
-
一些典型的实用程序,例如:
- 可以将文件解压缩为
.tar 或 .zip 等存档格式的东西,因为 Drupal 及其贡献的模块是以这些格式下载的。
- 文本编辑器(如记事本、notepad++、您最喜欢的编辑器等)。
- FTP 客户端,例如 FileZilla(将您的站点从本地环境上传到实时服务器)
-
设置所需的先决条件(如上一条)可能需要一些工作(和/或挑战)。但是,有一些很棒的软件包可以大大减少所需的工作量(和所需的技能),例如(选择您喜欢和/或适合您的任何选项,不完整的列表!):
- VirtualBox 与 QuickStart 结合使用(奖励:预装了 GIT、Drush 等)。
- XAMPP.
第 2 部分 - 培训计划是什么样的?
2。爬上 Drupal 阶梯
当我被问到如何开始使用 Drupal 的问题时,我总是指向 Climbing the Drupal ladder(来自著名的 Dries ...)。它只有一张图表,但其中包含大量信息和价值(一张图片价值超过 1000 个字......)。
这是一个很好的大纲,可以在“Drupal 入门”会议中使用。任何对 Drupal 有点熟悉的人都应该能够解释其中提到的大部分项目。
它也有以下变体:
3。熟悉贡献的模块和主题
如今,大约有 17,000 个贡献的模块和/或主题。有大量(数千……)很棒的模块/主题,还有很多隐藏的宝石。因此,在深入编写自定义模块/主题之前,请三思(或 3 次?)。问自己一个问题“几年后谁来维护它们?”。
但是,您经常会遇到不止 1 个贡献的模块或主题。这是一个示例:您应该使用哪个贡献模块在 Drupal 中创建图表? ...做出选择,例如通过 Comparison of charting modules。但是,如果您正在寻找,您会选择哪个模块:
这时您需要制定一些标准来选择最合适的标准,如“Maintenance scorecards”中所示(您可以将它们用于许多其他 Drupal 主题,因此不仅适用于图表) .
4。视图/标志/规则/消息
很难找到不使用(令人惊叹的)Views 模块的网站,但是入门并不明显(有很多东西要学习)。我通过关于 Views 模块的免费 set of 30 video tutorials 了解了很多关于这个模块的知识。
结合Flag、Rules 和Message 模块,已经可以提供很多站点功能。要开始使用 Rules,请查看 32 个(!!!)很棒的免费视频教程 Learn the Rules framework,分为 7 个章节。 Flag 模块有一个类似的set of 8 video tutorials。
因此,请务必充分了解/了解几乎所有网站中仅使用“魔术 4”即可完成的所有令人惊奇的事情。几个示例:
5。研究可用的文档
有关 Drupal 和许多贡献模块的文档以各种格式提供,例如:
- 贡献模块附带的 Readme.txt 文件。
- 社区文档可用于许多模块,通常可以通过模块项目页面上的“阅读文档”链接找到(但并非所有模块都有,但应该有)。
- 所选模块随附的高级帮助文档,如果您安装了 Advanced Help 模块,您可以从您的站点中访问该文档。
-
Drupal Answers 上令人印象深刻的(优秀)问题和(优秀)答案集。
6。学习使用 Drupal.org 上的问题队列。
Drupal.org 上的每个贡献模块都有一个“项目页面”,位于类似 https://www.drupal.org/project/issues/abc 的位置,而 abc 是模块的“命名空间”(并不总是与项目页面的标题完全相同) .可以在项目页面上找到指向其相应“问题队列”的多个链接,或者只使用像 https://www.drupal.org/project/issues/abc 这样的 URL。
问题队列(问题的搜索结果)提供各种搜索功能和/或过滤器。即使您不是“搜索”特定问题,而只是浏览这些问题,您也可以通过查看这些问题学到很多东西。很多时候,“一些”问题中包含的重要(关键)信息(尚未)包含在与模块相关的文档中。
就我而言,当我第一次开始使用Forena 时,我一直在迭代它的问题队列,并偶尔发布新问题。
作为模块(共同)维护者,我尝试通过以下社区文档页面中提到(超链接)的“问题”列表将模块用户指向这些有趣的问题:Charts HowTos、Forena HowTos、@987654350 @。注意:后来我开始在Drupal.SE 上添加类似的链接到有趣的问题...
7。从播客中了解 Drupal
有一些专门针对 Drupal 的有趣播客,它们还有一个很棒的网站,其中包含指向每个主题所涵盖主题的各种超链接。虽然有很多,但这里是我最喜欢的(+ 链接到我通过它们了解到的主题的答案):
仅供参考:我在遛狗的同时“从这些播客中学习”(+ 获得想法)。你也可以在通勤、锻炼等时这样做。
8。了解 Drush
在想飞之前先学会走路……所以开始使用典型的管理界面 (UI) 构建/维护 Drupal 站点。如:
- 安装/启用模块。
- 清除缓存。
- 正在更新站点信息。
- 在您构建的大多数网站中一直使用的典型模块。
- 等
但是,当您觉得自己有足够的经验,并且开始足够了解和了解 Drupal 时,您应该投资于了解 Drush。完成后,您会想知道“没有 Drush 我怎么能在 Drupal 中工作?”。对于上面的每个项目符号(以及更多项目符号),有一种方法可以使用 Drush。
9。了解 GIT
Drupal 站点主要由 2 个主要部分组成:数据库(通常在 MySQL 中)和 代码(主要是 PHP,还有 JavaScript、CSS 等)。 Drupal 核心,它的贡献模块,以及自定义模块都在“代码”中。 Git 用于该代码的“软件变更管理”(SCM)部分。
强烈建议“尽快”开始使用 GIT(使用后,您会想知道“如果没有它,我将如何在 Drupal 中工作?”)。 Git 通常用于主题/任务,例如:
第 3 部分 - 如何获得更多经验?
10.选择一个领域来发展
Drupal 很大,实际上很大。没有人(甚至不是 Dries)可以做/知道 Drupal 中的所有事情。因此,请尝试找到您感兴趣的领域(或几个领域)。如果可以,请寻找您已经在其他(非 Drupal)领域也有经验的领域。
就我而言,它是(是)软件变更管理和商业智能(报告)。这就是我现在“参与”的贡献模块(图表、报告等)的原因......以及我对即将推出的“配置管理计划”的兴趣。
11.从经验中吸取教训......和错误
另一个要加快 Drupal 的重要方面是您有时间从“经验”和“从犯错”中学习。从网站建设者开始似乎是最明显的起点。
您可以从那里移动/演变为 Drupal 开发人员(后端)、Drupal Themer(前端)或 Drupal 多面手等角色。这似乎也符合最近的 Drupal 认证计划。
备注:如何开始担任这些角色,似乎超出了这个问题的范围。
12.与其他 Drupal 爱好者联系
您一定以前看过:“为软件而来,为社区而留”。如果没有,您是否访问过www.drupal.org?在主页的左上角看到了吗?如果您是 Drupal 的新手,您可能想知道这到底意味着什么。以下是一些体验的建议:
13. ...
此项目符号故意留空...因为它的“编号”...您是否注意到编号从 0 开始? ...弥补这个缺失的数字...
14.参加 Drupal 会议和会议
与其他 Drupal 同行面对面会面需要付出更多努力(而且成本更高),但您会得到很多回报。以下是一些可供选择的选项:
参加Drupal Cons,这些都是大型会议,每年每个大陆大约1个,相对昂贵(旅行,酒店,注册)。通用语言是英语(尽管在拉丁美洲也有例外,我相信它是西班牙语)。有Barcelona,2015 年 9 月 21 日至 25 日,都柏林(2016 年),维也纳(2017 年),.... ),去查找有关数十个会话的视频。
参加 Drupal 夏令营,这些夏令营更本地化并且(方式)更小。它们通常按国家和/或州以您自己的语言显示。
参加 Drupal Sprints,您不仅会做出贡献(= 回馈社区),还会找到愿意在需要时帮助、指导和指导您的其他人。
第 4 部分 - 如何瞄准黄金摇篮?
15.不要等待乔治,就像乔治一样
George@Drupal.org(至少对我而言)是在 Keynote (from Dries)(slide 76/198)期间在阿姆斯特丹举行的 DrupalCon 2014 上首次介绍的。查看这些幻灯片,并观看电影以了解 George 的全部内容。
然后停止“等待乔治”,而是开始表现得像乔治一样。即使这是具有挑战性的事情(困难、重大努力等)。当你完成后,你肯定会学到一些东西,而且可能还有很多……
如果您正在寻找有关这方面的好例子的灵感,请不要再想“D8 什么时候发布?”。相反,“参与为 D8 的发布做出贡献”......并继续使用 D7 构建网站,直到 D8 准备好(并且足够成熟)。
16.以新手的身份开始贡献
除了Novice code contribution guide 中详细介绍的内容(关于创建补丁以向 Drupal 贡献“代码”)之外,还有许多社区文档需要工作,并且可以由新手用户完成(通常标记为“新手”)。
对于需要更好/更多文档的模块也是如此。实际上,这就是我如何从 Drupal 用户/管理员“晋升”为模块共同维护者和模块所有者的方式。请参阅HELP Reports reorganization(“只是”1 个问题......)了解我是如何开始这样做的。
这样的贡献将有助于“建立您的声誉”,并可能解决先有鸡还是先有蛋的问题以开始使用 Drupal(Drupal 中的大多数工作都需要特定 Drupal 领域的知识/经验)。
17.学习管理 Drupal 配置
任何 Drupal 站点都由 2 个主要部分组成:
管理代码(例如在 2 个或更多环境之间迁移或同步)相对容易。可以使用各种工具(例如 GIT 等)来实际执行此操作。
但是,您还需要管理 Drupal 站点的配置。没有任何配置的站点就像您甚至没有运行过install.php 脚本的站点。以下是一些关于配置的示例:
- 一旦您开始运行
install.php 脚本,您就开始输入有关您的 Drupal 站点的配置数据(站点名称、站点标语等)。
- 任何内容类型、权限、角色、规则、用户、分类法、过滤器、自定义视图等(这些都不存储在“代码”中,您不能只是从某个地方下载)。李>
- 已启用的模块和/或主题(仅解压缩您从 Drupal.org 下载的贡献模块不会启用它)。
- 用于配置特定模块和/或主题的选项。
因此,每当有关此类配置项的某些内容发生更改或需要迁移到另一个站点时,您都需要正确管理(并保护?)这一切。否则,您的网站(部分)可能会崩溃。
这就是最初引入这些贡献模块的原因:
尽管这些模块在管理配置方面增加了很多价值,但它们也有弱点。这就是为什么Configuration Management Initiative (=CMI) 是introduced。 CMI 计划作为 Drupal 8 的一部分发布。
第 5 部分 - 附录
以上列表不完整(仍然...)。此处可能添加的其他主题:
-
培训计划是什么样的?
-
如何获得更多经验?
- 寻找 Drupal 导师(+ 接受来自其他人的邀请成为他们的...)。
- 在IRC 上与 Drupal 社区聊天。
- 参加冲刺。
- 了解 Drupal 部署(开发、阶段、QA、产品)。
-
如何瞄准黄金摇篮?
- 工作流程自动化。
- 自动化测试。
- 应用软件重用(功能、drush make、安装配置文件等)。
- 为 D8 做好准备(Symphony、Twig、OOP、CMI、服务器先决条件……)。