05.24 致力於JavaScript驅動的Drupal管理界面

借鑑DurpalCon Vienna的經驗教訓,讓我們來看看Drupal,看看他們如何努力創建一個API優先,JavaScript驅動的管理界面。

致力於JavaScript驅動的Drupal管理界面

隨著Web應用程序從靜態頁面發展到類似應用程序的體驗,最終用戶對網站的期望越來越高。JavaScript與有效的用戶體驗設計結合在一起,實現了用戶現在所期望的無縫,即時的交互。

Drupal項目多年前就預見了這種趨勢,並且自那時起,我們一直在大力投資Drupal API。因此,更多的組織正在構建由Drupal提供服務的解耦應用程序。這種方法允許組織使用現代JavaScript框架,同時仍受益於Drupal強大的內容管理功能,如內容建模,內容編輯,內容工作流程,訪問權限等等。

雖然組織使用JavaScript框架創建Drupal作為後端的面向訪客的體驗,但Drupal自己的管理界面還沒有采用現代JavaScript框架。Drupal對自己的用戶提供最先進的體驗非常需求:網站的內容創建者和管理員。

在DrupalCon維也納,我們決定開始使用React開發另一個Drupal管理界面。Sally Young是首席協調員之一,最近發表了自DrupalCon維也納以來我們取得的進展的最新信息。

Drupal API-First和JavaScript Work的後續步驟儘管我們在改進Drupal的Web服務支持和改進JavaScript支持方面取得了很大的進步,但我想使用此博客文章來彙總一些我們最重要的後續步驟:

1.穩定JSON API模塊JSON API是用於在JSON中構建Web服務API的廣泛使用的規範。我們正在努力將JSON API添加到Drupal核心,因為它可以讓JavaScript開發人員更輕鬆地訪問Drupal中管理的內容和配置。有一箇中央計劃問題列出了將JSON API轉換為核心的所有攔截器(綜合測試覆蓋率,規範合規性等)。我們正在努力將其全部排除在外!

2.改進我們的JavaScript測試基礎架構Drupal的測試基礎架構非常適合測試PHP代碼,但直到現在,它還沒有針對測試JavaScript代碼進行優化。正如我們預計Drupal管理界面中JavaScript代碼的數量在未來幾年會大幅增加,我們一直致力於使用無頭Chrome和Nightwatch.js改進JavaScript測試基礎架構。Nightwatch.js已經被納入Drupal 8.6,但是,還需要做一些額外的工作來創建一個強大的JavaScript-to-Drupal橋樑。完成這項工作對於確保我們不引入迴歸至關重要,因為我們繼續處理路線圖中的其他項目。

3.為基於React的管理UI創建設計擁有基於JavaScript的用戶界面還可以讓我們重新思考如何改進Drupal的管理體驗。例如,Drupal的當前內容建模UI需要大量點擊,保存和重新加載。通過使用React,我們可以將我們的用戶體驗重新構想為更類似應用程序,直觀且更快速地使用。我們仍然需要很多幫助來設計和測試Drupal管理界面的不同部分。

4.允許Contributed模塊使用React或Twig我們希望啟用模塊以提供React支持的管理用戶界面或傳統的基於Twig的管理用戶界面。我們正在研究可同時支持兩者的架構。這將允許我們逐步引入基於JavaScript的用戶界面,而不是一次強制執行大規模的範例轉換。它還將為希望退出支持新管理界面的模塊提供某種程度的選擇性。

5.實施缺少的Web服務API雖然我們多年來一直在將Web服務API添加到Drupal的許多部分,但並非所有的Drupal都支持Web服務。對於我們基於React的管理UI原型, 我們決定實施一個新的權限屏幕(即example.com/admin/people/permissions)。我們瞭解到,Drupal缺乏必要的Web服務API來檢索系統中所有可用權限的列表。這導致我們創建一個支持模塊來提供這樣一個API。這個支持模塊是一個臨時解決方案,幫助我們在原型上取得進展; 目標是將這些API集成到核心本身中。如果你想貢獻Drupal,為各種Drupal子系統創建Web服務API可能是一個很好的參與方式。

6.使React UI可擴展並可配置Drupal當前管理用戶界面的好處之一是可以配置它(例如,您可以修改內容列表,因為它是使用Views模塊構建的),並且可以通過貢獻模塊進行擴展(例如,地址模塊添加了針對編輯地址信息)。我們希望確保在新的React UI中,我們為站點構建者保留足夠的靈活性來自定義管理UI。

所有分離構建的好處所有分離的應用程序將受益於上述六個步驟; 它們對於構建完全分離的管理UI以及構建面向訪問者的分離應用程序非常重要。

致力於JavaScript驅動的Drupal管理界面

結論在過去的三年中,我們一直在穩步前進,將Drupal推向更先進的API和JavaScript中心的世界。考慮到我們行業的各種市場趨勢,這是重要的工作。雖然我們取得了出色的進展,但還有更多需要解決的挑戰。我們希望您喜歡我們的下一步,我們歡迎您加入他們的行列。感謝迄今為止貢獻的每一個人!


分享到:


相關文章: