Last modified by Thomas Mortagne on 2017/03/24 12:15

Show last authors
1 {{velocity output="false"}}
2 #set ($sql = ", BaseObject obj, StringProperty year where and obj.className='GoogleSummerOfCode.ProjectClass' and<>'ProjectClassTemplate' and = and = 'year' and year.value = '2012' order by")
3 #set ($projects= $xwiki.searchDocuments($sql))
5 #set ($selectedProjectDocuments = [])
6 #set ($selectedStudents = [])
7 #foreach ($item in $projects)
8 #set ($projectDocument = $xwiki.getDocument($item))
9 #set ($projectObject = $projectDocument.getObject('GoogleSummerOfCode.ProjectClass'))
10 #set ($projectStatusValue = $projectObject.getProperty('status').value)
11 #if ("$!projectStatusValue" != '' && $projectStatusValue != 'proposed')
12 #set ($projectStudent = $projectObject.getProperty('assignee').value)
13 #set ($discard = $selectedProjectDocuments.add($projectDocument))
14 #set ($discard = $selectedStudents.add($projectStudent))
15 #end
16 #end
18 #macro (displayProject $project $item $student)
19 #set ($discard = $project.use('GoogleSummerOfCode.ProjectClass'))
20 (% style="border: 1px dotted #CCC; margin: 0 auto 10px; padding: 0 8px 4px;" %)(((
21 #if ($student != "")
22 (% style="margin-top: 0; padding-top: 22px" %)
23 == [[$project.displayTitle>>$item]] by $student ==
24 #else
25 (% style="margin-top: 0; padding-top: 22px" %)
26 == [[$project.displayTitle>>$item]] ==
27 #end
28 (% class="projectdesc" %)(((
29 $project.details
30 (% class="clearfloats" %)((()))
31 )))
32 (% style="font-size: 80%; color: #888;" %)(((
33 #if("$!project.leader" != '')//Coordinated by// **$project.leader**.#end #if("$!project.workload" != "")//Estimated workload//: **$project.workload**.#end [[Read more...>>$item]]
34 )))
35 )))
36 #end
37 {{/velocity}}
39 {{box cssClass="floatinginfobox" title="**Contents**"}}
40 {{toc/}}
41 {{/box}}
43 {{info}}
44 **XWiki has been accepted as a mentoring organization for [[Google Summer of Code 2012>>]]**.
45 {{/info}}
47 This page hosts information and project ideas for the Google Summer of Code 2012. Students can come up with their own ideas, and propose them on the [[mailing list>>Community.MailingLists]] or the [[IRC channel>>Community.IRC]].
49 = Suggested way of working for GSoC students =
51 {{error}}
52 Important Dates (timeline): {{velocity}}${datetool.year}{{/velocity}}
53 {{/error}}
55 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. Also, if these practices are followed, it'll be much easier to integrate the resulting work into XWiki's official releases.
57 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):
59 * GSoC students should be considered like any XWiki contributor which means they should respect the same rules and that 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]].
60 * 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 or pull requests to be 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.
61 * GSoC students should obey all [[Community rules>>Community.WebHome]]. For example this means:
62 ** using the XWiki coding conventions
63 ** using the defined communication channels: IRC and mailing list
64 ** etc
65 * **GSoC students have time allocated to familiarize with the XWiki development process. As such we'd like each GSoC student to pick one or several existing issues in JIRA and send a patch or pull request that fixes it/them before that period ends (from April 23th to May 21st)** 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.
66 * 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.
67 * GSoC students must periodically [[update their progress report>>DocumentingStudentProgress]] for the project they have been assigned to.
68 * GSoC students should create a [[Design page>>Design.WebHome]] where they document technical aspects of the feature they are working on: architecture, use cases, problems, various solutions with pros and cons, etc. This page should be written as an XWiki community member and not a GSoC student (there is the [[progress report>>DocumentingStudentProgress]] for that), ensuring that the page will remain relevant even after the GSoC period end.
69 * 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 helps them, answers their questions but also knows what they are doing. This will make the integration of their work back into XWiki 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.
70 * 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!)
71 * 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.
72 * When taking a vacation/break, students have to notify the mentor; a mysterious disappearance could lead to a negative feedback afterwards.
74 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.
76 Good generic advises:
78 *
79 *
81 = Conditions for success =
83 Students will need to meet these criteria for success:
85 1. Must have something that works and is in some finished state.
86 1. Must be integrated or close to be integrated in XWiki without too much effort
87 1. Must have interacted correctly and continuously with the community
88 1. The work must have been enough (it's supposed to be a 2 men/month effort)
90 Note that the real important part is 3) since this is a criteria for success for 1), 2) and 4).
92 = Student Application template =
94 Please use [[this template>>GoogleSummerOfCode.student application form]] as the basis for your student application which must be submitted to Google.
96 {{comment}}The velocity code below (for displaying selected projects) should be commented on next year's GSoC and un-commented only after the projects selection period finishes.{{/comment}}
97 {{velocity}}= Selected Projects for GSoC 2012 ($selectedProjectDocuments.size()) =
99 The projects below, out of all the proposed projects, have been selected to participate in GSoC 2012.
101 #foreach ($selectedProjectDocument in $selectedProjectDocuments)
102 #set ($studentIndex = $foreach.count-1)
103 #displayProject($selectedProjectDocument $selectedProjectDocument.fullName "$!selectedStudents.get($mathtool.sub($foreach.count, 1))")
104 #end{{/velocity}}
106 (((
108 = Proposed Projects ({{velocity}}$projects.size(){{/velocity}}) =
110 {{comment}}
111 The message bellow should be uncommented next year, before the students are selected and re-commented after that.
112 {{error}}
113 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 or even to revive old ideas from the previous years. Then we'll have a community vote later on to decide which ones we are interested in for GSoC 2012. 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 2012 to manifest themselves as early as possible so that we can start working with them on this project list.
114 {{/error}}
115 {{/comment}}
117 {{velocity}}
118 #foreach ($item in $projects)
119 #set($project = $xwiki.getDocument($item))
120 $project.use("GoogleSummerOfCode.ProjectClass")##
121 * {{html}}<a href="#H$util.encodeURI("${project.displayTitle.replaceAll('[^a-zA-Z0-9]', '')}").replaceAll('[^a-zA-Z0-9]', '')">$project.displayTitle</a>{{/html}}
122 #end
123 #if($hasEdit)
125 {{html}}
126 <form action="$xwiki.getDocument("${}.CreateProject").getURL()" id="newproject">
127 <div>
128 <input type="hidden" name="parent" value="$doc.fullName" />
129 <input type="hidden" name="classname" value="GoogleSummerOfCode.ProjectClass" />
130 <input type="hidden" name="template" value="GoogleSummerOfCode.ProjectClassTemplate" />
131 <input type="hidden" name="space" value="$"/>
132 <input type="hidden" name="xaction" value="create"/>
133 <input type="text" name="page" value="" size="30"/>
134 <input type="hidden" name="year" value="2012" size="30"/>
135 <span class="buttonwrapper"><input class="button" type="submit" value="Add this Project"/></span>
136 </div>
137 </form>
138 {{/html}}
140 #end
142 #foreach ($item in $projects)
143 #set($project = $xwiki.getDocument($item))
144 $project.use("GoogleSummerOfCode.ProjectClass")
145 #displayProject($project $item "")
146 #end
147 {{/velocity}}
149 = Previous GSoC editions =
151 * [[The XWiki GSoC 2011 page>>GoogleSummerOfCode2011]]
152 * [[The page XWiki prepared for GSoC 2010>>GoogleSummerOfCode2010]] (XWiki was not selected for GSoC 2010)
153 * [[The XWiki GSoC 2009 page>>GoogleSummerOfCode2009]]
154 * [[The XWiki GSoC 2008 page>>GoogleSummerOfCode2008]]
155 * [[The XWiki GSoC 2007 page>>GoogleSummerOfCode2007]]

Get Connected