A few steps from Production

Yes, when you set the dbRefObject

var dbRefObject = firebase.database().ref().child("firstNode/secondNode/thirdnode");

If you look at my example again, you will see how I check the onAuthStateChanged event (is a user signed in?)

can I replace object by my project bucket?

I thought I could write this

const dbRefObject = firebase.database().ref().child("my project bucket");

which would allow me to have the tag which is modified

what troubles me is that we have object in the html file and object in the app.js file are they the same?

I must admit that I approach with great difficulty all this part of the

You have to start from the root, because by using html, it has no knowledge of where you are in the tree.

Staying with David's example:

var dbRefObject = firebase.database().ref().child("object");

so if your base project bucket is called AI2

var dbRefObject = firebase.database().ref().child("AI2");

if you have a node below this AI2 > myproject

var dbRefObject = firebase.database().ref().child("AI2/myproject");

and yes, you will need to edit your html file accordingly. This is why, in my example, everything is fed by the contents of the webviewstring, in order to be able to change things in the app, whilst leaving the html file alone.

1 Like

Hello
Do I have to make a list of top level nodes under my bucket (this is the tag I need) and apply child events?

Show what you mean ?

for the moment I recover in the webviever all the data
I see all the modifications, addition, deletion, update, but it concerns all of my object (project bucket) even when i use a path in the child object

That is not my experience....

Here is my "object" node

image

If I set the child to "object" like this

 const dbRefObject = firebase.database().ref().child("object");

then the html returns:

image

If I set the child to "object/objNumber" like this

 const dbRefObject = firebase.database().ref().child("object/objNumber");

then the html returns:

image

You never show me anything you are doing, I just have to guess, I beleive I have explained this enough...

You never show me anything you are doing, I just have to guess, I beleive I have explained this enough...

All I can show is the structure of a database that is probably poorly designed because for the rest I owe it either to a certain METRIC RAT or to you who are showing a lot of patience.

I am that certain MetricRat

image

:slightly_smiling_face:
i know
this is what my database looks like

when I add a sitenumber, I can see it in the webviewver, when I change a client name, I see the update in the web viewer
From what I understood from the firecast realtime 2 video, each modification corresponds to a listener that must be defined to inform the application of the modification that has been made

So far so good. Continue, I am not seeing an issue, or are you just confirming ?

As TIMAI2 said, “The firebase component connects to the firebase on startup of the app, this is why you get the permissions exception”.
So a "permission denied" initial error from FireBase is almost unavoidable.
Sometimes, it also happens when you set up programatically the FireBase Project Bucket to some data base node you still don't have permission to access.

TIMAI2 suggested to try the firebase error block or Screen1 error block (Thank you TIM).

I had the same problem and I cheked that this initial error will not be shown to the app's user, if you capture it in your code with a when FireBaseDB1 .FirebaseError block.

For instance, you can write the error to a debug log file, if you want to keep track of it.blocks.

Or you can just use the block (with nothing in the do). That's enough to capture the error, and no longer annoy the user.

Nice

I hope i will need it to use it

hi

I watched this video https://www.youtube.com/watch?v=dBscwaqNPuk several times but I can't transpose it to my database
he talks about list in the object and I would like to consider my object as the list to which I can add an element or remove an element or modify an element

in my research I saw functions (triggers ?) like onCreate, or onDelete but used in development environments that I do not know ....

Do you need two accounts on the community? (us_us) ?

not really

where am I ?

The difference with the solution proposed by METRIC RAT is that I have no user data in the database and my user is already connected.
I can read the modified or added sitenumber in my application
As long as the rules are TRUE I can read, write, update in real time
on the other hand with minimum security I can only read and write

what is weird is that despite all the parameters provided in the script it is still necessary to authenticate the user to perform this real-time update

where I am ?

The data changed event is ok with a little html, javascript and especially the support of TIM.
I still have one thing to adjust, it is the management of the token, I use a 45 minute timer to refresh it with a copy of the same blocks that allow the user to connect but it does not seem to work because the application is put on standby (another thing that I do not master)
For the moment the user is obliged to reconnect every hour ... :unamused:
It's embarrassing, what do you think?

Save the login credentials to a tinydb, then recall these when the app opens to automatically login the user, and continue to use the login refresh after 45 minutes. others have had success using a similar approach.

hello everybody
the principle of the timer to refresh the token it worked but because I used an extension that leaves the screen on
when I return to my application after minimizing it sometimes I go back to the application where I had stopped (without tinydb) sometimes it starts again from the beginning and the user must log in again ...
I read posts on the doze mode, the foreground and everything gets confused in my head
leave the user's screen on all the time that's not a solution either, is it?