無代碼開發Web應用——開源Drupal平臺實踐

無代碼開發Web應用——開源Drupal平臺實踐

作者: 周化鋼
出版社: 清華大學
出版在: 2022-05-01
ISBN-13: 9787302597247
ISBN-10: 7302597243





內容描述


本書主要從四個方面介紹了Drupal平臺的開發技術。入門篇講解了Drupal開發環境的搭建及Drupal安裝,並講解了Drupal主要核心功能,如模塊管理、內容管理、菜單管理、用戶管理、主題、社交和多語種管理等,以及產品上線需要的域名和托管服務器申請,將Drupal系統安裝運營到托管服務器。實戰篇通過在線課程管理系統案例開發,講解了一個完整Web應用系統的開發過程。維護篇介紹了Drupal系統日常維護中的常見問題及解決方法,例如,多網站開發,Drupal備份恢復、更新與版本遷移,以及安全防護方法。工具篇講解利用虛擬機技術搭建Drupal專業開發環境,包括使用VritualBox和Windows 10的WSL,以及Docker和Vagrant容器安裝Drupal鏡像,同時還介紹了Drupal命令行(CLI)開發工具Drush和Composer的使用,瀏覽器開發者工具,常用代碼編輯器,以及Linux控制台作為Web應用開發的輔助工具。
Drupal本身是由PHP語言開發的,但除了搭建開發環境使用了一些Linux命令及Drupal的Drush和Composer工具命令,本書沒有涉及任何代碼的編寫,重點是讓讀者體驗無代碼開發Web應用的過程。本書適合對Web應用感興趣的讀者使用。


目錄大綱


目錄

第一篇入門篇

第1章Drupal介紹

1.1開源內容管理系統

1.2Drupal的特點

1.3Drupal的版本

1.4Drupal 7、8、9版本的區別

1.5Drupal核心概念思想

1.5.1模塊

1.5.2節點

1.5.3內容類型

1.5.4字段

1.5.5區塊

1.5.6分類

1.5.7實體

1.5.8視圖

第2章Drupal開發環境搭建與安裝

2.1Drupal的開發環境

2.2UniServerZ安裝

2.3Drupal 8安裝

2.3.1下載Drupal

2.3.2數據庫配置

2.3.3中文化設置

2.3.4安裝Drupal 8

2.4Drupal 8後台管理

2.4.1內容

2.4.2結構

2.4.3外觀

2.4.4擴展(模塊)

2.4.5配置

2.4.6人員

2.4.7報告

2.4.8幫助

第3章模塊

3.1模塊查找

3.2模塊存放的位置

3.3模塊下載、安裝、使用

3.3.1手動安裝

3.3.2系統管理頁面下載

3.3.3模塊啟用與依賴

3.4模塊的升級

3.4.1手工升級

3.4.2在線升級

3.4.3使用Drush和Composer工具升級

3.5用Module Filter管理模塊

第4章內容管理

4.1Drupal的內容

4.2創建基本頁面

4.3內容的修改和刪除

4.4內容的修訂版本

4.5批量內容的查詢、編輯、刪除管理

4.6其他內容類型的創建

4.7富文本編輯器

4.7.1使用CKEditor編輯器

4.7.2CKEditor的文本格式修改

第5章內容類型

5.1內容類型的創建

5.1.1創建內容類型

5.1.2內容類型的設置

5.2字段管理

5.3管理表單顯示

5.4管理內容顯示

第6章內容分類

6.1創建一個Drupal文章分類

6.2引用分類表

6.3修改分類表表單顯示

6.4在文章中使用分類

第7章內容顯示

7.1系統默認的顯示方式

7.2視圖模塊

7.2.1頁面方式

7.2.2顯示域

7.2.3格式化顯示域

7.2.4過濾器

7.2.5排序

7.2.6頁眉頁腳

7.2.7分頁器

7.2.8上下文過濾器

7.2.9關聯

7.3創建視圖

7.3.1創建“所有文章列表”視圖

7.3.2設置“所有文章列表”頁面

7.3.3“所有文章列表”視圖顯示

7.3.4視圖的區塊

7.4區塊佈局

7.4.1演示塊區域

7.4.2放置區塊組件內容

7.4.3自定義區塊庫

7.5與內容顯示相關模塊

