如何用開源的Drupal來構建視頻教學平臺
Drupal的核心功能是內容管理♀☿☼☀☁☂☄、文件管理⒜⒝⒞⒟⒠⒡⒢⒣⒤,可以強大的靈活定制各種數據結構☧☬☸✡♁✙♆。,、':∶;、定義數據類型웃유ღ♋♂、數據分類⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、元數據ⓣⓤⓥⓦⓧⓨⓩ,所以對于構建在線教育平臺♦☜☞☝✍☚☛☟✌✽✾✿❁❃、在線視頻教學平臺來講㈠㈡㈢㈣㈤㈥㈦,是非常合適的♦☜☞☝✍☚☛☟✌✽✾✿❁❃,也是很容易靈活實現的ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。通過Drupal的靈活性和內容管理特性✵✶✷✸✹✺✻✼❄❅,如何高效又實現一個在線教育平臺呢✵✶✷✸✹✺✻✼❄❅?我們總結了一下幾個核心要點웃유ღ♋♂,需要來解決:
(1)用戶體系⑰⑱⑲⑳⓪⓿❶❷❸❹❺,實現管理員/發布者的管理웃유ღ♋♂。
(2)權限體系✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,對內容管理權限的分配ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。
(3)課程管理❻❼❽❾❿⓫⓬⓭⓮⓯⓰,對課程的管理ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,章節管理웃유ღ♋♂、小節管理♦☜☞☝✍☚☛☟✌✽✾✿❁❃。
(4)視頻管理♦☜☞☝✍☚☛☟✌✽✾✿❁❃,管理視頻文件❣❦❧♡۵、上傳ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、存儲和播放視頻❣❦❧♡۵。
(5)課件管理✵✶✷✸✹✺✻✼❄❅,對課程的課件進行管理⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,文件的存儲웃유ღ♋♂、分類和下載❣❦❧♡۵。
(6)分類體系✺ϟ☇♤♧♡♢♠♣♥,對課程的課件進行分類管理⑰⑱⑲⑳⓪⓿❶❷❸❹❺。
(7)學習日志☾☽❄☃,對學習進行日志記錄⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,包括學習時長웃유ღ♋♂、是否完成等⑰⑱⑲⑳⓪⓿❶❷❸❹❺。
Drupal的實現方式
對于Drupal來講⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,幾乎能滿足課程系統的所有功能❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,比如內容管理⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、文件管理웃유ღ♋♂、分類和權限等웃유ღ♋♂,我們把課程系統的對應的實現方式都列了出來ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,并且用最簡單的描述⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,盡量來實現課程系統:
Drupal的核心體系:
(1)用戶體系⑰⑱⑲⑳⓪⓿❶❷❸❹❺,Drupal自帶用戶體系⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,無需新建user表☧☬☸✡♁✙♆。,、':∶;。
(2)權限體系✵✶✷✸✹✺✻✼❄❅,Drupal最優秀的權限模型ⓣⓤⓥⓦⓧⓨⓩ,無需代碼⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,即可完成最靈活的權限管理✺ϟ☇♤♧♡♢♠♣♥。
(3)課程管理❣❦❧♡۵,內容管理是Drupal的核心⒜⒝⒞⒟⒠⒡⒢⒣⒤,構建一個新的內容類型♀☿☼☀☁☂☄,可以自定義字段等♀☿☼☀☁☂☄,完全能非常靈活實現❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。
(4)視頻管理①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,可以用默認的Drupal的media來管理ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,當然也可以對接到云存儲ⓣⓤⓥⓦⓧⓨⓩ、塊存儲❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,比如OSS웃유ღ♋♂,亞馬遜S3❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。
(5)課件管理♦☜☞☝✍☚☛☟✌✽✾✿❁❃,Drupal默認的文件管理☈⊙☉℃℉❅,關聯課程即可㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。
(6)分類體系❣❦❧♡۵,Drupal默認強大得分類提⑰⑱⑲⑳⓪⓿❶❷❸❹❺,可以完全實現對課程的課件進行分類管理✺ϟ☇♤♧♡♢♠♣♥。
(7)學習日志ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,可以使用Drupal的日志系統❣❦❧♡۵,也可以新建日志追蹤系統☧☬☸✡♁✙♆。,、':∶;,記錄學生的學習①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,進行統計和導出웃유ღ♋♂。
系統核心架構
根據Drupal的特性以及內容類型的構建☈⊙☉℃℉❅,我們來梳理了一下整個在線教育系統的核心的架構圖⑰⑱⑲⑳⓪⓿❶❷❸❹❺,底層是基于云平臺ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ、RDS✵✶✷✸✹✺✻✼❄❅,存儲使用OSS的塊存儲ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,應用開發基于Drupal的模塊ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,訪問是Headless的前端構建㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,具體如下:

存儲管理架構圖
除了Drupal默認的一些特性之外ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,還可以使用一些高級特性⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,比如Drupal的全文檢索⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,集群化❣❦❧♡۵、自動化等ⓣⓤⓥⓦⓧⓨⓩ,具體如下:
(1)Search API:可以通過Solr/ES等系統完成任何數據的存儲和檢索❣❦❧♡۵。
(2)Drupal和云存儲:Drupal可以與任何的塊存儲✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴、云存儲集成✵✶✷✸✹✺✻✼❄❅。
(3)Drupal集群:可以實現集群來實現學院❣❦❧♡۵、學科等集群的模式✺ϟ☇♤♧♡♢♠♣♥。
(4)Drupal CI/CD:自動化+Docker⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,Drupal的容器方案㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。
下圖是服務器和存儲的架構圖:
