OfficeDev / generator-office

Yeoman generator for building Microsoft Office related projects.
https://www.npmjs.com/package/generator-office
MIT License
835 stars 209 forks source link

Support manifest type choice for WXP #836

Open Rick-Kirkham opened 3 months ago

Rick-Kirkham commented 3 months ago

Not a bug. Enhancement request.

IT'S POSSIBLE THIS WILL BE CANCELLED, DEPENDING ON DECISIONS ABOUT HOW MUCH WE WANT TO INVEST IN KEEPING THE GENERATOR UP-TO-DATE WITH THE UNIFIED MANIFEST.

Please enable the manifest type choice if the user picks Excel, Word, or PowerPoint (not Project or OneNote). Same as we currently have for Outlook.

millerds commented 1 month ago

Requires support in WXP for json manifests. Will be added once that support is in public preview.

yinhx3 commented 1 month ago

Requires support in WXP for json manifests. Will be added once that support is in public preview.

Is it possible to have a built-in JSON to XML conversion tool before then? This would be quite good for the development experience, considering that the Excel custom contextual tabs function is already using the JSON format. And after the launch of WXP for JSON manifests, we actually need such a tool to support existing versions for a long time.

millerds commented 4 weeks ago

Requires support in WXP for json manifests. Will be added once that support is in public preview.

Is it possible to have a built-in JSON to XML conversion tool before then? This would be quite good for the development experience, considering that the Excel custom contextual tabs function is already using the JSON format. And after the launch of WXP for JSON manifests, we actually need such a tool to support existing versions for a long time.

This is about the plug-in for yeoman the generates projects to make add-in (or office extensions as they are referred to in json manifests). It doesn't do any good to provide customers with a tool to generate projects and can't be used because the support isn't there in the hosts. Same is true for a JSON to XML conversion.

yinhx3 commented 4 weeks ago

This is about the plug-in for yeoman the generates projects to make add-in (or office extensions as they are referred to in json manifests).

I know. This issue should be placed in https://github.com/OfficeDev/Office-Addin-Scripts. I comment here because there is already a related issue.

It doesn't do any good to provide customers with a tool to generate projects and can't be used because the support isn't there in the hosts.

To be honest, manifest.xml itself and its supporting tools are quite bad. Migrating to json can reduce inconsistencies and optimize the development experience. In web development, we use transpilers and polyfills to make the code adapt to old browsers, so that we will not give up new features because old browsers do not support them.

Same is true for a JSON to XML conversion.

What will happen after the launch of WXP for JSON manifests? Will the project need to include two manifest files?

millerds commented 4 weeks ago

The project will not need to include both manifest types unless that is what you want. If you look at the Outlook case that is already shipped, you'll find you can use just json or just xml. Ther service that shipped along with the changes to the Outlook client manages the json manifests directly and creates backwards compatible xml manifests that can feed the older clients (through exchange). It can also take the xml manifests, register them, and then pass it on to exchange to feed all the clients as well. There is also a mapping mechanism in the json manifests so the existing store xml manifests can be related to json manifest together. The WXP experience should be modeled after that.

yinhx3 commented 4 weeks ago

Thanks for the explanation, I'm glad that one day I don't need to write manifest.xml anymore. Hopefully that day will come soon.