Again Appreciate your help, My application requires this.core.user.properties to be set at landing, so even if I sent a raw to the connected user, this will not set the properties to the other connected users, and will be unavailable for them.
I have bookmarked that same post where you state how you are using inlinepush to check database and set user properties.. I think I will have to study that same path and see if I can get it to work.. best wishes.. On Mar 5, 6:40 pm, Pablo Tejada <[email protected]> wrote: > Sure no problem, > > Unfortunately the whole process is victim of the same rule. And that is > that JavasScript will not wait for an asynchronous request to finish and > continue execution. > So the 'connect' hook will finish and return 1 weather the user properties > are set or not. > > While working with JS in the client side i use the method of re-running a > function when im in similar situation: > > //Global variable > var cache; > > function buildUserCard(user_id){ > if(!cache){ > //Get the template from the server > $.get("request/UserCard.tpl", function(data){ > //export the value of 'data' to the global 'cache' > cache = data; > //Re-Run the same function to continue building our UserCard > buildUserCard(user_id);}); > > //kill function exceution > return false;} > > //We got the template in 'cache' so continue builing our UserCard > var UserCard = ... > ... > > } > > But in server side like APE is different because im not sure if we could > trigger commands. I have two alternatives in mind you could try: > > 1) return 0 instead of 1 in the 'connect' hook to kill it, and try to send > a custom response from the sql.query() callback using > sendResponse()<http://www.ape-project.org/docs/server/raws/sendresponse.html> > or sendRaw()<http://www.ape-project.org/docs/server/more/pipe.sendraw.html> > not > sure which one is more appropriate. > > 2) keep returning 1 in the 'connect' hook, in the sql.query() callback send > a custom RAW to the channels the user is part-of using > sendRaw()<http://www.ape-project.org/docs/server/more/pipe.sendraw.html>. > This would required extra code in the client side to handle the custom RAW > and update the user object accordingly. > > Happy coding :) > > If you are having more headaches then solutions consider using inlinepush > instead, you could also avoid having to deal with the clumsy MySql in APE > server, this thread has some good information about > ithttps://groups.google.com/forum/?fromgroups#!searchin/ape-project/inl... > > > > > > > > On Mon, Mar 5, 2012 at 8:30 PM, UTAN <[email protected]> wrote: > > > On this try I was trying to return, but is not how I had before it > > very similar to the one you posted in your last post.. > > > On Mar 5, 5:15 pm, Pablo Tejada <[email protected]> wrote: > > > Just for the record is not the APE server's fault, is the way JS works > > and > > > the way you have structured your application. For example this function: > > > > function setloggedinProperties(user){ > > > var usernick = user.getProperty('name').toLowerCase(); > > > > sql.query('SELECT * FROM pfc_login WHERE BINARY > > > username="'+Ape.MySQL.escape(usernick)+'"',function(res,error){ > > > if(error){ > > > Ape.log('There was an error in the query'+this.errorString()+''); > > > }else{ > > > if(res != ''){ > > > return res[0].isauthorized; > > > } > > > } > > > }); > > > > } > > > -- > > You received this message because you are subscribed to the Google > > Groups "APE Project" group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > For more options, visit this group at > >http://groups.google.com/group/ape-project?hl=en > > --- > > APE Project (Ajax Push Engine) > > Official website :http://www.ape-project.org/ > > Git Hub :http://github.com/APE-Project/ -- You received this message because you are subscribed to the Google Groups "APE Project" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/ape-project?hl=en --- APE Project (Ajax Push Engine) Official website : http://www.ape-project.org/ Git Hub : http://github.com/APE-Project/
