CVW Collaborative Virtual Workspace

Latest CVW Protocols

For a description of symbols and syntax, please refer to the Legend. To determine which protocols a particular client or server speaks, see the Association page.


Protocol

Command

Args

s->c

cvw-access

-acl

object: ### acl: ### ###…perms: 0/1

s->c

-admit-key-revoked

key: ### room: #R when: #####

c->s

-admit-request

[to: #U #U…]|[to-name: xxxxx xxxxx..] room: #R start: ##### expire: ##### [timeout: #]

s->c

-admit-request

from: #U (original keywords)

c->s

-admit-request-result

error: 0/1/2/3/4/5/6/7/8/9/10/11 from: #U (original keywords)

s->c

-admit-request-result

error: 0/1/2/3/4/5/6/7/8/9/10/11 user: xxxxx (original keywords)

c->s

-get-acl

object: ###

c->s

-set-acl

object: ### acl: ### ###…

s->c

-set-acl-result

error: 0/1 object: ### acl: ### ###…

c->s

-set-owners

object: ### owners: ### ###…

s->c

-set-owners-result

error: 0/1 object: ### owners: ### ###…

c->s

cvw-av

-audio-request

[to: #U #U…]|[to-name: xxxxx xxxxx…]

s->c

-audio-request

from: #U to: #U #U... location: ###.###.###.### port: #### when: #####

c->s

-audio-request-cancel

[to: #U #U…]|[to-name: xxxxx xxxxx…]

s->c

-audio-request-cancel

from: #U to: #U #U…

c->s

-audio-request-result

error: 0/1/2/3/4/5/6/7/8/9/10 from: #U (original keywords)

s->c

-audio-request-result

error: 0/1/2/3/4/5/6/7/8/9/10 receiver: #U [message: xxxxx] [location: ###.###.###.### port: ####] (original kds)

s->c

-mcast-address

audio_port: #### video_port: #### location: ###.###.###.### name: xxxxx title: xxxxx room: #R sd_compatibility: 0/1

s->c

-video-bandwidth

max: #

s->c

cvw-document

-checkin

[object: #D]|[docid: #] pass: 0/1 save_changes: 0/1 [error_msg: xxxxx…]

c->s

-checkin-request

[object: #D]|[docid: #] save_changes: 0/1

s->c

-checkout

object: #D pass: 0/1 [error_msg: xxxxx…]

c->s

-checkout-request

object: #D

s->c

-copy

object: #D new_object: #D docid: #

c->s

-copy-result

object: #D new_object: #D [new_path: xxxxx...] [new_docid: #] [error_msg: xxxxx…]

c->s

-delete

object: #D error: xxxxx

s->c

-delete

object: #D docid: #

s->c

cvw-env

-changed

floornum: # newroom: #R room_name: xxxxxx

s->c

-contents

users: #U #U… objects: ### ###… object-owner-names: xxxxx xxxxx…

s->c

-inventory

objects: ### ###… object-owner-names: xxxxx xxxxx…

c->s

-move

[destination: #R] [user: #U] [direction: n/s/e/w/u/d] [dest-name: xxxxxx] [user-name: xxxxxx]

s->c

-move-error

(destination/user/direction/etc.) error_msg: xxxxx…

c->s

cvw-group

-add-member

group: #G members: ### ###…

s->c

-add-member-result

error: 0/1/2/3/4/5 [invalid: ### ###…] [redundant: ### ###…] group: #G members: ### ###…

c->s

-del-member

group: #G members: ### ###…

s->c

-del-member-result

error: 0/1/2/3/4/5 [invalid: ### ###…] [missing: ### ###…] group: #G members: ### ###…

c->s

cvw-init-id

-client

version: xxxxx

s->c

-client-result

error: 0/1 current_version: xxxxx version: xxxxx

s->c

-server

version: xxxxx name: xxxxx doc-server: xxxxx doc-port: ####

s->c

-user

name: xxxxx object: #U priv: user/admin

c->s

cvw-lookup

-find-user

name: xxxxx

s->c

-find-user-result

match: 0/1 [object: #U user-name: xxxxx [comment: busy/idle/not connected]] [problem: not a user/ambiguous match [possible: #U #U #U…] [total: #]] name: xxxxx

c->s

-objects

pattern: xxxxx... include: "notes folders urls whiteboards documents groups"

s->c

-objects-result

objnums: ### ### ###… locations: xxxxx|xxxxx|xxxxx…

c->s

-rooms

pattern: xxxxx... include: "rooms floors"

s->c

-rooms-result

objnums: ### ### ###…

c->s

-users

pattern: xxxxx... criteria: username/fullname/everything

s->c

-users-result

objnums: ### ###… unames: xxxxx xxxxx… fullnames: xxxxx|xxxxx… offices: xxxxx|xxxxx… phones: xxxxx|xxxxx… emails: xxxxx xxxxx… locations: xxxxx|xxxxx… idles: ##### #####… busy: 0/1 0/1…

s->c

-who-end

s->c

-who-problem

user: xxxxx problem: not a user

c->s

-who-request

[users: xxxxx xxxxx xxxxx…]

s->c

-who-user

name: xxxxx idle_time: ##### idle_state: 0/1 idle_message: xxxxx... busy_state: 0/1 location: #R

s->c

-who-user

name: xxxxx last_disconnect_time: #####

s->c

cvw-map

-info

totalfloors: # roomobjs: #R #R … floorobjs: #Fl #Fl... rooms: q|qxxxxxq|qxxxxx…q|q floors: q|qxxxxxq|qxxxxx…q|q

c->s

-interest

on: 0/1

c->s

cvw-modify

-metadata

object: ### [description: xxxxx…] [owners: #U #U…] [name: xxxxx] [sessile: 0/1] [phone: xxxxx] [office: xxxxx] [full_name: xxxxx] [email_address: xxxxx] [badge: xxxxx] [gender: male/female] [path: xxxxx]

s->c

-result

error: 0/1 object: ### [description: xxxxx…] [owners: ### ###…] [name: xxxxx] [sessile: 0/1] [phone: xxxxx] [office: xxxxx] [full_name: xxxxx] [email_address: xxxxx] [badge: xxxxx] [gender: male/female] [text: xxxxx…] [error_msg: xxxxx…]

c->s

-text

object: ### text: xxxxx…

c->s

cvw-move

object: ### to: ###

s->c

-notify

object: ### whereto: ### wherefrom: ### bywhom: #U

s->c

-result

error: 0/1 object: ### to: ### msg: xxxxx...

c->s

cvw-object

-close

object: ### (sent for folders, groups, and whiteboards)

s->c

-contents

container: ### contents: ### ###… object-owner-names: xxxxx xxxxx…

c->s

-copy

object: ### copytype: xxxxx

s->c

-copy-result

error: 0/1 object: ### copytype: xxxxx [error_msg: xxxxx…]

c->s

-create

type: xxxxx name: xxxxx sessile: 0/1 [description: xxxxx…] [path: xxxxx...] [docid: #] [mimetype: xxxxx]

s->c

-create-result

error: 0/1 [object: ###] [error_msg: xxxxx…] type: xxxxx name: xxxxx

c->s

-delete

object: ### final: 0/1

c->s

-delete-shortcuts

object: ### item: ###

s->c

-delete-notify

object: ### name: xxxxx where: ### bywhom: #U

s->c

-delete-result

error: none/permission/shorcuts/system/unknown name: xxxxx object: ### final: 0/1 [error_msg: xxxxx...]

s->c

-detail

object: ### description: xxxxx owners: ### ###…object-owner-name: xxxxx xxxxx…[path: xxxxx...] [info_only: 1]

s->c

-detail (for user)

object: #U full_name: xxxxx office: xxxxx phone: xxxxx email_address: xxxxx badge: xxxxx gender: male/female location: ### description: xxxxx... owners: #U #U…

c->s

-detail-request

object: ### [info: description owners]

c->s

-detail-request usr

object: ### [info: description owners full_name office phone email_address badge gender location connected_state idle_state idle_time idle_message busy_state busy_message last_connect_time]

c->s

-export

object: ### (sent for notes)

s->c

-export-info

object: ### text: xxxxx\nxxxxx\nxxxxx… (sent for notes)

s->c

-info

name: xxxxx object: ### sessile: 0/1 owner: #U icon: xxxxx type: xxxxx [location: ###] [id: #] mod-date: ##### mod-by: #U create-date: #####

c->s

-info-request

object: ### [info: name sessile owner icon type location id mod-date mod-by create-date]

c->s

-open

object: ###

s->c

-window

object: ### perms: 0/1 [text: xxxxx…] [url: xxxxx...] [path: xxxxx…]

s->c

cvw-preferences

idle_default_msg: xxxxx... highlight_name: # highlight_public_comm: # highlight_private_comm: # highlight_objects: ### ###… highlight_objects_colors: # #… time_stamp: 0/1

c->s

-request

[fields: idle_default_msg highlight_name highlight_public_comm highlight_private_comm highlight_objects highlight_objects_colors time_stamp]

c->s

-set

[idle_default_msg: xxxxx...] [highlight_name: #] [highlight_public_comm: #] [highlight_private_comm: #] [highlight_objects: ### ###…] [highlight_objects_colors: # #…] [time_stamp: 0/1]

s->c

-time-notify

time: ######

c->s

cvw-proxy

-close

s->c

-close

proxy: #P

s->c

-env-changed

floornum: # newroom: #R room_name: xxxxxx

s->c

-env-contents

users: #U #U… objects: ### ###… object-owner-names: xxxxx xxxxx… proxy: #P

c->s

-move

[destination: #R] [user: #U] [direction: n/s/e/w/u/d] [dest-name: xxxxxx] [user-name: xxxxxx]

s->c

-move-error

error_msg: xxxxx…(original keywords)

c->s

-switch

s->c

-switch-error

error_msg: xxxxx…

c->s

-text

[to: #U #U (xxxxx)…] type: say/emote level: h/m/l text: xxxxx...

s->c

-text-notify

[from: ###] level: h/m/l text: xxxxx… proxy: #P

s->c

-text-result

error: not in a room/communication type unknown/no recipient/not in room/not a user [to: #U #U…] type: say/emote level: h/m/l text: xxxxx...

c->s

-text-paste

[to: #U #U…] [to-name: xxxxx xxxxx…] text: xxxxx... [public: 0/1]

s->c

-text-paste

from: #U [to: #U #U…] [where: #R] when: ##### text: xxxxx... public: 0/1 proxy: #P

s->c

-text-paste-result

to: #U #U… text: xxxxx… public: 0/1 user: #U error: xxxxx… proxy: #P

s->c

-text-paste-result-end

recipients: #U #U… to: #U #U… text: xxxxx... public: 0/1 proxy: #P

c->s

-text-url

[to: #U #U…] url: "http://…" [public: 0/1]

s->c

-text-url

from: #U [to: #U #U…] [where: #R] when: ##### url: "http://…" public: 0/1 proxy: #P [message: xxxxx…]

s->c

-text-url-result

to: #U #U… url: "http://…" public: 0/1 user: #U error: xxxxx… proxy: #P

s->c

-text-url-result-end

recipients: #U #U… to: #U #U… url: "http://…" public: 0/1 proxy: #P

s->c

cvw-system

-allusers

unames: xxxxx xxxxx... fullnames: xxxxx|xxxxx… offices: xxxxx|xxxxx… phones: xxxxx|xxxxx… emails: xxxxx xxxxx… locations: xxxxx|xxxxx… idles: xxxxx|xxxxx… busy: xxxxx xxxxx… objnums: #U #U...

c->s

-allusers-request

s->c

-onusers

user: #U #U… location: #R #R… idle: ##### #####… busy: 0/1 0/1 0/1… msgs: xxxxx|xxxxx|xxxxx…

c->s

-onusers-interest

on: 0/1/2

c->s

-list-groups

s->c

-list-groups

groups: #G|#G|#G… names: xxxxx|xxxxx|xxxxx… owners: xxxxx xxxxx…| xxxxx xxxxx…| xxxxx xxxxx...

c->s

-list-users

s->c

-list-users

users: #U|#U|#U… names: xxxxx|xxxxx|xxxxx… full_names: xxxxx|xxxxx|xxxxx…

s->c

-motd

message: xxxxx…

c->s

-motd-off

c->s

cvw-text

[to: #U/#G #U/#G...]|[to-name: xxxxx…] type: say/emote/private emote/page/group page level: h/m/l text: xxxxx… [store_msg: 0/1]

s->c

from: ### [to: #U/#G #U/#G…] type: say/emote/private emote/page/group page level: h/m/l text: xxxxx… where: #R when: #####

c->s

-confirm

sender: ### type: page

c->s

-paste

[to: #U #U…] [to-name: xxxxx xxxxx…] text: xxxxx>>!<<xxxxx>>!<<xxxxx… [public: 0/1]

s->c

-paste

text: xxxxx\nxxxxx\nxxxxx… from: #U where: #R when: ##### public: 0/1 [to: #U #U…]

s->c

-paste-result

to: #U #U… text: xxxxx>>!<<xxxxx... public: 0/1 user: #U error: xxxxx…

s->c

-paste-result-end

recipients: #U #U.. to: #U #U… text: xxxxx>>!<<xxxxx.. public: 0/1

s->c

-receipt

recipient: #U type: page when: #####

s->c

-result

error: not in a room/communication type unknown/no recipient/busy/not connected/busy aborted/disconnected aborted/busy sent/disconnected sent/ambiguous match/not a user/not in room [user: xxxxx] [busy_msg: xxxxx…] [possible: #U/#G #U/#G…] [total: #] (original keywords)

s->c

-result-end

recipients: #U #U… (original keywords)

s->c

-result-end

busy: #U #U… disconnected: #U #U.. (original keywords) (for group page)

s->c

-start

type: busy/disconnected

s->c

-stop

c->s

-url

[to: #U #U…] url: "http://…" public: 0/1

s->c

-url

from: #U [to: #U #U…] [where: #R] when: ##### url: "http://…" [message: xxxxx…] [public: 0/1]

s->c

-url-result

to: #U #U… url: "http://…" public: 0/1 user: #U error: xxxxx…

s->c

-url-result-end

recipients: #U #U.. to: #U #U… url: "http://…" public: 0/1

s->c

cvw-user

-audit

user: #U quota: # objects: ### ###… types: xxxxx|xxxxx… environments: ### ###… fullpaths: xxxxx|xxxxx… shared_objects: ### ###… shared_types: xxxxx|xxxxx… shared_environments: ### ###… shared_fullpaths: xxxxx|xxxxx…

c->s

-audit-request

[user: #U]

s->c

-connection-notify

user: #U where: #R when: ##### type: connect/disconnect/reconnect

s->c

-idle-notify

user: #U where: #R when: ##### message: xxxxx…

s->c

-move-notify

user: #U where: #R type: arrival/departure

c->s

-password-set

[user: #U] old: xxxxx new: xxxxx

s->c

-password-set-result

[user: #U] old: xxxxx new: xxxxx error: 0/1/2/3/4

s->c

cvw-whiteboard

-add-item

object: #W item_id: # item_owner: #U owner-name: xxxxx item_type: line/arrow/curve/oval/rectangle/text item_color: #hex linelist: #.# #.#... item_perms: 0/1

s->c

-add-listener

object: #W user: ### user-name: xxxxx

c->s

-add-request

object: #W item_type: line/arrow/curve/oval/rectangle/text item_color: #hex linelist: #.# #.#…

s->c

-remove-item

object: #W item_id: #

s->c

-remove-listener

object: #W user: #U user-name: xxxxx

c->s

-remove-request

object: #W item_id: #

s->c

-remove-result

object: #W item_id: # error: none/perms

s->c

-revert-item

object: #W item_id: # old_item_id: # item_owner: #U owner-name: xxxxx item_type: line/arrow/curve/oval/rectangle/text item_color: #hex linelist: #.# #.#... item_perms: 0/1

c->s

-revert-request

object: #W old_item_id: # item_owner: #U item_type: line/arrow/curve/oval/rectangle/text item_color: #hex linelist: #.# #.#…

c->s

-started

object: #W


Last update: 13 October 2000

This work, including the source code, documentation and related data, is placed into the public domain.
The original author is The MITRE Corporation.

THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AS TO THIS SOFTWARE, OR TO THE ACCURACY, CAPABILITY, EFFICIENCY, OR FUNCTIONING OF THIS SOFTWARE OR ANY DERIVATIVE WORK OR OTHER ITEM MADE, USED, OR SOLD THAT INCORPORATES THIS SOFTWARE. THE AUTHOR OF THIS SOFTWARE ASSUMES NO RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR REDISTRIBUTION OF THIS SOFTWARE.

Information in this document is subject to change without notice.
Other products and companies referred to herein are trademarks or registered trademarks of their respective companies or mark holders.
SourceForge