1 * Interface to Telepathy Tubes.
3 The idea is to provide 1-1 collaboration between contacts and many-many
4 collaboration via MUCs, using Telepathy DBus Tubes over Jabber/XMPP.
6 To enable configure LibO with --enable-telepathy
8 Currently (2012-04-14) at least telepathy-glib 0.18 is needed, which doesn't
9 come with distributions. Download it from
10 http://telepathy.freedesktop.org/releases/telepathy-glib/
11 and make install it locally, e.g. with --prefix=$HOME/usr
12 For LibO configure then use PKG_CONFIG_PATH="$HOME/usr/lib/pkgconfig
13 To not have tubes and sc cppunittests stumble (LD_LIBRARY_PATH is not evaluated
14 in unit tests and thus not a solution) copy the libs to the solver, i.e.
15 cp -p $HOME/usr/lib/libtelepathy-glib.* $SRCDIR/solver/$INPATH/lib/
17 If you have a Telepathy-enabled LibreOffice installed to /usr (including
18 liboapprover) you may also want to install the .service and .client files to
19 make everything service-activatable. Currently this does not seem to work.
21 mkdir -p $HOME/.local/share/telepathy/clients
22 ln -s $PWD/tubes/LibreOffice.client \
23 $PWD/tubes/LibreOfficeApprover.client \
24 $HOME/.local/share/telepathy/clients
26 mkdir -p $HOME/.local/share/dbus-1/services
27 ln -s $PWD/tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service \
28 $PWD/tubes/org.freedesktop.Telepathy.Client.LibreOffice.service \
29 $HOME/.local/share/dbus-1/services
34 You may run it in the background. When someone wants to collaborate with you,
35 you then get a confirmation dialog.
39 To play with the interposing without having an online account connected, create
40 a bit of a document, go to File -> Collaboration -> startDemoSession and bingo.
43 * To do interesting things with this code build and run calc thus:
45 SAL_LOG=1 ./soffice --calc
47 Now type simple strings into cells, rename sheets, or go to
48 File -> Collaboration; Listen; startBuddySession;
49 to transfer your document as-is to the other side ...
52 * for the cppunittest needed:
53 * Configure two Jabber accounts in Empathy
54 * Both must be online and on each other's contact list
55 * Copy qa/test-config.ini.example to qa/test-config.ini, and specify those
56 two accounts' JIDs in it.
61 * TeleConference is not deleted anywhere
62 * dialog to pick own account
63 * dialog to pick contact or MUC to work with
64 * dialog to accept/reject collaboration requests
65 * make the .service and .client files work reliably
68 In applications, e.g. Calc:
70 * stricter model,view,controller
71 * disable all actions we cannot process collaboratively
72 * separate input from view
73 * preprocess input to determine data type (text, number, date, ...)
74 * send typed/categorized data over wire before actually processing in model
75 * process serialized input as received
77 * use existing shared document feature with change-tracking enabled to
79 * may have the benefit of having already only a subset of trackable change
81 * let ScDocFunc handle also received changes
82 * have dialogs send their result item sets over the wire