(Add info about the Dirkboard) |
(Migrate to use the new SEFBox and group logically) |
||
| Line 6: | Line 6: | ||
| − | == | + | == Development Tools == |
| − | = | + | {{SEFBox |
| + | | name=Source Control | ||
| + | | currentState= | ||
[http://websvn.kde.org/ Subversion 1.4] is used for source control management in KDE. | [http://websvn.kde.org/ Subversion 1.4] is used for source control management in KDE. | ||
| − | + | | people= | |
| − | + | ||
[http://wire.dattitu.de/authors/2-Dirk Dirk Muller] and the kde sysadmin team maintain the KDE SVN servers. | [http://wire.dattitu.de/authors/2-Dirk Dirk Muller] and the kde sysadmin team maintain the KDE SVN servers. | ||
| − | + | | futureWork= | |
| − | + | There is interest in migrating to a distributed source control management tool, such as GIT. Discussion of this is taking place on the | |
| − | There is interest in migrating to a distributed source control | + | |
| − | management tool, such as GIT. Discussion of this is taking place on the | + | |
[http://mail.kde.org/pipermail/kde-scm-interest kde-scm-interest] | [http://mail.kde.org/pipermail/kde-scm-interest kde-scm-interest] | ||
mailing list. | mailing list. | ||
| − | + | | altTools= | |
| − | + | ||
* [http://git.or.cz/ git] | * [http://git.or.cz/ git] | ||
* [http://bazaar-vcs.org/ bazaar] | * [http://bazaar-vcs.org/ bazaar] | ||
* [http://www.selenic.com/mercurial/ mercurial] | * [http://www.selenic.com/mercurial/ mercurial] | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | = | + | {{SEFBox |
| − | [http:// | + | | name=Build System |
| + | | currentState= | ||
| + | * [http://www.cmake.org/ CMake] is the current KDE build tool. | ||
| + | * [http://developer.kde.org/~dirk/dashboard/ Continuous build server] reports broken builds. | ||
| + | * [http://www.cdash.org/CDash/index.php?project=kdelibs CDash build server] stores results of non-linux builds (Windows, MacOS, FreeBSD, etc) for kdelibs. | ||
| + | | people= | ||
| + | * [http://www.kdedevelopers.org/blog/531 Alexander Neundorf] | ||
| + | * [http://wire.dattitu.de/authors/2-Dirk Dirk Mueller] maintains the dashboard | ||
| + | | futureWork= | ||
| + | There is interest in migrating to a distributed source control management tool, such as GIT. Discussion of this is taking place on the | ||
| + | [http://mail.kde.org/pipermail/kde-scm-interest kde-scm-interest] | ||
| + | mailing list. | ||
| + | | altTools= | ||
| + | * [http://git.or.cz/ git] | ||
| + | * [http://bazaar-vcs.org/ bazaar] | ||
| + | * [http://www.selenic.com/mercurial/ mercurial] | ||
| + | }} | ||
| − | |||
| − | |||
| − | = | + | {{SEFBox |
| − | + | | name=Identifier search | |
| + | | currentState= | ||
| + | http://lxr.kde.org is used for searching for existing use of classes in KDE. | ||
| + | }} | ||
| − | == Patch review (pre commit) | + | |
| − | + | == Review == | |
| + | {{SEFBox | ||
| + | | name=Patch review (pre commit) | ||
| + | | currentState= | ||
* [http://reviewboard.vidsolbach.de/ Review-board] used by plasma project. In KDE in general this process does not take place, except for some specific patches which may be sent to the relevant mailing list. | * [http://reviewboard.vidsolbach.de/ Review-board] used by plasma project. In KDE in general this process does not take place, except for some specific patches which may be sent to the relevant mailing list. | ||
* trunk/kdereview is used to review major new features and new applications prior to inclusion in KDE trunk. | * trunk/kdereview is used to review major new features and new applications prior to inclusion in KDE trunk. | ||
| − | + | | people= | |
| − | + | ||
David Solbach and the kde sysadmin team maintain the Plasma review-board installation. | David Solbach and the kde sysadmin team maintain the Plasma review-board installation. | ||
| − | + | | futureWork= | |
| − | + | ||
Review-board may be suitable for adoption by more of the KDE project, or by individual modules. | Review-board may be suitable for adoption by more of the KDE project, or by individual modules. | ||
| + | | altTools= | ||
| + | * Launchpad.net offers bug tracking via bugs.launchpad.net | ||
| + | }} | ||
| + | |||
| − | + | {{SEFBox | |
| − | + | | name=Commit review (after commit) | |
| + | | currentState= | ||
* [https://mail.kde.org/mailman/listinfo/kde-commits| kde-commits] mailing list records all commits to KDE svn. | * [https://mail.kde.org/mailman/listinfo/kde-commits| kde-commits] mailing list records all commits to KDE svn. | ||
* The [http://commit-filter.org commit filter] is used to filter relevant commits based on path of the commit. This is used by several projects to forward commits to the relevant mailing list. | * The [http://commit-filter.org commit filter] is used to filter relevant commits based on path of the commit. This is used by several projects to forward commits to the relevant mailing list. | ||
| + | | altTools= | ||
| + | * Unknown | ||
| + | }} | ||
| − | |||
| − | |||
| − | + | {{SEFBox | |
| − | + | | name=Design Review | |
| − | + | | currentState= | |
| − | + | ||
| − | + | ||
Design review takes place on mailing lists/wikis and in face-to-face/BOF sessions at conferences and sprints. | Design review takes place on mailing lists/wikis and in face-to-face/BOF sessions at conferences and sprints. | ||
| + | }} | ||
| − | == | + | == Documentation == |
| − | = | + | |
| + | {{SEFBox | ||
| + | | name=Technical documentation | ||
| + | | currentState= | ||
techbase.kde.org is a mediawiki powered site used for collaborating on technical tasks such as tutorials, schedules, and project information. | techbase.kde.org is a mediawiki powered site used for collaborating on technical tasks such as tutorials, schedules, and project information. | ||
| + | | people= | ||
| + | * [[User:Danimo|Danimo]] is the mediawiki admin for techbase.kde.org. | ||
| + | | futureWork= | ||
| + | * More sysops for techbase (http://daniel.molkentin.de/blog/archives/116-KDE-TechBase-in-Need-of-Admins.html)? | ||
| + | }} | ||
| − | |||
| − | |||
| − | == | + | {{SEFBox |
| − | * | + | | name=API documentation |
| + | | currentState= | ||
| + | meinproc is used to generate api documentation from documentation strings in code. It is generated nightly and hosted on http://api.kde.org. | ||
| + | | people= | ||
| + | * [http://www.kdedevelopers.org/blog/1451 Allen Winter] administers api.kde.org. | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | = | + | {{SEFBox |
| − | + | | name=User documentation | |
| + | | currentState= | ||
| + | doxygen is used to generate user documentation from module doc/ folders and is hosted on http://docs.kde.org. | ||
| + | }} | ||
| − | === | + | |
| + | == Testing and Quality == | ||
| + | |||
| + | {{SEFBox | ||
| + | | name=Bug tracking | ||
| + | | currentState= | ||
| + | Bug tracking in KDE is managed using [http://bugs.kde.org Bugzilla 2.x]. | ||
| + | | people= | ||
| + | [http://mattr.info:8080/blog/?s=bugzilla Matt Rogers] and the kde sysadmin team maintain the KDE bugzilla installation. | ||
| + | | futureWork= | ||
| + | There is work being done on a transition to Bugzilla 3.0, which provides some additional features. | ||
| + | | altTools= | ||
| + | * Launchpad.net offers bug tracking via bugs.launchpad.net | ||
| + | }} | ||
| + | |||
| + | |||
| + | {{SEFBox | ||
| + | | name=Static code analysis | ||
| + | | currentState= | ||
| + | [http://www.englishbreakfastnetwork.org/krazy/ Krazy] hosted at EnglishBreakfastNetwork (EBN) is used for static code analysis. | ||
| + | | people= | ||
| + | * [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] | ||
| + | * [http://www.kdedevelopers.org/blog/1451 Allen Winter] | ||
| + | | futureWork= | ||
Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/. | Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/. | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | = | + | {{SEFBox |
| − | [ | + | | name=Unit testing |
| + | | currentState= | ||
| + | [[Development/Tutorials/Unittests|Unit tests]] may be written with the QTest framework. Tests can be run with the command '<tt>make test</tt>'. | ||
| + | | futureWork= | ||
| + | Run the tests automatically. Possibly on EBN. | ||
| + | }} | ||
| − | |||
| − | |||
| − | = | + | {{SEFBox |
| − | + | | name=Quality testing | |
| − | + | | currentState= | |
| + | The early adopter/user community tests beta versions of KDE. Additionally some work is done by SQO-OSS on quality in KDE. | ||
| + | | people= | ||
| + | * [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] | ||
| + | * [http://hemswell.lincoln.ac.uk/~padams/index.php Paul Adams] | ||
| + | | futureWork= | ||
| + | It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc. | ||
| + | }} | ||
| − | = | + | {{SEFBox |
| − | + | | name=Profiling and Optimizations | |
| − | + | | currentState= | |
| + | * [http://mail.kde.org/mailman/listinfo/kde-optimize kde-optimize] mailing list coordinates optimizations in KDE. | ||
| + | * Krazy also includes some optimization checks. | ||
| + | | futureWork= | ||
| + | Tutorials? | ||
| + | }} | ||
| − | |||
| − | |||
| − | === | + | {{SEFBox |
| − | * | + | | name=Accessibility and Usability |
| + | | currentState= | ||
| + | * http://usability.kde.org/ | ||
| + | * http://openusability.org/projects.php | ||
| + | * Season of usability | ||
| + | | people= | ||
| + | * [http://weblog.obso1337.org/ Celeste Lyn Paul] | ||
| + | * [http://ellen.reitmayr.net/index.php/blog Ellen Reitmayr] | ||
| + | }} | ||
| + | |||
| + | |||
| + | {{SEFBox | ||
| + | | name=Research | ||
| + | | currentState= | ||
| + | * http://research.kde.org | ||
| + | | people= | ||
| + | * [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot] | ||
| + | }} | ||
| + | |||
| + | |||
| + | == Marketing and Expectations == | ||
| − | + | {{SEFBox | |
| − | + | | name=Requirements Gathering | |
| + | | currentState= | ||
* Requirements come from user feedback on http://bugs.kde.org and from commercial interests. | * Requirements come from user feedback on http://bugs.kde.org and from commercial interests. | ||
* Developers may do some research into requirements for applications based on User Research Profiles. | * Developers may do some research into requirements for applications based on User Research Profiles. | ||
| + | }} | ||
| − | = | + | |
| − | + | {{SEFBox | |
| + | | name=Promotion | ||
| + | | currentState= | ||
* The [https://mail.kde.org/mailman/listinfo/kde-promo KDE marketing team] manage marketing and promotion from official kde sources. | * The [https://mail.kde.org/mailman/listinfo/kde-promo KDE marketing team] manage marketing and promotion from official kde sources. | ||
* http://dot.kde.org is the community forum around promotional announcements. | * http://dot.kde.org is the community forum around promotional announcements. | ||
* http://www.kde.org/announcements is the official source of promotional announcements regarding KDE. | * http://www.kde.org/announcements is the official source of promotional announcements regarding KDE. | ||
* Design and maintenance of KDE websites is organised on the [https://mail.kde.org/mailman/listinfo/kde-www kde-www mailing list] | * Design and maintenance of KDE websites is organised on the [https://mail.kde.org/mailman/listinfo/kde-www kde-www mailing list] | ||
| − | + | | people= | |
| − | + | ||
* [http://wadejolson.wordpress.com/ Wade Olsen] | * [http://wadejolson.wordpress.com/ Wade Olsen] | ||
* [http://troy-at-kde.livejournal.com/ Troy Unrau] | * [http://troy-at-kde.livejournal.com/ Troy Unrau] | ||
* [http://nowwhatthe.blogspot.com/ Jos Poortvliet] | * [http://nowwhatthe.blogspot.com/ Jos Poortvliet] | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | {{SEFBox | |
| − | + | | name=Community management | |
| − | + | | currentState= | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
A community management group is being worked on. | A community management group is being worked on. | ||
| − | + | | futureWork= | |
| − | + | ||
* Moderation on some community portals. | * Moderation on some community portals. | ||
* Mediation | * Mediation | ||
* A code of conduct? | * A code of conduct? | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | === | + | == Release == |
| − | + | ||
| − | = | + | {{SEFBox |
| − | + | | name=Release Scheduling | |
| + | | currentState= | ||
| + | The [https://mail.kde.org/mailman/listinfo/kde-release-team release team mailing list] is used for release planning, and release plans maintained on techbase at [[Schedules]]. | ||
| + | | people= | ||
| + | [https://mail.kde.org/mailman/listinfo/release-team The KDE release team] | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | = | + | {{SEFBox |
| − | + | | name=Feature planning | |
| − | + | | currentState= | |
| − | + | techbase.kde.org is currently used for feature planning, specifically [[Schedules/KDE4/4.1_Feature_Plan]] etc. | |
| − | * | + | | people= |
| + | [https://mail.kde.org/mailman/listinfo/release-team The KDE release team] | ||
| + | | altTools= | ||
| + | * Launchpad.net offers a blueprints system. | ||
| + | }} | ||
| − | |||
| − | |||
| − | |||
| − | == | + | == Theming and Translations == |
| − | + | ||
| − | + | ||
| − | + | ||
| − | = | + | {{SEFBox |
| − | + | | name=Artwork | |
| − | * [http:// | + | | currentState= |
| + | The [http://mail.kde.org/mailman/listinfo/kde-artists kde-artists team] creates offical artwork for KDE. Additional contributed artwork is available on http://kde-look.org. | ||
| + | | people= | ||
| + | * [http://pinheiro-kde.blogspot.com/ Nuno Pinheiro] | ||
| + | | futureWork= | ||
| + | Tutorials on how to create artwork for kde? | ||
| + | }} | ||
| − | + | ||
| − | + | {{SEFBox | |
| + | | name=Translation | ||
| + | | currentState= | ||
* http://i18n.kde.org/ is used for level of completion of translations in KDE. | * http://i18n.kde.org/ is used for level of completion of translations in KDE. | ||
* GNU gettext is used for translation in KDE. | * GNU gettext is used for translation in KDE. | ||
| Line 204: | Line 270: | ||
* A kde4 based translation client (lokalize) is being developed in kdesdk/. | * A kde4 based translation client (lokalize) is being developed in kdesdk/. | ||
* Krazy includes sanity checks/plurals checking for translation. | * Krazy includes sanity checks/plurals checking for translation. | ||
| − | + | | altTools= | |
| − | + | ||
| − | + | ||
launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations. | launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations. | ||
| + | }} | ||
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 |
|
Subversion 1.4 is used for source control management in KDE. |
Dirk Muller and the kde sysadmin team maintain the KDE SVN servers. |
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
| Current State | People |
|
http://lxr.kde.org is used for searching for existing use of classes in KDE. |
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
David Solbach and the kde sysadmin team maintain the Plasma review-board installation. |
| Get Involved | Alternative Tools |
|
n/a |
|
| Current State | People |
|
Unknown | |
| Get Involved | Alternative Tools |
|
n/a |
|
| Current State | People |
|
Design review takes place on mailing lists/wikis and in face-to-face/BOF sessions at conferences and sprints. |
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
techbase.kde.org is a mediawiki powered site used for collaborating on technical tasks such as tutorials, schedules, and project information. |
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
meinproc is used to generate api documentation from documentation strings in code. It is generated nightly and hosted on http://api.kde.org. |
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
doxygen is used to generate user documentation from module doc/ folders and is hosted on http://docs.kde.org. |
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
Bug tracking in KDE is managed using Bugzilla 2.x. |
Matt Rogers and the kde sysadmin team maintain the KDE bugzilla installation. |
| Get Involved | Alternative Tools |
|
n/a |
|
| Current State | People |
|
Krazy hosted at EnglishBreakfastNetwork (EBN) is used for static code analysis. |
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| 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 |
n/a |
| Current State | People |
|
The early adopter/user community tests beta versions of KDE. Additionally some work is done by SQO-OSS on quality in KDE. |
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
A community management group is being worked on. |
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
The release team mailing list is used for release planning, and release plans maintained on techbase at Schedules. |
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
techbase.kde.org is currently used for feature planning, specifically Schedules/KDE4/4.1_Feature_Plan etc. |
|
| Get Involved | Alternative Tools |
|
n/a |
|
| Current State | People |
|
The kde-artists team creates offical artwork for KDE. Additional contributed artwork is available on http://kde-look.org. |
|
| Get Involved | Alternative Tools |
|
n/a |
n/a |
| Current State | People |
|
Unknown |
| Get Involved | Alternative Tools |
|
n/a |
launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations. |