Version at: 28/02/2016, 19:24 vs. version at: 10/04/2016, 14:48
1# Guide for new Tatoeba developers
2
3Somehow you've stumbled upon Tatoeba, somehow you've found the project interesting, and somehow you decided to help us maintain and improve Tatoeba... but you're not sure exactly how to get started. This page is here to guide you in your first steps.
4
5## Get in touch with us
6
7The first thing you need to do is to contact us and let us know about you. There are 2 main ways to get in touch with us:
8
9- **Google group**: you should use in priority the [Google group](https://groups.google.com/forum/#!forum/tatoebaproject) to announce that you'd like to join the dev team. Note that the Google group is public and anyone on the Internet can see your post.
10- **Email:** team@tatoeba.org (if you are too shy to post in the Google group).
11
12Required:
13
14- We will need to know your **Github username**.
15
16(Optional) We would appreciate if you tell us a bit about yourself:
17
18- Where are you from? Which languages do yo speak?
19- How much experience you have in programming/web development? Don't worry, you don't need to be an expert or anything.
20- How did you discover Tatoeba and what is your username on Tatoeba (if you have an account)?
21- Is there something specific you'd like to work on?
22
23
24
25## Github
26
27Our source code is hosted on [Github](https://github.com/Tatoeba/tatoeba2) so you'll need to create an account there, if you don't already have one.
28If you are new to Git and/or Github, you'll have to spend a bit of time to learn about it. You'll especially need to understand how to submit a pull request. **Please read [our guidelines][1].**
29
30On Github, take a look at our [issues](https://github.com/Tatoeba/tatoeba2/issues) and see if there's any problem listed in there that you'd like to try and solve.
31Our issues are not perfectly categorized, but you can check the ones that are labeled [effort:low](https://github.com/Tatoeba/tatoeba2/labels/effort%3Alow) to get started.
32
33## Install Tatoeba and explore the code
34
35Before you start any task, you will need to install Tatoeba on your machine so that you can test your code before you send it to us.
36
37The instructions to install Tatoeba can be found in the [README](https://github.com/Tatoeba/tatoeba2#tatoeba) of the Github repository.
38
39If you have any trouble installing and running Tatoeba locally, do not hesitate to ask for help in the Google group or on IRC (server: freenode, channel: #tatoeba).
40
41You should then explore the code. In order to not get lost in the code, you will need to learn about [CakePHP](http://cakephp.org/). We currently use version **1.3**.
42Note: Tatoeba's code is located in the `app` folder. You don't really need to look at the other folders.
43
44
45## Team invitation
46
47You will receive an invitation to join one of our teams on GitHub. That's why we need your GitHub username.
48
49At the beginning, you will only have **read access** to the repository. It means that you cannot push code directly to it, and must open a pull request in order to send a patch.
50So again, if you are new to Github, please take the time to search and read about [pull requests][1] and about keeping your fork repository in sync with Tatoeba's repository. You will need to know about these things because you will be sending us code only via pull request for your first tasks.
51
52Later on, if you are motivated to continue in the long term with us, we will move you into another team where you will have **write access** to the repo and won't necessarily have to open pull requests anymore (for small issues at least).
53
54
55## Your first tasks and pull requests
56
57If you managed to find an issue you want to work on, you can start right away. Just let us know that you want to work on that issue by posting a comment saying "I would like to work on this issue". Don't hesitate to ask questions if the issue does not have enough information.
58
59You don't have to wait to be invited to our team and you don't have to wait for a confirmation from us before you start working on an issue. Just post your comment and start working in it.
60
61If you haven't found any issue you could work on, somebody (most likely [Trang](https://github.com/trang)) will try to find for you an issue that should be easy enough to get started.
62
63
64
65
66## Our workflow
67
68### Website updates
69
70We currently update Tatoeba more or less twice a month.
71
72There is a [milestone](https://github.com/Tatoeba/tatoeba2/milestones) created for each update. If you've sent us a pull request and are wondering when your code will be integrated and deployed into production, you can simply check if your issue is added to one of the milestones.
73
74You can check the [closed milestones](https://github.com/Tatoeba/tatoeba2/milestones?state=closed) to get an idea of what has been released in the past updates.
75
76### Dev website
77
78We have a [dev website](http://dev.tatoeba.org) where our users can test some of our code before we release the code on the real (production) website.
79
80When we introduce changes, we will most of the time release it on the dev website first. We then ask our users to test and give feedback. We fix stuff or improve stuff based on the feedback. And then we release on the production website.
81
82If you'd like to explore the features of Tatoeba without being afraid of polluting the database of the production website, feel free to use the dev website.
83
84## Thanks for your interest and happy coding
85
86That's pretty much all you need to know to get started. If there's anything that is not clear or if there's anything important to know for new developers that we didn't mention, don't hesitate to let us know.
87
88
89[1]: https://github.com/Tatoeba/tatoeba2/wiki/Guidelines-for-submitting-pull-requests
1This article has been moved to [https://github.com/Tatoeba/tatoeba2/wiki/Joining-the-dev-team](https://github.com/Tatoeba/tatoeba2/wiki/Joining-the-dev-team)
diff view generated by jsdifflib

Version at: 28/02/2016, 19:24

# Guide for new Tatoeba developers

Somehow you've stumbled upon Tatoeba, somehow you've found the project interesting, and somehow you decided to help us maintain and improve Tatoeba... but you're not sure exactly how to get started. This page is here to guide you in your first steps.

## Get in touch with us

The first thing you need to do is to contact us and let us know about you. There are 2 main ways to get in touch with us:

- **Google group**: you should use in priority the [Google group](https://groups.google.com/forum/#!forum/tatoebaproject) to announce that you'd like to join the dev team. Note that the Google group is public and anyone on the Internet can see your post.
- **Email:** team@tatoeba.org (if you are too shy to post in the Google group).

Required:

- We will need to know your **Github username**.

(Optional) We would appreciate if you tell us a bit about yourself:

- Where are you from? Which languages do yo speak?
- How much experience you have in programming/web development? Don't worry, you don't need to be an expert or anything.
- How did you discover Tatoeba and what is your username on Tatoeba (if you have an account)?
- Is there something specific you'd like to work on?



## Github

Our source code is hosted on [Github](https://github.com/Tatoeba/tatoeba2) so you'll need to create an account there, if you don't already have one. 
If you are new to Git and/or Github, you'll have to spend a bit of time to learn about it. You'll especially need to understand how to submit a pull request. **Please read [our guidelines][1].**

On Github, take a look at our [issues](https://github.com/Tatoeba/tatoeba2/issues) and see if there's any problem listed in there that you'd like to try and solve.
Our issues are not perfectly categorized, but you can check the ones that are labeled [effort:low](https://github.com/Tatoeba/tatoeba2/labels/effort%3Alow) to get started.

## Install Tatoeba and explore the code

Before you start any task, you will need to install Tatoeba on your machine so that you can test your code before you send it to us.

The instructions to install Tatoeba can be found in the [README](https://github.com/Tatoeba/tatoeba2#tatoeba) of the Github repository.

If you have any trouble installing and running Tatoeba locally, do not hesitate to ask for help in the Google group or on IRC (server: freenode, channel: #tatoeba).

You should then explore the code. In order to not get lost in the code, you will need to learn about [CakePHP](http://cakephp.org/). We currently use version **1.3**.
Note: Tatoeba's code is located in the `app` folder. You don't really need to look at the other folders.


## Team invitation

You will receive an invitation to join one of our teams on GitHub. That's why we need your GitHub username.

At the beginning, you will only have **read access** to the repository. It means that you cannot push code directly to it, and must open a pull request in order to send a patch.
So again, if you are new to Github, please take the time to search and read about [pull requests][1] and about keeping your fork repository in sync with Tatoeba's repository. You will need to know about these things because you will be sending us code only via pull request for your first tasks.

Later on, if you are motivated to continue in the long term with us, we will move you into another team where you will have **write access** to the repo and won't necessarily have to open pull requests anymore (for small issues at least).


## Your first tasks and pull requests

If you managed to find an issue you want to work on, you can start right away. Just let us know that you want to work on that issue by posting a comment saying "I would like to work on this issue". Don't hesitate to ask questions if the issue does not have enough information.

You don't have to wait to be invited to our team and you don't have to wait for a confirmation from us before you start working on an issue. Just post your comment and start working in it.

If you haven't found any issue you could work on, somebody (most likely [Trang](https://github.com/trang)) will try to find for you an issue that should be easy enough to get started.




## Our workflow

### Website updates

We currently update Tatoeba more or less twice a month.

There is a [milestone](https://github.com/Tatoeba/tatoeba2/milestones) created for each update. If you've sent us a pull request and are wondering when your code will be integrated and deployed into production, you can simply check if your issue is added to one of the milestones.

You can check the [closed milestones](https://github.com/Tatoeba/tatoeba2/milestones?state=closed) to get an idea of what has been released in the past updates.

### Dev website

We have a [dev website](http://dev.tatoeba.org) where our users can test some of our code before we release the code on the real (production) website.

When we introduce changes, we will most of the time release it on the dev website first. We then ask our users to test and give feedback. We fix stuff or improve stuff based on the feedback. And then we release on the production website.

If you'd like to explore the features of Tatoeba without being afraid of polluting the database of the production website, feel free to use the dev website.

## Thanks for your interest and happy coding

That's pretty much all you need to know to get started. If there's anything that is not clear or if there's anything important to know for new developers that we didn't mention, don't hesitate to let us know.


[1]: https://github.com/Tatoeba/tatoeba2/wiki/Guidelines-for-submitting-pull-requests

version at: 10/04/2016, 14:48

This article has been moved to [https://github.com/Tatoeba/tatoeba2/wiki/Joining-the-dev-team](https://github.com/Tatoeba/tatoeba2/wiki/Joining-the-dev-team)

Note

The lines in green are the lines that have been added in the new version. The lines in red are those that have been removed.