Skip to content

Commit 5359569

Browse files
Adam-itGuidoZamSaurabh7019DevPionicodecleyre
authored
Release v4.0.0 (#298)
## 🎯 Aim The aim is to prepare a new major release with the latest changes that introduced improvements in the welcome experience, filter sample gallery, settings and new login experience. ## 📷 Result ![sign-in-entra-app-reg-form](https://github.com/user-attachments/assets/bc27ede2-368f-40ff-9222-f9c02cedd857) ![sign-in-options](https://github.com/user-attachments/assets/c36c1886-cfed-44eb-8bb9-c706c9b166eb) ![settings](https://github.com/user-attachments/assets/509653cd-0c38-4c5d-8c63-cfd7a63976e7) ## ✅ What was done - [X] Updated Sign in method - [X] Updated SPFx Intro and workspace setup walkthrough steps - [X] Updated readme assets - [X] Added form to create Entra App Registration required for sign in - [X] Added Extension filter dropdown to the sample gallery - [X] Updated account view to show the Entra App Registration - [X] Updated terminal usage to unified approach - [X] Updated release workflows - [X] Added settings to show and hide health incidents and tenant wide extensions ## 🔗 Related issue Closes: #291 --------- Co-authored-by: Guido Zambarda <[email protected]> Co-authored-by: Saurabh Tripathi <[email protected]> Co-authored-by: Luccas Castro <[email protected]> Co-authored-by: Nico De Cleyre <[email protected]>
1 parent d241081 commit 5359569

File tree

73 files changed

+919
-406
lines changed

Some content is hidden

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

73 files changed

+919
-406
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Change Log
22

3+
## [4.0.0] - 2024-09-08
4+
5+
- Updated Sign in method
6+
- Updated SPFx Intro and workspace setup walkthrough steps
7+
- Updated readme assets
8+
- Added form to create Entra App Registration required for sign in
9+
- Added Extension filter dropdown to the sample gallery
10+
- Updated account view to show the Entra App Registration
11+
- Updated terminal usage to unified approach
12+
- Updated release workflows
13+
- Added settings to show and hide health incidents and tenant wide extensions
14+
315
## [3.4.0] - 2024-07-18
416

517
- Improved welcome experience

README.md

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ In case you do not have all dependencies installed, or some are incorrect versio
7777
7878
[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.1-Validate-and-set-up-a-local-workspace)
7979

80-
### 3️⃣ Don't Start from scratch. Reuse an SPFx (web part or extension) or ACE sample
80+
### 3️⃣ Don't Start from scratch. Reuse an SPFx web part or extension or ACE sample
8181

8282
You may kick-start your development with a new project based on an existing ACE or SPFx web part or extension with a click of a button. All of the provided samples are powered by [PnP Samples repositories](https://pnp.github.io/sp-dev-fx-webparts/samples/type/).
8383

@@ -90,7 +90,6 @@ Switch between the list and grid view and don't worry about the size of your VS
9090
![Sample gallery is responsive](./assets/images/samples-responsive.png)
9191

9292
Check out how easy it is to create a new project based on a existing sample 👇.
93-
9493
![Create project based on web part sample](./assets/images/sample-gallery.gif)
9594

9695
[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.2-Scaffolding#2-dont-start-from-scratch---sample-galleries)
@@ -119,33 +118,45 @@ Install additional dependencies with a single click straight from the scaffoldin
119118

120119
[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.2-Scaffolding#1-scaffold-a-new-spfx-project)
121120

122-
### 6️⃣ Login to your tenant & retrieve environment details
123-
124-
![tenant info](./assets/images/tenant-info.png)
121+
### 6️⃣ Sign in to your tenant & retrieve environment details
125122

126-
The extension allows you to login to your Microsoft 365 tenant using CLI for Microsoft 365.
123+
The extension allows you to sign in to your Microsoft 365 tenant using CLI for Microsoft 365.
127124

128125
![login](./assets/images/login.png)
129126

130-
Thanks to that the extension will retrieve helpful URLs from your tenant like:
127+
SPFx Toolkit needs and Entra App Registration to be able to sign in to your tenant. You may either use an existing app registration or create a new one with a single click using a dedicated form.
128+
129+
![sign in options](./assets/images/sign-in-options.png)
130+
131+
SPFx Toolkit will guide you through the process of creating a new app registration either manually by providing step-by-step guidance or automatically by creating the app registration for you.
132+
133+
![entra app reg form](./assets/images/sign-in-entra-app-reg-form.png)
134+
135+
![app registration](./assets/images/sign-in.gif)
136+
137+
If you already have an Entra App Registration you may use it to sign in to your tenant by providing the Client Id and Tenant Id.
138+
139+
![app registration](./assets/images/sign-in-existing-app.gif)
140+
141+
Thanks to that the extension will retrieve helpful URLs from your tenant like link to:
131142

132-
- link to SharePoint main site
133-
- link to SharePoint admin site
134-
- link to SharePoint web API permission management page
143+
- SharePoint main site
144+
- SharePoint admin site
145+
- SharePoint web API permission management page
135146

136147
Additionally, the extension will check and retrieve tenant service health incidents that are currently happening in your tenant so that you gain quick insights on your tenant health.
137148

138149
![tenant details](./assets/images/tenant-links.png)
139150

140-
After successful login an additional view is presented that shows list links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. Additionally it will show you all tenant-wide extensions installed on your tenant with.
151+
After successful sign in an additional view is presented that shows list links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. Additionally it will show you all tenant-wide extensions installed on your tenant with.
141152

142153
![tenant details](./assets/images/app-catalog-list.png)
143154

144-
Login-in is also required for some actions to work properly like the deploy action which allows you to upload of the .sppkg file to the tenant or site-level App Catalog.
155+
Using the extension settings you may choose show or hide the tenant-wide extensions list and tenant health incidents list.
145156

146-
Additionally, when an SPFx project is opened the extension will check serve.json file and suggest updating it to set the properties based on the currently logged-in tenant.
157+
![settings](./assets/images/settings.png)
147158

148-
![validate serve](./assets/images/validate-serve-config.png)
159+
Sign-in is also required for some actions to work properly like the deploy action which allows you to upload of the .sppkg file to the tenant or site-level App Catalog.
149160

150161
[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.3-Login-to-your-tenant-&-retrieve-environment-details)
151162

assets/fonts/fabric-icons.woff

192 Bytes
Binary file not shown.

assets/images/actions.png

-7.17 KB
Loading

assets/images/add-component.png

-32.2 KB
Loading

assets/images/app-catalog-list.png

-11.9 KB
Loading

assets/images/deploy.png

-47.5 KB
Loading

assets/images/grant-permissions.png

-124 KB
Loading

assets/images/help-and-feedback.png

127 KB
Loading

assets/images/login.png

3.41 KB
Loading

assets/images/rename.png

78.5 KB
Loading

assets/images/sample-gallery.gif

-467 KB
Loading

assets/images/samples-responsive.png

-16 KB
Loading

assets/images/samples.png

133 KB
Loading

assets/images/scaffolding-form.gif

919 KB
Loading

assets/images/scaffolding.png

34.9 KB
Loading

assets/images/settings.png

281 KB
Loading
239 KB
Loading
5.31 MB
Loading

assets/images/sign-in-options.png

60 KB
Loading

assets/images/sign-in.gif

5.32 MB
Loading

assets/images/start.png

383 KB
Loading

assets/images/tenant-info.png

-425 KB
Binary file not shown.

assets/images/tenant-links.png

-6.91 KB
Loading

assets/images/upgrade-project.png

-13.6 KB
Loading

assets/images/validate-dependency.png

-24 KB
Loading

assets/images/validate-project.png

168 KB
Loading
-637 KB
Binary file not shown.

assets/images/walkthrough.png

65.6 KB
Loading

assets/images/welcome-experience.png

20.9 KB
Loading

assets/walkthrough/spfx-intro.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,35 @@
11

22
## SharePoint Framework
33

4-
With SharePoint Framework (SPFx), you can use modern web technologies and tools in your preferred development environment to build productive experiences and apps that are responsive and mobile-ready allowing you to create solutions to extend SharePoint, Microsoft Teams, Microsoft Viva Connections, Outlook and Microsoft365.com.
4+
With SharePoint Framework (SPFx), you can use modern web technologies and tools in your preferred development environment to build productive experiences and apps that are responsive and mobile-ready allowing you to create solutions to extend SharePoint, Microsoft Teams, Microsoft Viva Connections, Outlook and Microsoft365.com. This extensibility model allows you to write once and reuse your solutions in multiple Microsoft 365 applications with exactly the same code base.
5+
6+
The following are some of the key features included as part of the SPFx:
7+
8+
- It runs in the context of the current user and connection in the browser. There are no iFrames for the customization (JavaScript is - embedded directly to the page).
9+
- The controls are rendered in the normal page DOM.
10+
- The controls are responsive and accessible by nature.
11+
- It enables the developer to access the lifecycle in addition to render, load, serialize and deserialize, configuration changes, and more.
12+
- It's framework-agnostic. You can use any JavaScript framework that you like including, but not limited to, React, Handlebars, Knockout, Angular, and Vue.js.
13+
- The developer toolchain is based on popular open-source client development tools such as NPM, TypeScript, Yeoman, webpack, and gulp.
14+
Performance is reliable.
15+
- End users can use SPFx client-side solutions that are approved by the tenant administrators (or their delegates) on all sites, including self-service team, group, or personal sites.
16+
- SPFx web parts can be added to both classic and modern pages.
17+
- SPFx solutions can be used to extend Microsoft Teams.
18+
- SPFx can be used to extend Microsoft Viva Connections.
19+
- SPFx can be use to extend Outlook and Office 365 app (Office)
20+
21+
With SharePoint Framework you may create client-side web parts, extensions, and adaptive cards.
22+
23+
- Web pats are are controls that appear inside a SharePoint page and execute client-side in the browser. They're the building blocks of pages that appear on a SharePoint site. You can build client-side web parts using modern client-side development tools and the SharePoint workbench (a development test surface). You can deploy your client-side web parts to both modern pages and classic web part pages in Microsoft 365 tenants.
24+
- Extensions allows you to extend the SharePoint user experience. With SPFx Extensions, you can customize more facets of the SharePoint experience, including notification areas, toolbars, list data views, and forms. SPFx Extensions are available in all Microsoft 365 subscriptions for production usage.SPFx Extensions enable you to extend the SharePoint user experience within modern pages and document libraries, while using the familiar SPFx tools and libraries for client-side development. Specifically, the SPFx includes four extension types:
25+
26+
- Application Customizers: Adds scripts to the page, and accesses well-known HTML element placeholders and extends them with custom renderings.
27+
- Field Customizers: Provides modified views to data for fields within a list.
28+
- Command Sets: Extends the SharePoint command surfaces to add new actions, and provides client-side code that you can use to implement behaviors.
29+
- Form Customizer: Provides a way to assoicate and override default new, edit and view form experience of list and libraries with custom forms by associating component to content type.
30+
31+
- Library components enables you to have independently versioned and deployed code served automatically for the SharePoint Framework components with a deployment through an app catalog. Library components provide you an alternative option to create shared code, which can be then used and referenced cross all the components in the tenant.
32+
- Adaptive Cards Extensions allows you to extend Viva Connections dashboard with your own custom functionalities and visualizations
533

634
Go over the [overview of the SharePoint Framework](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview) to find out more.
735

assets/walkthrough/tenant-details.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,35 @@
1-
## Login to your tenant & retrieve environment details
1+
## Sign in to your tenant & retrieve environment details
22

3-
![tenant info](../images/tenant-info.png)
4-
5-
The extension allows you to login to your Microsoft 365 tenant using CLI for Microsoft 365.
3+
The extension allows you to sign in to your Microsoft 365 tenant using CLI for Microsoft 365.
64

75
![login](../images/login.png)
86

9-
Thanks to that the extension will retrieve helpful URLs from your tenant like:
7+
SPFx Toolkit needs and Entra App Registration to be able to sign in to your tenant. You may either use an existing app registration or create a new one with a single click using a dedicated form. SPFx Toolkit will guide you through the process of creating a new app registration either manually by providing step-by-step guidance or automatically by creating the app registration for you.
8+
9+
![app registration](../images/sign-in.gif)
10+
11+
If you already have an Entra App Registration you may use it to sign in to your tenant by providing the Client Id and Tenant Id.
12+
13+
![app registration](../images/sign-in-existing-app.gif)
14+
15+
Thanks to that the extension will retrieve helpful URLs from your tenant like link to:
1016

11-
- link to SharePoint main site
12-
- link to SharePoint admin site
13-
- link to SharePoint web API permission management page
17+
- SharePoint main site
18+
- SharePoint admin site
19+
- SharePoint web API permission management page
1420

1521
Additionally, the extension will check and retrieve tenant service health incidents that are currently happening in your tenant so that you gain quick insights on your tenant health.
1622

1723
![tenant details](../images/tenant-links.png)
1824

19-
After successful login an additional view is presented that shows list links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. Additionally it will show you all tenant-wide extensions installed on your tenant with.
25+
After successful sign in an additional view is presented that shows list links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. Additionally it will show you all tenant-wide extensions installed on your tenant with.
2026

2127
![tenant details](../images/app-catalog-list.png)
2228

23-
Login-in is also required for some actions to work properly like the deploy action which allows you to upload of the .sppkg file to the tenant or site-level App Catalog.
29+
Using the extension settings you may choose show or hide the tenant-wide extensions list and tenant health incidents list.
2430

25-
Additionally, when an SPFx project is opened the extension will check serve.json file and suggest updating it to set the properties based on the currently logged-in tenant.
31+
![settings](../images/settings.png)
2632

27-
![validate serve](../images/validate-serve-config.png)
33+
Sign-in is also required for some actions to work properly like the deploy action which allows you to upload of the .sppkg file to the tenant or site-level App Catalog.
2834

2935
[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.3-Login-to-your-tenant-&-retrieve-environment-details)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## Set up your SharePoint Framework development environment
2+
3+
To build and deploy client-side web parts, extensions, or adaptive cards using the SharePoint Framework, you will need to setup your development environment. SPFx requires:
4+
5+
- Node.js
6+
- Yeoman
7+
- Gulp
8+
- Yeoman SharePoint generator
9+
10+
If you have Node.js you may validate and install these dependencies by running the following commands in your terminal
11+
12+
```sh
13+
npm install gulp-cli yo @microsoft/generator-sharepoint --global
14+
```
15+
16+
or you may use SPFx toolkit to validate and install these dependencies for you.
17+
18+
![setup local workspace](../images/validate-dependency.png)
19+
20+
Check out the [docs for more details](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment) on the required node and dependency versions.

npm-shrinkwrap.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "viva-connections-toolkit",
33
"displayName": "SharePoint Framework Toolkit",
44
"description": "SharePoint Framework Toolkit aims to boost your productivity in developing and managing SharePoint Framework solutions helping at every stage of your development flow, from setting up your development workspace to deploying a solution straight to your tenant without the need to leave VS Code and now even create a CI/CD pipeline to introduce automate deployment of your app. This toolkit is provided by the community.",
5-
"version": "3.4.0",
5+
"version": "4.0.0",
66
"publisher": "m365pnp",
77
"preview": false,
88
"homepage": "https://github.com/pnp/vscode-viva",
@@ -74,23 +74,22 @@
7474
{
7575
"id": "spfx-toolkit-intro",
7676
"title": "SharePoint Framework Toolkit Introduction",
77-
"description": "Learn how to boost your productivity in developing and managing SharePoint Framework solutions.",
77+
"description": "Start your journey wih SharePoint Framework and learn how to boost your productivity in developing and managing SharePoint Framework solutions.",
7878
"steps": [
7979
{
8080
"id": "intro-to-spfx",
8181
"title": "Introduction to SharePoint Framework",
82-
"description": "Set up your Microsoft 365 tenant \n[Join the Microsoft 365 Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program)",
82+
"description": "Learn SharePoint Framework and set up your Microsoft 365 tenant \n[Join the Microsoft 365 Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program)",
8383
"media": {
8484
"markdown": "assets/walkthrough/spfx-intro.md"
8585
}
8686
},
8787
{
8888
"id": "set-up-local-workspace",
89-
"title": "Check and get required dependencies",
90-
"description": "Validate if your local workspace is ready for SharePoint Framework development. \n[Check dependencies](command:spfx-toolkit.checkDependencies)",
89+
"title": "Validate your local workspace",
90+
"description": "Validate if your local workspace is ready for SharePoint Framework development by checking and installing the required dependencies. \n[Check dependencies](command:spfx-toolkit.checkDependencies)",
9191
"media": {
92-
"image": "assets/images/validate-dependency.png",
93-
"altText": "Validate dependencies"
92+
"markdown": "assets/walkthrough/validate-local-setup.md"
9493
}
9594
},
9695
{
@@ -103,8 +102,8 @@
103102
},
104103
{
105104
"id": "tenant-details",
106-
"title": "Login to Microsoft 365",
107-
"description": "Retrieve tenant helpful information and Manage your SPFx projects. \nLogin to your tenant to get started. \n[Sign in to Microsoft 365](command:spfx-toolkit.login)",
105+
"title": "Sign in to Microsoft 365",
106+
"description": "Retrieve tenant helpful information and Manage your SPFx projects. \nSign in to your tenant to get started. \n[Sign in to Microsoft 365](command:spfx-toolkit.login)",
108107
"media": {
109108
"markdown": "assets/walkthrough/tenant-details.md"
110109
}
@@ -167,6 +166,18 @@
167166
"none"
168167
],
169168
"description": "Choose your preferred Node.js version manager. Choose between `nvs`, `nvm`, or `none`."
169+
},
170+
"spfx-toolkit.showServiceIncidentList": {
171+
"title": "Show service health incidents",
172+
"type": "boolean",
173+
"default": "true",
174+
"description": "Show the service health incidents in the account view."
175+
},
176+
"spfx-toolkit.showTenantWideExtensions": {
177+
"title": "Show tenant-wide extensions",
178+
"type": "boolean",
179+
"default": "true",
180+
"description": "Show the tenant-wide extensions in the account view."
170181
}
171182
}
172183
},
@@ -212,6 +223,13 @@
212223
"fontPath": "./assets/fonts/fabric-icons.woff",
213224
"fontCharacter": "\\E95E"
214225
}
226+
},
227+
"entra-id": {
228+
"description": "Entra ID icon",
229+
"default": {
230+
"fontPath": "./assets/fonts/fabric-icons.woff",
231+
"fontCharacter": "\\ED68"
232+
}
215233
}
216234
},
217235
"viewsContainers": {
@@ -331,16 +349,21 @@
331349
},
332350
{
333351
"command": "spfx-toolkit.login",
334-
"title": "Sign in to M365",
352+
"title": "Sign in to Microsoft 365",
335353
"category": "SharePoint Framework Toolkit",
336354
"icon": "$(sign-in)"
337355
},
338356
{
339357
"command": "spfx-toolkit.logout",
340-
"title": "Sign out from M365",
358+
"title": "Sign out from Microsoft 365",
341359
"category": "SharePoint Framework Toolkit",
342360
"icon": "$(sign-out)"
343361
},
362+
{
363+
"command": "spfx-toolkit.registerEntraAppRegistration",
364+
"title": "Create a new app registration",
365+
"category": "SharePoint Framework Toolkit"
366+
},
344367
{
345368
"command": "spfx-toolkit.refreshAppCatalogTreeView",
346369
"title": "Refresh App Catalog list",

0 commit comments

Comments
 (0)