Wiki source code of XWiki @ Google Summer of Code 2019
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity output="false"}} | ||
2 | #set ($gsocYear = "2019") | ||
3 | #set ($sql = ", BaseObject obj, StringProperty year where obj.name=doc.fullName and obj.className='GoogleSummerOfCode.ProjectClass' and doc.name<>'ProjectClassTemplate' and year.id.id = obj.id and year.id.name = 'year' and year.value = '${gsocYear}' order by doc.creationDate") | ||
4 | #set ($projects= $xwiki.searchDocuments($sql)) | ||
5 | |||
6 | #set ($selectedProjectDocuments = []) | ||
7 | #set ($selectedStudents = []) | ||
8 | #set ($availableMentorsMap = {}) | ||
9 | #foreach ($item in $projects) | ||
10 | #set ($projectDocument = $xwiki.getDocument($item)) | ||
11 | #set ($projectObject = $projectDocument.getObject('GoogleSummerOfCode.ProjectClass')) | ||
12 | #set ($projectStatusValue = $projectObject.getProperty('status').value) | ||
13 | #if ("$!projectStatusValue" != '' && $projectStatusValue != 'proposed') | ||
14 | #set ($projectStudent = $projectObject.getProperty('assignee').value) | ||
15 | #set ($discard = $selectedProjectDocuments.add($projectDocument)) | ||
16 | #set ($discard = $selectedStudents.add($projectStudent)) | ||
17 | #end | ||
18 | #set ($projectMentors = $projectObject.getValue('leader').split(',')) | ||
19 | #foreach ($projectMentor in $projectMentors) | ||
20 | ## Store it like this so that we can sort by the reference lowercase (poor man's ignore case sorting). | ||
21 | #set ($discard = $availableMentorsMap.put($projectMentor.trim().toLowerCase(), $projectMentor.trim())) | ||
22 | #end | ||
23 | #end | ||
24 | |||
25 | #macro (displayProject $project $item $student) | ||
26 | #set ($discard = $project.use('GoogleSummerOfCode.ProjectClass')) | ||
27 | (% style="border: 1px dotted #CCC; margin: 0 auto 10px; padding: 0 8px 4px;" %)((( | ||
28 | (% style="margin-top: 0; padding-top: 22px" %) | ||
29 | == [[$project.displayTitle>>$item]] #if ("$!student" != '')by ${xwiki.getUserName($student, false)}#end == | ||
30 | (% class="projectdesc" %)((( | ||
31 | $project.details | ||
32 | (% class="clearfloats" %)((())) | ||
33 | ))) | ||
34 | (% style="font-size: 80%; color: #888;" %)((( | ||
35 | #if ("$!project.getValue('leader')" != '') | ||
36 | //Coordinated by// $project.display('leader', 'view') | ||
37 | #end | ||
38 | #if ("$!project.getValue('assignee')" != '') | ||
39 | //Student// $project.display('assignee', 'view') | ||
40 | #end | ||
41 | #if ("$!project.getValue('workload')" != "") | ||
42 | //Estimated workload//: **$project.display('workload', 'view')**. | ||
43 | #end | ||
44 | [[Read more...>>$item]] | ||
45 | ))) | ||
46 | ))) | ||
47 | #end | ||
48 | {{/velocity}} | ||
49 | |||
50 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
51 | {{toc/}} | ||
52 | {{/box}} | ||
53 | |||
54 | This page hosts information and project ideas for the open source project [[XWiki>>http://www.xwiki.org]] related to the {{velocity}}[[Google Summer of Code ${gsocYear}>>https://summerofcode.withgoogle.com/]]{{/velocity}} mentorship program. | ||
55 | |||
56 | XWiki has also been [[participating to Google Code-In>>dev:GoogleCodeIn.WebHome]] since 2017. | ||
57 | |||
58 | = About GSoC = | ||
59 | |||
60 | You can learn a lot about the program by reading the {{velocity}}[[GSoC FAQ>>https://developers.google.com/open-source/gsoc/faq]]{{/velocity}}. The timeline of this year's edition is given {{velocity}}[[here>>https://developers.google.com/open-source/gsoc/timeline]]{{/velocity}}. | ||
61 | |||
62 | = XWiki Guidelines = | ||
63 | |||
64 | Being part of the XWiki community means knowing [[our rules and practices>>GoogleSummerOfCode.Guidelines]]. As a GSOC student you need to make sure you read and apply our guidelines. | ||
65 | |||
66 | = Student Application template = | ||
67 | |||
68 | When applying for one of our projects, please provide [[this information about yourself and the project you choose>>GoogleSummerOfCode.student application form]] in the application which you submit to Google. | ||
69 | |||
70 | {{comment}} | ||
71 | 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. | ||
72 | {{/comment}} | ||
73 | |||
74 | {{velocity}} | ||
75 | = Selected Projects for GSoC ${gsocYear} ($selectedProjectDocuments.size()) = | ||
76 | |||
77 | The projects below, out of all the proposed projects, have been selected to participate in GSoC ${gsocYear}. | ||
78 | |||
79 | #foreach ($selectedProjectDocument in $selectedProjectDocuments) | ||
80 | #set ($studentIndex = $mathtool.sub($foreach.count, 1)) | ||
81 | #displayProject($selectedProjectDocument $selectedProjectDocument.fullName "$!selectedStudents.get($studentIndex)") | ||
82 | #end | ||
83 | {{/velocity}} | ||
84 | |||
85 | ((( | ||
86 | = Proposed Projects ({{velocity}}$projects.size(){{/velocity}}) = | ||
87 | |||
88 | Students can come up with their own ideas, but the ideas need to be proposed and discussed on the [[mailing list>>Community.MailingLists]]. | ||
89 | |||
90 | {{comment}} | ||
91 | The message bellow should be uncommented next year, before the students are selected and re-commented after that. | ||
92 | |||
93 | {{info}} | ||
94 | We are currently gathering project ideas. We encourage would-be mentors to propose ideas or even to revive old ideas from the previous years, but, if you do, make sure to **assign yourselves as mentors** for the proposed project. Proposals without mentors will be discarded, as we have learned from previous years that they are counter-productive. | ||
95 | |||
96 | Students are also encouraged to propose projects, but make sure you first run your idea through the community (see the [[Contact Us>>||anchor="HContactus"]] section below) and that you **find a mentor** interested in the idea that you can assign to the project proposal. | ||
97 | |||
98 | We also recommend students interested in joining XWiki for GSoC {{velocity}}${gsocYear}{{/velocity}} to **manifest themselves as early as possible** so that we can start working with them on this project list. | ||
99 | {{/info}} | ||
100 | |||
101 | {{/comment}} | ||
102 | |||
103 | {{velocity}} | ||
104 | #foreach ($item in $projects) | ||
105 | #set($project = $xwiki.getDocument($item)) | ||
106 | * {{html}}<a href="#H$util.encodeURI("${project.displayTitle.replaceAll('[^a-zA-Z0-9\.]', '')}")">$project.displayTitle</a>{{/html}} | ||
107 | #end | ||
108 | #if($hasEdit) | ||
109 | |||
110 | {{html}} | ||
111 | <form action="$xwiki.getDocument("${doc.space}.CreateProject").getURL()" id="newproject"> | ||
112 | <div> | ||
113 | <input type='hidden' name='parent' value="$doc.fullName" /> | ||
114 | <input type='hidden' name='classname' value='GoogleSummerOfCode.ProjectClass' /> | ||
115 | <input type='hidden' name='template' value='GoogleSummerOfCode.ProjectClassTemplate' /> | ||
116 | <input type='hidden' name='space' value="$doc.space"/> | ||
117 | <input type='hidden' name='xaction' value='create'/> | ||
118 | <input type='text' name='page' value='' size='30'/> | ||
119 | <input type='hidden' name='year' value="${gsocYear}" size='30'/> | ||
120 | <span class='buttonwrapper'><input class='button' type='submit' value='Add this Project'/></span> | ||
121 | </div> | ||
122 | </form> | ||
123 | {{/html}} | ||
124 | |||
125 | #end | ||
126 | |||
127 | #foreach ($item in $projects) | ||
128 | #set($project = $xwiki.getDocument($item)) | ||
129 | #displayProject($project $item '') | ||
130 | #end | ||
131 | {{/velocity}} | ||
132 | |||
133 | = Mentors ({{velocity}}$availableMentorsMap.size(){{/velocity}}) = | ||
134 | |||
135 | The following community members are assigned to mentor the proposed projects: | ||
136 | |||
137 | {{velocity}} | ||
138 | {{html clean="false"}} | ||
139 | #foreach ($mentor in $sorttool.sort($availableMentorsMap.keySet())) | ||
140 | #displayUser($availableMentorsMap.get($mentor)) | ||
141 | #end | ||
142 | {{/html}} | ||
143 | {{/velocity}} | ||
144 | |||
145 | = Contact us = | ||
146 | |||
147 | You can ask for more information about each project proposal and interact with the community and mentors through the usual communication channels: [[mailing list>>Community.MailingLists]] ([[devs AT xwiki.org>>http://lists.xwiki.org/mailman/listinfo/devs]]) or the [[IRC channel>>Community.IRC]]. | ||
148 | |||
149 | = What's next after GSOC? = | ||
150 | |||
151 | First and foremost: Thank you for having participated to XWiki! | ||
152 | |||
153 | We want to keep you in the community for as long as possible. We understand that you may have school projects to carry on and won't have the time to continue participating much immediately after GSOC. However, we're really keen to see you coming back to this community when things settle a bit more and you get some time again. | ||
154 | |||
155 | Here's some visibility and ideas of what's next after you've completed a GSOC project and opportunities you may have: | ||
156 | |||
157 | * You could be voted as [[Committer>>doc:Community.Committership]] | ||
158 | * You could get hired by one of the [[companies doing some business on top of the XWiki project>>doc:xwiki:Main.Supporters.SponsoringCompanies.WebHome]] | ||
159 | * Become a [[Google Code-In mentor>>doc:GoogleCodeIn.WebHome]] | ||
160 | * You could propose a school project, PhD, etc about XWiki to your teachers! | ||
161 | * You'll be able to add a nice line to your CV about having participated to an open source project :) | ||
162 | * You can ask for recommendations on LinkedIn, Facebook, etc about your work as a GSOC student | ||
163 | * (Future, doesn't exist ATM) Your name on the [[Hall of Fame>>doc:Community.HallOfFame]] | ||
164 | * (Future, doesn't exist ATM) Receive an XWiki GSOC t-shirt | ||
165 | * (Future, doesn't exist ATM) Be sponsored to take about XWiki at conferences | ||
166 | * (Future, doesn't exist ATM) Be able to implement some bounties for XWiki and get paid for it | ||
167 | * (Future, doesn't exist ATM) Be invited to physically participate to an XWiki conference | ||
168 | |||
169 | = Org Admin Resources = | ||
170 | |||
171 | If you are one of this year's XWiki Organization Administrators, make sure to check out the [[Organization Admin Guide>>GoogleSummerOfCode.OrganizationAdministratorGuide]]. | ||
172 | |||
173 | = Previous GSoC editions = | ||
174 | |||
175 | * [[The XWiki GSoC 2018 page>>GoogleSummerOfCode2018]] | ||
176 | * [[The XWiki GSoC 2017 page>>GoogleSummerOfCode2017]] | ||
177 | * [[The XWiki GSoC 2016 page>>GoogleSummerOfCode2016]] | ||
178 | * [[The page prepared for GSoC 2015>>GoogleSummerOfCode2015]] (XWiki was not selected for GSoC 2015) | ||
179 | * [[The page prepared for GSoC 2014>>GoogleSummerOfCode2014]] (XWiki was not selected for GSoC 2014) | ||
180 | * [[The XWiki GSoC 2013 page>>GoogleSummerOfCode2013]] | ||
181 | * [[The XWiki GSoC 2012 page>>GoogleSummerOfCode2012]] | ||
182 | * [[The XWiki GSoC 2011 page>>GoogleSummerOfCode2011]] | ||
183 | * [[The page prepared for GSoC 2010>>GoogleSummerOfCode2010]] (XWiki was not selected for GSoC 2010) | ||
184 | * [[The XWiki GSoC 2009 page>>GoogleSummerOfCode2009]] | ||
185 | * [[The XWiki GSoC 2008 page>>GoogleSummerOfCode2008]] | ||
186 | * [[The XWiki GSoC 2007 page>>GoogleSummerOfCode2007]] | ||
187 | ))) |