7.5.1Ctools模塊

7.5.2Panels模塊

第8章多媒體內容

8.1視頻內容

8.1.1啟用Media模塊

8.1.2創建視頻內容類型

8.1.3安裝優酷模塊

8.1.4添加優酷字段

8.2創建視頻內容

8.2.1創建本地視頻內容

8.2.2創建優酷遠程視頻內容

8.3相冊內容

8.3.1創建相冊內容類型

8.3.2相冊相關模塊

8.3.3Juicebox模塊安裝

8.3.4設置相冊幻燈片顯示

8.3.5Juicebox相冊顯示效果

8.3.6相冊視圖定義Juicebox顯示

8.3.7相冊視圖的顯示效果

8.4幻燈片

8.4.1幻燈片相關模塊

8.4.2Views Slideshow模塊安裝

8.4.3創建輪播內容

8.4.4創建視圖幻燈片

8.4.5添加一個視圖區塊

8.4.6“內容: Image”設置

8.4.7改變輪播效果

8.4.8添加輪播控制按鈕

8.4.9自定義輪播圖片樣式

8.4.10文字滾屏

8.4.11幻燈片佈局

8.5文件上傳下載

8.5.1Drupal的文件系統

8.5.2設置PHP上傳文件大小

8.5.3創建內容類型

8.5.4作為資源文件下載

第9章菜單管理

9.1創建菜單

9.2添加菜單項鏈接

9.2.1通過內容創建生成菜單項

9.2.2通過系統菜單管理添加菜單項

9.3部署菜單

9.4菜單項分級

9.5創建菜單的其他方式

9.5.1通過視圖創建菜單

9.5.2通過視圖創建標簽菜單

9.6菜單的禁用和刪除

9.7與菜單相關的模塊

9.7.1Nice Menu模塊

9.7.2Superfish模塊

9.7.3Taxonomy menu模塊

9.7.4Pathauto模塊

第10章用戶、角色與權限

10.1用戶管理

10.1.1用戶註冊與創建

10.1.2用戶賬號設置

10.1.3用戶批量管理

10.2創建角色

10.3賦予角色權限

10.4賦予用戶角色

第11章主題

11.1主題模塊

11.1.1主題模塊安裝

11.1.2主題啟用

11.1.3主題切換與卸載

11.2主題設置

11.2.1配色方案

11.2.2網站logo與快捷圖標

11.2.3第三方主題設置

11.3站點信息設置

第12章頁面佈局與首頁設計

12.1Page Manager和Panels

12.1.1Panel Nodes 和Pages

12.1.2變體與頁面管理

12.2創建自定義首頁佈局

12.2.1創建首頁頁面(變體)

12.2.2首頁佈局

12.2.3給首頁添加內容

12.2.4重新定義首頁URL地址

12.3Layout Builder管理顯示

第13章社交

13.1社交分享

13.2閱讀統計

13.2.1瀏覽統計的配置

13.2.2誰可以看到瀏覽統計

13.2.3熱點文章排行

13.3點贊統計

13.3.1Voting API設置

13.3.2LikeBtn模塊設置

13.3.3點贊效果

13.4聯系表單

13.4.1個人聯絡表單

13.4.2自定義聯絡表單

13.4.3創建聯絡表單菜單

13.4.4通過自定義聯絡表單發送郵件

13.5Webform表單

13.5.1創建Webform表單

13.5.2發布表單

第14章中文與多語種網站

14.1多語種網站

14.2用戶界面翻譯

14.2.1翻譯包

14.2.2翻譯用戶界面

14.3創建雙語網站

14.3.1添加語言

14.3.2語言檢測設置

14.3.3添加語言切換按鈕

14.3.4第三方語言切換按鈕

14.4內容翻譯

14.4.1內容類型增加翻譯和語言選擇功能

14.4.2語言選擇器與內容創建

14.4.3編輯翻譯文章

14.4.4其他實體內容的翻譯

第15章實用管理模塊和Drupal分發版

15.1高級幫助管理

15.2開發管理

15.3分類管理

15.4關聯關系管理

15.5批量處理

15.6規則

15.7電子商務

15.8Drupal分發版

第16章移動與PWA設計

16.1響應式移動設計

16.1.1移動優先主題設計

16.1.2移動和桌面應用切換

16.2移動業務相關設計

