lightning distribution for drupal: build advanced authoring experiences in drupal 8
TRANSCRIPT
1 ©2016 Acquia Inc. — Confidential and Proprietary
Build Advanced Authoring Experiences in Drupal 8
Lightning Distribution
3 ©2016 Acquia Inc. — Confidential and Proprietary
Install Lightning● Lightning Project (composer template)
$ composer create-project acquia/lightning-project:^8.1.0
● Can also build from source repo, but you would typically only do that to contribute or test unmerged functionality
● http://lightning.acquia.com/lightning-developer-guide
4 ©2016 Acquia Inc. — Confidential and Proprietary
User Stories: LayoutName Collisions
● “Creating a Layout” (layout plugin system vs placement within)
● “Default Layouts” (Layouts which are available vs one is the actual default)
5 ©2016 Acquia Inc. — Confidential and Proprietary
User Stories: Layout● Create layouts (panelizer)
● Setting available layouts
● Setting a default from available layouts
● Customizing one-off layouts (IPE)
● Contextualization (vision)
7 ©2016 Acquia Inc. — Confidential and Proprietary
User Stories: Media● Upload media (images, documents)● Create from Embed/URL (videos, tweets)● Media as Entities● Library● DAM Integrations (vision)
9 ©2016 Acquia Inc. — Confidential and Proprietary
User Stories: Workflow● States● Settings which States are available to a bundle● Revision history● Bulk scheduled updates● Diff (planned)
11 ©2016 Acquia Inc. — Confidential and Proprietary
User Stories: Preview● Forward revisions● See content on different devices● WPS (planned)● Contextual preview (vision)
13 ©2016 Acquia Inc. — Confidential and Proprietary
Build on Lightning● Add dependencies
$ composer require drupal/MODULE_NAME:^8.0.0
● Dependency version constraints○ Loose constraints when possible○ Still have ability to patch
14 ©2016 Acquia Inc. — Confidential and Proprietary
Build on Lightning…extra { patches { "drupal/workbench_moderation": { "2668006 - Provide logical access control IPE: "https://www.drupal.org/files/issues/2668006-2.patch" } }}...
15 ©2016 Acquia Inc. — Confidential and Proprietary
Build on Lightning (continued)● Lightning is modular (turn off functional area)● Doesn’t prevent you from using other solutions
(Display suite/Paragraphs)● Non-drupal dependencies (e.g. php-twitter-api)
16 ©2016 Acquia Inc. — Confidential and Proprietary
Extend Lightning● Extend (released ~15 July)
● Givesa site-builders the ability to override, delete and add to the configuration that Lightning ships with, during the installation process
● Enable additional extension● Redirect path● https://www.drupal.org/node/27
34507
# Defines additional tasks for Lightning to perform after initial profile# installation.
# List of additional modules to enable after Lightning is installed.modules: - features - acme_custom - acme_product_content_type - acme_theme_settings - acme_lightning_settings
# A system path to redirect to once installation is complete.redirect: path: /acme-install-complete
# Optional query string parameters. query: { }
17 ©2016 Acquia Inc. — Confidential and Proprietary
Extend Lightning (continued)● Consume● High effort - edge case. Use Lightning’s modules in
your own profile● Requires core patch:
https://www.drupal.org/node/2743197 (Needs Work)● Inherit (vision) Issue
o Five year old issue - might not be available… ever?
o https://www.drupal.org/node/1356276
18 ©2016 Acquia Inc. — Confidential and Proprietary
Lightning Components• Tight coupling of functionality
• Standard authoring experience
• Future expectations
• Testing
19 ©2016 Acquia Inc. — Confidential and Proprietary
Updates provided by Lightning● Offloading maintenance● Dependency (core and non-drupal)● Composer update + composer.lock
○ Lock file (project, not Lightning’s) guarantees that all of your devs are working from the same codebase within a project
○ Running `update` allows you to get non-breaking updates (e.g. core and contrib security updates) without needing to wait for Lightning to make a new release
20 ©2016 Acquia Inc. — Confidential and Proprietary
Roadmap• WPS
• Scenarios (Higher Ed, Commerce, CPG, Public Sector, MEP)
• Decoupled blocks
• SemVer