Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
5 {{error}}
6 **Unfortunately, XWiki will not take part in [[Google Summer of Code 2010>>]] as a mentoring organization. However, if you like one of the projects proposed on this page and you would like to contribute, don't hesitate to contact us on the [[mailing list>>Community.MailingLists]] or the [[IRC channel>>Community.IRC]].**
7 {{/error}}
9 {{velocity output="false"}}
10 #*
11 [[Google Summer of Code 2010 is on>>]]! XWiki applied again as a mentoring organization. Note that there is **no guarantee** yet that XWiki will be accepted or that it will take part in the program. Google will announce the list of accepted mentoring organizations on March 18.
12 *#
13 {{/velocity}}
15 This page hosts information and project ideas for the Google Summer of Code 2010. Students can come up with their own ideas, and propose them on the [[mailing list>>Community.MailingLists]] or the [[IRC channel>>Community.IRC]].
17 {{info}}
18 The XWiki GSoC 2009 page is over **[[here>>GoogleSummerOfCode2009]]**.
19 The XWiki GSoC 2008 page is over **[[here>>GoogleSummerOfCode2008]]**.
20 The XWiki GSoC 2007 page is over **[[here>>GoogleSummerOfCode2007]]**.
21 {{/info}}
23 {{velocity output="false"}}
24 #set ($sql = ", BaseObject obj, StringProperty year, StringProperty status where and obj.className='GoogleSummerOfCode.ProjectClass' and<>'ProjectClassTemplate' and = and = 'year' and year.value = '2010' and = and = 'status' and status.value='proposed' order by")
25 #set ($projects= $xwiki.searchDocuments($sql))
27 #macro (displayProject $project $item $student)
28 (% style="border: 1px dotted #CCC; margin: 10px auto; padding: 4px 8px;" %)(((
29 #if ($student != "")
30 == [[$project.display("name")>>$item]] by $student ==
31 #else
32 == [[$project.display("name")>>$item]] ==
33 #end
34 (% class="projectdesc" %)(((
35 $project.details
36 (% class="clearfloats" %)((()))
37 )))
38 (% style="font-size: 80%; color: #888;" %)(((
39 #if("$!project.leader" != '')//Coordinated by// **$project.leader**.#end #if("$!project.workload" != "")//Estimated workload//: **$project.workload**.#end [[Read more...>>$item]]
40 )))
41 )))
42 #end
43 {{/velocity}}
45 = Suggested way of working for GSoC students =
47 {{error}}
48 Important Dates (timeline):
49 {{/error}}
51 First and foremost, working on XWiki needs to be fun and a good learning process! However the XWiki project is already following some development rules that we're asking GSoC students to follow too. This is for the good of the XWiki project but more importantly it's a good way to learn how an open source community works and if these practices are followed then it'll be much easier to integrate the resulting work into XWiki's official releases.
53 So here are some practices we'd like GSoC students to follow (please comment on the list if you'd like to change some of them or propose other things):
55 * GSoC students should be considered like any XWiki contributor which means they should respect the same rules and which means they are not committers on XWiki core. Note that a GSoC student can become a Committer in the [[same manner a contributor can become one>>Community.Committership]].
56 * GSoC students will be given commit access to the sandbox only where they'll create their project (one top level directory for each project). For projects which need to modify some existing code, JIRA issues will need to be created and patches attached. It's important that patches be of good quality and small in order to be applied quickly. Once sandbox projects reach a good level of maturity (meaning they work and the code is of code quality, documented, etc) then we'd like to migrate them to the main release tree.
57 * GSoC students should obey all [[Community rules>>Community.WebHome]]. For example this means:
58 ** using the XWiki coding conventions
59 ** using the defined communication channels: IRC and mailing list
60 ** etc
61 * **GSoC students have time allocated to familiarize with XWiki development process. As such we'd like each GSoC student to pick one or several existing issues in JIRA and send a patch that fixes it/them before that period ends (from April 26th to May 24th)** This is a critical integration step to ensure all GSoC students understand how XWiki works and it's a chance to start asking questions and get to know each other.
62 * GSoC student should post a quick introduction on the xwiki dev mailing list to explain who they are and what they're going to work on.
63 * GSoC student should always go to the list when communicating about their project. They should not talk directly to their mentors. They should use the XWiki IRC channel if they need to talk to them. The goal is that everyone in the XWiki community help them, answer their questions but also know what they are doing. This will make patch applications and integration of their work back into XWiki trunk easier later on. This is very important and a criteria of success for the student. This is about learning how open source works... Note that student can also CC their mentor's email address if they want but the mails have to go to the XWiki dev list.
64 * GSoC students should not block on anything for a long period of time. They should ask plenty of questions on the list (but they should also be autonomous!)
65 * GSoC students should be as much as possible in contact with the community, following the mailing lists (and answering mails, when they know what to say), stay on the IRC channel, give regular status updates on their project. This does not mean that a GSoC student is not allowed to take a break, of course, but that while working a student should be integrated as much as possible with the community.
66 * When taking a vacation/break, notify the mentor; a mysterious disappearance could lead to a negative feedback afterwards.
68 Remember that this is not a summer job, or a Rent-a-coder like project, but a rewarded successful integration in an free software/open source community. If all you are interested in is the money, then better look for a real job, as Free Software requires passionate people; an ideal candidate is more interested in the t-shirt.
70 Good generic advises:
72 *
73 *
75 = Conditions for success =
77 Students will need to meet these criteria for success:
79 1. Must have something that works and is in some finished state.
80 1. Must be integrated or close to be integrated in xwiki without too much effort
81 1. Must have interacted correctly and continuously with the community
82 1. The work must have been enough (it's supposed to be a 2 men/month effort)
84 Note that the real important part is 3) since this is a criteria for success for 1), 2) and 4).
86 = Student Application template =
88 Please use [[this template>>GoogleSummerOfCode.student application form]] as the basis for your student application which must be submitted to google.
90 {{velocity}}
91 #*
92 ##1.1 Selected Projects for GSoC 2010
94 #foreach ($item in $projects)
95 #set($project = $xwiki.getDocument($item))
96 $project.use("GoogleSummerOfCode.ProjectClass")
97 #if ($ == "Yes")
98 #displayProject($project $item "")
99 #end
100 #end
101 *#
102 {{/velocity}}
104 = Proposed Projects ({{velocity}}$projects.size(){{/velocity}}) =
106 {{error}}
107 As of now, we're still in a brainstorming phase and the projects proposed below are just wild ideas at this stage. We encourage everyone to propose ideas. Then we'll have a community vote later on to decide which ones we are interested in for GSoC 2010. Students will then be able to pick from these selected projects, discuss them with us or even propose other subjects. We also recommend students interested in joining XWiki for GSoC 2010 to manifest themselves as early as possible so that we can start working with them on this project list.
108 {{/error}}
110 {{velocity}}
111 #foreach ($item in $projects)
112 #set($project = $xwiki.getDocument($item))
113 $project.use("GoogleSummerOfCode.ProjectClass")##
114 * {{html}}<a href="#H$util.encodeURI("${project.display('name').replaceAll('[^a-zA-Z0-9]', '')}").replaceAll('[^a-zA-Z0-9]', '')">$project.display('name')</a>{{/html}}
115 #end
116 #if($hasEdit)
118 {{html}}
119 <form action="" id="newproject">
120 <input type="hidden" name="parent" value="GoogleSummerOfCode.WebHome" />
121 <input type="hidden" name="template" value="GoogleSummerOfCode.ProjectClassTemplate" />
122 <input type="hidden" name="sheet" value="1" />
123 <input type="hidden" name="webname" value="GoogleSummerOfCode"/>
124 <input type="hidden" name="name" value=""/>
125 <div>
126 <input type="text" name="project" value="" size="30"/>
127 <span class="buttonwrapper"><input class="button" type="submit" value="Add this Project" onclick='if (updateName(this.form.project, { action="../../inline/" + this.form.webname.value + "/" +; this.form.submit(); }' /></div>
128 </div>
129 </form>
130 {{/html}}
132 #end
134 #foreach ($item in $projects)
135 #set($project = $xwiki.getDocument($item))
136 $project.use("GoogleSummerOfCode.ProjectClass")
137 #displayProject($project $item "")
138 #end
139 {{/velocity}}

Get Connected