KTp: Difference between revisions

From KDE Community Wiki
No edit summary
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Introduction==
= KDE Telepathy - Real-Time Communication and Collaboration =
{{:KTp/Header}}
==[[/Getting_Involved | Getting Involved]]==


Real time Communication has traditionally been a detached 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.


==Frequently Asked Questions==
[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 here: [[Real-Time_Communication_and_Collaboration/FAQ|FAQ]].
 
See also https://gkiagia.wordpress.com/2010/09/20/what-is-telepathy-kde/
 
==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]]
 
{{Warning|If you are a distro packager, please [[Real-Time_Communication_and_Collaboration/Packaging_Guide|see here for information on packaging KDE-Telepathy]]}}
 
==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
|-
| RELEASED || [[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]]
|-
| RELEASED || [[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]]
|-
| RELEASED || [[Real-Time_Communication_and_Collaboration/Components/Buddy_List|Buddy List App]] || Marty Klapetek <martin.klapetek gmail com> || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#Contact_List_App|See here]]
|-
| RELEASED || [[Real-Time_Communication_and_Collaboration/Components/Desktop-wide_Approver|Desktop Wide Tp::Approver]] || George Kiagiadakis <kiagiadakis.george gmail com> || [[Real-Time_Communication_and_Collaboration/Getting_Set_Up#The_approver|See here]]
|-
| 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]]
|-
| RELEASED || [[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
|-
| IN PROGRESS || [[Real-Time_Communication_and_Collaboration/Components/Logger|Logger Application]] || Stefano Sanfilippo <stefano.k.sanfilippo gmail com> || [http://quickgit.kde.org/?p=scratch%2Fsanfilippo%2Ftelepathy-logger-query.git&a=summary Still in a scratch repo]
|-
| 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].
 
 
 
===Workflow===
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).
 
===Naming policy===
[[Real-Time_Communication_and_Collaboration/NamingPolicy|Naming Policy]]
 
==Events==
* [[Telepathy/Events/TelepathySprint1|Telepathy sprint - September 2010]]
* [[Telepathy/Events/TelepathySprint2|Telepathy sprint - September 2011]]

Revision as of 18:19, 14 January 2014