telerik / kendo-vscode-extensions

MIT License
5 stars 5 forks source link

Add Blazor project generation #41

Closed ag-petrov closed 4 years ago

ag-petrov commented 4 years ago

Related issue - https://github.com/telerik/kendo-ux-private/issues/110

eeasss commented 4 years ago

Release prerequisites:

ag-petrov commented 4 years ago

Working branch - https://github.com/telerik/kendo-vscode-extensions/tree/blazor-scaffolder

ag-petrov commented 4 years ago

When discussing things with @marin-bratanov the question about what nuget package should be referenced arouse. Should we use a trial or a commercial nuget? Is there a way we can know whether the user building the project is a licensed user and according to that put a commercial nuget?

@eeasss , @veselints , @momchilstefanov , @mariaveledinova any thoughts?

marin-bratanov commented 4 years ago

If we can't do it programmatically (we can do it in the Visual Studio extensions), perhaps we can add it as a step (question) for the user what license they want to target. Not ideal, but could be workable

eeasss commented 4 years ago

Integration with the licensing system is something on the very distant radar (https://github.com/telerik/kendo-vscode-extensions/issues/6), but at this moment it is unrealistic to go that way. This means we have no way to know whether the user has any license or not.

Marin's proposal is a valid one, however, it is sort of mechanism for bypassing the protections we have established with the downloads system and the trial watermark.

I believe that the safest best for the first version is to go with the trial versions, and may be mention in the readme that the nugets can easily be replaced in case you have license.

marin-bratanov commented 4 years ago

If they don't have a commercial license and they choose to create a project with it - they won't be able to restore the package and the build will fail. Unless our nuget feed fails, they cannot obtain our commercial packages.

eeasss commented 4 years ago

Ok this makes sense, I didn't realize we only add references to the project.

momchilstefanov commented 4 years ago

We think we can add communication with the licensing services relatively easy in the CoreTemplateStudio once we get to this. So you'll just need to add a step in the UI which collects username and password and the CoreTemplateStudio will then provide the license the user has and the latest available version of the Blazor.

marin-bratanov commented 4 years ago

We have the nuget package references, and two paths to the assets (JS and CSS) differ based on the license (the package name).

ag-petrov commented 4 years ago

Generally I am almost ready, you can see the current state in this branch - https://github.com/telerik/kendo-vscode-extensions/tree/blazor-scaffolder . What is left is to change the Kendoka with the Blazor Ninja. I have referenced the Trial version in the package for now. Tested the generation works like a charm.

Two things are left outstanding

  1. Will we try to integrate the licensing services for the first release? Here we will need design on where this form for the cridentials will be shown and how it should look.
  2. In the current version of the Blazor generation we have not added a blank page. As we discussed with @marin-bratanov it seems redundant. Should I add such a page?

Any comments are welcomed.

eeasss commented 4 years ago

@ag-petrov the purpose of blank page is just a convenience, if you want to have an empty playground, with the required references registered. I think it's up to the blazor team to decide if they want to add one.

marin-bratanov commented 4 years ago

The Telerik references are added at the project level, so we don't need an explicit page, IMO

eeasss commented 4 years ago

Great, you can choose not to add it then, your take.

mariaveledinova commented 4 years ago

Hey everyone, why don't we replicate the same journey in VS Code as the one from Visual Studio. When creating a project with VS extensions it is prompting for email/ pass of Telerik account and it is able to determine your license type (trial/dev). image

I am afraid it is too limiting if we have VS Code extention just for trialists and for licensed customers to have manual work to make it work.

Momchi can we not have the same in VS Code @momchilstefanov ?

eeasss commented 4 years ago

@mariaveledinova it is not possible to replicate the same experience (technical limitations in the way nuget are suppored by Visual Studio and the support, or lack of such, in VsCode. Also the UX is in this case).

The best option right now seems to be what @marin-bratanov proposed few posts above. Ask people to chose whether they want trial/paid. If they chose paid we assume that they have setup the needed authentication in the CLI they use to restore the products.

ag-petrov commented 4 years ago

@eeasss will the proposition by @marin-bratanov be implemented and do we need design from @tyanko ?

eeasss commented 4 years ago

@ag-petrov, yes, and we most probably don't need design. We can trial / paid license option here, using the same layout. Probably the only thing we need are appropriate icons. What do you think? image

ag-petrov commented 4 years ago

Guys I am ready, I have updated the projects using the new mascots and you can test the app.

Prerequisites

One should have a newever version of node(I have 12.14.1) and yarn installed

Testing things

  1. If testing on windows copy the content from \vvivanovlap\share\vscode api\publish-x86 and replace the one in blazor-ui-template-wizard\src\extension\src\api\win32.
  2. Open the blazor-ui-template-wizard folder
  3. Open bash in that folder and execute 'sh build'
  4. Open blazor-ui-template-wizard\src\extension with VS Code and hit F5
  5. Press ctrl+shift+p and type Blazor and you will see our extension, click on it
  6. Follow the precedures in the extension

After the applications are create you can open and test them. For that purpose you should have blazor installed.

Our projects use the latest version of the packages like here and here and I am not sure whether we should to this or rather specify a version as the other references have a specific version

@eeasss @vvatkov @marin-bratanov any comments are welcome

vvatkov commented 4 years ago

Great job! I just want to mention that the latest extension can be found here \filesrvbg01.telerik.com\Distributions\DailyBuilds\Guidance\VSCodeExtensions\blazor-scaffolder

ag-petrov commented 4 years ago

One additional note, the projects inside the extension are configured to target the future 2.9.0 release of Telerik UI for Blazor this means that we should release after them(and the mascot is not shown anywhere yet).

momchilstefanov commented 4 years ago

I also want to jump in to remind you that we will need some marketing information for the Visual Studio Marketplace when we upload the extension there. You could check the Kendo UI Template Wizard page to see what kind of texts, links and pictures are used and also what kind of tags we should associate with the extension.

marin-bratanov commented 4 years ago

We need to remove the KendoUI branding - from the name, the subtitle and the image. I am also unsure whether we need/can keep the current issue tracker.

Extension_ Telerik UI for Blazor Template Wizard - needed changes

Here is a sample text for the Features section

The `Telerik UI for Blazor Template Wizard` lets you create [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) projects that use the [Telerik UI for Blazor components](https://www.telerik.com/blazor-ui). 

You can create both WASM and Server-side projects, and it also contains a few predefined examples (a grid with CRUD operations through a service, charts, forms) that you can review and use as base for further development.
eeasss commented 4 years ago

@marin-bratanov good call. May be link to the blazor feedback portal. We plan to link to kendo feedback portals as well in a future moment.

can we get another upload today with updated logo and kendo removed? @ag-petrov @veselints

ag-petrov commented 4 years ago

@eeasss will do my best to replace things today. I will ask for the logo as I do not have an exact match for that one.

marin-bratanov commented 4 years ago

To an extent, it will be better to keep the issues for the extension in a repo for the extension, perhaps we can add labels for the technology it is about so we can filter/sort the issues? If this will not work for you, let's direct them to the Blazor Feedback Portal.

Docs are half-done at http://kendobuild-staging.dev.progress.com/blazor-ui/getting-started/vs-code-integration/introduction

We need the following:

momchilstefanov commented 4 years ago

I think we can upload it through the Telerik publisher we use for the VS for Windows extension. Note that it's not the same Telerik publisher used by the NativeScript extension. :)

marin-bratanov commented 4 years ago

I have merged the templates into master https://github.com/telerik/kendo-vsx-templates/pull/15

because it was causing issues and discrepancies in the VS extensions. The old branch is now deleted

ag-petrov commented 4 years ago

Guys, I have corrected the problems on the image that @marin-bratanov shared. It should be fine you can check it once the build produces the extension. Only the feedback portal was not altered as I was not sure whether the Blazor portal or the current link should stay. If it should be replaced one can commit the change in this file.

vvatkov commented 4 years ago

There is a successful build here \filesrvbg01.telerik.com\Distributions\DailyBuilds\Guidance\VSCodeExtensions\blazor-scaffolder

vvatkov commented 4 years ago

Guys, the validation from our side is finished. We've tested:

Please, let me know how do we proceed and when we should publish the extension.

marin-bratanov commented 4 years ago

From the early posts in this thread, it seems that an EULA is missing. If we already have it, I say we can go live today, so I can write docs for the installation process and actual URL, so we can have all of that for tomorrow's release.

vvatkov commented 4 years ago

Guys, we've just released Telerik UI for Blazor Template Wizard. It is now available in the marketplace.

https://marketplace.visualstudio.com/items?itemName=TelerikInc.blazortemplatewizard

marin-bratanov commented 4 years ago

We also have docs that will go live with our release tomorrow, preview here