[pmwiki-users] ZAP chat?
editor at fast.st
Thu Nov 9 16:26:54 CST 2006
On 11/8/06, Joshua J. Kugler <joshua at eeinternet.com> wrote:
> On Sunday 05 November 2006 13:48, The Editor wrote:
> > I'm thinking about using ZAP for a chat module.
> "When all you have is a hammer..." :) That sounds really cool, but are you
> sure a Wiki is the best place into which to shoehorn a chat system?
Well, that's one way to look at it. But the reason I've enjoyed
PmWiki, and now ZAP, is that it provides a powerful framework for
extremely flexible web management. Taking these capabilities to their
extremes, will help move ZAP one more step forward.
There are also other reasons for this. First, the problem with trying
to plug some other freeware module into PmWiki is it doesn't fit
right--stylistically and all. Or it's got logos, or whatever.
Developing something specifically for PmWiki will allow you to
integrate it more fully into a site.
Building it on the ZAP framework also makes it possible to create many
kind of chat-like systems--by integrating the chat capability with
ZAP's many other features. I mean, realtime instant messaging, or
retrieving profile information, proactively opening a welcome chat
session with site visitors, or conferences that use chat instead of
commenting to discuss forum posts, whatever. I got some other wilder
ideas in my head--but that's for funtime down the road.
The point is, get past the technical hurdles of a simple chat system
and you have nothing stopping you from creating many other really
innovative applications. Most chat modules I've seen are plug and
play--and about zero flexibility for doing anything but simple chat.
I want a platform for doing anything I can think of at any point on
down the road. Getting ZAP to do chat is a piece of cake. Getting it
to do it well, is slightly more challenging. But the rewards are
pretty open ended.
Lastly, I switched to PmWiki not because it is good wiki software, but
because I believe it can become the best CMS out there. I want a
really powerful, full-featured membership based community site. And
PmWiki is way ahead of anything else I've seen for that. So I'm not
trying to put chat into a wiki, but into a CMS.
In the past I've used a free chat system called Chatzy (chatzy.com)
which does not use java or anything, but takes a log-based approach
similar to what I have in mind for ZAP. Though a bit different from
other chat approaches, it has its own advantages: Chat's are archived
until cleared. Rooms don't disappear when everyone leaves. It's lower
bandwith than setting up continuous connections.
It does not require anything installation on your computer. It works
on any PC, with any language and through corporate firewalls. (Just
plain html). You can send an email with just a url to anyone and
invite them to your room. One click and they are in. I mean it is a
bit unusual--but also pretty neat!
Well, so much for why a ZAP chat module might be useful. Now back to
the technical hurdles...
1) What's the best way to update content in a page--preferably
checking to see if a page has been updated every so often and only
downloading if it has been changed. Some kind of AJAX like tool?
exactly. Is there some way to refresh a page using a directive
without having to do something in the skin. Maybe a markup that adds
this?), refresh if needed, etc...
2) What the best way to prevent two chatters from overwriting each
other's content by submitting a form at the same time? If one user
locks a file for writing, what will another php thread trying to write
to that file do? pause and try again later? or skip it, or give an
error? I assume files are locked automatically using updatepage?
With updatepage can you skip doing diffs? Would it be faster to just
use fread/fwrite--and a very simple log file rather than a wiki page?
But then you have to have markup for reading the log file. Actually
this might be better for ZAPnews actually... But then you can't edit
the log so easily.
I think with answers to these two basic questions, I will have all I
need to get something like this set up and working within PmWiki. Any
suggestions? TIA everyone!
PS. I'm kind of serious about trying this. Appreciate input.
More information about the pmwiki-users