Warning, /network/kte-collaborative/README is written in an unsupported language. File is not indexed.

0001 kte-collaborative: Collaborative Text Editor for KDE
0003 Terminology
0004 -----------
0005 Infinote Server: Server hosting collaborative editing sessions
0006 Session: A collaborative editing instance of a note
0007 Note: An editable document on an infinote server
0009 Description of the source tree
0010 ------------------------------
0011 Here's a short description of where what source code is located.
0012 The program consists of 4 main components:
0013     - The KTextEditor plugin (kte-plugin/ directory): a plugin for KTextEditor which is loaded
0014       in e.g. kate. It is responsible for the actual collaborative editing, i.e. synchronization
0015       of the text buffer. This includes the text highlighting and popup widgets.
0016       It also provides the "Collaborative" menu and its actions.
0017       It will treat any document starting with inf:// as a collaborative document.
0018     - The KIO slave (kioslave/ directory): a KIO slave, which is responsible for listing files
0019       on collaborative servers. It offers the inf:// protocol for that purpose. Clicking a document
0020       with that protocol will open it in e.g. kate, which notices its URL starts with inf:// and will
0021       thus try to synchronize it. Read about the KDE KIO framework for more information; this specific
0022       protocol implementation is rather simple.
0023     - Telepathy integration (kte-plugin/ktpintegration directory). This mainly consists of some front-end
0024       code (dialogs etc.) for creating channel requests, and two small programs (the server- and client tube
0025       handler) which handle channels on the offering and receiving end, respectively.
0026       The way this works is quite complicated, and will require a separate document to be explained.
0027     - The notifier module: This is a small module which runs in the background, and is responsible for updating
0028       the file views in e.g. dolphin. It also displays "A collaborative document was added" notifications
0029       in the tray.
0031 And now, the other way round; which directory contains what?
0032     common/             Stuff which is common to more than one of the above components is located here.
0033                         That is mostly the connection stuff, the text buffer sync stuff (needed for the KIO),
0034                         the document tree related things ("browsers", representations of files/folders on a server),
0035                         and various smaller utility functions.
0036     notifier-module/    The notification module, as described above.
0037     kioslave/           The KIO slave, as described above.
0038     kte-plugin/         The KTextEditor plugin itself.
0039         ui/             Dialogs and widgets used in the KTE plugin.
0040         settings/       The settings module reachable from Collaborative -> Configure
0041         ktpintegration/ Integration with Telepathy and KDE-Telepathy. Contains the client- and server side
0042                         channel handlers, and classes for creating requests.
0043                         Arguably, the client- and server side channel handlers are not really part of the KTE
0044                         plugin and could be located in a separate directory, but are currently not.
0045     tests/              Unit tests. Currently, there's only unit tests for the text buffer synchronization.
0047 Starting an Infinote Serever
0048 ----------------------------
0049 kte-collaborative does not have the ability to start an infinote server.  If you would like
0050 to run an infinote server, you can use the 'infinoted' application installed
0051 with libinfinity.
0052 Example usage, using no encryption:
0053 infinoted --security-polity=no-tls
0054 On some systems, the executable might be called infinoted-0.5 or -0.6.
0056 Connecting to an Infinote Server
0057 --------------------------------
0058 kte-collaborative treats each file with an URL which uses the inf:// protocol as a collaborative
0059 document. You can thus just open inf://myusername@servername.tld:port/path/to/document.txt in the
0060 editor, and the plugin should connect you to the session. You can also use the File -> Open dialog
0061 to select the document after entering the base URL. Alternatively, you can use Collaborative ->
0062 Open collaborative document for a nice GUI for entering connection parameters.
0063 You can also use Telepathy to establish pseudo peer-to-peer connections to jabber contacts from
0064 the same menu.