I have this very long "form" using adaptive card. Using CardFactory, the bot framework, based on my understanding, can render the card and my bot can display it for my user to fill in the necessary details.
The end of my form (in which I'll use instead of the word adaptive card), has a submit button for user to click whenever all fields are filled in. And while everything works the way I want it to be, its not really user friendly in a sense that what user sees after showing the form is the bottom part of it. User has to scroll for a bit to go up and see the first part of the form.
My question is: Is there anyway I could help user experience by showing the upper-part/top most part of the form? Is that possible in bot framework?
Like if the bot sends successive messages, does the framework allows to show the first messages first, before the last part. THANK YOU!
PS. I use NodeJS for my bot framework, read the documentation but can't find one that dwells deeply about adaptive cards.
Please see images below:
How do I make the first framework to show the first image before the end part which is in the second image.
Have you looked at the "ShowCard" action? It basically lets you collapse part of your card, and only open it when a user clicks on a button. That way you could possibly group your card into sections and show each one at a time. See here for more.
Another option in future is the new ToggleVisibility action in AdaptiveCards 1.2, but it's only if your client supports 1.2. (e.g. it's only available in Developer Preview for Teams right now (so very likely coming in future, but not available at the moment))
Related
I've been trying to figure out a way to record user interface actions to retrieve information about which ribbon buttons were clicked, but I've been unsuccessful so far.
I've spend a lot of time finding the related events in the API, but apparently there are none.
There are many ways to record user events in Revit. One of the simplest ways is to look at the journal file. It is always generated and stored automatically by Revit, so you don't have to do anything at all to obtain it. Look at its contents; all relevant user interactions are recorded there.
As said, there are other ways as well.
Afaik, recording which buttons are clicked is not officially supported and may be a bit tricky, cf. the Revit API discussion forum thread on obtaining button name using events for plugins working inside of another plugin.
Hi i'm having facing a problem that i have selected phone surface where returning both simple response and list card.But in display i'm getting both in simulator.How to remove the simple response when using or displaying list card.
This requirement is for both google home mini and assistant in phone.
Here i need to clear that their is no request from user by clicking
list card.It is only meant for display purpose.
whether my way of implementation is wrong or not don't know correct me if i am wrong.But is it possible to remove or any other way to get rid of the simple response?
Keep in mind that you must have at least one SimpleResponse, in addition to any other RichResponses you may send. This SimpleResponse can contain a blank space - but it must exist. (It should, however, probably include more than a blank space.)
Use following code to detect the Surface
const screenAvailable = conv.available.surfaces.capabilities.has('actions.capability.SCREEN_OUTPUT');
If Surface present, only use UI based response.
If Surface is not present, only use simple response.
Test on a real mobile device and home as simulator shows extra information during simulation.
I have made a bot using QnA Maker and Node JS which is running on Skype.
When the user inputs a word which has got multiple matches in FAQ link or document uploaded in QnA Maker, it shows button of choice using QnAMakerTool module from Node. My question is when the multiple matches has same initial words then because of the size of the choice button in Skype the half of the texts get hide. For example, I have three matches like
Whom should I contact for parking?
Whom should I contact for canteen?
Whom should I contact for Stationery?
It shows in Skype as
Whom should I contact for...
Whom should I contact for...
Whom should I contact for...
If the option text is too long then few parts get hidden. What can I do for this?
First of all, there is a limitation on the max characters in Skype, so that's something you will have to live with. However, you can implement some custom logic to change the text being shown.
That current logic that you are seeing is on the QnAMakerTools file.
The way to go here is probably providing your own QnAMakerTools implementation (it needs to follow this interface).
The QnAMakerDialog receives an IQnAMakerOptions parameter. One of the properties of that interface is feedbackLib which basically is the QnAMakerTools instance that the dialog will later use to disambiguate the question as you can see here.
Telegram bot sends me a message with a text snippet, which I want to edit, and send back to the bot for further processing.
Copy and paste takes time. Typing message anew takes time.
Ideally I'd like to press an inline button "Edit" on the bot's message and get the message text appear in my reply input box for editing.(A message id attached to my reply somehow would be a plus).
I tried to use deep linking with parameters other than /start*, but that doesn't seem to work.
Can I use bot API (or any other telegram API) to have text ready for editing in my input box?
It's impossible in official apps yet. Your question is about working with drafts - there are no methods in both API to create them or clear.
Nevertheless, you could fork any official app stored on GiHub and implement what you need if you would prefer a hard way, but compared to that copy/past solution seems much more easier, isn't it?
UPD
I can offer to you a new idea how to solve your problem - hope it will be helpful.
This is about switch_inline_query_current_chat field of InlineKeyboardButton. Just attach an inline button to messages you need to edit. Set a text for this field gotten from recieved message and after pressing you will get this text to your input area. All seems good, but you will take bot's username before the text also.
I am trying to split out what I originally wanted in a single form. The downside was that I wanted to keep multiple lists and I found that I could not use a single form with multiple lists.
What I am trying to do is to keep my customer information in a separate list/form so I can re-use it in a different application as well.
What I would like to do is give a picker to pick the customer from a list, and if the customer is not listed to allow the creation of a new one.
What I am wondering is how I can leave the main form, create the new customer, and then return to the main form but with the new customer information passed to the new form as selected. In ASP.NET one of the ways I would do this is through the querystring, but I am not sure if that is doable or preferred in Sharepoint.
Any thoughts or links to tutorials would be great.
Please keep in mind that due to access/security limitations I am trying to do this strictly through the browser and Sharepoint Designer.
Thanks!
With your access limitations, I don't see a solution that will allow the refresh of the original form to get the new data. You may be able to hack in some JQuery stuff to do this, but I just don't see it being an easy/value-for-time thing to do.
You may just have to allow the form user to save the form without customer info and come back to it.
A list view can then highlight forms with no customer info. This all depends on the usage scenario.
You can use the Source query string parameter to get you back to the original form after completing the new customer form. However, unless you add some code (either javascript or server side) you won't get the id of the new customer.
The best option is probably using jquery and the sharepoint web services. It's quite easy if you start with the right scripts, and you can do something like your original plan - make a simple form in a jquery ui popup.
You can also use javascript to manage linking between multiple forms, but you need to be careful about clearing out already entered form data.
Another option would be to edit dispform.aspx and add dataviews for other lists, along with appropriate add buttons, and add javascript to the new customer form that sets the value of a connecting lookup field. However, that tends to require quite a bit of messing about with list guids and other undocumented bits.