Google Assistant - Dynamic entities - dialogflow-es

We've recently had to pause our in-depth development with Alexa Skills,due to their Dynamic entities not being completey ready for the use case it was intended for (had confirmation direct from an AWS architect).
Documentation of same:
https://developer.amazon.com/docs/custom-skills/use-dynamic-entities-for-customized-interactions.html
https://developer.amazon.com/blogs/alexa/post/db4c0ed5-5a05-4037-a3a7-3fe5c29dcb65/use-dynamic-entities-to-create-personalized-voice-experiences
Regardless, we've since been making a POC for Google Assistant, as have heard of their equivalent (Dialogflow dynamic enity).
The problem we having is that this too doesn't seem to be loading data dynamically.
Our expected result is to; load data (dynamically), into a new slot that would be used during the action.
i.e. load a list of specific names at runtime, that can then be used for lookup while using the app.
Creating a new static lookup slot (within the console) with ±5 set names (unique and not common) work fine and everytime, however, as soon as you load those names dynamically, they are not recognized when spoken.
We've seen similar issues that all seem to be resolved, using POST calls to DialogFlow, however, we are unable to replicate this in a runtime environment.
Dialogflow dynamic enity issue
Has anyone had similar issues with this and managed to get it working as expected?
If so, would you mind please sharing some additional documentation that could help with an example of same? I suspect we are really close but are missing something simple.
PS - I have not pasted example code here deliberately, as I am after documentation and examples of same, I'd rather not confuse the topic - unless required.

Dialogflow refers to these as session entities, since they are Entity Types that contain values that you set during a session, and that only maintain those values for that user during that session.
You can access them using a REST endpoint for the session entity types, or use one of the client libraries that can provide access.
However...
While this has worked fine in the past there seem to be some problems currently with Session Entities. (That SO question does provide some code and examples, so you may want to take a look at it anyway in case it does work for you.) This is opened as a bug in their issue tracker, but there has been no public acknowledgement from Google about it.

Related

Embed and manage Google Forms in NodeJS app

I have the following use case.
Status quo:
We have a NodeJS app running that is not publicly accessible. We'd like to introduce some kind of form to acquire some data of the users/participants and that is used for another follow-up process upon completion of the form.
As we'd like to have a quick but also nice solution, I thought about embedding a Google Form as an iFrame in the app that we have already prepared some time beforehand. The Google form also gives us some additional features regarding the form creation that I don't know would be available in any Node native libraries or would be time-consuming to build, I assume. Moreover, we are partly working in the Google world so there might be some easy and fluid workflows possible.
Goal:
Now, my goal or rather problem with using the above-mentioned method is that I don't receive any notification, leave alone the responses, upon completion of the form.
I know the responses can be saved in a Sheet in Google Drive that could be requested by the app but I still don't know when someone has filled out the form in the app so that the follow-up process in the app can immediately be triggered.
Is there any way to solve this problem? I maybe thought about a Pub/Sub topic that was pushed to the app but then, again, the app is not publicly accessible.

How can I specify the memory for google cloud functions emulator?

Is there a way to specify the memory used by firebase functions when running locally through the emulator? I know it can be done in google cloud (which I have done and can see my functions are working) but im not able to see anything in the documentation and I suspect low mem is causing issues in performance when running locally.
It seems this is not publicly documented and we can assume that this is not currently possible. You can file a Feature Request in the Public Issue Tracker. With every feature request, the Engineering team has more visibility of your needs and they can work on them accordingly to the impact on the users. This is the importance to look first for an existing one. I have searched but not found any, so I think the best way to proceed in this case is to create a new one. Please as much details as possible about how would you like to work this feature and if you found any workaround, so, the community in the PIT can implement it.

How do I test restful APIs with constantly changing and random user defined data

I'm developing a clean-up API (github.com/Shadowys/btapi) for a Mediawiki application, Baka-Tsuki to pull meaningful data from the novel project pages like author, volume lists and cover images. The pages are user-defined and formatted in various ways decided by the translator(user). The pages are also updated and created daily, with the creation of new formats occurring sporadically. However, the API parser is able to handle most, if not all of the current pages, no matter their format.
Baka-Tsuki is not going to change into a database-based application in the near future, since the wiki is currently the most user friendly and cost-effective way to share translations, and we don't have enough developers to constantly work on a new application.
I'm looking into using mocha to automate testing of the API but as the input data constantly changes, testing is nearly impossible without checking every page available. I've looked at twitter and facebook testing methods but they have constantly formatted user input.
Is this case, which testing method should I refer to? Should I run the test simply based on the types returned, and the availability of the values returned or do I have to make a copy test-page to stimulate testing?

Category support in the explore API endpoint

I want to use categories to explore an area.
If I include a categoryId in a call to the explore endpoint, it seems to work! But, this isn’t documented (on an already-experimental API) so I’m not super comfortable using it.
Is there a reason categories aren’t officially supported on this endpoint?
Related, what differences should I see between an explore and a search in an area (with intent set to browse)?
The venues/explore endpoint is rapidly, so there will frequently be experimental, undocumented parameters showing up. This does also mean that the behavior of undocumented parameters could change at any time. While we try to avoid making changes that break existing users, please be aware that only documented behavior should be depended on.

Creating session mechanism with core nodejs

I am trying to create a complete session managment in nodejs for logins, chat sessions etc.
I googled a lot and every solution that i got was with some framework/module. I don't want to use any module/framework. I would rather like to build my own solution for this:
So this is the plan:
I will set a session cookie on the client machine (yet to figure out how)
For each cookie, i will be maintaining a unique id in the database instead of files as is the case with php (i am using mongodb)
When a user opens the application, a cookie will be set, a entry will be made in database and corresponding information from the db will be fetched.
I am yet to lay a concrete plan for this. I wanted to know whether doing it this way is a good idea? i read somewhere....'Real men don't use any framework. They make everything on their own' :P
Please correct me if i am on a wrong direction. M just starting with these things....
I'm not aware of any node.js frameworks that are closed-source. Just pick one that seems to do what you want to do, download it, and study the source code to see how the developer implemented it. Then come up with your (perceived) improvement on how they did it. You'll probably find that implementing session management involves a whole bunch of nitpicky details that were never obvious to you.
Ignore all the above advice if this is a school assignment where you're not allowed to look at related code. If that's the case, I pity you because you have an incompetent teacher.

Resources