KTp: Difference between revisions
Line 81: | Line 81: | ||
==Events== | ==Events== | ||
* [[Telepathy/Events/TelepathySprint1|Telepathy sprint - September 2010]] | * [[Telepathy/Events/TelepathySprint1|Telepathy sprint - September 2010]] | ||
* [[Telepathy/Events/TelepathySprint2|Telepathy sprint - September 2011]] |
Revision as of 21:16, 16 August 2011
Introduction
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.
Our aims are:
- 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. C++ programming is *not* a necessity.
Technical Information
- The RTCC project uses the cross-desktop 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
You can find a list of answers to frequently asked questions here: 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: Instructions
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 contains the tasks which *must* be completed in order for us to make a first preview release.
- Phase 2 contains other speculative major features that we will probably implement once 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.
Status | Task | Developers | Source Code |
---|---|---|---|
RELEASED | Account Management GUI | George Goldberg <grundleborg googlemail com> | See here |
RELEASED | Chat Window App/Lib | David Edmundson <kde davidedmundson co uk> | See here |
RELEASED | Buddy List App | Marty Klapetek <martin.klapetek gmail com> | See here |
RELEASED | Desktop Wide Tp::Approver | George Kiagiadakis <kiagiadakis.george gmail com> | See here |
IN PROGRESS | Telepathy Integration Daemon | George Goldberg <grundleborg googlemail com> Dario Freddi <drf kde org> Help much appreciated | See here |
RELEASED | Presence Plasmoid | Dario Freddi <drf kde org> | See here |
Phase 2
This section contains features that will *probably* be implemented once the first preview release has been made.
Status | Task | Developers | Source Code |
---|---|---|---|
IN PROGRESS | Logger Application | Stefano Sanfilippo <stefano.k.sanfilippo gmail com> | Still in a scratch repo |
IN PROGRESS | Call UI | George Kiagiadakis <kiagiadakis.george gmail com> | 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 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).