Using APE with mootools >1.3 does not seem to work indeed. So I have stayed with 1.2.4 here.
2011/11/28 Pablo Tejada <ptejad...@gmail.com> > Try the plain JavaScript.js file instead > Afterall all you need the APE JSF is for reciving and sending messages. > Once you get the messages you can manipulated them with whatever JS > framework you want. > On Nov 28, 2011 12:28 PM, "Rossco" <ros...@rossco-designs.com> wrote: > >> Hello, >> >> the reason is I have the APE server on the same server as my site and >> it's on a sub domain. It does work, I tested using the test script >> and it works just fine as do the demos. >> >> I am making some headway, however I am facing some issues using APE >> with mootools 1.4. I know you don't use mootools but perhaps someone >> else can help. >> >> I have the mootools 1.4 lib and the more lib to match as these are >> controlling other effects etc on the site. I am hitting compatibility >> issues including the MooTools.js and mootools-core.js files on the >> same page. Anyone know how to get APE and it's files working in >> tandem with 1.4 and the more lib? >> >> Thanks! >> >> On Nov 28, 3:48 pm, Louis Charette <charette.lo...@gmail.com> wrote: >> > I included "/ape/Clients/mootools-core.js", >> "/ape/Clients/JavaScript.js" and "/ape/config.js". I use Jquery instead of >> Mootool, but somehow "mootools-core" is needed for Ape to work. Maybe >> someone else could give more info about this as I not sure why I need both >> Mootools and Javascript.js, except the fact that it works. >> > >> > The config should look like this: >> > APE.Config.baseUrl = 'http://battlefieldnations.com';//APE JSF >> > APE.Config.domain = 'battlefieldnations.com'; >> > APE.Config.server = 'battlefieldnations.com:6969'; //APE server URL >> > >> > OR >> > >> > APE.Config.baseUrl = 'http://shout.battlefieldnations.com';//APE JSF >> > APE.Config.domain = 'battlefieldnations.com'; >> > APE.Config.server = 'shout.battlefieldnations.com:6969'; //APE server >> URL >> > >> > You tested your setup with the "check" tool? The "0" in >> "Ape.Config.Server" URL seems wrong. >> > >> > Le 2011-11-28 à 06:24, Rossco a écrit : >> > >> > >> > >> > >> > >> > >> > >> > > Some information about my setup. >> > >> > > I have a subdomain setup with a wildcard. >> > > *shout.battlefieldnations.com >> > >> > > My config is as follows, >> > >> > > APE.Config.baseUrl = 'http://shout.battlefieldnations.com';//APE JSF >> > > APE.Config.domain = 'battlefieldnations.com'; >> > > APE.Config.server = '0.shout.battlefieldnations.com:6969'; //APE >> > > server URL >> > >> > > On Nov 28, 10:22 am, Rossco <ros...@rossco-designs.com> wrote: >> > >> Hello, >> > >> > >> I'm trying to understand how you've managed to do this. Being new to >> > >> APE it's quite difficult to understand. >> > >> > >> Which Javascript files do I need to include in the head of my page? >> > >> Just the mootools-core, mootools and config? >> > >> > >> I'm having some difficulty with APE but I'm hoping I can achieve what >> > >> I need! >> > >> > >> Thanks >> > >> > >> On Nov 26, 10:55 pm, Louis Charette <charette.lo...@gmail.com> >> wrote: >> > >> > >>> I didn't use the session restore thing, but it looks ok. >> > >> > >>> I may suggests that you use the "user.setProperty" server side >> command to assign info to a user, even the username. Seehttp:// >> www.ape-project.org/docs/server/users/user.setproperty.htmlfor.... When >> you specify the username in the "core.start", you're limited regarding >> certain character or the length of the username. >> > >> > >>> Here's a example of my code if you need it: >> > >> > >>>> chat = new APE.Chat(); >> > >> > >>>> //Load APE >> > >>>> chat.load({ >> > >>>> identifier: 'SC_Chat', >> > >>>> channel: 'listeSalon' >> > >>>> }); >> > >> > >>>> //Once Ape is ready, connect to server >> > >>>> chat.addEvent('load', function(core){ >> > >>>> chat.core.start({ >> > >>>> 'name': $time().toString(), >> > >>>> }); >> > >>>> }); >> > >> > >>>> chat.addEvent('multiPipeCreate', function(pipe, options){ >> > >> > >>>> //If we just joined the "lobby" channel... >> > >>>> if (pipe.name == "listesalon") { >> > >> > >>>> //Get the info from PHP. PHP will send them to the >> server with InlinePush >> > >>>> $.ajax({ >> > >>>> type: "POST", >> > >>>> url: baseUrl+'chat', >> > >>>> dataType: "html", >> > >>>> data: >> "action=serverAuth&firstinit=1&upid="+this.core.user.pubid, >> > >>>> success: function(data) { >> > >>>> //Ready to chat >> > >>>> // [...] >> > >>>> } >> > >>>> }); >> > >>>> } >> > >>>> }); >> > >> > >>> The AJAX request send info to Ape with InlinePush kind of request. >> Those informations (Username, pics, etc) are store in the user public >> property like described earlier. With this, I don't need to ask for the >> username and pic when he send a message in the chat. >> > >> > >>> When a user post something on the chat, it's actually send with php >> inlinepush since I don't have MySQL support on the server itself (and I >> need to parse BBcode with php). Here is the code from PHP and the Ape >> Server-side command >> > >> > >>>> //On prépare la transmission à APE >> > >>>> $cmd = array(array( >> > >>>> 'cmd' => 'chatsendmsg', >> > >>>> 'params' => array( >> > >>>> 'password' => $chat->APE_PASSWORD, >> > >>>> 'raw' => 'chatSendMsg', >> > >>>> 'channel' => $_POST['pipename'], >> //The current channel name >> > >>>> 'data' => array( >> > >>>> 'chatmsg' => $msg, >> > >>>> 'userid' >> => $user->data['user_id'], >> > >>>> 'pubid' => >> $_POST['upid'], >> > >>>> ), >> > >>>> ) >> > >>>> )); >> > >> > >>>> //On transmet à APE >> > >>>> $data = file_get_contents($chat->APE_SERVER . >> urlencode(json_encode($cmd))); >> > >>>> Ape.registerCmd("chatsendmsg", false, function(params, infos) { >> > >>>> if (params.password == Ape.config("inlinepush.conf", >> "password")) { >> > >> > >>>> if ($defined(params.channel) && $defined(params.data) >> && $defined(params.raw)) { >> > >>>> var chan = Ape.getChannelByName(params.channel); >> > >>>> if (!$defined(chan)) return ["401", >> "UNKNOWN_CHANNEL"]; >> > >> > >>>> //Get Ape user Info from PubID >> > >>>> var thisUser = >> Ape.getUserByPubid(params.data.pubid); >> > >> > >>>> //validate the phpBB ID match for security >> > >>>> if (params.data.userid != >> thisUser.getProperty('userid')) { >> > >>>> return ["092", "BAD_PHP_USERID"]; >> > >>>> } >> > >> > >>>> //Send data to the channel >> > >>>> chan.pipe.sendRaw("chatSendMsg", { >> > >>>> "chatmsg": params.data.chatmsg, >> > >>>> "username": >> thisUser.getProperty('username'), >> > >>>> "avatar": >> thisUser.getProperty('avatar'), >> > >>>> "userid": >> thisUser.getProperty('userid'), >> > >>>> "pipename": chan.getProperty('name'), >> > >>>> }); >> > >> > >>>> //Tout est ok >> > >>>> return {"name":"pushed","data":{"value":"ok"}}; >> > >>>> } else { >> > >>>> return 0; >> > >>>> } >> > >>>> } else { >> > >>>> return ["400", "BAD_PASSWORD"]; >> > >>>> } >> > >> > >>>> }); >> > >> > >>> As you can see, you need to know the user Public ID. To send to >> only one person, it's the same thing, but you need to know both user pubid >> or you can create a temporary channel that both user need to join. For the >> first method, you change "chan.pipe.sendRaw" with: >> > >> > >>>> var toUser = Ape.getUserByPubid(params.data.to_user_pubid); >> > >>>> toUser.pipe.sendRaw("chatSendMsg", { ... }); >> > >> > >>> I don't know if any of this will help get you started, but let me >> know. >> > >> > >>> It can quite complex depending on how you want to do thing. I added >> a lot of thing in my application because I wanted a complete solution with >> online status (Away, busy, online), personal message, etc. If you want to >> add little extra stuff in you app, even history, you'll need to get your >> hand dirty and use AJAX / PHP InlinePush and/or ServerSide command. But in >> the hand it's worth it when you see a lot of people using your chat and >> giving you great feedback on the work you've done. >> > >> > >>> - Louis >> > >> > >>> Le 2011-11-26 à 10:44, Rossco a écrit : >> > >> > >>>> Ok I have edited my script which seems to load up a user id and >> > >>>> name... The [[+smf.username]] is just a placeholder that will pass >> > >>>> the username. Now I guess I need to figure out how to send >> messages >> > >>>> to the mainLobby channel then take it further to one to one >> messages. >> > >>>> Does this appear to be correct so far? >> > >> > >>>> APE.Config.scripts = [APE.Config.baseUrl + '/Build/ >> > >>>> uncompressed/apeCoreSession.js']; >> > >>>> var client = new APE.Client(); >> > >> > >>>> client.load({'identifier': 'shoutit', 'channel':'mainLobby', >> > >>>> 'userid':'1'}); >> > >>>> client.addEvent('load', function() { >> > >>>> //core.options.restore is true if a session is active >> > >>>> if (client.core.options.restore) { >> > >>>> client.core.start(); >> > >>>> } else { >> > >>>> client.core.start({'name':'[[+smf.username]]', >> > >>>> 'userid':'[[+smf.id]]'}); >> > >>>> } >> > >>>> }); >> > >> > >>>> client.addEvent('ready', function() { >> > >>>> if (client.core.options.restore) { >> > >>>> client.core.getSession('name', function(name) { >> > >>>> console.log('Receiving sessions data. username >> > >>>> value is : ', name.data.sessions.name); >> > >>>> }); >> > >>>> client.core.getSession('id', function(id) { >> > >>>> console.log('Receiving sessions data. id value >> > >>>> is : ', id.data.sessions.id); >> > >>>> }); >> > >>>> } else { >> > >> > >>>> console.log('saving custom session data, username on >> > >>>> the server'); >> > >>>> client.core.setSession({'name':'[[+smf.username]]', >> > >>>> 'id':'[[+smf.id]]'}); >> > >>>> } >> > >>>> }); >> > >> > >>>> client.addEvent('multiPipeCreate', function(pipe) { >> > >>>> console.log('New pipe ' + pipe.name); >> > >>>> }); >> > >> > >>>> -- >> > >>>> You received this message because you are subscribed to the Google >> > >>>> Groups "APE Project" group. >> > >>>> To post to this group, send email to ape-project@googlegroups.com >> > >>>> To unsubscribe from this group, send email to >> > >>>> ape-project+unsubscr...@googlegroups.com >> > >>>> 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 ape-project@googlegroups.com >> > > To unsubscribe from this group, send email to >> > > ape-project+unsubscr...@googlegroups.com >> > > For more options, visit this group at >> > >> > ... >> > >> > read more » >> >> -- >> You received this message because you are subscribed to the Google >> Groups "APE Project" group. >> To post to this group, send email to ape-project@googlegroups.com >> To unsubscribe from this group, send email to >> ape-project+unsubscr...@googlegroups.com >> 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 ape-project@googlegroups.com > To unsubscribe from this group, send email to > ape-project+unsubscr...@googlegroups.com > 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 ape-project@googlegroups.com To unsubscribe from this group, send email to ape-project+unsubscr...@googlegroups.com 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/