New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Write some boilerplate content to the bot project via storage at create time #2451
Comments
Two questions
the reason asking is if it's full version I feels like a little bit risky to put full version of schema in there and driven from bot, what if user accidentally remove or delete some part of that?
Again, I'm not sure do we already become purely schema driven, model UI schema in one single file now? I see multiple places called uischema.ts, and seems the previous ui.schema in server/schemas folder is not removed. I thought we can just copy that into each bot. @a-b-r-o-w-n any ideas on how can we do this? |
The form is fully schema driven, so from it's point of view, it doesn't care where that schema came from. The only thing the shell needs to ensure is that a full schema is given to the form, including any user added customizations. For the UI schema, it just needs to adhere to the interface defined in One quick note though: although technically a single runtime can operate on multiple bot's assets, what a "bot" is is a combination of content and runtime. The glue between those is the schema. So the problem of "what if a user changes the schema and the runtime that we manage doesn't support the change" is only a problem because we want to separate the runtime and the assets. So there may need to be some detection mechanism that can catch that case and have some UX for the user to correct it (by ejecting or something). |
Oh and one more thing, I don't think there should be a default ui schema for a bot. Maybe an empty file. |
yes, i agree, i don't think we need to let the schema files in user's bot folder work as a totally regarding sdk.schema, by saying that For example, my SendActivity.cs expected one "Activity" field, if we exposed this schema into user's world, and user somehow add or rename this field, it will pass through in Composer UI and driven Composer to serialize an action node with new schema, and it would't work, regardless user find runtime code just aside or user find runtime elsewhere(in plugin). So for me, i feels like for sdk.schema it should be also a "override and extend" approach, not a "full replace" approach, ie, only delta schema in user's bot folder. make sense? @a-b-r-o-w-n @benbrown |
Per our discussion today, i'm closing this and creating a new issue here #2563 to track this. |
I am going to re-open this ticket to track work on the need to copy some boilerplate material into the project at create time, such as a readme file. |
@boydc2014 this is similar to how I did the |
…l new projects. this will include the provisioning script and a readme file
* Closes #2451 - add a step to copy shared boilerplate material into all new projects. this will include the provisioning script and a readme file * remove sample file
addressed via #2837 |
* Closes microsoft#2451 - add a step to copy shared boilerplate material into all new projects. this will include the provisioning script and a readme file * remove sample file
Describe the solution you'd like
In the past, during the "new bot" process, Composer would copy from a "templates" folder into the new project -- this was historically used to copy the entire bot project template.
We should bring back this feature, allowing us to copy some arbitrary boilerplate materials into every new bot project.
I propose we re-instate the process of copying files from the templates folder into the project when creating a bot project. For now this can include a README file only.
The text was updated successfully, but these errors were encountered: