Suggesting to change the concept of BotProject to bot runtime conceptually, since it seems like a more appropriate name.
As part of an effort to get Azure Functions integrated into composer I'm shuffling things around, and it marks a good time to re-think the folder structure for the bot runtime.
Proposed folder structure:
Note that we use dotnet in order to match with the botbuilder-* repos. We keep node since it really will host node bots for the first iteration. This also leaves the open slot for a js folder if / when we support browser js bots.
In a more generic way, the folder structure will be:
One neat thing about this, is that the eject or publish commands will onlyu require to move the core library plus the selected integration library.
@luhan2017 @benbrown @cwhitten
Will be even more awesome if we name the technology using their official branding, i.e.
This will reduce confusion when people try to host webapp on Heroku, for example. And also encourage people to bring in more platforms.
We should also consider if it should be js or nodejs. tl;dr I think js is awesome.
js implies it should work under modern browsers, for example:runtime/js/serviceworker to say the bot can be hosted under W3C Service Workerruntime/js/html to host the bot under a simple HTML page in a modern browserI am unsure if someOtherTechnology should be camelCasing, lowercaseeverything or hyphen-ated, @cwhitten can chime in as he use *nix a lot.
p.s. and Tom can add runtime/dotnet/blazor. 馃槈
Great insights.
I like this:
runtime/dotnet/azurefunctions
runtime/js/azurewebapp
Not sure about casing for someOtherTechnology. lowercaseeverytyhing looks good on things like azurewebapp and azurefunctions
Note that this DCR includes the renaming of the github label Area: BotProject. Proposed value for consistency is Area: Bot Runtime or Area: Runtime. Bot runtime sounds less open to confusion with the composer runtime itself (i.e. the composer server). Opinions welcome :)
That looks good to me. This new structure might impact the current implementation of bot folder reference, appsettings.json reference, also some copying logic in local and azure publish plugins, but they are all expected. Can't wait for your cool feature, go go go @carlosscastro
Looks grrrrrrrrreat!