KTp

From KDE Community Wiki

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

Warning

If you are a distro packager, please 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.

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.

A list of junior jobs can be found here.

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

Naming Policy

Events