Chat Client using XML/DHTML/JavaScript

終了済み 投稿 Oct 3, 2004 着払い
終了済み 着払い

Because of the features and timeframe, this project is for a coder that has already created an Instant Messaging (IM) client before using the technologies indicated. More details are available to the bidder. Please share your thoughts or previous sample work.

*The project is to create a IM client in a web browser (No Java applets, No ActiveX just XML/XSLT/DHTML/Javascript/Hidden Iframes). It should be cross browser, atleast for the modern browsers, although if certain features work better in IE, for example XML DataIslands it should use those but degrade nicely for non IE browsers). **Also, this bid is to do the client, the server side code already exists.**

Server communicates to client via XML documents. Client communicates to server via HTTP POST.

A major goal is to avoid the "refresh" of the screen when polling and the associated annoying click sound. As stated before no applets or activeX can be used, so this a "polling" based client. If you have experience using browser "push" technologies, feel free to use them.

Also, this is not 1-on-1 chat client, this is an full IM client like MSN Messenger/Yahoo etc. In fact, look at [url removed, login to view] for inspiration. Again, the bid is for a client for our existing IM server.

More details will be provided to succesful bidder.

User logs in from a browser using a uname/password. Upon authentication, a servlet returns a sessionid that is to be used in all future communications. The results are sent down in an XML document with an embedded pointer to an XSLT. The XSLT is used to create the needed Javascript functions and the DHTML in the page to create the client. Creating the XSLT is part of the bid.

The server can then be polled with the sessionid to get a Buddy List (BL) in XML format. The server always keeps a fresh copy of the Buddy List and any state of the buddies (Offline, Busy etc). A javascript timer should be used to poll at certain [url removed, login to view] client needs to only display the buddy list using a "tree" component, since the BL will have users organized by groups, and groups can be collapsed.

All buddies in BL tree display should be hyperlinked to a javascript function that can start an IM session with the buddy using a provided HTTP POST form....

**

IMPORTANT CONTINUED BELOW IN DELIVERABLES.**

## Deliverables

Continued:

If any buddy has sent a message to the client, that is indicated in the Buddy List XML with an active conversation flag. The client can then poll for the actual messages.

The entire session history of conversation with a particular buddy is kept on the server, so the client sends a message and polls for session history and just paints it on screen. This way the client does not have to store the session history, it just has to paint it on screen.

At any time, several IM sessions can be ongoing.

Here are some sample HTTP Post commands already available for client. Results are always XML documents.

Examples shown are for HTTP GET, but POST is the preferred method

Login Request and Get sessionid : ?cmd=login&name=$(id)&password=$(pwd)

Initiate IM and get chatroomid for session with a buddy : ?cmd=im&sid=sessionid&bdy=$(buddyname)

Send IM with message to chatroomid and get back session history including sent message : ?cmd=crm&sid=sessionid&id=$(chatroomid)&msg=$(message)

The server side code already exists. To give some background, we already have a WAP/WML/HDML client that used this approach. As you know, to create a WAP client, most of the client state for an IM session has to be kept on the server, this HTML client is an extension of the same code)

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

DHTML/XML/Javascript/

アマゾンウェブサービス アップルサファリ エンジニアリング グーグルクロム JavaScript JSP MySQL PHP ソフトウェアアーキテクチャ ソフトウェアテスト ウェブホスティング ウェブサイト管理 ウェブサイトのテスト

プロジェクトID: #3374469

プロジェクトについて

リモートプロジェクト アクティブ Oct 15, 2004