LUIS CLI tool is unintuitive to use with model generators (like ludown) #927
Description
openedon Jan 30, 2019
Tool
Name: LUIS|ludown
Describe the problem
As a new LUIS/ludown user, I expect to be able to perform a flow such as ludown parse toluis... && luis update application --in...
to quickly compile my ludown file and refresh the model I have defined in luis.
In practice, trying to accomplish this hit a number of roadblocks:
- ludown docs never explicitly state what its json files represent. As a new user, I was first trying to perform
luis update application
before discovering that ludown files are best pushed at theversion
level.- In the portal ui, I opened my "Application" and started making changes (since the latest version is automatically selected), so I expected to simialrly be bale to push "application" changes in the CLI.
- My generated json file and .luisrc also have an explicit version defined so
luis update application
should still work (and automatically traverse into the specified version).
luis update application
andluis update version
ONLY update the name and description, which is documented in the readme but very unintuitive (luis update version|application
silently ignores model changes other than rename #926). The tool also returns "Success", but users see no changes in the UI.- There is no in-place update API for a luis application. Someone quickly iterating with ludown must follow the import-rename-delete flow as suggested in Luis replace version support #633 (but must first discover that that's the only option).
Describe the solution you'd like
The linked issues in the LUIS CLI should be addressed (#633, #926) to significantly improve the usability of the luis tool together with ludown and other generators.
Users should be provided with additional quickstart documentation and pointers on how to go from a ludown-generated json file into an online LUIS model that they can easily continue updating.
Both tools are individually very well (and verbosely) documented, but there's a documentation gap when a user tries to turn their json file into a live model and continue iterating on it.
[enhancement]