microsoft / botframework-components

The repository for components built by Microsoft for the Azure Bot Framework.
https://aka.ms/botdocs
MIT License
112 stars 80 forks source link

Packages: Cleanup empty content created from Composer aritfacts #874

Open clearab opened 3 years ago

clearab commented 3 years ago

Our HelpAndCancel and Welcome packages contain quite a few blank files and empty folders, which I believe are artifacts of creating the dialogs through Composer. Can we cleanup these extraneous artifacts and remove them from the packages?

clearab commented 3 years ago

Also, why the 'exported' folder? It too seems extraneous.

clearab commented 3 years ago

@ryanlengel can you take a look at this one as well?

peterinnesmsft commented 3 years ago

@clearab @ryanlengel on the 'exported' folder, this was originally a pattern that was set by the documentation on creating packages to be consumed through Composer/Package Manager. @benbrown can you confirm if the exported folder is actually needed or not? If not, then I agree it should be dropped.

ryanisgrig commented 3 years ago

As for the blank files, you are correct that these are artifacts from creating through Composer. For R12 we only had the necessary files but when @gabog took a pass at them the decision was made to include them. I don't believe that Composer generated them when importing the files otherwise, which may have led to errors. Gabo can you confirm?

gabog commented 3 years ago

Correct @ryanlengel, I was getting exceptions if these files weren't there, based on conversations with @benbrown, composer needs these empty files.

clearab commented 3 years ago

How is that supposed to work then? Are there restrictions like "If you want to add a dialog, you must add all of these exact files (even if they are empty) or bad things"? Are those bad things caused by Composer, or by dialog:merge? What if I only want to include a single specific file, rather than a full set?

benbrown commented 3 years ago

Yes, the exported/ folder is required if you want the dialogs to appear in Composer. Only files inside this folder are copied into the project.

Composer expects all applicable files to exist, even if blank.

clearab commented 3 years ago

What does "all applicable files" mean? What if I want to include only something like a qna file, or an lg file?

clearab commented 3 years ago

Also, why the exported folder? Why wouldn't it just look anywhere in the package?

clearab commented 3 years ago

@benbrown @peterinnesmsft @ryanlengel @gabog can we please all discuss this one at the standup tomorrow? I'd like to make sure we have a shared understanding of this.

benbrown commented 3 years ago

Also, why the exported folder? Why wouldn't it just look anywhere in the package?

So that you can control what parts of the component a developer can modify.

peterinnesmsft commented 3 years ago

Confirmed with @ryanlengel that this has been postponed to R14 - moving to backlog.