aa460e5731
Change-Id: Iab26aa96301851ace6244688a38bbb99630afd73
82 lines
3 KiB
Text
82 lines
3 KiB
Text
* 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
|