Thanks guys i have a better understanding of how ape is working now
but im still trying to implement a way to log pubids into my app
database but Ape.log isnt working for me which is making debug near
impossible.

On May 12, 11:42 pm, Xosofox <[email protected]> wrote:
> Hi,
>
> may I also suggest my Blog post on this topic:
>
> http://www.xosofox.de/2010/10/ape-user-handling/
>
> Have fun ;-)
>
> Peter
>
> On 12 Mai, 08:45, nologicon <[email protected]> wrote:
>
>
>
>
>
>
>
> > From what I've gathered it all boils down to getting their pubid.
> > Once you have that you simply
> > do:
>
> > var recipient = Ape.getUserByPubid(pubid);
> > recipient.pipe.sendRaw('someCommand', {
> >      param1: 'value1',
> >      param2: 'value2'
>
> > });
>
> > The thing you have to do yourself is store each user's pubid somewhere
> > and reference
> > it by something you know about the user so you can look it up later.
> > In other words sessions, which ape doesn't provide for you.
>
> > What I did was store each users pubid to mysql when they connect:
>
> > Ape.registerHookCmd("connect", function(params, cmd) {
> >     Ape.log('--------------------------');
> >     Ape.log('connect');
>
> >     if (!$defined(params.sessionKey)) {
> >         Ape.log("Can't connect, sessionKey not specified");
> >         return 0;
> >     }
> >     cmd.user.setProperty('sessionKey', params.sessionKey);
>
> >     return 1;
>
> > });
>
> > Ape.addEvent('adduser', function(user) {
> >     Ape.log('--------------------------');
> >     Ape.log('adduser');
>
> >     var pubid = user.getProperty('pubid');
> >     var sessionKey = user.getProperty('sessionKey');
>
> >     Ape.log('Updating users pub id to '+pubid+' in the database');
> >     sql.query("SELECT * FROM sessions WHERE id = '"+session+"' LIMIT
> > 1", function(res){
> >            var userId = res[0]['user_id'];
> >            sql.query("UPDATE `users` SET `pubid` = '"+pubid+"' WHERE
> > `id` = "+userId);
> >     });;
>
> > });
>
> > In the connect hook you store the users sessionKey and then use it in
> > the adduser event to fetch their session
> > from the database.  That get's you their userId, and then you can
> > update their db record with their ape pubid.  It essentially
> > ties their web session and their ape session together.
>
> > To send something out to a specific user you just have to know
> > something about them... like their username, session key, etc.
> > so you can grab their record from the database.
>
> > Also, to get the session key into ape from the client I just read
> > their session cookie from the browser and passed it as a param
> > on ape.core.start:
>
> > Another approach if you can't use mysql is to keep a hash of usernames/
> > nicknames to pubids directly in the javascript module.
> > Checkout the nickname example in the source, it gives the basics of
> > how to set that up.
>
> > ape.core.start({
> >    sessionKey: $.cookie("SESSION_COOKIE")
>
> > });

-- 
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