Skip to content

A Guide to Join the eXe Project As a Developer

Antonio Monje edited this page Feb 26, 2016 · 1 revision

v2, created 2014-02-20 / 2014-03-15.

Table of Contents

The eXeLearning.net project is undergoing a reniassance becoming more successful, more internationalized and attracting developers from outside the Spanish speaking circle who did the majority of development recently. There are various meaningful ways to get involved with exeLearning.net (translation, documentation, evangelism, beta testing) - but these guidelines are for those who would like to get involved as a developer.

Whose project is this anyway?

1. This is a free software project programmed mostly in Python and Javascript with some development done directly in XHTML and CSS. All software included must be compliant with the GPLv2 and later license.

2. This is an international project and English is used for developer communication, UI messages and comments in the source code. This does not exclude those who are uncomfortable using English. Other languages can of course be used for comments, but it would be appreciated if you add a translation of your comments (even if using an automated translation system such as Google translate).

3. If you are interested in collaborating on the project - please get in contact! You can contact us by:

Sending twitter messages to the official accounts (@exelearning English, @exelearning_sp Spanish)

Posting on the eXeLearning Forums.

Visiting the Forge website and signing up to the mailing list

We look forward to hearing from you and cooperating with you on the project!

How do I join as a developer?

4.- All new developers will have to subscribe to the developers' mailing list. After subscription the new member should introduce himself/herself on the list, write about his/her skills and choose the group (see point 7) he/she wishes to join.

5.- Our development is shared in a Git repository at the Cenatic's Forge. So, to be able to commit to the project, developers must register at the Forge (https://forja.cenatic.es/account/register.php). After this first step please ask to join the http://forja.cenatic.es/project/request.php?group_id=197 iteexe project.

6.- All communications between developers will take place on the developers’ mailing lists or through messages posted at the Forge's sections Tasks, Bugs and Feature Requests. Other communication channels are for communication with our users rather than for communication amongst developers.

7.- The work of developing eXe is divided into four different working areas, each of them with its own group coordinator:

  • Translations and internationalization (Juan Rafael Fernández)
  • New functionalities (Antonio Monje)
  • Interface (Ignacio Gros)
  • Python programming (Pedro Peña)

How to make a request or proposal for new development work

8.- The roadmap is the reference for all new development work to be undertaken. The current version is at:

https://docs.google.com/document/d/15hsiO1b85Wi5joTwThhx0O550QjV-_TQtQaMOkesNEM/edit?usp=sharing.

Any additional ideas or needs will be discussed at the developers' list.

9.- Any proposals for future development should be posted as a Feature Requests (FR). The FR will include information about the resources needed; work group and developers to be involved.

10.-. After creating the FR a corresponding Task will be created on the Forge. All the developers involved in the new development work will be subscribed to this Task. The discussions will be carried out under the Task space, and the final results of the development will be included as documentation at the FR.

New development will be merged into the git master branch if and only if they have got a related task and a properly documented FR.

11.- Each development will have its own independent branch to avoid conflicts with the other development work ongoing. After the development had been validated by the working group, the coordinator will propose incorporating it into the master branch. It’s important that the branches are synchronized up to date with master when making the validity tests.