SedSynchronizedParty

From SynchroEdit

Jump to: navigation, search

Contents

Interface implementation "SedSynchronizedParty"

extends "SedSynchronizedStateInstance"

Revision 5 (April 22, 2006)

Description

The SedSynchronizedParty interface describes the implementation method of a group of editors (clients) editing the same document using the SynchronizedProtocol. The SedSynchronizedParty interface is implemented on client- and server-side and is responsible for maintaining accurate iterator-locations for all clients in the session.

The implementation is slightly slimmed-down on the server-side simply because the server does not bother with the appearance of the document. Thus, things such as dynamic CSS generation is exclusively implemented client-side.

Changelog

Revision    Date            Description
3           Aug 18, 2005    Added user styling to interface.
4           Aug 23, 2005    Added Function uiHandler to initializePartyInterface.
5           Apr 22, 2006    Renamed to "SedSynchronizedParty" from "DomSynchronizedParty".

Comment

This specification (and its accompanying implementations) was called Dom* up until April 22, 2006. This was obviously a thoughtless move as it both insinuates that the specification is W3C compliant (which it most assuredly isn't), and that it was written by the W3C team. These specifications (and accompanying implementations) have thus been renamed to Sed* (Synchronously edited document).

Variables

Map<String,Node> client
Map<String,node> span
Vector<String> clientList

Functions

void initializePartyInterface(Document instance, Function uiHandler)

Perform initializations.

void installUserStyle(String UID)

Install a new user style in the client CSS stylesheet.

void uninstallUserStyle(String UID)

Remove a user style from the client CSS stylesheet.

void changeUserStyle(String UID, String htmlRgbColor)

Change the color for a user to htmlRgbColor, which is in the format "#RRGGBB".

void clearUserStyles()

Remove all existing user styles.

void newClient(String UID)

Add a client to the party.

void removeClient(String UID)

Remove a client from the party.

Node whereisClient(String UID)

Return the node position for the client in question.

void moveClient(String UID, Node newLocation)

Move the client iterator.

void touchNode(String nodeIdentifierModified, int offset)

Touch the node and bump any clients affected by it based on offset.
(Does this need an "except String actor" mod?)
Personal tools