You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/spfx/extensions/get-started/build-a-hello-world-extension.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ Notice that base class for the Application Customizer is imported from the **sp-
72
72
73
73

74
74
75
-
The logic for your Application Customizer is contained in the two methods onInit and onRender.
75
+
The logic for your Application Customizer is contained in the two methods **onInit** and **onRender**.
76
76
77
77
-**onInit()** is where you should perform any setup needed for your extension. This event occurs after ```this.context``` and ```this.properties``` are assigned, but before the page DOM is ready. As with web parts, ```onInit()``` returns a promise that you can use to perform asynchronous operations; ```onRender()``` will not be called until your promise has resolved. If you don’t need that, simply return ```super.onInit()```.
78
78
-**onRender()** is where your extension can interact with the UI. This event occurs after the application’s initial page DOM structure has been created (although some parts of the UI may not have finished rendering yet).
Copy file name to clipboardExpand all lines: docs/spfx/extensions/get-started/building-simple-cmdset-with-dialog-api.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -135,14 +135,14 @@ Append the following query string parameters to the URL. Notice that you will ne
135
135
136
136
***loadSPFX=true:** ensures that the SharePoint Framework is loaded on the page. For performance reasons, the framework normally is not loaded unless at least one extension is registered. Since no components are registered yet, we must explicitly load the framework.
137
137
***debugManifestsFile:** specifies that we want to load SPFx components that are being locally served. Normally the loader only looks for components in the App Catalog (for your deployed solution) and the SharePoint manifest server (for the system libraries).
138
-
***customActions:** this URL query parameter simulates a custom action. There are many properties you can set on this CustomAction object that affect the look, feel, and ___location of your button; we’ll cover them all later.
138
+
***customActions:** this URL query parameter simulates a custom action. There are many properties you can set on this *CustomAction* object that affect the look, feel, and ___location of your button; we’ll cover them all later.
139
139
***Key:** guid of the extension
140
140
***Location:** where the commands are displayed. The possible values are:
141
141
***ClientSideExtension.ListViewCommandSet.ContextMenu:** The context menu of the items
142
142
***ClientSideExtension.ListViewCommandSet.CommandBar:** The top command set menu in a list or library
143
143
***ClientSideExtension.ListViewCommandSet:** Both context menu and also command bar
144
144
(Corresponds to SPUserCustomAction.Location="CommandUI.Ribbon")
145
-
***Properties:** an optional JSON object containing properties that will be available via the this.properties member. In this HelloWorld example, it defined a ‘testMessage’ property.
145
+
***Properties:** an optional JSON object containing properties that will be available via the `this.properties` member. In this HelloWorld example, it defined a *‘testMessage’* property.
146
146
147
147
Full URL should be something like following, depending on your tenant URL and the ___location of the newly created list.
148
148
@@ -299,7 +299,7 @@ To ensure that our newly added **element.xml** file is taken into account while
299
299
300
300
## Deploy field to SharePoint Online and host JavaScript from local host
301
301
302
-
Now you are ready to deploy the solution to SharePoint site and to get the CustomAction automatically associated on the site level.
302
+
Now you are ready to deploy the solution to SharePoint site and to get the *CustomAction* automatically associated on the site level.
303
303
304
304
In the console window, enter the following command to package your client-side solution that contains the extension, so that we get the basic structure ready for packaging:
305
305
@@ -337,7 +337,7 @@ gulp serve --nobrowser
337
337
338
338
Go to the site where you want to test SharePoint asset provisioning. This could be any site collection in the tenant where you deployed this solution package.
339
339
340
-
Chose the gears icon on the top nav bar on the right and choose **Add an app** to go to your Apps page.
340
+
Chose the gears icon on the top navigation bar on the right and choose **Add an app** to go to your Apps page.
341
341
342
342
In the **Search** box, enter '**command**' and choose *Enter* to filter your apps.
Copy file name to clipboardExpand all lines: docs/spfx/extensions/get-started/building-simple-field-customizer.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -184,7 +184,7 @@ Open the **HelloWorldFieldCustomizer.ts** file in the **src\extensions\helloWorl
184
184
}
185
185
```
186
186
187
-
Switch back to your console window and ensure that you do not have any exceptions. If you do not have the solution running in locahost, execute following command:
187
+
Switch back to your console window and ensure that you do not have any exceptions. If you do not have the solution running in *locahost*, execute following command:
188
188
189
189
```
190
190
gulp serve --nobrowser
@@ -204,7 +204,7 @@ Notice how we have change the field rendering style completely. Field value is i
204
204
Now that we have tested our solution properly in debug mode, we can package this to be deployed automatically as part of the solution package deployed to the sites. There are few things to take care of here.
205
205
206
206
1. Install solution package to site where it should be installed, so that extension manifest is being white listed for execution
207
-
2. Associate Field Customizer to existing field in the site. This can be performed programatically (CSOM/REST) or by using feature framework inside of the SharePoint Framework solution package. You'll need to associate following properties in the SPField object at site or list level.
207
+
2. Associate Field Customizer to existing field in the site. This can be performed programmatically (CSOM/REST) or by using feature framework inside of the SharePoint Framework solution package. You'll need to associate following properties in the *SPField* object at site or list level.
208
208
***ClientSiteComponentId:** This is the identifier (GUID) of the Field Customizer, which has been installed on the app catalog.
209
209
***ClientSideComponentProperties:** This is optional parameter, which can be used to provide properties for the Field Customizer instance
210
210
@@ -325,7 +325,7 @@ Notice that we did not update the URLs for hosting the solution for this deploym
325
325
326
326
Go to the site where you want to test SharePoint asset provisioning. This could be any site collection in the tenant where you deployed this solution package.
327
327
328
-
Chose the gears icon on the top nav bar on the right and choose **Add an app** to go to your Apps page.
328
+
Chose the gears icon on the top navigation bar on the right and choose **Add an app** to go to your Apps page.
329
329
330
330
In the **Search** box, enter '**field**' and choose *Enter* to filter your apps.
331
331
@@ -364,4 +364,4 @@ In this case we hosted the JavaScript still from the localhost ___location, but you
364
364
365
365
Process for actual publishing is identical among the different extension types. You can follow following publishing steps to update the assets to be hosted from CDN.
366
366
367
-
*[Deploy extension to Office 365 CDN](./deploy-extension-to-office365-cdn.md).
367
+
*[Deploy extension to Office 365 CDN](./hosting-extension-from-office365-cdn.md).
Copy file name to clipboardExpand all lines: docs/spfx/extensions/get-started/hosting-extension-from-office365-cdn.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
>**Note:** The SharePoint Framework Extensions are currently in preview and is subject to change. SharePoint Framework Extensions are not currently supported for use in production environments.
4
4
5
-
In this article you will learn how to deploy your SharePoint Framework Application Customizer to be hosted from Office 365 CDN and how to deploy that to SharePoint for the end users. This article continues with the hello world extension built in the previous article [# Deploy your extension to site collection (Hello world part 3)](./using-page-placeholder-with-extensions.md) where we hosted customizer still from from localhost.
5
+
In this article, you will learn how to deploy your SharePoint Framework Application Customizer to be hosted from Office 365 CDN and how to deploy that to SharePoint for the end users. This article continues with the hello world extension built in the previous article [# Deploy your extension to site collection (Hello world part 3)](./using-page-placeholder-with-extensions.md) where we hosted customizer still from localhost.
6
6
7
7
Be sure you have completed the procedures in the following articles before you start:
8
8
9
-
*[Build your first SharePoint SharePoint Extension (Hello world part 1)](./build-a-hello-world-extension.md)
9
+
*[Build your first SharePoint Framework Extension (Hello world part 1)](./build-a-hello-world-extension.md)
10
10
*[Connect your client-side web part to SharePoint (Hello world part 2)](./using-page-placeholder-with-extensions.md)
11
11
*[Deploy your extension to site collection (Hello world part 3)](./serving-your-extension-from-sharepoint.md)
12
12
@@ -91,6 +91,6 @@ Upload or drag & drop the newly created client-side solution package to the app
Copy file name to clipboardExpand all lines: docs/spfx/extensions/get-started/serving-your-extension-from-sharepoint.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,15 @@
3
3
4
4
>**Note:** The SharePoint Framework Extensions are currently in preview and is subject to change. SharePoint Framework Extensions are not currently supported for use in production environments.
5
5
6
-
In this article you will learn how to deploy your SharePoint Framework Application Customizer to SharePoint and see it working on a modern SharePoint pages. This article continues with the hello world extension built in the previous article [Using page placeholders from Application Customizer (Hello World part 2)](./using-page-placeholder-with-extensions.md).
6
+
In this article, you will learn how to deploy your SharePoint Framework Application Customizer to SharePoint and see it working on a modern SharePoint pages. This article continues with the hello world extension built in the previous article [Using page placeholders from Application Customizer (Hello World part 2)](./using-page-placeholder-with-extensions.md).
7
7
8
8
Be sure you have completed the procedures in the following articles before you start:
9
9
10
-
*[Build your first SharePoint SharePoint Extension (Hello World part 1)](./build-a-hello-world-extension.md)
10
+
*[Build your first SharePoint Framework Extension (Hello World part 1)](./build-a-hello-world-extension.md)
11
11
*[Using page placeholders from Application Customizer (Hello World part 2)](./using-page-placeholder-with-extensions.md)
12
12
13
13
## Package the helloWorld Application Customizer
14
-
In the console window, go to the extension project directory created in [Build your first SharePoint SharePoint Extension (Hello World part 1)](./build-a-hello-world-extension.md)
14
+
In the console window, go to the extension project directory created in [Build your first SharePoint Framework Extension (Hello World part 1)](./build-a-hello-world-extension.md)
15
15
16
16
```
17
17
cd app-extension
@@ -23,7 +23,7 @@ Unlike in the **Debug** mode, in order to use extension on modern SharePoint ser
23
23
Before we package our solution, we want to include needed code to automate the extension activation in the site, whenever solution will be installed on the site. In this case, we'll use feature framework elements to perform these actions directly in the solution package, but you could also associate the application customizer to SharePoint site using REST or CSOM object model, for example as part of the site provisioning.
24
24
25
25
1. Install solution package to site where it should be installed, so that extension manifest is being white listed for execution
26
-
2. Associate Application Customizer to the planned scope. This can be performed programatically (CSOM/REST) or by using feature framework inside of the SharePoint Framework solution package. You'll need to associate following properties in the `UserCustomAction` object at site collection, site or list level.
26
+
2. Associate Application Customizer to the planned scope. This can be performed programmatically (CSOM/REST) or by using feature framework inside of the SharePoint Framework solution package. You'll need to associate following properties in the `UserCustomAction` object at site collection, site or list level.
27
27
***ClientSiteComponentId:** This is the identifier (GUID) of the Field Customizer, which has been installed on the app catalog.
28
28
***ClientSideComponentProperties:** This is optional parameter, which can be used to provide properties for the Field Customizer instance
29
29
@@ -50,7 +50,7 @@ Copy the following xml structure into **elements.xml**. Updated the **ClientSide
50
50
51
51
We also set the **ClientSideComponentProperties** using this xml definition and bypass JSON properties for this extension instance. Notice how the JSON is escaped, so that we can set that properly using XML attribute.
52
52
53
-
Notice also that we use specific ___location called `ClientSideExtension.ApplicationCustomizer` to define that this is Application Customizer. Since by default this **element.xml** will be associated to *Web* scoped feature, this CustomAction will be automatically added to `Web.UserCustomAction` collection in the site where the solution is being installed.
53
+
Notice also that we use specific ___location called `ClientSideExtension.ApplicationCustomizer` to define that this is Application Customizer. Since by default this **element.xml** will be associated to *Web* scoped feature, this `CustomAction` will be automatically added to `Web.UserCustomAction` collection in the site where the solution is being installed.
54
54
55
55
```xml
56
56
<?xml version="1.0" encoding="utf-8"?>
@@ -114,7 +114,7 @@ To ensure that our newly added **element.xml** file is taken into account while
114
114
115
115
## Deploy field to SharePoint Online and host JavaScript from local host
116
116
117
-
Now you are ready to deploy the solution to SharePoint site and to get the CustomAction automatically associated on the site level.
117
+
Now you are ready to deploy the solution to SharePoint site and to get the `CustomAction` automatically associated on the site level.
118
118
119
119
In the console window, enter the following command to package your client-side solution that contains the extension, so that we get the basic structure ready for packaging:
120
120
@@ -152,7 +152,7 @@ gulp serve --nobrowser
152
152
153
153
Go to the site where you want to test SharePoint asset provisioning. This could be any site collection in the tenant where you deployed this solution package.
154
154
155
-
Chose the gears icon on the top nav bar on the right and choose **Add an app** to go to your Apps page.
155
+
Chose the gears icon on the top navigation bar on the right and choose **Add an app** to go to your Apps page.
156
156
157
157
In the **Search** box, enter '**app**' and choose *Enter* to filter your apps.
158
158
@@ -166,4 +166,4 @@ When application has been successfully installed, you can see the header and foo
166
166
167
167
## Next steps
168
168
169
-
Congratulations! You have deployed a extension to a modern SharePoint page from app catalog. You can continue building out your Hello World extension in the next topic, [Hosting extension from Office 365 CDN (Hello world part 4)](./hosting-extension-from-office365-cdn.md), where you will learn how to deploy and load the extension assets from a CDN instead of localhost.
169
+
Congratulations! You have deployed an extension to a modern SharePoint page from app catalog. You can continue building out your Hello World extension in the next topic, [Hosting extension from Office 365 CDN (Hello world part 4)](./hosting-extension-from-office365-cdn.md), where you will learn how to deploy and load the extension assets from a CDN instead of localhost.
Copy file name to clipboardExpand all lines: docs/spfx/extensions/get-started/using-page-placeholder-with-extensions.md
+6-5Lines changed: 6 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,13 @@ Application Customizers also support you to access well known locations in the p
6
6
7
7
This is similar model as using UserCustomAction collection in Site or Web object to associate custom JavaScript, which would be used to modify page experience. Key different or advantage with SPFx extensions is that you will have guaranteed elements in the page also in case of any html dom structure modifications with future changes in SharePoint Online.
8
8
9
-
In this article, we'll continue extending hello world extension built in the previous article [Build your first SharePoint SharePoint Extension (Hello World part 1)](./build-a-hello-world-extension.md) to take advantage of the page placeholders.
9
+
In this article, we'll continue extending hello world extension built in the previous article [Build your first SharePoint Framework Extension (Hello World part 1)](./build-a-hello-world-extension.md) to take advantage of the page placeholders.
10
10
11
11
## Get access to page placeholders
12
12
13
13
Application Customizer extensions are supported with `Site`, `Web` and `List` scopes. You can control the scope by deciding where or how the Application Customizer will be registered in our SharePoint tenant. When Application Customizer exists in the scope and is being rendered, you use following method in the code to get access on placeholder. Once you have received the placeholder object, you have full control on deciding what will be presented for end users.
14
14
15
-
Notice that we are requesting wellknown placeholder by using their well known identifier. In this case code is accessing header section of the page using `PageHeader` identifier.
15
+
Notice that we are requesting well-known placeholder by using their well known identifier. In this case code is accessing header section of the page using `PageHeader` identifier.
16
16
17
17
```ts
18
18
// Handling header place holder
@@ -78,6 +78,7 @@ Update **AppCustomizer.module.scss** as follows:
78
78
```
79
79
80
80
Move back to **HelloWorldApplicationCustomizer.ts** and update **IHelloWorldApplicationCustomizerProperties** interface to have specific properties for Header and Footer as follows.
81
+
81
82
* If your command set uses the ClientSideComponentProperties JSON input, it will be deserialized into the BaseExtension.properties object. You can define an interface to describe it.
Add following private variable inside of the **HelloWorldApplicationCustomizer** class. In this scenario these could be also local variables in a `onRender` method, but if you'd want to share that to other objects, you'd define that as private variables.
91
+
Add following private variable inside of the **HelloWorldApplicationCustomizer** class. In this scenario, these could be also local variables in a `onRender` method, but if you'd want to share that to other objects, you'd define that as private variables.
91
92
92
93
```ts
93
94
exportdefaultclassHelloWorldApplicationCustomizer
@@ -102,7 +103,7 @@ Update the `onRender` method with the following code:
102
103
103
104
* We use `this.context.placeholders.tryAttach` to get access on the placeholder
104
105
* Extension code should not assume that the expected placeholder is available
105
-
* Code expects a custom properties called `Header`and `Footer`. If properties exists, they will be rendered inside of the placeholder.
106
+
* Code expects a custom property called `Header`and `Footer`. If properties exist, they will be rendered inside of the placeholder.
106
107
* Notice that code path for both header and footer is almost identical in the below method, only different is the used variables and style definitions.
107
108
108
109
```ts
@@ -197,7 +198,7 @@ If you don't have solution running currently, execute following command and ensu
197
198
gulpserve--nobrowser
198
199
```
199
200
200
-
Navigate to a out of the box modern list in SharePoint Online. This can be a list or a library for the initial testing.
201
+
Navigate to an out of the box modern list in SharePoint Online. This can be a list or a library for the initial testing.
201
202
202
203
To test your extension, append the following query string parameters to the URL:
0 commit comments