Difference between revisions of "Developer's corner"

From GCompris
Jump to: navigation, search
(Dependencies)
(Translation)
 
(76 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== Branches ==
+
{{TOCright}}
 +
= Contact =
  
We use [http://git-scm.com/ git] for our development. The [http://git.gnome.org/browse/gcompris/ git repository] is hosted by Gnome but we also have a [http://gcompris.net/gitweb local web viewer].
+
This page is about the '''Qt version'''. Follow there for the [[Developer's corner Gtk|Gtk+ legacy version]].
  
To get the GCompris master branch (warning this takes more than 500MB) :
+
== How to report a bug ==
<code><pre>
 
git clone git://git.gnome.org/gcompris
 
cd gcompris
 
sh autogen.sh && make
 
</pre></code>
 
  
Alternatively, if you are only interested in the recent history, and would want to send in fixes as patches, you can use the option: <code>git clone --depth=1 git://git.gnome.org/gcompris</code>. It will save you more than 100MB.
+
To fill a bug report for GCompris:
  
== Dependencies ==
+
* Legacy Gtk+ Version: [http://bugzilla.gnome.org/query.cgi gnome bugzilla] and select GCompris in the product list.
 +
* New Qt Quick version: [https://bugs.kde.org KDE bug tracker] and select GCompris in the product list or for [https://phabricator.kde.org/maniphest/query/0Xc51jhWJnw0/#R internal development we use Phabricator]
  
GCompris has a lot of dependencies. On a Debian based distribution that already packages GCompris, you can install all the required dependencies with the command 'apt-get build-dep gcompris'.
+
== Mailing list ==
  
If you get the message 'E: You must put some 'source' URIs in your sources.list' you will need to put some deb-src lines in the sources.list so you can install these dependencies from source. To do so:
+
You can join and browse the [https://mail.kde.org/mailman/listinfo/gcompris-devel GCompris mailing list].
  
<code><pre>
+
This mailing list is used by the developers and users willing to stay aware of what’s going on. You will get new release announcements. Users can join the list and report bugs, discuss feature they would like to have, ...
sudo nano /etc/apt/sources.list
 
</pre></code>
 
  
Enter your password
+
The language is English. There is also a user mailing list in [https://mail.kde.org/mailman/listinfo/gcompris-france French] and in [https://lists.sourceforge.net/lists/listinfo/gcompris-portugues Portuguese].
  
This displays the text of the sources.list file in the terminal. You should see the following (or something similar), where YOUR_DISTRIB_CODENAME has been replaced with your appropriate ubuntu version (precise for example):
+
== Chat ==
<code><pre>
 
# /etc/apt/sources.list
 
  
deb http://archive.ubuntu.com/ubuntu/ YOUR_DISTRIB_CODENAME main restricted universe multiverse
+
You can enter in contact with the users and developers of [http://en.wikipedia.org/wiki/IRC GCompris on IRC]. The server is irc.libera.chat on the channel #gcompris.
deb http://security.ubuntu.com/ubuntu/ YOUR_DISTRIB_CODENAME-security main restricted universe multiverse
 
deb http://archive.ubuntu.com/ubuntu/ YOUR_DISTRIB_CODENAME-updates main restricted universe multiverse
 
</pre></code>
 
  
Duplicate these lines, replacing 'deb' with 'deb-src'. Be sure that YOUR_DISTRIB_CODENAME is replaced with your actual ubuntu codename. Type cat /etc/lsb-release to see your codename if you don't know it.
+
To join an IRC server, you can use any IRC client like for example the [https://hexchat.github.io excellent hexchat software] or [https://kiwiirc.com/nextclient/ directly in your browser].
  
Then, update and build dependencies.
+
= Development =
<code><pre>
 
sudo apt-get update
 
apt-get build-dep gcompris
 
</pre></code>
 
  
== Documentation ==
+
== Documentation of the Qt Quick Version (Under development) ==
* [[GCompris internals]] gives an overview of the design of GCompris. It is a good starting point for anybody willing to contribute code.
+
 
* [[Adding an activity]]
+
This is a new version of GCompris based on the [http://doc.qt.io/qt-5/qtquick-index.html Qt Quick] technology. Our users expect us to deliver a version that runs on Desktop and on Tablets. Sadly with the Gtk+ version these was no easy way to achieve this. The decision has been taken to rewrite completely GCompris on a new framework. This is a departure from the Gtk+ development framework that was based on the C and the Python language. Now the development will be done with a mix of QML, JavaScript and C++.
* [[Adding a puzzle activity]]
+
 
* [[An exercise for Students]]
+
The rewrite will not happen overnight and we need your help. If you are interesting in discovering the Qt Quick technology while doing something useful, you can do the port of a GCompris activity.
 +
 
 +
* Qt Quick [https://invent.kde.org/education/gcompris official repository] or [https://github.com/gcompris/GCompris-qt GitHub mirror]
 +
* [[Qt Quick development process]]
 +
* [[Qt Quick Migration status]]
 +
* [[Contribution process]]
 +
* [[New contributor]]
 +
 
 +
=== Design ===
 +
 
 +
* [[Administration design]]
 +
* [[Dataset handling]]
 +
* [[Artwork guidelines]]
 +
 
 +
=== Translation ===
 +
 
 +
Translation guidance can be found in the [[How_to_translate|How to guide]].
  
 
== The Drawing board ==
 
== The Drawing board ==
Line 53: Line 55:
 
* [[Ideas for activities]]
 
* [[Ideas for activities]]
 
* [[Star system review]]
 
* [[Star system review]]
* [[Todo for OLPC]]/sugar future ? Review of sugar/OLPC activities and way to integrate.
+
* [[Language Learning]]
* [[Notes on OSX port]]
 
* [[Language Learning]] (Bruno's main focus after project maintenance)
 
 
 
== Translations ==
 
 
 
* GCompris translations are managed by the [http://l10n.gnome.org/teams/ Gnome translation teams].
 
* [http://l10n.gnome.org/module/gcompris/#master Translation status] for the Software itself.
 
* [[Translation addons]]. There is more than the .po file to translation GCompris.
 
* [[Voices translation]].
 
* [[Web site translation]] is managed by volunteers.
 
* [[Wiktionary to XML]]
 
 
 
== Packagers ==
 
 
 
GCompris is a large software which has numerous dependencies. We ask packagers to be very careful and follow this minimal and [[manual test]] process.
 
 
  
 
[[Category:Developer]]
 
[[Category:Developer]]
 +
[[Category:English]]

Latest revision as of 16:33, 12 December 2021

Contact

This page is about the Qt version. Follow there for the Gtk+ legacy version.

How to report a bug

To fill a bug report for GCompris:

Mailing list

You can join and browse the GCompris mailing list.

This mailing list is used by the developers and users willing to stay aware of what’s going on. You will get new release announcements. Users can join the list and report bugs, discuss feature they would like to have, ...

The language is English. There is also a user mailing list in French and in Portuguese.

Chat

You can enter in contact with the users and developers of GCompris on IRC. The server is irc.libera.chat on the channel #gcompris.

To join an IRC server, you can use any IRC client like for example the excellent hexchat software or directly in your browser.

Development

Documentation of the Qt Quick Version (Under development)

This is a new version of GCompris based on the Qt Quick technology. Our users expect us to deliver a version that runs on Desktop and on Tablets. Sadly with the Gtk+ version these was no easy way to achieve this. The decision has been taken to rewrite completely GCompris on a new framework. This is a departure from the Gtk+ development framework that was based on the C and the Python language. Now the development will be done with a mix of QML, JavaScript and C++.

The rewrite will not happen overnight and we need your help. If you are interesting in discovering the Qt Quick technology while doing something useful, you can do the port of a GCompris activity.

Design

Translation

Translation guidance can be found in the How to guide.

The Drawing board

These are pages to hold the different discussion for things we are working on: