Skip to content

Commit 52f5ab6

Browse files
authored
Merge pull request #187 from magento-devdocs/develop
[Owls] Beta 3 docs release notes
2 parents fb522db + b3e1a61 commit 52f5ab6

File tree

99 files changed

+959
-465
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+959
-465
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
/dev/tests/acceptance/vendor
66
static-error-log.xml
77
.DS_Store
8-
.vscode
8+
.vscode
9+
.history/

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## PageBuilder Early Access Program
1+
## PageBuilder Early Adopters Program
22

3-
The Page Builder Early Access Program (EAP) gives partners the following perks:
3+
The Page Builder Early Adopters Program (EAP) gives partners the following perks:
44

55
* Explore extension points to build custom modules and integrations for 3rd party services, such as Facebook and Instagram.
66
* Try out customization options and extend its functionality beyond its default features.

docs/component-status.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Component status
22

3-
**Last Updated: November 27, 2018**
3+
4+
**Last Updated: December 10, 2018**
45

56
<style type="text/css" style="display: none">
67
.status {

docs/component-status2.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Component status
2+
3+
**Last Updated: December 19, 2018**
4+
5+
<style type="text/css" style="display: none">
6+
.status {
7+
padding: 3px 5px;
8+
border-radius: 2px;
9+
}
10+
.status.red {
11+
color: #fff;
12+
background-color: #d04437;
13+
}
14+
.status.yellow {
15+
background-color: #f6c342;
16+
}
17+
.status.green {
18+
background-color: #14892c;
19+
color: #fff;
20+
}
21+
</style>
22+
23+
This page shows the status of each content type and component in Page Builder beta as a measure of readiness for each.
24+
25+
Each status color indicates the severity and number of issues for a particular component.
26+
27+
- <span class="status red">Red</span> - The content type or component has critical and blocking issues that make this module unstable.
28+
- <span class="status yellow">Yellow</span> - The content type or component has some issues that may cause problems, but it is still functional.
29+
- <span class="status green">Green</span> - The content type or component has no significant or outstanding issues.
30+
31+
The issues used to generate the status of these components come from verified internal and GitHub reports for Page Builder beta.
32+
Issues that are not related to Page Builder beta are not part of this report.
33+
34+
## Content Types
35+
36+
| Name | Status | Notes |
37+
| ------------------ | ----------------------------------------- | ----------------------------------------- |
38+
| Row | <span class='status green'>Green</span> | |
39+
| Column | <span class='status green'>Green</span> | |
40+
| Tabs | <span class='status green'>Green</span> | |
41+
| Text | <span class='status green'>Green</span> | |
42+
| Heading | <span class='status green'>Green</span> | |
43+
| Buttons | <span class='status green'>Green</span> | |
44+
| Divider | <span class='status green'>Green</span> | |
45+
| HTML Code | <span class='status green'>Green</span> | |
46+
| Image | <span class='status green'>Green</span> | |
47+
| Video | <span class='status green'>Green</span> | |
48+
| Banner | <span class='status green'>Green</span> | |
49+
| Slider | <span class='status green'>Green</span> | |
50+
| Map | <span class='status green'>Green</span> | |
51+
| Block | <span class='status green'>Green</span> | |
52+
| Dynamic Block | <span class='status green'>Green</span> | |
53+
| Products | <span class='status green'>Green</span> | |
54+
{:style="table-layout:auto"}
55+
56+
## Migration
57+
58+
| Name | Status | Notes |
59+
| --------------------------------- | --------------------------------------- | ----------------------|
60+
| Bluefoot to Page Builder | <span class='status red'>Red</span> | The renderers provided out of the box are not fully updated with the latest changes to their respective content types.|
61+
{:style="table-layout:auto"}

docs/configurations/block-chooser-configuration.md

+2-14
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,9 @@
1-
# Block chooser <!-- omit in toc -->
1+
# Block chooser
22

3-
<!-- {% raw %} -->
4-
5-
## What's in this topic <!-- omit in toc -->
3+
## What's in this topic
64

75
This topic describes how to use the block chooser UI component for a custom content type.
86

9-
## Overview <!-- omit in toc -->
10-
11-
To use the block chooser component for your custom content type:
12-
13-
- [Configuration options](#configuration-options)
14-
- [Add the block select grid listing modal to content type XML](#add-the-block-select-grid-listing-modal-to-content-type-xml)
15-
- [Add component to content type XML](#add-component-to-content-type-xml)
16-
177
## Configuration options
188

199
Extends all `abstract` configuration.
@@ -137,5 +127,3 @@ To insert the block chooser UI component, `Magento_PageBuilder/js/form/element/b
137127
The `block_id` field pulls in the selected value from the modal.
138128

139129
Then the `block_chooser` component pulls in the value from the `block_id` field to ascertain when it should commence updating.
140-
141-
<!-- {% endraw %} -->

docs/configurations/content-type-configuration.md

+8
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,14 @@ define([], function () {
497497
});
498498
```
499499

500+
### Form
501+
502+
Individual appearances may have different uiComponent forms in order to use different customizable content.
503+
504+
``` xml
505+
<form>pagebuilder_banner_collage_left_form</form>
506+
```
507+
500508
## Preview component settings
501509

502510
| Property | Description | Example |
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# Option menu configurations
22

3-
{: .bs-callout .bs-callout-info }
4-
The development of this topic is currently **IN PROGRESS**.
3+
---
4+
5+
The development of this topic is currently **IN PROGRESS**.
6+
7+
---
8+

docs/configurations/panel-configurations.md

+4-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
<!-- {% raw %} -->
2-
31
# Panel groups and configurations
42

53
By default, the Page Builder panel has four groups (Layout, Elements, Media, Add Content) and 16 content types as shown here:
@@ -19,11 +17,10 @@ These groups are defined in the Page Builder `group.xml` file and can be extende
1917
## Overview
2018

2119
This topic describes four ways to customize the Page Builder panel:
22-
23-
- [Rename panel groups](#rename-panel-groups)
24-
- [Reorder panel groups](#reorder-panel-groups)
25-
- [Add new panel groups](#add-new-panel-groups)
26-
- [Add content types to different panel group](#add-content-types-to-different-panel-groups).
20+
- [Rename panel groups](#rename-panel-groups)
21+
- [Reorder panel groups](#reorder-panel-groups)
22+
- [Add new panel groups](#add-new-panel-groups)
23+
- [Add content types to different panel groups](#add-content-types-to-different-panel-groups)
2724

2825
{: .bs-callout .bs-callout-info }
2926
For the sake of the user experience, please don't forget the affect your panel configurations may have on the end user. User's should have access the most important content types first, so be careful how you reorder groups and content types within groups. We strongly encourage you to place your content types into the existing groups when possible, instead of creating your own group.
@@ -103,6 +100,3 @@ To add your content type to a new group or one of the existing groups, set your
103100
The result looks like this:
104101

105102
![Group with content type](../images/group-with-content-type.png)
106-
107-
108-
<!-- {% endraw %} -->

docs/configurations/server-side-rendered-previews.md

+6-21
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,14 @@
1-
# Server-side rendered previews <!-- omit in toc -->
2-
3-
<!-- {% raw %} -->
1+
# Server-side rendered previews
42

53
## What's in this topic
64

75
This topic describes how to use the `RenderPool` on the stage to render a backend [content type] preview.
86

97
Using this method, you can preview content types that cannot be rendered on the stage and require further backend processing to be previewed.
108

11-
The following steps utilize some example values; substitute those with values specific to your situation.
12-
13-
## Overview
14-
15-
To use the stage's `RenderPool` to produce a content type preview:
9+
The following steps utilize some example values. Substitute those with values specific to your situation.
1610

17-
- [What's in this topic](#whats-in-this-topic)
18-
- [Overview](#overview)
19-
- [Create a renderer](#create-a-renderer)
20-
- [Add the renderer to the pool](#add-the-renderer-to-the-pool)
21-
- [Submit an HTTP request to the preview controller](#submit-an-http-request-to-the-preview-controller)
22-
- [Render the element](#render-the-element)
23-
24-
## Create a renderer
11+
## Step 1: Create a renderer
2512

2613
Create a renderer that implements the renderer interface, `Magento\PageBuilder\Model\Stage\RendererInterface`:
2714

@@ -38,7 +25,7 @@ class AwesomeElement implements \Magento\PageBuilder\Model\Stage\RendererInterfa
3825
}
3926
```
4027

41-
## Add the renderer to the pool
28+
## Step 2: Add the renderer to the pool
4229

4330
Add the renderer you just created as an argument to the `Magento\PageBuilder\Model\Stage\RendererPool` type that specifies your custom content type role as the name in the `di.xml` file:
4431

@@ -52,7 +39,7 @@ Add the renderer you just created as an argument to the `Magento\PageBuilder\Mod
5239
</type>
5340
```
5441

55-
## Submit an HTTP request to the preview controller
42+
## Step 3: Submit an HTTP request to the preview controller
5643

5744
To invoke the renderer from the stage, submit an HTTP request to the PageBuilder preview controller:
5845

@@ -95,12 +82,10 @@ To invoke the renderer from the stage, submit an HTTP request to the PageBuilder
9582
});
9683
```
9784

98-
## Render the element
85+
## Step 4: Render the element
9986

10087
Your exact configuration and situation determine when, and how, you render the element.
10188

10289
Generally, you would perform this operation when the properties change, by overriding the `afterObservablesUpdated` method with this logic (as shown in the previous example).
10390

10491
To update the Document Object Model (DOM) to display your content, amend the JavaScript property that represents the HTML variable of your main element with the response from the HTTP request, `this.data.main.html(response.content);` from the previous example.
105-
106-
<!-- {% endraw %} -->

docs/configurations/storefront-configuration.md

+5-13
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
1-
# Storefront customization <!-- omit in toc -->
1+
# Storefront customization
22

3-
<!-- {% raw %} -->
4-
You can customize PageBuilder content types by adding your own logic on the frontend.
3+
You can customize Page Builder content types by adding your own logic on the frontend, as described here.
54

6-
To add custom logic to content types:
7-
8-
- [Create a JavaScript widget](#create-a-javascript-widget)
9-
- [Add XML configuration](#add-xml-configuration)
10-
11-
## Create a JavaScript widget
5+
## Step 1: Create a JavaScript widget
126

137
Create a JavaScript widget in your module's `/view/frontend/web/js/content-type/{content-type-name}/appearance/{appearance-name}/widget.js` file:
148

@@ -48,7 +42,7 @@ define([
4842

4943
```
5044

51-
## Add XML configuration
45+
## Step 2: Add XML configuration
5246

5347
The XML configuration loads the widget on the frontend, and on the stage, so that you can preview content inside both the block and dynamic block content types.
5448

@@ -75,6 +69,4 @@ Add the following configuration to the `etc/di.xml` file in your custom module d
7569
</argument>
7670
</arguments>
7771
</type>
78-
```
79-
80-
<!-- {% endraw %} -->
72+
```
+37-13
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,58 @@
11
# Overview
22

3-
{: .bs-callout .bs-callout-info }
3+
***
44
The development of this tutorial is currently **IN PROGRESS**.
55

6-
Out of the box, Page Builder comes with several content types (controls) that you can drag onto the stage to build your storefront pages, as shown below. In this topic, you will learn how to create your own content type for use within Page Builder.
6+
***
7+
8+
Page Builder comes with several content types (controls) you can use to build your storefront pages. In this tutorial, you will add a new content type: a **Quote** control, which you can use to show customer testimonials or other types of quotations within your storefront.
79

810
![Page Builder Content Types](../images/panel-horizontal.png)
911

10-
## Prerequisites
12+
## Quote preview
13+
14+
The following screenshot shows three instances of the Quote control you will build in this tutorial:
15+
16+
![QuoteTypeDisplay](../images/AdminTestimonials.png)
17+
18+
And the same three Quote controls are shown rendered here on a mock testimonial page in the storefront:
19+
20+
![StorefrontTestimonials](../images/StorefrontTestimonials.png)
21+
22+
1123

12-
Page Builder creates content types from modules. So this topic assumes you have a basic module structure in which to add your content type files.
24+
## Quote module
25+
26+
As with most things in Magento, content types for Page Builder are housed in modules. The convention for naming modules that are solely dedicated to Page Builder, such as our Quote content type, is to prefix all the content type name with `PageBuilder`. This helps visually group content type modules within your vendor directory. Of course, this convention doesn't apply If you are adding a content type as part of an existing module.
27+
28+
Applying this convention to the module for our Quote content type, we get the name `PageBuilderQuote`, and can set up our module as shown here:
1329

1430
![Minimum module structure](../images/module-minimum-structure.png)
1531

16-
## Overview
32+
After registering your module (`bin/magento setup:upgrade`) you will be ready to begin this tutorial by following the content type creation process outlined next.
33+
34+
## Quote creation
35+
36+
The steps for creating the Quote content type are illustrated and described below. The reality is not quite this linear, but these steps do represent the basic phases and flow for building new Page Builder content types.
1737

1838
![Creating Custom Content Types](../images/content-type-overview.png)
1939

20-
1. **Add configuration**: Create an XML file to setup all the other files that control the appearances and behaviors of your content type.
21-
2. **Add templates**: Create HTML files that define the appearance of your content types on the Admin stage (preview.html) and the storefront (master.html).
22-
3. **Add component**: Create a JavaScript file that define the behavior of your content type on the Admin stage (preview.js) and the storefront (master.js).
23-
4. **Add form**: Create a UI component form (XML file) and layout so users can edit your content type.
40+
1. **Add configuration**: Create an XML file to define your content type and reference the other files that control the appearance and behavior of your content type.
41+
2. **Add templates**: Create HTML templates that define the appearance of your content types on the Admin stage (`preview.html`) and the storefront (`master.html`).
42+
3. **Add component**: Create a JavaScript file that defines the behavior of your content type on the Admin stage (`preview.js`) and the storefront (`master.js`).
43+
4. **Add form**: Create a UI component form and a layout so Admin users can edit your content type within the Page Builder editor.
2444
5. **Add styles**: Create LESS files to style your content types when rendered in the Admin UI and on the storefront.
2545
6. **Add frontend widget**: Create a JavaScript file to control the UI behavior (user interactivity) of your content type on the storefront.
2646

27-
## Content type files
47+
## Quote file structure
2848

29-
The files you will need to create in order to build a basic content type are shown here.
49+
Before we get started, take a look at what you will be building. The directory structure on the left shows the basic `PageBuilderQuote` module you will start with (as previously described). The directory structure on the right shows all the files you will add to the `PageBuilderQuote` module throughout this tutorial, labeled by the steps in the process.
3050

3151
![Before and after content type](../images/content-type-files.png)
3252

33-
## Tutorial
34-
This tutorial walks you through creating these files, starting with [Step 1: Add configuration](step-1-add-configuration.md).
53+
## Conventions
54+
55+
The `PageBuilderQuote` module structure represents an overview of the conventions used for content types. Many of these conventions are simply those defined for developing UI components. However, the conventions specific to Page Builder content types appropriately start within the directories called `content_type` or `content-type`. Page Builder instantiates a content type from the files defined within these directories. We will discuss these content type conventions within each step of the process.
56+
57+
## Next
58+
[Step 1: Add configuration](step-1-add-configuration.md)

0 commit comments

Comments
 (0)