[GSOC] Welcoming our GSoC students

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[GSOC] Welcoming our GSoC students

Thomas Mortagne
Administrator
Hello community, Hello Google Summer of Code students,

First of all, congratulations on your applications and your activity during
the selection period, and welcome in the XWiki development team.

Before guiding the accepted students to their next steps, we'd like to
thank again all those who showed interest in XWiki for this Summer of Code.
We had a lot of good applications this year, with professional approaches
and interesting ideas, and it was very difficult to choose. Unfortunately,
some very good students, with great potential, were not accepted. So, to
those interested in getting involved anyway, without Google's implication,
I renew the invitation to put your ideas in practice under the guidance of
the community. Even though the money will be missing, you can still take
advantage of the other GSoC benefits: learning new things, gaining
experience, earning recognition, etc [1]. If you would like to do that,
please let us know by replying to this mail.

For the accepted students, here are some getting started hints:

= Community bonding period =

According to the program timeline [2], the next month (until - May 29th) is
to be used for community bonding.

The first thing to do, sometime this week, is to present yourself and your
project on the dev list, so that everyone knows who you are and
what to expect from you (a precondition is to be subscribed to the list,
which you *need to do ASAP* if you haven't already).

Also, you should continue getting acquainted with the code, the practices
and the developers. Please make sure you all read and understand the
following - very useful - documents:
- [3] http://dev.xwiki.org/xwiki/bin/view/Community/
- [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
- [5] http://platform.xwiki.org/xwiki/bin/view/Features/

= Mentorship =

We prefer open mentorship. While your assigned mentor is the one officially
in charge with your guidance, almost all interaction should be done 'in the
open' as much as possible, on the IRC channel or on the mailing list. You
should choose the communication medium according to the importance of the
matters to be discussed: naturally, the less important issues are to be
discussed on IRC, while the design decisions, important progress
announcements and testing/feedback requests go on the list. This way, the
community is informed on the evolution of your project, and other
developers can come up any time with useful ideas and suggestions.
Moreover, if your mentor is hit by a bus (the bus factor [6]), another
developer can take his place with little effort.

= Communication =

Sitting alone in your room, working secretly on your project is definitely
a bad approach. However, please keep in mind that too much communication
can also be harmful, as it distracts the others from their own work. You
need to be able to communicate just right:
- provide meaningful information about your progress,
- ask the community's opinion on non-trivial design or implementation
decisions
- avoid wasting a lot of time on a problem, when a more experienced
developer (or a student that fought the same problem) could quickly provide
you an answer; however, do try to find the answer yourself at first.

Wrong: "Where do I start? What do I do now? And how do I do that? Is this
good? It doesn't work, help me!"

Right: "Since a couple of hours ago I get a strange exception when building
my project, and googling for a solution doesn't seem to help. Looking at
the error, I think that there's a wrong setting for the assembly plugin,
but nothing I tried works. Can someone please take a look?"

Subscribe to the devs list (if you didn't do this already), and start
monitoring the discussions. It is also recommended to subscribe to the
users list, but not mandatory. The notifications list is a little too high
volume and technical for the moment, but it is a great knowledge
source.

= Development process =

The project's lifecycle is NOT design -> implementation -> testing ->
documentation. [7]

We invite you to adopt a test driven development [8][9][10] approach and to
experience agile development [11]. After the first coding week, you must
have some code that works. It won't do much, of course, but it will be the
seed of your project. Every functionality will be validated by tests. The
code must be properly tested and commented at the time of the writing
(don't think you'll do that afterwards, because in most cases you won't).

Since our code is hosted on GitHub [12], you should register an account
there and fork some xwiki repositories, so that you can try to build XWiki
from sources, and be able to contribute bugfixes. We'll add you to the
xwiki-contrib organization [13], and we'll create dedicated repositories
for each project. We encourage you to do __at least__ weekly commits
(ideally, if you are well organized, you should be able to commit code that
works daily, so try to aim at daily commits). This way, the code can be
properly reviewed, and any problems can be detected before they grow into
something too difficult to fix. One big code blob committed at the end, no
matter how good it may seem, is a failure at several levels.

A simple way of having something functional in the first week is to prepare
the maven build for your modules, which will give you the first unit test
for the first class.

= Next steps, in a nutshell =

- Get more familiar with the code and development process and try to master
Maven, JUnit, Selenium, component driven development, ...
- Continue fixing a few small issues, chosen so that they are __related to
your project__. You can ask on IRC for help selecting good issues, or you
can pick from the (non-comprehensive) list of easy issues [14]
-~- This will help you get more familiar with the code your project needs
to interact with.
- Refine and organize the ideas concerning your project (you can use the
Drafts space [15]), and write several use case scenarios.
- Start writing the first piece of code for your project.

At the end of the community bonding period, you should have a clear vision
of the project, well documented on the xwiki.org wiki, you should have the
build infrastructure ready, and you should be pretty familiar with the
existing code you will need to interact with. And, of course, you should be
familiar with the community and the way we communicate.

Good luck, and may we all have a great Summer of Code!

-The XWiki Development Team

----------
[1] http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
[2] https://summerofcode.withgoogle.com/dashboard/timeline/
[3] http://dev.xwiki.org/xwiki/bin/view/Community/
[4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
[5] http://platform.xwiki.org/xwiki/bin/view/Features/
[6] http://en.wikipedia.org/wiki/Bus_factor
[7] http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
[8] http://en.wikipedia.org/wiki/Test-driven_development
[9] http://www.amazon.com/dp/0321146530/
[10] http://www.amazon.com/dp/0201485672/
[11] http://www.amazon.com/dp/0596527675/
[12] https://github.com/xwiki/
[13] https://github.com/xwiki-contrib/
[14]
https://jira.xwiki.org/secure/IssueNavigator.jspa?mode=hide&requestId=10510
[15] http://dev.xwiki.org/xwiki/bin/view/Drafts/
Reply | Threaded
Open this post in threaded view
|

Re: [GSOC] Welcoming our GSoC students

Ecaterina Moraru (Valica)
Welcome to the community!

Thomas, do we also have a list with the students and ? Maybe it was
mentioned somewhere else, since on
http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/#HSelectedProjectsforGSoC201728029
it's not updated.

Thanks,
Caty

On Fri, May 5, 2017 at 11:13 AM, Thomas Mortagne <[hidden email]>
wrote:

> Hello community, Hello Google Summer of Code students,
>
> First of all, congratulations on your applications and your activity during
> the selection period, and welcome in the XWiki development team.
>
> Before guiding the accepted students to their next steps, we'd like to
> thank again all those who showed interest in XWiki for this Summer of Code.
> We had a lot of good applications this year, with professional approaches
> and interesting ideas, and it was very difficult to choose. Unfortunately,
> some very good students, with great potential, were not accepted. So, to
> those interested in getting involved anyway, without Google's implication,
> I renew the invitation to put your ideas in practice under the guidance of
> the community. Even though the money will be missing, you can still take
> advantage of the other GSoC benefits: learning new things, gaining
> experience, earning recognition, etc [1]. If you would like to do that,
> please let us know by replying to this mail.
>
> For the accepted students, here are some getting started hints:
>
> = Community bonding period =
>
> According to the program timeline [2], the next month (until - May 29th) is
> to be used for community bonding.
>
> The first thing to do, sometime this week, is to present yourself and your
> project on the dev list, so that everyone knows who you are and
> what to expect from you (a precondition is to be subscribed to the list,
> which you *need to do ASAP* if you haven't already).
>
> Also, you should continue getting acquainted with the code, the practices
> and the developers. Please make sure you all read and understand the
> following - very useful - documents:
> - [3] http://dev.xwiki.org/xwiki/bin/view/Community/
> - [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
> - [5] http://platform.xwiki.org/xwiki/bin/view/Features/
>
> = Mentorship =
>
> We prefer open mentorship. While your assigned mentor is the one officially
> in charge with your guidance, almost all interaction should be done 'in the
> open' as much as possible, on the IRC channel or on the mailing list. You
> should choose the communication medium according to the importance of the
> matters to be discussed: naturally, the less important issues are to be
> discussed on IRC, while the design decisions, important progress
> announcements and testing/feedback requests go on the list. This way, the
> community is informed on the evolution of your project, and other
> developers can come up any time with useful ideas and suggestions.
> Moreover, if your mentor is hit by a bus (the bus factor [6]), another
> developer can take his place with little effort.
>
> = Communication =
>
> Sitting alone in your room, working secretly on your project is definitely
> a bad approach. However, please keep in mind that too much communication
> can also be harmful, as it distracts the others from their own work. You
> need to be able to communicate just right:
> - provide meaningful information about your progress,
> - ask the community's opinion on non-trivial design or implementation
> decisions
> - avoid wasting a lot of time on a problem, when a more experienced
> developer (or a student that fought the same problem) could quickly provide
> you an answer; however, do try to find the answer yourself at first.
>
> Wrong: "Where do I start? What do I do now? And how do I do that? Is this
> good? It doesn't work, help me!"
>
> Right: "Since a couple of hours ago I get a strange exception when building
> my project, and googling for a solution doesn't seem to help. Looking at
> the error, I think that there's a wrong setting for the assembly plugin,
> but nothing I tried works. Can someone please take a look?"
>
> Subscribe to the devs list (if you didn't do this already), and start
> monitoring the discussions. It is also recommended to subscribe to the
> users list, but not mandatory. The notifications list is a little too high
> volume and technical for the moment, but it is a great knowledge
> source.
>
> = Development process =
>
> The project's lifecycle is NOT design -> implementation -> testing ->
> documentation. [7]
>
> We invite you to adopt a test driven development [8][9][10] approach and to
> experience agile development [11]. After the first coding week, you must
> have some code that works. It won't do much, of course, but it will be the
> seed of your project. Every functionality will be validated by tests. The
> code must be properly tested and commented at the time of the writing
> (don't think you'll do that afterwards, because in most cases you won't).
>
> Since our code is hosted on GitHub [12], you should register an account
> there and fork some xwiki repositories, so that you can try to build XWiki
> from sources, and be able to contribute bugfixes. We'll add you to the
> xwiki-contrib organization [13], and we'll create dedicated repositories
> for each project. We encourage you to do __at least__ weekly commits
> (ideally, if you are well organized, you should be able to commit code that
> works daily, so try to aim at daily commits). This way, the code can be
> properly reviewed, and any problems can be detected before they grow into
> something too difficult to fix. One big code blob committed at the end, no
> matter how good it may seem, is a failure at several levels.
>
> A simple way of having something functional in the first week is to prepare
> the maven build for your modules, which will give you the first unit test
> for the first class.
>
> = Next steps, in a nutshell =
>
> - Get more familiar with the code and development process and try to master
> Maven, JUnit, Selenium, component driven development, ...
> - Continue fixing a few small issues, chosen so that they are __related to
> your project__. You can ask on IRC for help selecting good issues, or you
> can pick from the (non-comprehensive) list of easy issues [14]
> -~- This will help you get more familiar with the code your project needs
> to interact with.
> - Refine and organize the ideas concerning your project (you can use the
> Drafts space [15]), and write several use case scenarios.
> - Start writing the first piece of code for your project.
>
> At the end of the community bonding period, you should have a clear vision
> of the project, well documented on the xwiki.org wiki, you should have the
> build infrastructure ready, and you should be pretty familiar with the
> existing code you will need to interact with. And, of course, you should be
> familiar with the community and the way we communicate.
>
> Good luck, and may we all have a great Summer of Code!
>
> -The XWiki Development Team
>
> ----------
> [1] http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
> [2] https://summerofcode.withgoogle.com/dashboard/timeline/
> [3] http://dev.xwiki.org/xwiki/bin/view/Community/
> [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
> [5] http://platform.xwiki.org/xwiki/bin/view/Features/
> [6] http://en.wikipedia.org/wiki/Bus_factor
> [7] http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
> [8] http://en.wikipedia.org/wiki/Test-driven_development
> [9] http://www.amazon.com/dp/0321146530/
> [10] http://www.amazon.com/dp/0201485672/
> [11] http://www.amazon.com/dp/0596527675/
> [12] https://github.com/xwiki/
> [13] https://github.com/xwiki-contrib/
> [14]
> https://jira.xwiki.org/secure/IssueNavigator.jspa?mode=hide&
> requestId=10510
> [15] http://dev.xwiki.org/xwiki/bin/view/Drafts/
>
Reply | Threaded
Open this post in threaded view
|

Re: [GSOC] Welcoming our GSoC students

Thomas Mortagne
Administrator
Done. You can see selected students on
http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/.

Would be nice if you could all register on xwiki.org so that we can
associate GSOC projects to actual user profiles (a good example is
Krzysztof on http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/Moreextensionrepositories2017).

On Fri, May 5, 2017 at 11:16 AM, Ecaterina Moraru (Valica)
<[hidden email]> wrote:

> Welcome to the community!
>
> Thomas, do we also have a list with the students and ? Maybe it was
> mentioned somewhere else, since on
> http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/#HSelectedProjectsforGSoC201728029
> it's not updated.
>
> Thanks,
> Caty
>
> On Fri, May 5, 2017 at 11:13 AM, Thomas Mortagne <[hidden email]>
> wrote:
>
>> Hello community, Hello Google Summer of Code students,
>>
>> First of all, congratulations on your applications and your activity during
>> the selection period, and welcome in the XWiki development team.
>>
>> Before guiding the accepted students to their next steps, we'd like to
>> thank again all those who showed interest in XWiki for this Summer of Code.
>> We had a lot of good applications this year, with professional approaches
>> and interesting ideas, and it was very difficult to choose. Unfortunately,
>> some very good students, with great potential, were not accepted. So, to
>> those interested in getting involved anyway, without Google's implication,
>> I renew the invitation to put your ideas in practice under the guidance of
>> the community. Even though the money will be missing, you can still take
>> advantage of the other GSoC benefits: learning new things, gaining
>> experience, earning recognition, etc [1]. If you would like to do that,
>> please let us know by replying to this mail.
>>
>> For the accepted students, here are some getting started hints:
>>
>> = Community bonding period =
>>
>> According to the program timeline [2], the next month (until - May 29th) is
>> to be used for community bonding.
>>
>> The first thing to do, sometime this week, is to present yourself and your
>> project on the dev list, so that everyone knows who you are and
>> what to expect from you (a precondition is to be subscribed to the list,
>> which you *need to do ASAP* if you haven't already).
>>
>> Also, you should continue getting acquainted with the code, the practices
>> and the developers. Please make sure you all read and understand the
>> following - very useful - documents:
>> - [3] http://dev.xwiki.org/xwiki/bin/view/Community/
>> - [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
>> - [5] http://platform.xwiki.org/xwiki/bin/view/Features/
>>
>> = Mentorship =
>>
>> We prefer open mentorship. While your assigned mentor is the one officially
>> in charge with your guidance, almost all interaction should be done 'in the
>> open' as much as possible, on the IRC channel or on the mailing list. You
>> should choose the communication medium according to the importance of the
>> matters to be discussed: naturally, the less important issues are to be
>> discussed on IRC, while the design decisions, important progress
>> announcements and testing/feedback requests go on the list. This way, the
>> community is informed on the evolution of your project, and other
>> developers can come up any time with useful ideas and suggestions.
>> Moreover, if your mentor is hit by a bus (the bus factor [6]), another
>> developer can take his place with little effort.
>>
>> = Communication =
>>
>> Sitting alone in your room, working secretly on your project is definitely
>> a bad approach. However, please keep in mind that too much communication
>> can also be harmful, as it distracts the others from their own work. You
>> need to be able to communicate just right:
>> - provide meaningful information about your progress,
>> - ask the community's opinion on non-trivial design or implementation
>> decisions
>> - avoid wasting a lot of time on a problem, when a more experienced
>> developer (or a student that fought the same problem) could quickly provide
>> you an answer; however, do try to find the answer yourself at first.
>>
>> Wrong: "Where do I start? What do I do now? And how do I do that? Is this
>> good? It doesn't work, help me!"
>>
>> Right: "Since a couple of hours ago I get a strange exception when building
>> my project, and googling for a solution doesn't seem to help. Looking at
>> the error, I think that there's a wrong setting for the assembly plugin,
>> but nothing I tried works. Can someone please take a look?"
>>
>> Subscribe to the devs list (if you didn't do this already), and start
>> monitoring the discussions. It is also recommended to subscribe to the
>> users list, but not mandatory. The notifications list is a little too high
>> volume and technical for the moment, but it is a great knowledge
>> source.
>>
>> = Development process =
>>
>> The project's lifecycle is NOT design -> implementation -> testing ->
>> documentation. [7]
>>
>> We invite you to adopt a test driven development [8][9][10] approach and to
>> experience agile development [11]. After the first coding week, you must
>> have some code that works. It won't do much, of course, but it will be the
>> seed of your project. Every functionality will be validated by tests. The
>> code must be properly tested and commented at the time of the writing
>> (don't think you'll do that afterwards, because in most cases you won't).
>>
>> Since our code is hosted on GitHub [12], you should register an account
>> there and fork some xwiki repositories, so that you can try to build XWiki
>> from sources, and be able to contribute bugfixes. We'll add you to the
>> xwiki-contrib organization [13], and we'll create dedicated repositories
>> for each project. We encourage you to do __at least__ weekly commits
>> (ideally, if you are well organized, you should be able to commit code that
>> works daily, so try to aim at daily commits). This way, the code can be
>> properly reviewed, and any problems can be detected before they grow into
>> something too difficult to fix. One big code blob committed at the end, no
>> matter how good it may seem, is a failure at several levels.
>>
>> A simple way of having something functional in the first week is to prepare
>> the maven build for your modules, which will give you the first unit test
>> for the first class.
>>
>> = Next steps, in a nutshell =
>>
>> - Get more familiar with the code and development process and try to master
>> Maven, JUnit, Selenium, component driven development, ...
>> - Continue fixing a few small issues, chosen so that they are __related to
>> your project__. You can ask on IRC for help selecting good issues, or you
>> can pick from the (non-comprehensive) list of easy issues [14]
>> -~- This will help you get more familiar with the code your project needs
>> to interact with.
>> - Refine and organize the ideas concerning your project (you can use the
>> Drafts space [15]), and write several use case scenarios.
>> - Start writing the first piece of code for your project.
>>
>> At the end of the community bonding period, you should have a clear vision
>> of the project, well documented on the xwiki.org wiki, you should have the
>> build infrastructure ready, and you should be pretty familiar with the
>> existing code you will need to interact with. And, of course, you should be
>> familiar with the community and the way we communicate.
>>
>> Good luck, and may we all have a great Summer of Code!
>>
>> -The XWiki Development Team
>>
>> ----------
>> [1] http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
>> [2] https://summerofcode.withgoogle.com/dashboard/timeline/
>> [3] http://dev.xwiki.org/xwiki/bin/view/Community/
>> [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
>> [5] http://platform.xwiki.org/xwiki/bin/view/Features/
>> [6] http://en.wikipedia.org/wiki/Bus_factor
>> [7] http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
>> [8] http://en.wikipedia.org/wiki/Test-driven_development
>> [9] http://www.amazon.com/dp/0321146530/
>> [10] http://www.amazon.com/dp/0201485672/
>> [11] http://www.amazon.com/dp/0596527675/
>> [12] https://github.com/xwiki/
>> [13] https://github.com/xwiki-contrib/
>> [14]
>> https://jira.xwiki.org/secure/IssueNavigator.jspa?mode=hide&
>> requestId=10510
>> [15] http://dev.xwiki.org/xwiki/bin/view/Drafts/
>>



--
Thomas Mortagne
Reply | Threaded
Open this post in threaded view
|

Re: [GSOC] Welcoming our GSoC students

Eduard Moraru
Congrats to the selected students and welcome to the XWiki community!

Hope to see you active and chatty, both on IRC and on the mailing lists.

Looking forward to your questions and contributions!

-Eduard

On Fri, May 5, 2017 at 12:28 PM, Thomas Mortagne <[hidden email]>
wrote:

> Done. You can see selected students on
> http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/.
>
> Would be nice if you could all register on xwiki.org so that we can
> associate GSOC projects to actual user profiles (a good example is
> Krzysztof on http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/
> Moreextensionrepositories2017).
>
> On Fri, May 5, 2017 at 11:16 AM, Ecaterina Moraru (Valica)
> <[hidden email]> wrote:
> > Welcome to the community!
> >
> > Thomas, do we also have a list with the students and ? Maybe it was
> > mentioned somewhere else, since on
> > http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/#
> HSelectedProjectsforGSoC201728029
> > it's not updated.
> >
> > Thanks,
> > Caty
> >
> > On Fri, May 5, 2017 at 11:13 AM, Thomas Mortagne <
> [hidden email]>
> > wrote:
> >
> >> Hello community, Hello Google Summer of Code students,
> >>
> >> First of all, congratulations on your applications and your activity
> during
> >> the selection period, and welcome in the XWiki development team.
> >>
> >> Before guiding the accepted students to their next steps, we'd like to
> >> thank again all those who showed interest in XWiki for this Summer of
> Code.
> >> We had a lot of good applications this year, with professional
> approaches
> >> and interesting ideas, and it was very difficult to choose.
> Unfortunately,
> >> some very good students, with great potential, were not accepted. So, to
> >> those interested in getting involved anyway, without Google's
> implication,
> >> I renew the invitation to put your ideas in practice under the guidance
> of
> >> the community. Even though the money will be missing, you can still take
> >> advantage of the other GSoC benefits: learning new things, gaining
> >> experience, earning recognition, etc [1]. If you would like to do that,
> >> please let us know by replying to this mail.
> >>
> >> For the accepted students, here are some getting started hints:
> >>
> >> = Community bonding period =
> >>
> >> According to the program timeline [2], the next month (until - May
> 29th) is
> >> to be used for community bonding.
> >>
> >> The first thing to do, sometime this week, is to present yourself and
> your
> >> project on the dev list, so that everyone knows who you are and
> >> what to expect from you (a precondition is to be subscribed to the list,
> >> which you *need to do ASAP* if you haven't already).
> >>
> >> Also, you should continue getting acquainted with the code, the
> practices
> >> and the developers. Please make sure you all read and understand the
> >> following - very useful - documents:
> >> - [3] http://dev.xwiki.org/xwiki/bin/view/Community/
> >> - [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
> >> - [5] http://platform.xwiki.org/xwiki/bin/view/Features/
> >>
> >> = Mentorship =
> >>
> >> We prefer open mentorship. While your assigned mentor is the one
> officially
> >> in charge with your guidance, almost all interaction should be done 'in
> the
> >> open' as much as possible, on the IRC channel or on the mailing list.
> You
> >> should choose the communication medium according to the importance of
> the
> >> matters to be discussed: naturally, the less important issues are to be
> >> discussed on IRC, while the design decisions, important progress
> >> announcements and testing/feedback requests go on the list. This way,
> the
> >> community is informed on the evolution of your project, and other
> >> developers can come up any time with useful ideas and suggestions.
> >> Moreover, if your mentor is hit by a bus (the bus factor [6]), another
> >> developer can take his place with little effort.
> >>
> >> = Communication =
> >>
> >> Sitting alone in your room, working secretly on your project is
> definitely
> >> a bad approach. However, please keep in mind that too much communication
> >> can also be harmful, as it distracts the others from their own work. You
> >> need to be able to communicate just right:
> >> - provide meaningful information about your progress,
> >> - ask the community's opinion on non-trivial design or implementation
> >> decisions
> >> - avoid wasting a lot of time on a problem, when a more experienced
> >> developer (or a student that fought the same problem) could quickly
> provide
> >> you an answer; however, do try to find the answer yourself at first.
> >>
> >> Wrong: "Where do I start? What do I do now? And how do I do that? Is
> this
> >> good? It doesn't work, help me!"
> >>
> >> Right: "Since a couple of hours ago I get a strange exception when
> building
> >> my project, and googling for a solution doesn't seem to help. Looking at
> >> the error, I think that there's a wrong setting for the assembly plugin,
> >> but nothing I tried works. Can someone please take a look?"
> >>
> >> Subscribe to the devs list (if you didn't do this already), and start
> >> monitoring the discussions. It is also recommended to subscribe to the
> >> users list, but not mandatory. The notifications list is a little too
> high
> >> volume and technical for the moment, but it is a great knowledge
> >> source.
> >>
> >> = Development process =
> >>
> >> The project's lifecycle is NOT design -> implementation -> testing ->
> >> documentation. [7]
> >>
> >> We invite you to adopt a test driven development [8][9][10] approach
> and to
> >> experience agile development [11]. After the first coding week, you must
> >> have some code that works. It won't do much, of course, but it will be
> the
> >> seed of your project. Every functionality will be validated by tests.
> The
> >> code must be properly tested and commented at the time of the writing
> >> (don't think you'll do that afterwards, because in most cases you
> won't).
> >>
> >> Since our code is hosted on GitHub [12], you should register an account
> >> there and fork some xwiki repositories, so that you can try to build
> XWiki
> >> from sources, and be able to contribute bugfixes. We'll add you to the
> >> xwiki-contrib organization [13], and we'll create dedicated repositories
> >> for each project. We encourage you to do __at least__ weekly commits
> >> (ideally, if you are well organized, you should be able to commit code
> that
> >> works daily, so try to aim at daily commits). This way, the code can be
> >> properly reviewed, and any problems can be detected before they grow
> into
> >> something too difficult to fix. One big code blob committed at the end,
> no
> >> matter how good it may seem, is a failure at several levels.
> >>
> >> A simple way of having something functional in the first week is to
> prepare
> >> the maven build for your modules, which will give you the first unit
> test
> >> for the first class.
> >>
> >> = Next steps, in a nutshell =
> >>
> >> - Get more familiar with the code and development process and try to
> master
> >> Maven, JUnit, Selenium, component driven development, ...
> >> - Continue fixing a few small issues, chosen so that they are __related
> to
> >> your project__. You can ask on IRC for help selecting good issues, or
> you
> >> can pick from the (non-comprehensive) list of easy issues [14]
> >> -~- This will help you get more familiar with the code your project
> needs
> >> to interact with.
> >> - Refine and organize the ideas concerning your project (you can use the
> >> Drafts space [15]), and write several use case scenarios.
> >> - Start writing the first piece of code for your project.
> >>
> >> At the end of the community bonding period, you should have a clear
> vision
> >> of the project, well documented on the xwiki.org wiki, you should have
> the
> >> build infrastructure ready, and you should be pretty familiar with the
> >> existing code you will need to interact with. And, of course, you
> should be
> >> familiar with the community and the way we communicate.
> >>
> >> Good luck, and may we all have a great Summer of Code!
> >>
> >> -The XWiki Development Team
> >>
> >> ----------
> >> [1] http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
> >> [2] https://summerofcode.withgoogle.com/dashboard/timeline/
> >> [3] http://dev.xwiki.org/xwiki/bin/view/Community/
> >> [4] http://platform.xwiki.org/xwiki/bin/view/DevGuide/
> >> [5] http://platform.xwiki.org/xwiki/bin/view/Features/
> >> [6] http://en.wikipedia.org/wiki/Bus_factor
> >> [7] http://www.catb.org/~esr/writings/cathedral-bazaar/
> cathedral-bazaar/
> >> [8] http://en.wikipedia.org/wiki/Test-driven_development
> >> [9] http://www.amazon.com/dp/0321146530/
> >> [10] http://www.amazon.com/dp/0201485672/
> >> [11] http://www.amazon.com/dp/0596527675/
> >> [12] https://github.com/xwiki/
> >> [13] https://github.com/xwiki-contrib/
> >> [14]
> >> https://jira.xwiki.org/secure/IssueNavigator.jspa?mode=hide&
> >> requestId=10510
> >> [15] http://dev.xwiki.org/xwiki/bin/view/Drafts/
> >>
>
>
>
> --
> Thomas Mortagne
>