ok. on second thought i guess i could see that working for a small app. depends on the amount of people chatting and the amount of activity. If you're only storing 20 messages that may not be enough if there is a lot of users and activity.
Also, updating every second is probably not needed. I wouldn't do an update less than every 5 seconds. On Dec 26, 12:04 am, Trenatos <[email protected]> wrote: > I was just thinking that it might be more efficient to just keep the > public messages in variables and update, instead of writing them to > the db, just to read them and pass back to the client. > > There's no need to retain anything between resets/reboots such as logs > or chat backups. > > /Marcus > > On Dec 25, 11:56 pm, "Aaron J. White" <[email protected]> wrote: > > > > > > > > > What do you mean in memory? Store the messages in the application > > cache? Of course, it may not be your decisions, but why doesn't your > > client want to use a db? > > > On Dec 25, 10:53 pm, Trenatos <[email protected]> wrote: > > > > It definitely helps! > > > > I was thinking about simply keeping the last 10-20 messages in memory > > > (And cycle through for new messages), and update all clients once a > > > second or so with the full list, if it has changed since the last > > > push. > > > > And for private messaging to use the session IDs/Username to specify > > > sender and target. > > > > Encoding the transmissions is not something I had thought about, but > > > will be used (Even though the chat is for non-sensitive information, a > > > modicum of security would be nice.) > > > > I'm hoping to have a beta framework built within a few days to a week, > > > never having worked with AJAX or sessions manually before. > > > > Thank you Aaron, I appreciate the help :) > > > > /Marcus > > > > On Dec 25, 10:41 pm, "Aaron J. White" <[email protected]> wrote: > > > > > Well, I've created a chat system in SharePoint 2010 which I thinking > > > > of making open source. Even though I did mine in jquery/sharepoint it > > > > would be really easy to mimic it in openbd. > > > > My advice: > > > > > I highly recommend using a database. You probably only need one table. > > > > You can easily setup a scheduled task to delete old data if that's a > > > > concern. > > > > A chat is really just a list so use a UL to display your data on the > > > > page. Each message has an id. When a user first comes into the chat > > > > query your DB for the last message and put the information into the UL > > > > hidden. Now using jquery inspect the chat UL element for the last LI. > > > > Each LI will hold things like the message, author and most importantly > > > > the message id. Every 10 seconds use javascript/jquery/etc to check > > > > your chat UL for the last message id and then do an ajax call to your > > > > DB for any chat message with an id GT the last id on the page. This > > > > system has been really successful for me. > > > > > Also, remember to URL encode the user's messages when submitting them > > > > via ajax and of course decoding them before displaying on the page. > > > > > Hope the above is helpful. > > > > > On Dec 25, 6:38 pm, Trenatos <[email protected]> wrote: > > > > > > I've been tasked with putting together a new chat system for a > > > > > website. > > > > > My plan is to do this in CFML, probably deploying it behind Apache > > > > > with Tomcat. > > > > > > I have tried looking at a few existing solutions, but all the free > > > > > ones have been broken, and the non-free ones are expensive. > > > > > > So I'm looking into how to do it by myself. > > > > > > Tonight is only brainstorming. > > > > > > So, my plan is to start with looking into sessions, and how to pass > > > > > use AJAX with OpenBD to pass the updated messages. > > > > > > A little clunky is fine, I can refine it over time. > > > > > > Databases not need, we don't need to retain information long-term, so > > > > > keep only the last 20 messages in memory should work just fine. > > > > > > Each message being upwords of 6000 characters, it'll be interesting > > > > > putting this together. > > > > > > They also want custom functions, such as coloring of text between **, > > > > > *this text would be green, for example* > > > > > > There is a current system in place on the old server, however, the > > > > > person who implemented it is no longer around and it's built in python > > > > > or something else that requires a server (Runs with its' own linux > > > > > daemon). And for whatever reason, it doesn't want to start up on the > > > > > new server. > > > > > I'm not in charge of moving to the new server, that job went to one of > > > > > the old techs (He has no idea how the daemon works either), and I'm in > > > > > charge of the whole thing after the move is done. > > > > > > I know, I know, I'm rambling on here. > > > > > > Anyway, yes, my idea is to implement a CFML/AJAX solution, which I've > > > > > been using for about 3 weeks or so now :) > > > > > > Wish me luck, and if anyone has any advice I'd be more then willing to > > > > > take it. -- online documentation: http://openbd.org/manual/ google+ hints/tips: https://plus.google.com/115990347459711259462 http://groups.google.com/group/openbd?hl=en
