Editing the documents

Now you have a session, the people who want to edit and some documents. Then you can edit now!

Acquiring write access

You might have noticed that as soon as a session is running, the buffers which are shared got read-only. To be able to write into a buffer, you must acquire write access.

There can be only one user writing in a shared document at a time. Therefore the "write access" exists, which must be obtained before editing (and which only one user can have at the same time). Imagine this for example as nicely crafted piece of wood with the name of the according document written on it. It can be in the hand of a user or lie in the center of the round. Initially that piece of wood lies in the center. Someone can pick it up (request / acquire) and he will be the only one who can write to that particular document. When he finishes with his work (releases), he puts it back to center. Now the next one can take it.

The write access can be requested/released via the left-most button in the DocSynch window above the document list. Select the document and click on that button. You will see that button changing it's icon depending if you currently have the write access and clicking would release it or if you don't have it and clicking would request the write access.

Figure 1.9. Document list with write access status

Document list with write access status

Inserting / Removing

If you have the write access, simply type, copy & paste or delete the text just as you are used to do it! All your changes will get transmitted to the other users, who will see exactly the same changes. The only difference can be other view settings (e.g., tabulator width). Don't forget to release the write access after you have finished (there is an option to automatically release the write access after some time, see Section , “Options”).

Highlighting of Changes

The changes made to a document are by default highlighted with colors. Each user gets a unique color and the text authored by him has that particular color as background.

When you move the mouse over a colored part and have it a short rest, a tooltip will show up displaying of how many characters the block consists and who has authored it.

Figure 1.10. Colored highlighting with tooltip

Colored highlighting with tooltip

Insert Queue

If you insert characters into a shared buffer, it's mostly typing. If every single character would be sent over the net, this would be quite inefficient (see also Section , “Flood-Kickout Protection”). To improve performance at this point, the Insert Queue collects several characters before sending them. It is enabled by default and can be configured via the options (Section , “Options”).

The other users taking part in that session will see changes in small blocks rather than single characters. The queue has no effect on your typing - apart from delaying the sending a bit -, it simply acts in the background.

Flood-Kickout Protection

You may noticed the fact that everything you type is sent over a normal IRC server. This includes long texts you insert via copy and paste. So that might be a lot more than you normally type in an IRC chat, especially when you consider the additional hidden protocol commands sent by DocSynch.

If you know IRC, you know that IRC servers normally block people who flood = send too much in short time. They do this to prevent people from making a channel unreadable (consider someone permanently sends nonsense lines, disturbing the messages of other users) and to save the server system from running out of resources. This limit might be 200 characters in about 3 second or something similar. If you exceed that, you will get kicked, that means your connection to the IRC server is closed immediately.

Because this would make DocSynch unusable, there is a feature called Flood-Kickout Protection, which can be configured via the options (Section , “Options”). If a lot of messages are sent in short time, the protection will delay the message, which could lead to a flood on the server. After enough time has passed, the message is sent.

To use the protection, you will have to find out the settings of your server. You could enter values to be sure (for example 40 bytes in 10 seconds), but this might slow done your work. The best is to try out several settings with the IRC server and notice when you get kicked. It is recommended to not turn off this feature or your session will end quickly.

Note: Normal chat messages in the IRC client window do not go through the flood-kickout protection, so be careful when typing quickly in the chat window as well in a buffer that is shared.