Thanks Anthony,

That sounds perfect!

That is good to know, i'll make note of that.

On Mon, Mar 5, 2012 at 9:59 PM, <[email protected]> wrote:

> **
>
> Hey,
>
> Pro tip : return -1 to a CONNECT hook and use Ape.addUser(cmd.user) in
> your SQL callback.
>
> Exemple here :
>
>
> https://github.com/APE-Project/APE_Server/blob/master/scripts/framework/http_auth.js
>
> Therefore the connect process will be delayed until the call of
> Ape.addUser.
>
> On Mon, 5 Mar 2012 21:40:57 -0500, Pablo Tejada 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 it
> https://groups.google.com/forum/?fromgroups#!searchin/ape-project/inlinepush$20ptejada26/ape-project/5pJwbIdbNGY/hOGJ5FRdpYwJ
>  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/
>
>
>
>
> --
> 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/

Reply via email to