KTp/Developers: Difference between revisions
m Drdanz moved page Real-Time Communication and Collaboration/Developers to KTp/Developers: As discussed at IRC meeting Real-Time_Communication_and_Collaboration is too long, we are moving all our pages to KTp |
No edit summary |
||
Line 1: | Line 1: | ||
{{: | {{:KTp/Header}} | ||
==Introduction== | ==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 | 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 KDE Telepathy (KTp) project aims to tackle just this. | ||
Our aims are: | Our aims are: | ||
Line 18: | Line 18: | ||
==Frequently Asked Questions== | ==Frequently Asked Questions== | ||
You can find a list of answers to frequently asked questions here: [[ | You can find a list of answers to frequently asked questions here: [[KTp/FAQ|FAQ]]. | ||
See also https://gkiagia.wordpress.com/2010/09/20/what-is-telepathy-kde/ | See also https://gkiagia.wordpress.com/2010/09/20/what-is-telepathy-kde/ | ||
Line 32: | Line 32: | ||
===Current Ongoing Large Tasks=== | ===Current Ongoing Large Tasks=== | ||
http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix= | http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp%2FTasks&namespace=0 | ||
===Workflow=== | ===Workflow=== | ||
Line 39: | Line 39: | ||
===Use of Milestones=== | ===Use of Milestones=== | ||
We're trialling a clever use of milestones suggested by Jeroen van Meeuwen. | We're trialling a clever use of milestones suggested by Jeroen van Meeuwen. | ||
====How it works==== | ====How it works==== | ||
Line 68: | Line 68: | ||
===Naming policy=== | ===Naming policy=== | ||
[[ | [[KTp/NamingPolicy|Naming Policy]] | ||
==Events== | ==Events== | ||
* [[ | * [[KTp/Events/TelepathySprint1|Telepathy sprint - September 2010]] | ||
* [[ | * [[KTp/Events/TelepathySprint2|Telepathy sprint - September 2011]] | ||
* [[ | * [[KTp/Events/TelepathySprint3|Telepathy sprint - 1Q 2013]] | ||
==Links== | ==Links== | ||
Line 79: | Line 79: | ||
* [http://telepathy.freedesktop.org/spec/index.html Telepathy Specs] | * [http://telepathy.freedesktop.org/spec/index.html Telepathy Specs] | ||
* [http://telepathy.freedesktop.org/doc/telepathy-qt/ Telepathy Qt Documentation] | * [http://telepathy.freedesktop.org/doc/telepathy-qt/ Telepathy Qt Documentation] | ||
* [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix= | * [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp&namespace=0 Other pages] | ||
* [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix= | * [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp%2FComponents&namespace=0 All '''Components''' pages] | ||
* [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix= | * [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp%2FTasks&namespace=0 All '''Tasks''' pages] | ||
* [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix= | * [http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp%2FEvents&namespace=0 All '''Events''' pages] |
Revision as of 00:48, 10 November 2012
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 KDE Telepathy (KTp) 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/
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.
Current Ongoing Large Tasks
http://community.kde.org/index.php?title=Special%3APrefixIndex&prefix=KTp%2FTasks&namespace=0
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).
Use of Milestones
We're trialling a clever use of milestones suggested by Jeroen van Meeuwen.
How it works
All bugs by default have the milestone "future" to say "we'll do it at some point". If we have no intention of doing it, it should not be in bugzilla.
For each (upcoming) release there is a version-next, such as 0.4-next. This contains everything we want fixed in the 0.4.x series.
As we approach release we create the milestone 0.4.0. Any bug we really want fixed before we can make a release then has the milestone changed from 0.4-next to 0.4.0. Any bug that we are happy to release 0.4.0 with, but still want fixed in the lifespan of 0.4.x, remains in 0.4-next. We then repeat this for every release.
Summary
- 0.5.0 = really aiming to fix this in 0.5.0
- 0.5.1 = really aiming to fix this 0.5.1
- 0.5-next = aim to fix this at some point in the 0.5 series.
What should have a milestone
Bugs that we know how to fix, have a solid plan and have resources to do. Assigning everything to "0.4.0" when there's no way we can get it done will help no-one.
It should remain a small list of high priority tasks such that developers can see what is important.
What bugs should I prioritise working on
Anything tagged for the next release such as 0.4.0, then anything in 0.4-next, and finally anything in Future.
Obviously being free software you're free to work on what the hell you want.