16.3PWA

16.4基於Drupal後端移動應用開發

第17章產品上線

17.1申請域名

17.2申請托管服務器

17.3安裝Drupal到虛擬主機

17.4域名設置

17.4.1域名綁定

17.4.2重定向

17.4.3遷移

17.4.4子域名

17.5Cpanel管理虛擬主機

17.5.1文件管理

17.5.2數據庫管理

17.5.3郵件管理

17.5.4監控管理

17.5.5安全服務

第二篇實戰篇

第18章在線課程管理系統分析

18.1系統概要

18.2參與者

18.2.1老師角色職能

18.2.2學生角色職能

18.2.3系統管理員角色職能

18.3系統主要功能需求

18.3.1課程管理

18.3.2課程資源管理

18.3.3題庫和作業管理

18.3.4課程班級討論帖管理

18.3.5查詢功能

第19章用戶與系統角色設計

19.1Drupal內核的用戶管理

19.2自定義用戶信息

19.3系統用戶角色

19.3.1用戶角色定義

19.3.2用戶角色添加

19.3.3用戶註冊的角色選擇

19.4給用戶添加自定義字段

19.4.1添加用戶通用字段

19.4.2添加老師和學生用戶字段

19.4.3老師和學生用戶信息字段加權限

19.5學生和老師用戶註冊方式

19.5.1給特定角色添加註冊頁面

19.5.2老師和學生的註冊界面

19.5.3老師角色註冊需要管理員確認

19.6登錄用戶查看自己信息

第20章課程、班級和內容設計

20.1課程與教學班級設計

20.2安裝群組模塊

20.2.1使用Group模塊

20.2.2使用OG群組模塊

20.2.3OG群組概念

20.3課程群組數據結構設計

20.4創建課程群組內容類型

20.4.1創建課程性質和教研室分類

20.4.2課程小組添加課程性質和教研室分類

20.4.3添加課程圖片封面

20.4.4添加其他字段

20.5班級群組數據結構設計

20.6創建班級群組內容類型

20.6.1設置班級群組為課程群組的內容

20.6.2修改字段名稱

20.7建立群組與內容關系

20.7.1內容綁定到課程和班級群組

20.7.2設置創建內容鏈接

20.8群組和內容的創建

20.8.1創建課程實例、發布文章

20.8.2課程小組和文章的發布效果

20.8.3課程群組和文章頁面效果

20.9設置群組公有、內容私有

20.9.1設置課程小組公有

20.9.2設置課程小組文章內容私有

第21章課程與班級顯示

21.1OG模塊默認的視圖

21.2OG Extras模塊

21.3所有課程列表顯示

21.3.1設置課程頁面

21.3.2設置課程區塊

21.4課程小組下的所有班級列表顯示

21.4.1創建班級列表視圖

21.4.2設置班級標簽菜單

21.4.3設置班級視圖頁面上下文過濾器

21.4.4班級列表顯示效果

第22章課程與班級頁面佈局設計

22.1構建課程群組頁面佈局

22.1.1Page manager修改節點模板

22.1.2添加課程群組新變體

22.1.3設置課程變體顯示規則

22.1.4定義課程頁面佈局

22.2給課程變體添加內容

22.2.1添加節點的正文

22.2.2添加“創建內容”面板

22.2.3添加內容面板

22.2.4群組成員列表

22.2.5添加群組成員狀態

22.3課程自定義佈局

22.4課程小組頁面佈局顯示效果

22.5班級小組佈局

22.5.1默認群組節點的顯示效果

22.5.2查看Group變體的內容

22.5.3修改Group變體名稱為“班級群組佈局”

22.5.4修改“班級群組佈局”變體的選擇規則

22.5.5重新定義“內容”佈局

22.5.6選擇創建內容鏈接

22.5.7顯示班級所屬課程

22.5.8給佈局添加樣式

22.5.9班級佈局效果

第23章題庫設計

23.1Quiz模塊

23.2Quiz的設置管理

23.3Quiz的基本原理

23.4題庫內容類型設置

23.5題型內容類型設置

23.6創建題庫實例

23.7添加題型實例

23.7.1獨立內容添加題型

23.7.2題庫添加題型

23.8題庫的題型分類設計

23.8.1以問題“標題”為分類字段

