(Technical Information)
(KDE Telepathy - Real-Time Communication and Collaboration)
(27 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= KDE Telepathy - Real-Time Communication and Collaboration =
==[[/Getting_Involved | Getting Involved]]==
Real time Communication has traditionally been a detatched feature of Desktop Computing, provided via stand-alone Instant Messaging clients with poor integration into the desktop experience. One of the primary goals of the KDE 4 series is to tighten integration between different components of the environment. The Realtime Communication and Collaboration (RTCC) project aims to tackle just this.
==[[/Developers | Information For Developers]]==
Our aims are:
==[[/Testers | Information For Testers]]==
* To integrate Real Time Communication deeply into the KDE Workspaces and Applications
* To provide a infrastructure to aid development of Collaborative features for KDE applications.
If you find these goals appealing, why not consider [[#Getting_Involved|getting involved]]. C++ programming is *not* a necessity.
==[[/Packaging_Guide | Information for Packagers]]==
==Technical Information==
* The RTCC project uses the cross-desktop [http://telepathy.freedesktop.org Telepathy Framework] as the basis for our work.
* We should try and reuse code from Kopete/other already existing code wherever possibly. However, this should be balanced with the need to refactor/rewrite where appropriate to keep the new code true to Telepathy idioms.
See also https://gkiagia.wordpress.com/2010/09/20/what-is-telepathy-kde/
[http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp&namespace=0 All other pages]
You can find a list of answers to frequently asked questions [[Real-Time_Communication_and_Collaboration/FAQ|here]].
==Getting Started==
Before you start playing with/hacking on the Telepathy integration stuff, you need to get it all compiled: [[Real-Time_Communication_and_Collaboration/Getting_Set_Up|Instructions]]
We are currently in the process of porting all our work from telepathy-qt4 0.3/0.4 to version 0.5 (which is binary incompatible with 0.3 and 0.4). [[Real-Time_Communication_and_Collaboration/Current_State|This page]] shows the progress with this task.
==The Plan==
1) Build components equivalent to a traditional IM application, using Kopete code as much as possible, and integrating with other Pillars of KDE where appropriate.
2) Add advanced Telepathy features such as voice/video.
3) Build components and Convenience classes to enable real-time communication and collaboration features in any KDE SC app that wants them.
==The Work==
What we need to get done. This is divided into two sections:
* [[#Phase_1|Phase 1]] contains the tasks which *must* be completed in order for us to make a first preview release.
* [[#Phase_2|Phase 2]] contains other speculative major features that we will probably implement once [[#Phase_1|Phase 1]] is complete.
=== Phase 1 ===
These are the essential tasks which must be completed before we can make a first release. Adding or removing tasks from this list requires a consensus on the kde-telepathy mailing list first. Click on a task title for further information about that task.
{| border="1"
! Status !! Task!! Developers !! Source Code
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Account_Management_GUI|Account Management GUI]] || George Goldberg <grundleborg googlemail com> || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Telepathy_Accounts_KCM|See here]]
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Chat_Window|Chat Window App/Lib]] || David Edmundson <kde davidedmundson co uk> || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Chat_window_App|See here]]
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Buddy_List|Buddy List App]] || George Goldberg <grundleborg googlemail com> Dario Freddi <drf kde org> Help much appreciated || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Contact_List_App|See here]]
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Desktop-wide_Approver|Desktop Wide Tp::Approver]] || George Kiagiadakis <kiagiadakis.george gmail com> ||  |
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Integration_Daemon|Telepathy Integration Daemon]] || George Goldberg <grundleborg googlemail com> Dario Freddi <drf kde org> Help much appreciated || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Integration_Daemon|See here]]
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Presence_Plasmoid|Presence Plasmoid]] || Dario Freddi <drf kde org> || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Presence_Plasmoid_and_Dataengine|See here]]
=== Phase 2 ===
This section contains features that will *probably* be implemented once the first preview release has been made.
{| border="1"
! Status !! Task!! Developers !! Source Code
| NOT STARTED || [[Real-Time_Communication_and_Collaboration/Components/Logger|Logger Application]] ||  ||  |
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Call_UI|Call UI]] || George Kiagiadakis <kiagiadakis.george gmail com> || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Call_window_App|See here]]
==Getting Involved==
At this stage, the best way to get involved is to contact the existing team, either on IRC (#kde-telepathy channel on irc.freenode.net) or on our [https://mail.kde.org/mailman/listinfo/kde-telepathy mailing list].
Here is a list of tasks that you could get involved with at this moment. Please get in contact with us before writing anything, though. You can find some more details in the work section above.
* Fix bugs in the accounts KCM.
* Write account plugins for the accounts KCM.
* Complete some missing bits from the nepomuk integration service.
* (Re-)write the contact list UI.
* (Re-)write the call UI (just the UI, not the actual call mechanism).
* Investigate how to implement the logger and then implement it.
* Integrate telepathy into some kde application, doing something fancy and innovative (use your fantasy here).
* Write a runner (or extend the existing nepomuk runner) for krunner that searches for contacts in nepomuk and allows you to start a chat with them.
* Port something to tp-qt4 0.5. See [[Real-Time_Communication_and_Collaboration/Current_State|here]] for details.
If you want to work on a feature, clone the git repository on the server side and then clone your personal clone on your local machine. Make a new git branch and start working there. Try to keep commits small and meaningful. Once you are finished, push the branch on your server-side clone and ask someone of the team to review it. Once it is reviewed, you can merge it on the master repository (or ask someone else to merge it).
* [[Telepathy/Events/TelepathySprint1|Telepathy sprint - September 2010]]

Latest revision as of 18:19, 14 January 2014

KDE Telepathy - Real-Time Communication and Collaboration


Welcome to the KDE Telepathy Development Wiki

Current Version: 0.9.0
     commits_spark.pngStats at ohloh.net

Getting Involved

Information For Developers

Information For Testers

Information for Packagers

All other pages

This page was last edited on 14 January 2014, at 18:19. Content is available under Creative Commons License SA 4.0 unless otherwise noted.