We have decided that kte-collaborative (the “Collaborative text editing in KTextEditor via kde-telepathy” project — see previous) is ready for a first release! This release is explicitly flagged as “preview” and might not be suitable for daily use just yet. There are still some known problems; the release is meant as an invitation to curious users to test the program and tell us about any problems they encounter.
Release tarballs:
- libqinfinity: http://download.kde.org/stable/libqinfinity/0.5.0/src/libqinfinity-v0.5.0.tar.xz.mirrorlist (sha256: dcd044b6f21a0356b4a95fedc778def4543e8b45b153c7256cce222a49394d07)
- kte-collaborative: http://download.kde.org/unstable/kte-collaborative/0.0.95/src/kte-collaborative-0.0.95.tar.xz.mirrorlist (sha256: 37026b8bcfd4469243dd694f4e62aa19601416792bdb8c184453715fe950ab71)
You might want to use the heads of the 0.5 and 0.1 git branches of libqinfinity and kte-collaborative instead to profit from the latest fixes made after the release tagging.
Intention of the release
The goal of this release is getting interested users to test the program, in order to get some feedback on what areas work well already, and what areas we need to concentrate on improving next. There are almost four weeks left of the time intended for working on GSoC projects — well enough to do all the polishing and bug fixing tasks which will surely come up.
What works
- You can open documents from an existing infinote server and edit them, in at least kate, kwrite, kile, and KDevelop.
- You can browse documents in dolphin and also copy one or more documents to the server there.
- You can save any document to the server to have it shared in the same way.
- You can select Jabber contacts which have the program installed too and edit documents with them without any (network) setup required, except for having your Jabber account set up in Telepathy.
- This also works for Jabber chatrooms.
- Such a connection, once established, can be used to share an arbitrary amount of documents, simply by using Collaborative — Share document, and selecting the existing connection.
Sharing a document with a contact will automatically ask that contact what to do, after he approved the request. |
Known issues
The following issues are known and you don’t need to report them as bugs or wishes.
- Wide unicode characters are not supported. It’s an easy fix but I didn’t yet get around to do it.
- Gabble (the library dealing with Jabber in the background) sometimes hits some very high timeout values when establishing connections. This means that randomly, it might take several minutes to connect. This will have to be fixed in Gabble.
- In case the data is proxied over the jabber server (in-band bytestream), as it is currently frequently the case unless you’re using the program in a local network, there might be constraints on how many messages you’re allowed to send in a certain time interval. Unfortunately, against the recommendation in the in-band bytestream XEP, gabble will disconnect the bytestream when you hit that limit (instead of waiting a moment and trying again). Thus, typing quickly for a while can disconnect you and you’ll have to manually reconnect.
- There is no automatic reloading of folder views when files are added by other users. You’ll have to press F5 to reload the view.
- For the same reason, once a connection is established there are no notifications to a remote user that further documents have been added.
Installation Instructions
To get this cool stuff running on your computer, you might do the following:
- Install kde-telepathy from your distribution’s repositories and configure your Jabber account, if you haven’t done so already. There’s usually a package called kde-telepathy-meta or similar.
- Install libinfinity and infinoted, if the latter is a separate package in your distribution
- Get and install (please with -DCMAKE_BUILD_TYPE=debug!) libqinfinity from: git clone git://anongit.kde.org/libqinfinity; git checkout 0.5
- Get and install (please with -DCMAKE_BUILD_TYPE=debug!) kte-collaborative from git clone git://anongit.kde.org/kte-collaborative; git checkout 0.1
- Run kbuildsycoca, and restart mission-control-5, telepathy-gabble, dbus, and kate (if running). The easier and more reliable way is to restart your computer.
- In any application using XMLGUI and katepart, e.g. kate or KDevelop, you should now have a “Collaborative” menu with various useful actions.
Troubleshooting
- There is no “Collaborative” menu. The KTextEditor plugin is not loaded. Go to Settings — Configure Editor — Extensions, and verify that “Collaborative text editing” is listed and checked.
- The “Share with contact” dialog lists none of my Jabber contacts. The application can determine in advance which of your contacts support the collaborative editing service, so we only list those which claim to support it. The dialog being empty means none of your contacts has the program installed — get someone to install it!
- The program crashes. That’s a bug. Please report it here. Potentially useful information to attach to bug reports: Full backtrace in case of crashes, debug output from the editor (enable all collaborative-related debug areas in kdebugdialog), relevant parts of the contents in the “Gabble” tab in ktp-debugger.
- GSoC: Collaborative text editing in Kate + kde-telepathy: status report No. 3
- Collaborative text editing: 0.2 beta release and end of GSoC
Categories: Everything
Tags: collaborative, gsoc, ktexteditor, planetkde, release
First of all thanks for keeping us users posted about your work. And for greatly improving the experience of end-users of course.
I'd recommend though, to add more context into questions in dialog boxes. If we take your screenshot for example, 5 options are presented but it is not possible to judge the effect of choosing a certain option. In addition to the program names, a sentence should be added that explains when an option is desirable. Personally, I've never heard of Gobby so I had no idea what happens when I opt for it.
It would be great too, to explain where the default can be edited after closing the popup as it seems a global setting will be stored.
Hmm, yes, that might be a good idea. The intention is that the user just selects the application he knows, or just clicks continue, and forgets about it. The option can easily be changed in the really tiny settings module we have, which is accessible from the menu.
Thanks for the tip!
Now, it would be nice to fix libqinfinity master (didn't check if these issues are also in the released tarball yet). the opensuse code checker doesn't like a couple things:
[ 102s] I: Program is using uninitialized variables.
[ 102s] Note the difference between "is used" and "may be used"
[ 102s] W: libqinfinity3 uninitialized-variable /home/abuild/rpmbuild/BUILD/libqinfinity-0.5git.1377197067/libqinfinity/qtio.cpp:359
[ 102s]
[ 102s] I: Program returns random data in a function
[ 102s] E: libqinfinity3 no-return-in-nonvoid-function /home/abuild/rpmbuild/BUILD/libqinfinity-0.5git.1377197067/libqinfinity/browsermodel.cpp:371
Wow, the first one is a good find! That is really total nonsense code and might be related to crashes I have experienced there. Thanks!
Hi, I'm also having trouble compiling libqinfinity in Mint with some of its variables. I don't know if any extra package is needed or why can this happen:
——-
— Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GLIB2_MAIN_INCLUDE_DIR)
— Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
— Could NOT find GObject
— Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
— Could NOT find GSASL
— Found Qt-Version 4.8.3 (using /usr/bin/qmake)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GLIB2_MAIN_INCLUDE_DIR
used as include directory in directory /home/ander/workspace/libqinfinity/libqinfinity
GOBJECT_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/ander/workspace/libqinfinity/libqinfinity
GSASL_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/ander/workspace/libqinfinity/libqinfinity
LIBINFINITY_INCLUDES
used as include directory in directory /home/ander/workspace/libqinfinity/libqinfinity
LIBINFINITY_LIBRARY
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
LIBINFTEXT_INCLUDES
used as include directory in directory /home/ander/workspace/libqinfinity/libqinfinity
LIBINFTEXT_LIBRARY
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
LIBXML2_INCLUDE_DIR
used as include directory in directory /home/ander/workspace/libqinfinity/libqinfinity
LIBXML2_LIBRARY
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
_GLibs (ADVANCED)
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
_GModuleLibs (ADVANCED)
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
_GObjectLibs (ADVANCED)
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
_GSASLLibs (ADVANCED)
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
_GThreadLibs (ADVANCED)
linked by target "qinfinity" in directory /home/ander/workspace/libqinfinity/libqinfinity
— Configuring incomplete, errors occurred!
——-
Does anybody know how to fix this problem?
This sounds like missing packages.
Look for packages like
libinfinity-dev
glib-dev
gsasl-dev
or similar, maybe without the -dev.
Greetings,
Sven