23.8.2通過系統分類術語分類題庫問題

23.9在線測驗與測驗結果

23.10成績統計

23.10.1統計圖模塊安裝

23.10.2題庫修訂版本

23.10.3查看題庫成績統計

23.11一些關鍵設置

23.11.1用戶可以測驗的次數

23.11.2通過率(及格率)

23.11.3測試開放時間設置

23.12批量題型導入

23.13課程和班級的題庫設計

23.13.1課程的題庫標簽菜單設置

23.13.2班級的題庫設置

第24章課程與班級用戶權限管理

24.1系統級角色權限分配

24.2系統級角色權限設置

24.3群組角色權限設置

24.3.1群組角色定義

24.3.2群組角色權限設置

24.4群組角色授權管理

24.5班級群組批量學生角色授權

第25章課程多媒體資源庫設計

25.1課程大綱結構設計

25.2創建課程大綱內容類型

25.2.1“教學內容及要求”字段

25.2.2富文本編輯器

25.2.3“重點難點”字段

25.2.4文件類型的字段設置

25.2.5視頻設計

25.2.6安裝ffmpeg

25.2.7安裝Zencoder庫

25.2.8本地視頻字段設置

25.2.9遠程視頻字段

25.3創建課程大綱實例

25.3.1編輯“教學內容及要求”

25.3.2上傳課件和作業模板

25.3.3上傳本地和遠程課程視頻

25.4課程大綱顯示效果

25.5課程大綱在課程群組的顯示設計

25.5.1大綱文字內容列表

25.5.2課程視頻列表

第26章課程資源和消息管理

26.1課程資源管理

26.1.1資源共享設計實現

26.1.2資源分類(標簽菜單)設計

26.2老師、學生資源管理

26.2.1學生管理

26.2.2老師管理

26.3題庫資源發布與管理

26.3.1課程小組的題庫管理

26.3.2班級小組的作業發布

26.4課程大綱、文章和群組帖的發布管理

26.4.1課程大綱的發布管理

26.4.2文章的發布管理

26.4.3群組貼發布管理

26.5消息管理

26.5.1在線課程消息管理設計

26.5.2本地服務器Email測試管理

26.5.3安裝設置Mail Safety模塊

26.5.4設置消息類型模板

26.5.5定製消息發送規則

26.5.6消息管理測試

26.6消息管理改進

26.6.1群組帖添加“通知字段”

26.6.2修改消息通知規則

第三篇維護篇

第27章Drupal備份與恢復

27.1備份Drupal系統

27.1.1下載Drupal系統文件

27.1.2導出數據庫

27.2恢復Drupal系統

27.2.1系統代碼恢復

27.2.2導入數據庫

第28章Drupal版本遷移

28.1遷移準備

28.1.1系統清單

28.1.2內容清理

28.1.3模塊清理

28.1.4用戶清理

28.2遷移審查

28.3用Migrate遷移工具

28.4用Drush遷移

第29章Drupal的升級與多網站開發

29.1手工升級Drupal

29.1.1Drupal 7升級

29.1.2Drupal 8升級

29.1.3關於.htaccess和robots.txt

29.1.4update.php

29.2多網站

29.2.1創建多網站

29.2.2多網站更新

29.2.3多網站數據庫備份還原

第30章重置MySQL數據庫root密碼

30.1Linux下的MySQL

30.2UniServerZ下的MySQL

第31章Drupal安全防護

31.1安全審查和基本保護

31.1.1安全審查

31.1.2基本防範

31.2Spambots防範

31.2.1Drupal用戶設置

31.2.2使用第三方安全模塊

31.3admin賬號恢復

第四篇工具篇

第32章WSL開發環境

32.1Windows Subsystem of Linux

32.1.1打開Windows的Linux子系統功能

32.1.2選擇安裝一個Linux子系統

32.1.3進入Ubuntu終端

32.1.4設置root密碼或修改用戶密碼

32.1.5設置bash屬性

32.1.6WSL默認共享目錄

32.2安裝LAMP

32.2.1升級系統

32.2.2添加PHP軟件倉庫

32.2.3安裝LAMP

32.2.4測試Apache

32.2.5測試PHP

32.2.6啟用模塊

32.3Apache服務器設置

32.3.1解決WSL網絡協議錯誤問題

