Drupal Distribution,可以是一個已經針對某個(或某些)特定用途或目的所校調過的打包檔,通常會產出一個可以很方便進行安裝,安裝完成後即可進入後台做設定調整,調整的過程中盡量不需要(或盡可能少)有 developer 開發資源包含在其中,即可準備上線。
Drupal Distribution 可以是幾個人(或一個人)打包一個特定目的的打包檔給大家用,例如 blog 系統。也可以是組織或企業內部,需要在各單位、或各分公司都部屬一套特定目的的 drupal 系統時,也可以採用 Drupal Distribution 來實作。另外很多人在創業時,常會在企劃案中提說計畫在台灣先測市場、調整產品,然後將這個產品陸續發佈到中國個一線城市、二線城市(如果有地域屬性的產品),那也許 Drupal Distribution 是個可以考慮的方案之一(先不論這種企劃案是否可行,但如果有「散佈」的需求,則可能適合)。
觀看這個演講場次的影片時,建議事先下載簡報檔案 (PDF),因為這一份影片中有很嚴重的色彩偏差(你看了就知道XD)。原始簡報檔的色彩漂亮許多 :p
一些重點筆記摘錄於下:(有很多設定檔內容請參考簡報檔案 PDF)
- Storing Configuration
- Drupal traditionally stores configuration in databases.
- But distributions cannot ship their default configuration in this way.
- Difficult to upgrade
- Content 和 configuration 混雜在資料庫中
- 對開發人員(特別是多人團隊)來說很難維護
- Store configuration in Code.
- Configuration is generated via database-agnostic PHP code
- Clean installation procedure
- Clear upgrade path
- Code can be versioned
- Conflicts can be solved
- Building a Distribution - Packaging the code
- Bootstrap
- Makefile (.info)
- Blocks:
- Core
- Modules
- Themes
- External Libraries
- Drush Make - http://drupal.org/project/drush_make
- Makefile close-up
- distro.make: package Core and Profile
- $ drush make distro.make drupalissimo
- $ git clone git@github.com:nuvoleweb/drupalissimo.git drupalissimo
...
$ ls -l drupalissimo - drupalissimo.make: Package distribution
- Build Kit: extendable distribution, reusable .make file
- Installation Profile (.info, .profile, .install)
- .info - specify dependencies
- .install - perform installation tasks and upgrades
- .profile - fully customizable
- ex: hook_install_tasks()
- Building a Distribution - Packaging Configuration
- Module - Features
- a way to export configuration into PHP code, in the form of a module.
- Configuration in database: context + view + ctype + image style ...
- Package functionalities in a logical way - Serveral Features work together to build a site.
- Module - Kit
- Kit is a specification, it is a set of guidelines that facilitates building compatible and interoperable Features.
- Code namespace
- Machine name
- Component namespace
- Maintaining a Distribution
- Upgrading, the Drupal Way
- hook_update_N() 不夠用
- 結構性更新必須也跑一下 hook_install()
- More on Code-Driven development
Brought to you by
0 Comments:
Post a Comment