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