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 <thomas.mortagne(a)xwiki.com>
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)
<valicac(a)gmail.com> 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 <
thomas.mortagne(a)xwiki.com>
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
cathedral-bazaar/
--
Thomas Mortagne