(→Testing and Quality) |
m (→Development Tools: Spell Müller correctly) |
||
| Line 61: | Line 61: | ||
| people= | | people= | ||
The kde sysadmin team: | The kde sysadmin team: | ||
| − | * [http://wire.dattitu.de/authors/2-Dirk Dirk | + | * [http://wire.dattitu.de/authors/2-Dirk Dirk Müller] |
* [http://www.kdab.net/~dfaure/ David Faure] | * [http://www.kdab.net/~dfaure/ David Faure] | ||
}} | }} | ||
[http://en.wikipedia.org/wiki/LXR_Cross_Referencer LXR] indexes classes and methods used in KDE. This can be useful for finding examples of how to use a class, and finding all uses of a class while refactoring or updating API. | [http://en.wikipedia.org/wiki/LXR_Cross_Referencer LXR] indexes classes and methods used in KDE. This can be useful for finding examples of how to use a class, and finding all uses of a class while refactoring or updating API. | ||
| − | |||
== Review == | == Review == | ||
This page is intended to be a summary of the tools used by the KDE project for Software Engineering tasks, i.e. everything around coding work. This includes bugfixing, review, testing, documentation, requirements etc.
The current tool used by KDE should be listed along with the extent of its use, known alternatives, and advantages/disadvantages.
Contents |
| Current State | People |
|
The kde sysadmin team: | |
| Get Involved | Alternative Tools |
Subversion 1.4 is currently used for source control management in KDE on a server hosted in Frankfurt. A separate server is used for access to the read-only mirror anonsvn.kde.org.
There is interest in migrating to a distributed source control management tool, such as GIT. Discussion of this is taking place on the kde-scm-interest mailing list.
| Current State | People |
| Get Involved | Alternative Tools |
|
n/a |
CMake is the build tool currently used by KDE. It is Free Software developed by kitware inc and available on multiple platforms supported by KDE.
This tool was chosen as the buildsystem for the KDE4 series, and there are no plans currently to migrate away from it.
| Current State | People |
|
The kde sysadmin team: | |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
LXR indexes classes and methods used in KDE. This can be useful for finding examples of how to use a class, and finding all uses of a class while refactoring or updating API.
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
In general KDE does not have a formal patch review policy for individual patches. Some patches do get reviewed prior to committing to svn by the relevant mailing lists. This is the case for particularly large patches or patches by new developers.
As an official policy kdereview is used to review new applications and new classes for kdelibs prior to inclusion in KDE trunk. A drawback of this system is that not all reviewers report that they have reviewed the new content. It may make sense to have a checklist for reviewers to use, eg,
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
The commit filter is used by several projects to forward all commits to the relevant mailing list.
| Current State | People |
|
Design review takes place on
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
KDE does not have an offical design review process. Some design review takes place as part of the kdereview process. It may be possible to further formalise this or encourage design documentation.
| Current State | People |
| |
| Get Involved | Alternative Tools |
|
n/a |
techbase.kde.org is a MediaWiki powered site used for collaborating on technical tasks such as tutorials, schedules, and project information. wiki.kde.org is a tiki-wiki site with the same function. Both are actively used. It might make sense to merge the two sites.
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
|
KDE API doucmentation is generated nightly and hosted on http://api.kde.org. It is also possible to generate the same documentation locally for use in an IDE for example.
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
User documentation is generated from module doc/ folders and hosted on http://docs.kde.org.
meinproc is a KDE tool (written by Stephen Kulow which uses libxslt to transform docbook into (bzipped) html. At runtime kio_help opens that bzipped html and displays it to the user in khelpcenter.
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
Bug tracking in KDE currently is managed using Bugzilla 2.0. There is work being done on a transition to Bugzilla 3.0, which provides some additional features.
Bugzilla can be difficult to use and daunting to newbies.
| Current State | People |
|
Krazy hosted at EnglishBreakfastNetwork (EBN). |
|
| Get Involved | Alternative Tools |
|
|
n/a |
Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/.
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
There is interest in more build testing for KDE especially on non-linux platforms. Improvements include some standard ctest scripts that can be used to build and submit a dashboard result for kdelibs to CDash. This would be run on a cronjob for simplicity.
Builds are planned for the following platforms:
| Current State | People |
|
Unit tests may be written with the QTest framework. Tests can be run with the command 'make test'. |
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
It may be possible run run these tests automatically possibly on EBN or on Dirks dashboard.
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc.
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
Tutorials may be provided in the future to help developers optimize their code.
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
|
A community management group is being worked on. |
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
As of June 2008 there is a lot of discussion around poisonous people resulting from the KDE user base growing into more channels. Community members are consuming information from different sources (sometimes intended as developer communication), and expecting greater stability from their software (even if it is pre-release).
Future work in this area will include
| Current State | People |
|
Developers communicate with each other through
Developers communicate with users though
|
|
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
| Get Involved | Alternative Tools |
|
|
Currently techbase is used for feature planning but there may be better alternatives.
| Current State | People |
|
The |
|
| Get Involved | Alternative Tools |
|
n/a |
Additional contributed artwork is available on http://kde-look.org.
There may be a need to create tutorials on how to create artwork for kde.
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations. |