32.3.2修改埠號

32.3.3根目錄設置

32.3.4虛擬主機設置

32.4MariaDB數據庫設置

32.4.1啟動MySQL服務

32.4.2打開MySQL終端

32.4.3退出MySQL終端

32.5設置系統自動啟動LAMP服務器

32.6安裝郵件服務器代理

32.6.1安裝Postfix

32.6.2啟動郵件服務器

32.6.3發送測試mail

32.7安裝FTP文件服務器

32.7.1安裝FTP

32.7.2修改設置

32.7.3啟動FTP服務

32.8WSL目錄文件權限問題

32.9WSL系統下Drupal安裝

32.9.1下載和解壓Drupal

32.9.2創建數據庫和用戶

32.9.3settings.php文件設置

32.9.4虛擬主機設置

32.9.5手工安裝Drupal

32.10WSL遷移

32.10.1WSL導出

32.10.2WSL導入

32.10.3WSL啟動

32.10.4Ubuntu用戶切換

32.11WSL升級到WSL2

32.11.1檢查Windows 10版本

32.11.2安裝Linux內核更新包

32.11.3切換到WSL2環境

32.11.4設置WSL的Linux分發版本為WSL2

32.11.5文件共享問題

32.11.6Web訪問問題

32.12Windows 10下文件共享問題

32.12.1文件夾共享設置

32.12.2專用網絡設置

32.12.3網絡共享設置

第33章Linux虛擬機與容器開發環境

33.1Drupal的虛擬機鏡像

33.2VirtualBox開發環境

33.2.1安裝VirtualBox 

33.2.2安裝Drupal虛擬機鏡像文件

33.2.3啟動Drupal虛擬機

33.2.4安裝擴展包

33.3Docker

33.3.1Windows 10下安裝Docker

33.3.2Docker基本容器管理命令

33.3.3修改容器鏡像文件存放位置

33.3.4修改Docker服務器引擎容器

33.3.5共享磁盤

33.3.6設置國內鏡像加速器

33.3.7安裝Drupal容器和MariaDB數據庫

33.3.8使用dockercompose 安裝Drupal項目

33.4Vagrant

33.4.1先安裝VirtualBox

33.4.2安裝和使用Vagrant

33.4.3基本概念

33.4.4安裝基礎盒

33.4.5虛擬機操作

33.4.6VDD

33.4.7Drupal VM

33.4.8beetbox

33.5Vagrant的系統性能問題

33.6Vagrant和Docker的比較

第34章Composer和Drush工具

34.1Composer

34.1.1安裝Composer 

34.1.2安裝Drupal項目

34.2Drush

34.2.1Windows 10 安裝Drush

34.2.2安裝wget或者cURL

34.2.3在Ubuntu中安裝Drush

34.2.4下載Drupal項目

34.2.5安裝Drupal項目

34.2.6檢查Drupal項目的設置

34.2.7安裝管理Drupal模塊

34.2.8升級Drupal內核和模塊

34.2.9備份代碼和數據庫

34.2.10恢復代碼和數據庫

34.3Drupal CLI

34.3.1安裝Drupal CLI

34.3.2使用Drupal CLI

第35章Web應用開發常用工具

35.1代碼編輯器

35.1.1Linux下的編輯器

35.1.2Windows常用編輯器

35.2瀏覽器調試工具

35.2.1開發者工具

35.2.2瀏覽器的Web應用開發擴展

35.3文件上傳下載工具

35.4Linux服務器控制台

35.4.1開發環境的Linux服務器控制台

35.4.2遠程環境的Linux服務器控制台

附錄ADrupal常用模塊一覽表

附錄B常用開發工具及服務一覽表

致謝




相關書籍

Apache Hadoop YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop 2 (Paperback)

作者 Arun Murthy Vinod Vavilapalli Douglas Eadline Joseph Niemiec Jeff Markham

2022-05-01

跟著實務學習 Bootstrap 4、JavaScript:第一次設計響應式網頁就上手 -- MTA試題增強版 (含MTA JavaScript國際認證模擬試題 )

作者 蔡文龍 歐志信 蔡捷雲 曾芷琳 林家瑜 鄭玉珍

2022-05-01

SQL Server Advanced Data Types: JSON, XML, and Beyond

作者 Peter A. Carter

2022-05-01