https://community.kde.org/api.php?action=feedcontributions&user=Nalvarez&feedformat=atomKDE Community Wiki - User contributions [en]2024-03-19T03:30:14ZUser contributionsMediaWiki 1.40.2https://community.kde.org/index.php?title=Akademy/2022/Tuesday&diff=94890Akademy/2022/Tuesday2022-10-04T13:30:11Z<p>Nalvarez: /* Room 4 – 4th October */ Add XDC watching</p>
<hr />
<div>= BoF sessions on Tuesday, 4th October 2022 =<br />
<br />
''All rooms are in second basement of the Vertex building.''<br />
<br />
If you need any other equipment, please send an email to akademy-team@kde.org.<br />Please put your name and email address in the Host/Notes section. There is no length limitation; text will wrap. <br />
<br />
'''BoF Wrap-up at 18:00'''<br /><br />
Please join the BoF wrap-up session this evening. Another opportunity for communication. Share outcomes and plans, cross-pollinate, attract attention to your project.<br />
Please select someone from your BoF to give a summary—topic, what was discussed and decided, what's next, resources desired.<br />
<br />
The Akademy team might reassign BoFs based on operational needs<br />
<br />
=== Room 1 – 4th October ===<br />
<br />
[https://meet.kde.org/b/ken-gtb-gz3 BBB Room 1]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 1<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00<br />
| KDE Free Qt Foundation/Working Group<br />
| Albert Astals Cid https://collaborate.kde.org/s/DwrnzeR7jxonDoP<br />
|-<br />
| 11:00<br />
| Plasma Ink<br />
| Niccolò Vé/Aleix Pol https://collaborate.kde.org/s/mx98WRqxk9EAK3e<br />
|-<br />
| 12:00<br />
| Embedded KWin<br />
| Kai Uwe Broulik https://collaborate.kde.org/s/X4CyoEZJciXDGKt<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| KDE e.V. Office Hours<br />
| Aleix, KDE e.V. Board<br />
|-<br />
| 16:00<br />
| Hardware platforms for KDE to flourish<br />
| Aleix<br />
|-<br />
| 17:00<br />
| The KDE Qt5 Patch Collection<br />
| Albert Astals Cid<br />
|-<br />
| 18:00<br />
| BoF Wrap Up<br />
| Go to the hall area between the Bof rooms and the Hacking Room<br />
|}<br />
<br />
=== Room 2 – 4th October ===<br />
<br />
[https://meet.kde.org/b/ken-bse-uz6 BBB Room 2]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 2<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" | <br />
| width="400pt" | <br />
|-<br />
| 10:00<br />
| KDE PIM<br />
| Carl Schwan - https://collaborate.kde.org/s/DesE98oJRmmiPSF<br />
|-<br />
| 11:00<br />
| UserBase wiki<br />
| Claus Christensen - https://collaborate.kde.org/s/njGMz8MFwjnwadA<br />
|-<br />
| 12:00<br />
| KDE Eco<br />
| Joseph - https://collaborate.kde.org/s/Cm4oWi7N62tRkWc<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| <br />
| <br />
|-<br />
| 16:00<br />
| Let's chat about Fundraising<br />
| Lays Rodrigues<br />
|-<br />
| 17:00<br />
| NeoChat<br />
| Tobias<br />
|-<br />
| 18:00<br />
| BoF Wrap Up<br />
| Go to the hall area between the Bof rooms and the Hacking Room<br />
|}<br />
<br />
=== Room 3 – 4th October ===<br />
<br />
[https://meet.kde.org/b/ken-o7f-ikm BBB Room 3]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 3<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" | [[Yocto]]<br />
| width="400pt" | Andreas CoLa - https://collaborate.kde.org/s/JWfCm3gRBRBYrKp<br />
|-<br />
| 10:00<br />
| Plasma<br />
| Marco<br />
|-<br />
| 11:00<br />
| <br />
| <br />
|-<br />
| 12:00<br />
| Translator's BoF<br />
| Shinjo Park - https://collaborate.kde.org/s/AMyMFFSTPdrEgSx<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| [https://invent.kde.org/system/dolphin/-/issues/35 Dolphin 🐬]<br />
| Felix Ernst - https://collaborate.kde.org/s/7YsCkNy2iwiFwaA<br />
|-<br />
| 16:00<br />
| KDE neon<br />
| Jonathan Esk and Harald Sitter [https://collaborate.kde.org/apps/files/?dir=/Community%20Notes/Akademy/akademy-2022&openfile=325538 notes]<br />
|-<br />
| 17:00<br />
| [[Akademy/2022/Workshop: Making Zynthbox Playground Modules|Workshop: Making Zynthbox Playground Modules]]<br />
| Dan Leinir Turthra Jensen<br />
|-<br />
| 18:00<br />
| BoF Wrap Up<br />
| Go to the hall area between the Bof rooms and the Hacking Room<br />
|}<br />
<br />
=== Room 4 – 4th October ===<br />
<br />
[https://meet.kde.org/b/ken-ul4-aro BBB Room 4]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 4<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00<br />
| <br />
| <br />
|-<br />
| 11:00<br />
| <br />
| <br />
|-<br />
| 12:00<br />
|<br />
| <br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| <br />
| <br />
|-<br />
| 16:00<br />
| rowspan="2" | Xorg Developer Conference watching<br />
| rowspan="2" |<br />
|-<br />
| 17:00<br />
|-<br />
| 18:00<br />
| BoF Wrap Up<br />
| Go to the hall area between the Bof rooms and the Hacking Room<br />
|}</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2022/Monday&diff=94868Akademy/2022/Monday2022-10-03T16:09:58Z<p>Nalvarez: /* Room 2 – 3rd October */ Add document for KDE Connect BoF</p>
<hr />
<div>= BoF sessions on Monday, 3rd October 2022 =<br />
<br />
''All rooms are in second basement of the Vertex building.''<br />
<br />
If you need any other equipment, please send an email to akademy-team@kde.org.<br />Please put your name and email address in the Host/Notes section. There is no length limitation; text will wrap. <br />
<br />
'''BoF Wrap-up at 19:00'''<br /><br />
Please join the BoF wrap-up session this evening. Another opportunity for communication. Share outcomes and plans, cross-pollinate, attract attention to your project.<br />
Please select someone from your BoF to give a summary—topic, what was discussed and decided, what's next, resources desired.<br />
<br />
'''KDE eV AGM'''<br /><br />
Following on from the reports during the weekend the private part of the KDE eV AGM, for eV members only, will be held from 10:00.<br />
<br />
The Akademy team might reassign BoFs based on operational needs<br />
<br />
=== Room 1 – 3rd October ===<br />
<br />
[https://meet.kde.org/b/ken-gtb-gz3 BBB Room 1]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 1<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 11:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 12:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| KF6<br />
| Assortment of Davids - https://collaborate.kde.org/f/320184<br />
|-<br />
| 16:00<br />
| KF6<br />
| <br />
|-<br />
| 17:00<br />
| Flatpak<br />
| KDE Apps in Flathub and distributions, Flatpak support in KDE / Timothée Ravier https://collaborate.kde.org/apps/files/?dir=/Community%20Notes/Akademy/akademy-2022&openfile=323184<br />
|-<br />
| 18:00<br />
| RESERVED FOR KDE e.V. board <br />
| RESERVED FOR KDE e.V. board<br />
|-<br />
| 19:00<br />
| BoF Wrap Up<br />
| Go to Room 208 (Hacking Room)<br />
|}<br />
<br />
=== Room 2 – 3rd October ===<br />
<br />
[https://meet.kde.org/b/ken-bse-uz6 BBB Room 2]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 2<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" | <br />
| width="400pt" | <br />
|-<br />
| 10:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 11:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 12:00<br />
|<br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| <br />
|<br />
|-<br />
| 16:00<br />
| App Stores<br />
| Ingo Klöcker, https://collaborate.kde.org/s/wQSTiYfaiEK3fZB<br />
|-<br />
| 17:00<br />
| Plasma Mobile<br />
| Devin Lin, https://collaborate.kde.org/s/znQ4ZgDLcGGxG3o<br />
|-<br />
| 18:00<br />
| KDE Connect<br />
| Philip Cohn-Cort, https://collaborate.kde.org/s/mEW9zfczo5o7QRk<br />
|-<br />
| 19:00<br />
| BoF Wrap Up<br />
| Go to Room 208 (Hacking Room)<br />
|}<br />
<br />
=== Room 3 – 3rd October ===<br />
<br />
[https://meet.kde.org/b/ken-o7f-ikm BBB Room 3]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 3<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 11:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 12:00<br />
|<br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| <br />
| <br />
|-<br />
| 16:00<br />
| Promo BoF<br />
| Aniqa and Paul<br />
|-<br />
| 17:00<br />
| KDE Women (Promo BoF)<br />
| Aniqa<br />
|-<br />
| 18:00<br />
|<br />
|<br />
|-<br />
| 19:00<br />
| BoF Wrap Up<br />
| Go to Room 208 (Hacking Room)<br />
|}<br />
<br />
=== Room 4 – 3rd October ===<br />
<br />
[https://meet.kde.org/b/ken-ul4-aro BBB Room 4]<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Room 4<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 11:00<br />
| <br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 12:00<br />
|<br />
| ''(Note KDE eV AGM)''<br />
|-<br />
| 13:00 <br />
| ''Lunch''<br />
| <br />
|-<br />
| 15:00<br />
| <br />
| <br />
|-<br />
| 16:00<br />
| <br />
| <br />
|-<br />
| 17:00<br />
| Follow up on "Building the Future of Qt, Together" keynote<br />
| Pedro Bassa, Volker Hilsheimer<br />
|-<br />
| 18:00<br />
| Qt support for theming - what do we have, what are we working on, what's missing<br />
| Volker Hilsheimer<br />
|-<br />
| 19:00<br />
| BoF Wrap Up<br />
| Go to Room 208 (Hacking Room)<br />
|}</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/Awards&diff=94862Akademy/Awards2022-10-03T14:36:09Z<p>Nalvarez: Add Akademy 2022 award winners</p>
<hr />
<div>Each year the KDE Community awards contributors the Akademy Awards, who have made a special contribution recently. The judges for the awards are the winners from the previous year.<br />
<br />
There are 3 awards:<br />
<br />
* Best application<br />
* Best non-application contribution<br />
* Jury award<br />
<br />
== 2022 ==<br />
<br />
* Best Application: '''Jasem Mutlaq''', for their work on KStars<br />
* Best Non-Application: '''Harald Sitter''', for their work on frameworks, DrKonqi, KDE Neon, and KDE infrastructure<br />
* Jury's Awards: '''Aniqa Khokhar''', for their contributions to the KDE Networks Program<br />
<br />
== 2021 ==<br />
<br />
* Best Application: '''Alexander Semke''', for their work on LabPlot<br />
* Best Non-Application: '''Paul Brown''', for their contributions to KDE Promo<br />
* Jury's Awards: '''Adriaan de Groot''', for their long term contributions to KDE<br />
<br />
== 2020 ==<br />
* Best Application: '''Bhushan Shah''' for creating an entirely new platform for our applications: Plasma Mobile<br />
* Best Non-Application: '''Carl Schwan''' for their work on KDE's web presence<br />
* Jury's Award: '''Luigi Toscano''' for their many years of contributions to KDE's localization efforts and infrastructure<br />
<br />
== 2019 ==<br />
<br />
* Best Application: '''Marco Martin''' for work on the Kirigami framework<br />
* Best Non-Application: '''Nate Graham''' for persistent work on the "KDE Usability & Productivity" blog<br />
* Jury's Awards: '''Volker Krause''' for long term contributions to KDE including; KNode, KDE PIM, KDE Itinerary and the UserFeedback framework<br />
<br />
== 2018 ==<br />
<br />
* Best Application: '''Aditya Mehra''' for work on the Mycroft integration providing KDE with a free speech assistant which is free as in freedom<br />
* Best Non-Application: '''Valorie Zimmerman''' for work driving KDE's mentoring programs and the Community Working Group, and being one of KDE's good souls<br />
* Jury's Awards:<br />
** '''Sebastian Kügler''' for many years of relentless hacking and more (Plasma, KDE Marketing, years in the KDE e.V. Board)<br />
**'''David Edmundson''' for work on Telepathy, porting applications to Frameworks 5, Plasma, KWin, KWayland, and being the crazy guy around<br />
** '''Mario Fux''' for supporting KDE over many years through organizing the Randa meetings<br />
<br />
== [https://dot.kde.org/2017/07/24/akademy-awards-2017 2017] ==<br />
<br />
* Best Application: '''Kai Uwe Broulik''' for his valuable work on Plasma<br />
* Best Non-Application: '''Cornelius Schumacher''' for his long term contributions to KDE<br />
* Jury's Award: '''Martin Konold & Olaf Schmidt-Wischhöfer''' for their work on the KDE Free Qt Foundation<br />
<br />
== [https://dot.kde.org/2016/09/04/akademy-awards-2016 2016] ==<br />
<br />
* Best Application: '''Dominik Haumann''' and '''Christoph Cullmann''' for their work making Kate and the related parts<br />
* Best Non-Application: '''Aleix Pol''' for his work not just on KDE code but also on the community with KDE e.V. as a board member and KDE España<br />
* Jury's Award: '''Daniel Vrátil''' and the KDE PIMsters for creating and maintaining the largest suite of communication applications in the world<br />
<br />
== [https://dot.kde.org/2015/07/26/akademy-talks-day-2 2015] ==<br />
<br />
* Best Application: '''Milian Wolff''' and the KDevelop team for their work on KDevelop<br />
* Best Non-Application: '''Jens Reuterberg''' & the Visual Design Group for The Breeze interface design<br />
* Jury's Award: '''Albert Vaca''' for the KDE Connect application.<br />
* Jury's Award: '''Scarlett Clark''' for her work advancing the continuous integration infrastructure to more platforms and modules<br />
<br />
== [https://dot.kde.org/2014/09/08/akademy-award-winners-2014 2014] ==<br />
<br />
* Best Application: '''Jean-Baptiste Mardelle''' for his work on Kdenlive<br />
* Best Non-Application: '''Michael Pyne''' for eleven years of kdesrc-build <br />
* Jury's Award: '''Ben Cooksley''' for planning out our systems and keeping them running smoothly<br />
<br />
== [http://dot.kde.org/2013/07/15/akademy-2013-day-two 2013] ==<br />
<br />
* Best Application: '''Eike Hein''' for his work on Konversation<br />
* Best Non-Application: '''Vishesh Handa''' for taking over the Nepomuk maintainer hat and rocking at stabilizing the beast<br />
* Jury's Award: '''Timothee Giet''' for shaping the future and community of Krita<br />
* Jury's Award: '''Kenny Duffus''' for being the memory and soul of Akademy<br />
<br />
== [http://dot.kde.org/2012/07/05/akademy-2012-second-helpings 2012] ==<br />
<br />
* Best Application: '''Camilla Boemann''' for her work on Calligra Words<br />
* Best Non-Application: '''Lydia Pintscher''' for her huge work within KDE and especially on the GSOC/SOK-project<br />
* Jury's Award: '''Kévin Ottens and Nicolás Alvarez''' for working on the future of KDE (Frameworks 5 & Git conversion)<br />
<br />
== [http://dot.kde.org/2011/08/09/toasters-and-pants-day-three-desktop-summit-2011 2011] ==<br />
<br />
* Best Application: '''Martin Gräßlin''' for his work on KWin<br />
* Best Non-Application: '''Dario Andres''' for his work with the bug triaging team<br />
* Jury's Award: '''Tom Albers''' in building up the KDE sysadmin team, while continuing to do much work himself<br />
<br />
== [http://dot.kde.org/2010/07/05/akademy-day-2 2010] ==<br />
<br />
* Best Application: '''Aurélien Gâteau''' for his work on Gwenview<br />
* Best Non-Application: '''Anne Wilson''' for her work in user support<br />
* Jury's Award: '''Burkhard Lück''' for his work on improving the state of KDE documentation<br />
<br />
== [http://dot.kde.org/2009/07/06/akademy-awards-2009 2009] ==<br />
<br />
* Best Application: '''Peter Penz''' for his work on Dolphin<br />
* Best Non-Application: '''Celeste Lyn Paul''' for work in the usability team<br />
* Jury's Award: '''David Faure''' for greatest service to KDE<br />
<br />
== [http://dot.kde.org/2008/08/12/akademy-2008-day-2-and-akademy-awards 2008] ==<br />
<br />
* Best Application: '''Mark Kretschmann and the Amarok team'''<br />
* Best Non-Application: '''Nuno Pinheiro and the Oxygen team'''<br />
* Jury's Award: '''Aaron Seigo''' for his work on Plasma<br />
<br />
== [http://dot.kde.org/2007/07/04/akademy-awards-2007 2007] ==<br />
<br />
* Best Application: '''Sebastian Trueg''' for K3B<br />
* Best Non-Application: '''Matthias Kretz''' for his great work on Phonon<br />
* Jury's Award: '''Danny Allen''' for the Commit Digest<br />
<br />
== [http://dot.kde.org/2006/09/25/akademy-award-winners 2006] ==<br />
<br />
* Best Application: '''Boudewijn Rempt''' for Krita<br />
* Best Non-Application: '''Alexander Neundorf''' for his work on CMake in KDE4<br />
* Jury's Award: '''Laurent Montel''' for KDE4 Commit Champion<br />
<br />
== [http://dot.kde.org/2005/08/30/first-kde-appreciation-awards-announced 2005] ==<br />
<br />
* Best Application: '''Albert Astals Cid''' and '''Enrico Ros''' for their work on KPDF<br />
* Best Non-Application: '''Lauri Watts''' for KDE documentation coordination<br />
* Jury's Award: '''Stephan Kulow''' and '''Oswald Buddenhagen''' for the effort they have put into the Subversion migration</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2022&diff=94109Akademy/20222022-06-19T23:12:33Z<p>Nalvarez: Fix link to photos subpage</p>
<hr />
<div>[[File:Mascot konqi-commu-akademy.png|thumbnail|right|[[Konqi]] at Akademy!]]<br />
<br />
[https://akademy.kde.org/2022/ Akademy 2022 Main Page]<br />
<br />
In 2022 Akademy will be held at the Campus Nord of the Universitat Politècnica de Catalunya in Barcelona and Internet, from Saturday 1st October to Friday 7th October.<br />
<br />
__TOC__<br />
<br />
== Promotion ==<br />
<br />
Please publish your content and link to it here to help promote the event.<br />
<br />
* [[Akademy/2022/Blogs|'''Blogs''']]<br />
* [[Akademy/2022/Photos|'''Photos''']]<br />
* [[Akademy/2022/Badges|'''Badges''']]<br />
<br />
== Infodesk / Team room ==<br />
<br />
TODO<br />
<br />
==Birds of a Feather (BoF) sessions, workshops & meetings==<br />
<br />
[[Akademy/2022/Hacking Rooms|Hacking Rooms]]<br />
<br />
[[Akademy/2022/AllBoF]]<br />
<br />
[[Akademy/2022/Monday|Monday (3 October) BoF schedule]]<br />
<br />
[[Akademy/2022/Tuesday|Tuesday (4 October) BoF schedule]]<br />
<br />
[[Akademy/2022/Wednesday|Wednesday (5 October) BoF schedule]]<br />
<br />
[[Akademy/2022/Thursday|Thursday (6 October) BoF schedule]]<br />
<br />
[[Akademy/2022/Friday|Friday (7 October) BoF schedule]]<br />
<br />
==Trainings==<br />
<br />
==Practical information==<br />
<br />
[[Akademy/2022/Food-and-Drink|Food & Drink]]<br />
<br />
[[Akademy/2022/Useful-words|Useful words in Catalan and Spanish]]<br />
<br />
[[/FAQs/]]<br />
<br />
Matrix: https://matrix.to/#/#akademy:kde.org<br />
<br />
== Arrival times ==<br />
<br />
Please set your arrival and departure times here: [[Akademy/2022/Arrival-Departure times]]</div>Nalvarezhttps://community.kde.org/index.php?title=Sysadmin/BNC&diff=92160Sysadmin/BNC2021-06-18T13:22:25Z<p>Nalvarez: Fix link to file a sysadmin ticket</p>
<hr />
<div>Sysadmin maintains an IRC Bouncer (BNC) for all registered KDE developers. The software used for this bouncer is ZNC. The advantage of using a bouncer is that you can see what happened on a channel when you are not connected to it. <br />
<br />
You can request an account via a sysadmin [http://go.kde.org/systickets ticket]; mention your identity.kde.org username. <br />
<br />
== BNC Configurations ==<br />
You will receive a password from sysadmin. Then you can login into https://bnc.kde.org:7778/ and configure the bouncer. Most of the settings are straightforward or explained in the user interface. Some nice settings are:<br />
* add the libera.chat network, and configure the channels that you want to join (use the form ''irc.libera.chat port #''. All libera.chat servers listen on ports 6665, 6666, 6667, 6697 (SSL only), 7000 (SSL only), 7070 (SSL only), 8000, 8001 and 8002).<br />
* for each channel set the buffercount, this is the amount of lines you would like to see replayed when you connect.<br />
<br />
== Connect your client to the BNC ==<br />
It's time to connect to your IRC client to the bouncer.<br />
=== Settings for Konversation ===<br />
You would need the following settings in Konversation:<br />
* add a new network, called KDE, connect at the start<br />
* add a new server to the network, use bnc.kde.org as server, fill in 7778 as port.<br />
* fill in "yourusername:yourpassword" (without quotes) in the password field and check the SSL option (this is the username:password to BNC, not your libera.chat nickserv password)<br />
* you should not set any channels in konversation, it will join the channels you have setup in the web interface earlier.<br />
* if you auto-identify to nickserv, add your libera.chat password in your Konversation identity on libera.chat, not in the connection setup<br />
<br />
=== Settings for IRSSI ===<br />
For the following, let $USERNAME be your bnc.kde.org username and $PASSWORD your password for bnc.kde.org. Let "BNClibera" be the network name as set at bnc.kde.org (see previous step).<br />
<br />
At first, check that your settings at bnc.kde.org are correct. For this, start irssi and execute the command:<br />
<pre><br />
/server -ssl bnc.kde.org 7778 $USERNAME/BNClibera:$PASSWORD<br />
</pre> <br />
If irssi correctly connects to the BNC server and to all configured channels, we can proceed to configure irssi such that it autoconnects to the BNC server at program start. For this, open the irssi configuration file at "~/.irssi/config" and edit the following sections:<br />
<br />
===== Servers =====<br />
Add the following snippet to the "servers" section:<br />
<pre><br />
{<br />
address = "bnc.kde.org";<br />
chatnet = "KDE";<br />
port = "7778";<br />
autoconnect = true;<br />
use_ssl = "yes";<br />
password = "$USERNAME/BNClibera:$PASSWORD"; <br />
}<br />
</pre><br />
===== Chatnets =====<br />
Add the following snippet to the "chatnets section:<br />
<pre><br />
KDE = { type = "IRC"; };<br />
</pre><br />
Note that if you set up several networks at bnc.kde.org, you must create entries for each of the networks in "servers" and "chatnets".<br />
<br />
Now, when starting irssi the client should autoconnect to the BNC server and also to all channels that are set up at the BNC web frontend.<br />
<br />
== Configure Identify ==<br />
Now you need to configure to identify to the libera.chat network properly.<br />
* don't use znc's 'nickserv' module. This only identifies after the connection, which means you will join the channels uncloaked first and only later get your cloak. Another reason is that some channels might be shielded based on your cloak, autojoining channels won't work. Better is to use the sasl module. This identifies you directly at the moment of the connection.<br />
* after you are connected issue '/msg *status loadmod sasl'<br />
* after that issue '/msg *sasl set primarynick liberapassword'. Replace primarynick with the primary nick you once registered at nickserv and replace 'liberapassword' is the password you set to protect your nick. This is not (and should not) be the same as the username and password you use for the znc web interface.</div>Nalvarezhttps://community.kde.org/index.php?title=Sysadmin/BNC&diff=92159Sysadmin/BNC2021-06-18T13:21:52Z<p>Nalvarez: freenode->liberachat</p>
<hr />
<div>Sysadmin maintains an IRC Bouncer (BNC) for all registered KDE developers. The software used for this bouncer is ZNC. The advantage of using a bouncer is that you can see what happened on a channel when you are not connected to it. <br />
<br />
You can request an account via a sysadmin [http://sysadmin.kde.org/tickets/ ticket]; mention your identity.kde.org username. <br />
<br />
== BNC Configurations ==<br />
You will receive a password from sysadmin. Then you can login into https://bnc.kde.org:7778/ and configure the bouncer. Most of the settings are straightforward or explained in the user interface. Some nice settings are:<br />
* add the libera.chat network, and configure the channels that you want to join (use the form ''irc.libera.chat port #''. All libera.chat servers listen on ports 6665, 6666, 6667, 6697 (SSL only), 7000 (SSL only), 7070 (SSL only), 8000, 8001 and 8002).<br />
* for each channel set the buffercount, this is the amount of lines you would like to see replayed when you connect.<br />
<br />
== Connect your client to the BNC ==<br />
It's time to connect to your IRC client to the bouncer.<br />
=== Settings for Konversation ===<br />
You would need the following settings in Konversation:<br />
* add a new network, called KDE, connect at the start<br />
* add a new server to the network, use bnc.kde.org as server, fill in 7778 as port.<br />
* fill in "yourusername:yourpassword" (without quotes) in the password field and check the SSL option (this is the username:password to BNC, not your libera.chat nickserv password)<br />
* you should not set any channels in konversation, it will join the channels you have setup in the web interface earlier.<br />
* if you auto-identify to nickserv, add your libera.chat password in your Konversation identity on libera.chat, not in the connection setup<br />
<br />
=== Settings for IRSSI ===<br />
For the following, let $USERNAME be your bnc.kde.org username and $PASSWORD your password for bnc.kde.org. Let "BNClibera" be the network name as set at bnc.kde.org (see previous step).<br />
<br />
At first, check that your settings at bnc.kde.org are correct. For this, start irssi and execute the command:<br />
<pre><br />
/server -ssl bnc.kde.org 7778 $USERNAME/BNClibera:$PASSWORD<br />
</pre> <br />
If irssi correctly connects to the BNC server and to all configured channels, we can proceed to configure irssi such that it autoconnects to the BNC server at program start. For this, open the irssi configuration file at "~/.irssi/config" and edit the following sections:<br />
<br />
===== Servers =====<br />
Add the following snippet to the "servers" section:<br />
<pre><br />
{<br />
address = "bnc.kde.org";<br />
chatnet = "KDE";<br />
port = "7778";<br />
autoconnect = true;<br />
use_ssl = "yes";<br />
password = "$USERNAME/BNClibera:$PASSWORD"; <br />
}<br />
</pre><br />
===== Chatnets =====<br />
Add the following snippet to the "chatnets section:<br />
<pre><br />
KDE = { type = "IRC"; };<br />
</pre><br />
Note that if you set up several networks at bnc.kde.org, you must create entries for each of the networks in "servers" and "chatnets".<br />
<br />
Now, when starting irssi the client should autoconnect to the BNC server and also to all channels that are set up at the BNC web frontend.<br />
<br />
== Configure Identify ==<br />
Now you need to configure to identify to the libera.chat network properly.<br />
* don't use znc's 'nickserv' module. This only identifies after the connection, which means you will join the channels uncloaked first and only later get your cloak. Another reason is that some channels might be shielded based on your cloak, autojoining channels won't work. Better is to use the sasl module. This identifies you directly at the moment of the connection.<br />
* after you are connected issue '/msg *status loadmod sasl'<br />
* after that issue '/msg *sasl set primarynick liberapassword'. Replace primarynick with the primary nick you once registered at nickserv and replace 'liberapassword' is the password you set to protect your nick. This is not (and should not) be the same as the username and password you use for the znc web interface.</div>Nalvarezhttps://community.kde.org/index.php?title=Internet_Relay_Chat&diff=92157Internet Relay Chat2021-06-18T13:18:36Z<p>Nalvarez: freenode->liberachat, and other minor tweaks</p>
<hr />
<div>To communicate with other KDE members over IRC, you will need a way to connect to the [https://libera.chat/ libera.chat IRC network]. We suggest [https://konversation.kde.org/ Konversation]. You can install Konversation using the [https://userbase.kde.org/Discover KDE Discover Software Store] or using the command line, which differs based on what Linux distro you're using:<br />
<br />
* Debian/Ubuntu/KDE Neon: <tt>sudo apt install konversation</tt><br />
* Fedora: <tt>sudo dnf install konversation</tt><br />
* openSUSE: <tt>sudo zypper install konversation</tt><br />
* Arch/Antergos/Manjaro: <tt>sudo pacman -S install konversation</tt><br />
<br />
See the [https://docs.kde.org/trunk5/en/extragear-network/konversation/index.html handbook] for help in setting up Konversation, although a convenient alternative if you want to get going quickly is Libera's [http://web.libera.chat/ online webchat]. You will need to choose a ''nick'' (the name you appear on the network as), [https://libera.chat/guides/connect connect to libera.chat] and join a channel. [irc://irc.libera.chat/kde #kde] is a good first channel to join. This is the central channel for users and contributors to communicate, but most teams will have their own channel. A comprehensive list of IRC channels can be found here: https://userbase.kde.org/IRC_Channels<br />
<br />
Sysadmin maintains an [[Sysadmin/BNC|IRC Bouncer (BNC)]] for all registered KDE developers<br />
<br />
Further details about KDE's use of IRC are in the [[Infrastructure/IRC]] section<br />
<br />
''[[Matrix|Matrix rooms]] is another way to chat which has additional features''</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Git&diff=91692Infrastructure/Git2021-04-28T19:53:15Z<p>Nalvarez: Remove leftover translation markers</p>
<hr />
<div>[[Category:Needs Attention]]<br />
<br />
This is the hub page for all information about the use of Git by KDE.<br />
<br />
This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.<br />
<br />
== Git at KDE ==<br />
KDE currently offers code hosting using Git. Additionally, KDE also maintains a limited Subversion infrastructure for certain special projects, such as translations and older websites.<br />
<br />
=== Anonymous access ===<br />
<br />
Both Git and Subversion repositories can be accessed anonymously by anyone. This access takes place from <code>anongit.kde.org</code> and <code>anonsvn.kde.org</code> for Git and Subversion respectively, and grants read-only access to the same repositories which are available to contributors with developer accounts.<br />
<br />
For Git, it is possible to perform clones and fetches over the HTTPS protocol only. The insecure <code>git://</code> protocol is not supported.<br />
<br />
KDE also maintains a mirror of its mainline Git repositories on [https://github.com/kde/ GitHub]. This mirror is read-only, and disables all of GitHub's additional features, such as issues, the wiki, and downloads, in favour of KDE's own hosted services. Additionally, pull requests on these repositories are not accepted, but code changes can always be accepted through KDE's code-review services. And still, GitHub may be used / searched more intuitively than alternatives, e.g. when a particular [https://github.com/KDE/extra-cmake-modules/releases ECM] version is needed, as it will. <br />
<br />
For Subversion, access is only provided over the Subversion protocol. If you are behind a restrictive firewall and need to access the KDE Subversion repository anonymously (and have no other means of network access), please file a [https://go.kde.org/u/systickets ticket].<br />
<br />
=== Pushing ===<br />
<br />
Push or commit access to all KDE code repositories is open to any holder of a KDE developer account, subject to few limitations. This model allows contributors to easily make contributions to all parts of KDE without needing further approval. All commits made to either Git or Subversion are subject to commit hooks which will perform a few quality control checks and can take other actions on behalf of the developer. In the case of both Git and Subversion it is only possible to commit over SSH.<br />
<br />
With KDE Git, it is recommended to use a shortcut to access repositories instead of directly cloning them from the Git server itself. This shortcut allows you to use a local mirror of the repositories, and should improve response times. To setup a <code>kde:</code> shortcut, you should add the following configuration block to <code>~/.config/git/config</code>. If your network blocks the Git protocol, then you can exchange that for HTTP instead.<br />
<br />
<pre>[url &quot;https://anongit.kde.org/&quot;]<br />
insteadOf = kde:<br />
[url &quot;git@git.kde.org:&quot;]<br />
pushInsteadOf = kde:</pre><br />
Once setup as above, you can clone and push to repositories through the URL <code>kde:group/repository</code>.<br />
<br />
As Subversion requires that checkouts you are committing from are made from the same location you are committing to, checkouts should be made from the Subversion server directly. It can be accessed at <code>svn+ssh://svn@svn.kde.org/home/kde/</code>. If you have existing checkouts, you will need to relocate them using the <code>svn switch</code> command before you are able to commit.<br />
<br />
=== Browsing ===<br />
<br />
To allow for quick review of code, web repository browsers exist for both Git and Subversion repositories. Those interested in browsing Subversion should visit [https://websvn.kde.org/ WebSVN], which will contain the latest commits made to the KDE Subversion repository subject to a delay of 10 minutes at maximum.<br />
<br />
In the case of Git, repository browsing is available via [https://invent.kde.org/ GitLab]. Additionally, all mainline repositories are available on [https://github.com/kde GitHub] and can be browsed there. Please note that personal repositories are only browsable on our GitLab, they are not mirrored to GitHub.<br />
<br />
If you need to link to materials which are stored in either Git or Subversion repositories on KDE infrastructure, it is requested that you do not embed the content directly, but simply link to it. Embedding content, such as images, causes significantly higher load on the repository browser servers, making it unavailable for others wishing to use it. This is particularly relevant for blog posts on Planet or any other high traffic web page.<br />
<br />
=== New repositories ===<br />
<br />
To allow for free form development in a manner similar to Subversion did, KDE Git allows personal repositories to be created on demand as needed. You can [https://invent.kde.org/projects/new create personal repositories] from the GitLab web interface. You can also "fork" an existing official KDE repository.<br />
<br />
Personal repositories and forks can be deleted at any time.<br />
<br />
From time to time it may be necessary to create new project repositories, to contain newly developed applications, migrate existing applications from Subversion or to bring new projects under the KDE umbrella. New repositories can be requested by filing a [https://go.kde.org/u/systickets ticket], and will be created in the appropriate group on invent.kde.org.<br />
<br />
=== Extra Karma ===<br />
<br />
At times contributors may find it necessary to push or commit to certain repositories or paths which are protected. In this case the server will reject your request with a message such as '''insufficient karma''' or '''access denied'''. This protection is most often applied to repositories which run parts of the infrastructure such as websites or other crucial components.<br />
<br />
If you would like to request access to these protected areas, please file a [https://go.kde.org/u/systickets ticket], mentioning which repositories or paths you are trying to change.<br />
<br />
A complete manual on how to use KDE's Git services, along with some best practices, is available on the [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Community Wiki].<br />
<br />
=== Hooks ===<br />
Kde provides some [[/Hooks |git hooks]] to perform and automatize some actions on push.<br />
<br />
=== Server Fingerprints ===<br />
The SSH host server key fingerprints are as follows for both Git and Subversion access:<br />
<br />
* '''RSA-2048 (MD5)''': <code>f9:54:62:b2:90:f2:dc:08:df:f4:a3:fa:c5:2a:a0:c8</code><br />
* '''RSA-2048 (SHA256)''': <code>eONstlOUy0LjhlkjK90e1/bm95fOqnz8qcUsijWuP0Q</code><br />
* '''ECDSA-256 (MD5)''': <code>23:62:3e:0b:18:f2:5d:e9:66:8a:80:fb:82:53:84:b5</code><br />
* '''ECDSA-256 (SHA256)''': <code>Bvp9zqBBiEf9QdpX09B0PL2CkDa1B64WtkKZyTq7XhM</code><br />
* '''ED25519-256 (MD5)''': <code>f3:17:e5:0b:79:16:2b:73:45:fa:5d:23:24:eb:33:40</code><br />
* '''ED25519-256 (SHA256)''': <code>x8pnmJ/gZmuw68V+wJUlT3MreIzPACzKmd/Ybei9gBA</code><br />
<br />
== Resources ==<br />
<br />
Links to useful external sites about Git<br />
<br />
=== Official Documentation ===<br />
<br />
* [http://git-scm.com/documentation Links to git official documentation]<br />
<br />
=== Git for SVN Users ===<br />
<br />
* [http://git-scm.com/course/svn.html The git-svn Crash Course]<br />
<br />
=== Git books ===<br />
<br />
* [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).<br />
<br />
* [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]<br />
<br />
=== Tutorials ===<br />
<br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!) <br />
<br />
*[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]<br />
- Essential reading if you want to truly understand git.<br />
<br />
* [http://www.gitcasts.com/ Git Screencasts]<br />
<br />
* [http://try.github.io/ tryGit] A 15 minute online interactive tutorial<br />
<br />
=== KDE's Git Infrastructure ===<br />
<br />
The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.<br />
<br />
For more information on how the KDE Git Repositories are organized, please see the [[Guidelines_and_HOWTOs/Build_from_source|Build from source]] page.<br />
<br />
Other:<br />
* The new [[Policies/Commit Policy|Commit Policy]] is being reviewed, applied to both SVN and Git.<br />
* [[/GitHub Mirror/]] has been created and policy is in development (Sep 2015).<br />
<br />
=== KDE Git Recipes ===<br />
<br />
Short recipes for using Git with the KDE infrastructure.<br />
<br />
Please see the [[Special:myLanguage/Infrastructure/Git/Recipes|Git Recipes page]].<br />
<br />
=== KDE Git Tutorials ===<br />
<br />
More in-depth instructions in using Git.<br />
<br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]<br />
<br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/Create a patch|Creating a patch]]<br />
<br />
Please help filling this section by<br />
* checking the links at the bottom of the page and see which still have valid content<br />
* write tutorials yourself<br />
<br />
=== Cheat Sheets ===<br />
<br />
* [http://cheat.errtheblog.com/s/git Quick reference]<br />
<br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet] <br />
(broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])<br />
</translate></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Git&diff=91691Infrastructure/Git2021-04-28T19:52:04Z<p>Nalvarez: personal and clone repositories are old gitolite stuff, replace them with mentions to Invent</p>
<hr />
<div>[[Category:Needs Attention]]<br />
<br />
This is the hub page for all information about the use of Git by KDE.<br />
<br />
This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.<br />
<br />
== Git at KDE ==<br />
KDE currently offers code hosting using Git. Additionally, KDE also maintains a limited Subversion infrastructure for certain special projects, such as translations and older websites.<br />
<br />
=== Anonymous access ===<br />
<br />
Both Git and Subversion repositories can be accessed anonymously by anyone. This access takes place from <code>anongit.kde.org</code> and <code>anonsvn.kde.org</code> for Git and Subversion respectively, and grants read-only access to the same repositories which are available to contributors with developer accounts.<br />
<br />
For Git, it is possible to perform clones and fetches over the HTTPS protocol only. The insecure <code>git://</code> protocol is not supported.<br />
<br />
KDE also maintains a mirror of its mainline Git repositories on [https://github.com/kde/ GitHub]. This mirror is read-only, and disables all of GitHub's additional features, such as issues, the wiki, and downloads, in favour of KDE's own hosted services. Additionally, pull requests on these repositories are not accepted, but code changes can always be accepted through KDE's code-review services. And still, GitHub may be used / searched more intuitively than alternatives, e.g. when a particular [https://github.com/KDE/extra-cmake-modules/releases ECM] version is needed, as it will. <br />
<br />
For Subversion, access is only provided over the Subversion protocol. If you are behind a restrictive firewall and need to access the KDE Subversion repository anonymously (and have no other means of network access), please file a [https://go.kde.org/u/systickets ticket].<br />
<br />
=== Pushing ===<br />
<br />
Push or commit access to all KDE code repositories is open to any holder of a KDE developer account, subject to few limitations. This model allows contributors to easily make contributions to all parts of KDE without needing further approval. All commits made to either Git or Subversion are subject to commit hooks which will perform a few quality control checks and can take other actions on behalf of the developer. In the case of both Git and Subversion it is only possible to commit over SSH.<br />
<br />
With KDE Git, it is recommended to use a shortcut to access repositories instead of directly cloning them from the Git server itself. This shortcut allows you to use a local mirror of the repositories, and should improve response times. To setup a <code>kde:</code> shortcut, you should add the following configuration block to <code>~/.config/git/config</code>. If your network blocks the Git protocol, then you can exchange that for HTTP instead.<br />
<br />
<pre>[url &quot;https://anongit.kde.org/&quot;]<br />
insteadOf = kde:<br />
[url &quot;git@git.kde.org:&quot;]<br />
pushInsteadOf = kde:</pre><br />
Once setup as above, you can clone and push to repositories through the URL <code>kde:group/repository</code>.<br />
<br />
As Subversion requires that checkouts you are committing from are made from the same location you are committing to, checkouts should be made from the Subversion server directly. It can be accessed at <code>svn+ssh://svn@svn.kde.org/home/kde/</code>. If you have existing checkouts, you will need to relocate them using the <code>svn switch</code> command before you are able to commit.<br />
<br />
=== Browsing ===<br />
<br />
To allow for quick review of code, web repository browsers exist for both Git and Subversion repositories. Those interested in browsing Subversion should visit [https://websvn.kde.org/ WebSVN], which will contain the latest commits made to the KDE Subversion repository subject to a delay of 10 minutes at maximum.<br />
<br />
In the case of Git, repository browsing is available via [https://invent.kde.org/ GitLab]. Additionally, all mainline repositories are available on [https://github.com/kde GitHub] and can be browsed there. Please note that personal repositories are only browsable on our GitLab, they are not mirrored to GitHub.<br />
<br />
If you need to link to materials which are stored in either Git or Subversion repositories on KDE infrastructure, it is requested that you do not embed the content directly, but simply link to it. Embedding content, such as images, causes significantly higher load on the repository browser servers, making it unavailable for others wishing to use it. This is particularly relevant for blog posts on Planet or any other high traffic web page.<br />
<br />
=== New repositories ===<br />
<br />
To allow for free form development in a manner similar to Subversion did, KDE Git allows personal repositories to be created on demand as needed. You can [https://invent.kde.org/projects/new create personal repositories] from the GitLab web interface. You can also "fork" an existing official KDE repository.<br />
<br />
Personal repositories and forks can be deleted at any time.<br />
<br />
From time to time it may be necessary to create new project repositories, to contain newly developed applications, migrate existing applications from Subversion or to bring new projects under the KDE umbrella. New repositories can be requested by filing a [https://go.kde.org/u/systickets ticket], and will be created in the appropriate group on invent.kde.org.<br />
<br />
=== Extra Karma ===<br />
<br />
At times contributors may find it necessary to push or commit to certain repositories or paths which are protected. In this case the server will reject your request with a message such as '''insufficient karma''' or '''access denied'''. This protection is most often applied to repositories which run parts of the infrastructure such as websites or other crucial components.<br />
<br />
If you would like to request access to these protected areas, please file a [https://go.kde.org/u/systickets ticket], mentioning which repositories or paths you are trying to change.<br />
<br />
A complete manual on how to use KDE's Git services, along with some best practices, is available on the [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Community Wiki].<br />
<br />
=== Hooks ===<br />
Kde provides some [[/Hooks |git hooks]] to perform and automatize some actions on push.<br />
<br />
=== Server Fingerprints ===<br />
The SSH host server key fingerprints are as follows for both Git and Subversion access:<br />
<br />
* '''RSA-2048 (MD5)''': <code>f9:54:62:b2:90:f2:dc:08:df:f4:a3:fa:c5:2a:a0:c8</code><br />
* '''RSA-2048 (SHA256)''': <code>eONstlOUy0LjhlkjK90e1/bm95fOqnz8qcUsijWuP0Q</code><br />
* '''ECDSA-256 (MD5)''': <code>23:62:3e:0b:18:f2:5d:e9:66:8a:80:fb:82:53:84:b5</code><br />
* '''ECDSA-256 (SHA256)''': <code>Bvp9zqBBiEf9QdpX09B0PL2CkDa1B64WtkKZyTq7XhM</code><br />
* '''ED25519-256 (MD5)''': <code>f3:17:e5:0b:79:16:2b:73:45:fa:5d:23:24:eb:33:40</code><br />
* '''ED25519-256 (SHA256)''': <code>x8pnmJ/gZmuw68V+wJUlT3MreIzPACzKmd/Ybei9gBA</code><br />
<br />
== Resources == <!--T:21--><br />
<br />
<!--T:22--><br />
Links to useful external sites about Git<br />
<br />
=== Official Documentation === <!--T:23--><br />
<br />
<!--T:24--><br />
* [http://git-scm.com/documentation Links to git official documentation]<br />
<br />
=== Git for SVN Users === <!--T:25--><br />
<br />
<!--T:26--><br />
* [http://git-scm.com/course/svn.html The git-svn Crash Course]<br />
<br />
=== Git books === <!--T:27--><br />
<br />
<!--T:28--><br />
* [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).<br />
<br />
<!--T:30--><br />
* [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]<br />
<br />
=== Tutorials === <!--T:32--><br />
<br />
<!--T:33--><br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!) <br />
<br />
<!--T:35--><br />
*[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]<br />
- Essential reading if you want to truly understand git.<br />
<br />
<!--T:37--><br />
* [http://www.gitcasts.com/ Git Screencasts]<br />
<br />
<!--T:95--><br />
* [http://try.github.io/ tryGit] A 15 minute online interactive tutorial<br />
<br />
=== KDE's Git Infrastructure ===<br />
<br />
The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.<br />
<br />
<!--T:91--><br />
For more information on how the KDE Git Repositories are organized, please see the [[Guidelines_and_HOWTOs/Build_from_source|Build from source]] page.<br />
<br />
<!--T:94--><br />
Other:<br />
* The new [[Policies/Commit Policy|Commit Policy]] is being reviewed, applied to both SVN and Git.<br />
* [[/GitHub Mirror/]] has been created and policy is in development (Sep 2015).<br />
<br />
=== KDE Git Recipes === <!--T:12--><br />
<br />
<!--T:13--><br />
Short recipes for using Git with the KDE infrastructure.<br />
<br />
<!--T:14--><br />
Please see the [[Special:myLanguage/Infrastructure/Git/Recipes|Git Recipes page]].<br />
<br />
=== KDE Git Tutorials === <!--T:16--><br />
<br />
<!--T:17--><br />
More in-depth instructions in using Git.<br />
<br />
<!--T:18--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]<br />
<br />
<!--T:19--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/Create a patch|Creating a patch]]<br />
<br />
<!--T:20--><br />
Please help filling this section by<br />
* checking the links at the bottom of the page and see which still have valid content<br />
* write tutorials yourself<br />
<br />
=== Cheat Sheets === <!--T:38--><br />
<br />
<!--T:39--><br />
* [http://cheat.errtheblog.com/s/git Quick reference]<br />
<br />
<!--T:40--><br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet] <br />
(broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])<br />
</translate></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Git&diff=91690Infrastructure/Git2021-04-28T19:48:10Z<p>Nalvarez: /* Browsing */ Mention GitLab instead of cgit</p>
<hr />
<div>[[Category:Needs Attention]]<br />
<br />
This is the hub page for all information about the use of Git by KDE.<br />
<br />
This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.<br />
<br />
<br />
== Git at KDE ==<br />
KDE currently offers code hosting using Git. Additionally, KDE also maintains a limited Subversion infrastructure for certain special projects, such as translations and older websites.<br />
<br />
=== Anonymous access ===<br />
<br />
Both Git and Subversion repositories can be accessed anonymously by anyone. This access takes place from <code>anongit.kde.org</code> and <code>anonsvn.kde.org</code> for Git and Subversion respectively, and grants read-only access to the same repositories which are available to contributors with developer accounts.<br />
<br />
For Git, it is possible to perform clones and fetches over the HTTPS protocol only. The insecure <code>git://</code> protocol is not supported.<br />
<br />
KDE also maintains a mirror of its mainline Git repositories on [https://github.com/kde/ GitHub]. This mirror is read-only, and disables all of GitHub's additional features, such as issues, the wiki, and downloads, in favour of KDE's own hosted services. Additionally, pull requests on these repositories are not accepted, but code changes can always be accepted through KDE's code-review services. And still, GitHub may be used / searched more intuitively than alternatives, e.g. when a particular [https://github.com/KDE/extra-cmake-modules/releases ECM] version is needed, as it will. <br />
<br />
For Subversion, access is only provided over the Subversion protocol. If you are behind a restrictive firewall and need to access the KDE Subversion repository anonymously (and have no other means of network access), please file a [https://go.kde.org/u/systickets ticket].<br />
<br />
=== Pushing ===<br />
<br />
Push or commit access to all KDE code repositories is open to any holder of a KDE developer account, subject to few limitations. This model allows contributors to easily make contributions to all parts of KDE without needing further approval. All commits made to either Git or Subversion are subject to commit hooks which will perform a few quality control checks and can take other actions on behalf of the developer. In the case of both Git and Subversion it is only possible to commit over SSH.<br />
<br />
With KDE Git, it is recommended to use a shortcut to access repositories instead of directly cloning them from the Git server itself. This shortcut allows you to use a local mirror of the repositories, and should improve response times. To setup a <code>kde:</code> shortcut, you should add the following configuration block to <code>~/.config/git/config</code>. If your network blocks the Git protocol, then you can exchange that for HTTP instead.<br />
<br />
<pre>[url &quot;https://anongit.kde.org/&quot;]<br />
insteadOf = kde:<br />
[url &quot;git@git.kde.org:&quot;]<br />
pushInsteadOf = kde:</pre><br />
Once setup as above, you can clone and push to repositories through the URL <code>kde:group/repository</code>.<br />
<br />
As Subversion requires that checkouts you are committing from are made from the same location you are committing to, checkouts should be made from the Subversion server directly. It can be accessed at <code>svn+ssh://svn@svn.kde.org/home/kde/</code>. If you have existing checkouts, you will need to relocate them using the <code>svn switch</code> command before you are able to commit.<br />
<br />
=== Browsing ===<br />
<br />
To allow for quick review of code, web repository browsers exist for both Git and Subversion repositories. Those interested in browsing Subversion should visit [https://websvn.kde.org/ WebSVN], which will contain the latest commits made to the KDE Subversion repository subject to a delay of 10 minutes at maximum.<br />
<br />
In the case of Git, repository browsing is available via [https://invent.kde.org/ GitLab]. Additionally, all mainline repositories are available on [https://github.com/kde GitHub] and can be browsed there. Please note that personal repositories are only browsable on our GitLab, they are not mirrored to GitHub.<br />
<br />
If you need to link to materials which are stored in either Git or Subversion repositories on KDE infrastructure, it is requested that you do not embed the content directly, but simply link to it. Embedding content, such as images, causes significantly higher load on the repository browser servers, making it unavailable for others wishing to use it. This is particularly relevant for blog posts on Planet or any other high traffic web page.<br />
<br />
=== New repositories ===<br />
<br />
To allow for free form development in a manner similar to Subversion did, KDE Git allows personal repositories to be created on demand as needed. Two types of personal repository are available:<br />
<br />
Scratch repositories are created on the fly when a developer pushes to them for the first time, and exist at <code>scratch/username/myRepo</code>. These are recommended for new development work.<br />
<br />
Clone repositories are created by cloning an existing project repository, and exist at <code>clones/project/username/myClone</code>. They are created by running <code>ssh git@git.kde.org clone project myClone</code> where <code>myClone</code> is the name you wish to call your clone, and <code>project</code> is the name of the repository you are cloning.<br />
<br />
Personal repositories can be deleted at any time.<br />
<br />
From time to time it may be necessary to create new project repositories, to contain newly developed applications, migrate existing applications from Subversion or to bring new projects under the KDE umbrella. New repositories can be requested by filing a [https://go.kde.org/u/systickets ticket], and will usually be created at the top level on <code>git.kde.org</code>.<br />
<br />
=== Extra Karma ===<br />
<br />
At times contributors may find it necessary to push or commit to certain repositories or paths which are protected. In this case the server will reject your request with a message such as '''insufficient karma''' or '''access denied'''. This protection is most often applied to repositories which run parts of the infrastructure such as websites or other crucial components.<br />
<br />
If you would like to request access to these protected areas, please file a [https://go.kde.org/u/systickets ticket], mentioning which repositories or paths you are trying to change.<br />
<br />
A complete manual on how to use KDE's Git services, along with some best practices, is available on the [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Community Wiki].<br />
<br />
=== Hooks ===<br />
Kde provides some [[/Hooks |git hooks]] to perform and automatize some actions on push.<br />
<br />
=== Server Fingerprints ===<br />
The SSH host server key fingerprints are as follows for both Git and Subversion access:<br />
<br />
* '''RSA-2048 (MD5)''': <code>f9:54:62:b2:90:f2:dc:08:df:f4:a3:fa:c5:2a:a0:c8</code><br />
* '''RSA-2048 (SHA256)''': <code>eONstlOUy0LjhlkjK90e1/bm95fOqnz8qcUsijWuP0Q</code><br />
* '''ECDSA-256 (MD5)''': <code>23:62:3e:0b:18:f2:5d:e9:66:8a:80:fb:82:53:84:b5</code><br />
* '''ECDSA-256 (SHA256)''': <code>Bvp9zqBBiEf9QdpX09B0PL2CkDa1B64WtkKZyTq7XhM</code><br />
* '''ED25519-256 (MD5)''': <code>f3:17:e5:0b:79:16:2b:73:45:fa:5d:23:24:eb:33:40</code><br />
* '''ED25519-256 (SHA256)''': <code>x8pnmJ/gZmuw68V+wJUlT3MreIzPACzKmd/Ybei9gBA</code><br />
<br />
== Resources == <!--T:21--><br />
<br />
<!--T:22--><br />
Links to useful external sites about Git<br />
<br />
=== Official Documentation === <!--T:23--><br />
<br />
<!--T:24--><br />
* [http://git-scm.com/documentation Links to git official documentation]<br />
<br />
=== Git for SVN Users === <!--T:25--><br />
<br />
<!--T:26--><br />
* [http://git-scm.com/course/svn.html The git-svn Crash Course]<br />
<br />
=== Git books === <!--T:27--><br />
<br />
<!--T:28--><br />
* [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).<br />
<br />
<!--T:30--><br />
* [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]<br />
<br />
=== Tutorials === <!--T:32--><br />
<br />
<!--T:33--><br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!) <br />
<br />
<!--T:35--><br />
*[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]<br />
- Essential reading if you want to truly understand git.<br />
<br />
<!--T:37--><br />
* [http://www.gitcasts.com/ Git Screencasts]<br />
<br />
<!--T:95--><br />
* [http://try.github.io/ tryGit] A 15 minute online interactive tutorial<br />
<br />
=== KDE's Git Infrastructure ===<br />
<br />
The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.<br />
<br />
<!--T:91--><br />
For more information on how the KDE Git Repositories are organized, please see the [[Guidelines_and_HOWTOs/Build_from_source|Build from source]] page.<br />
<br />
<!--T:94--><br />
Other:<br />
* The new [[Policies/Commit Policy|Commit Policy]] is being reviewed, applied to both SVN and Git.<br />
* [[/GitHub Mirror/]] has been created and policy is in development (Sep 2015).<br />
<br />
=== KDE Git Recipes === <!--T:12--><br />
<br />
<!--T:13--><br />
Short recipes for using Git with the KDE infrastructure.<br />
<br />
<!--T:14--><br />
Please see the [[Special:myLanguage/Infrastructure/Git/Recipes|Git Recipes page]].<br />
<br />
=== KDE Git Tutorials === <!--T:16--><br />
<br />
<!--T:17--><br />
More in-depth instructions in using Git.<br />
<br />
<!--T:18--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]<br />
<br />
<!--T:19--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/Create a patch|Creating a patch]]<br />
<br />
<!--T:20--><br />
Please help filling this section by<br />
* checking the links at the bottom of the page and see which still have valid content<br />
* write tutorials yourself<br />
<br />
=== Cheat Sheets === <!--T:38--><br />
<br />
<!--T:39--><br />
* [http://cheat.errtheblog.com/s/git Quick reference]<br />
<br />
<!--T:40--><br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet] <br />
(broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])<br />
</translate></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Git&diff=91689Infrastructure/Git2021-04-28T19:46:54Z<p>Nalvarez: minor clarifications</p>
<hr />
<div>[[Category:Needs Attention]]<br />
<br />
This is the hub page for all information about the use of Git by KDE.<br />
<br />
This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.<br />
<br />
<br />
== Git at KDE ==<br />
KDE currently offers code hosting using Git. Additionally, KDE also maintains a limited Subversion infrastructure for certain special projects, such as translations and older websites.<br />
<br />
=== Anonymous access ===<br />
<br />
Both Git and Subversion repositories can be accessed anonymously by anyone. This access takes place from <code>anongit.kde.org</code> and <code>anonsvn.kde.org</code> for Git and Subversion respectively, and grants read-only access to the same repositories which are available to contributors with developer accounts.<br />
<br />
For Git, it is possible to perform clones and fetches over the HTTPS protocol only. The insecure <code>git://</code> protocol is not supported.<br />
<br />
KDE also maintains a mirror of its mainline Git repositories on [https://github.com/kde/ GitHub]. This mirror is read-only, and disables all of GitHub's additional features, such as issues, the wiki, and downloads, in favour of KDE's own hosted services. Additionally, pull requests on these repositories are not accepted, but code changes can always be accepted through KDE's code-review services. And still, GitHub may be used / searched more intuitively than alternatives, e.g. when a particular [https://github.com/KDE/extra-cmake-modules/releases ECM] version is needed, as it will. <br />
<br />
For Subversion, access is only provided over the Subversion protocol. If you are behind a restrictive firewall and need to access the KDE Subversion repository anonymously (and have no other means of network access), please file a [https://go.kde.org/u/systickets ticket].<br />
<br />
=== Pushing ===<br />
<br />
Push or commit access to all KDE code repositories is open to any holder of a KDE developer account, subject to few limitations. This model allows contributors to easily make contributions to all parts of KDE without needing further approval. All commits made to either Git or Subversion are subject to commit hooks which will perform a few quality control checks and can take other actions on behalf of the developer. In the case of both Git and Subversion it is only possible to commit over SSH.<br />
<br />
With KDE Git, it is recommended to use a shortcut to access repositories instead of directly cloning them from the Git server itself. This shortcut allows you to use a local mirror of the repositories, and should improve response times. To setup a <code>kde:</code> shortcut, you should add the following configuration block to <code>~/.config/git/config</code>. If your network blocks the Git protocol, then you can exchange that for HTTP instead.<br />
<br />
<pre>[url &quot;https://anongit.kde.org/&quot;]<br />
insteadOf = kde:<br />
[url &quot;git@git.kde.org:&quot;]<br />
pushInsteadOf = kde:</pre><br />
Once setup as above, you can clone and push to repositories through the URL <code>kde:group/repository</code>.<br />
<br />
As Subversion requires that checkouts you are committing from are made from the same location you are committing to, checkouts should be made from the Subversion server directly. It can be accessed at <code>svn+ssh://svn@svn.kde.org/home/kde/</code>. If you have existing checkouts, you will need to relocate them using the <code>svn switch</code> command before you are able to commit.<br />
<br />
=== Browsing ===<br />
<br />
To allow for quick review of code, web repository browsers exist for both Git and Subversion repositories. Those interested in browsing Subversion should visit [https://websvn.kde.org/ WebSVN], which will contain the latest commits made to the KDE Subversion repository subject to a delay of 10 minutes at maximum.<br />
<br />
In the case of Git, repository browsing is available via [https://cgit.kde.org/ cgit]. Additionally, all mainline repositories are available on [https://github.com/kde GitHub] and can be browsed there. Please note that scratch and clone repositories are only browsable on cgit.<br />
<br />
If you need to link to materials which are stored in either Git or Subversion repositories on KDE infrastructure, it is requested that you do not embed the content directly, but simply link to it. Embedding content causes significantly higher load on the repository browser servers, making it unavailable for others wishing to use it. This is particularly relevant for blog posts on Planet or any other high traffic web page.<br />
<br />
=== New repositories ===<br />
<br />
To allow for free form development in a manner similar to Subversion did, KDE Git allows personal repositories to be created on demand as needed. Two types of personal repository are available:<br />
<br />
Scratch repositories are created on the fly when a developer pushes to them for the first time, and exist at <code>scratch/username/myRepo</code>. These are recommended for new development work.<br />
<br />
Clone repositories are created by cloning an existing project repository, and exist at <code>clones/project/username/myClone</code>. They are created by running <code>ssh git@git.kde.org clone project myClone</code> where <code>myClone</code> is the name you wish to call your clone, and <code>project</code> is the name of the repository you are cloning.<br />
<br />
Personal repositories can be deleted at any time.<br />
<br />
From time to time it may be necessary to create new project repositories, to contain newly developed applications, migrate existing applications from Subversion or to bring new projects under the KDE umbrella. New repositories can be requested by filing a [https://go.kde.org/u/systickets ticket], and will usually be created at the top level on <code>git.kde.org</code>.<br />
<br />
=== Extra Karma ===<br />
<br />
At times contributors may find it necessary to push or commit to certain repositories or paths which are protected. In this case the server will reject your request with a message such as '''insufficient karma''' or '''access denied'''. This protection is most often applied to repositories which run parts of the infrastructure such as websites or other crucial components.<br />
<br />
If you would like to request access to these protected areas, please file a [https://go.kde.org/u/systickets ticket], mentioning which repositories or paths you are trying to change.<br />
<br />
A complete manual on how to use KDE's Git services, along with some best practices, is available on the [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Community Wiki].<br />
<br />
=== Hooks ===<br />
Kde provides some [[/Hooks |git hooks]] to perform and automatize some actions on push.<br />
<br />
=== Server Fingerprints ===<br />
The SSH host server key fingerprints are as follows for both Git and Subversion access:<br />
<br />
* '''RSA-2048 (MD5)''': <code>f9:54:62:b2:90:f2:dc:08:df:f4:a3:fa:c5:2a:a0:c8</code><br />
* '''RSA-2048 (SHA256)''': <code>eONstlOUy0LjhlkjK90e1/bm95fOqnz8qcUsijWuP0Q</code><br />
* '''ECDSA-256 (MD5)''': <code>23:62:3e:0b:18:f2:5d:e9:66:8a:80:fb:82:53:84:b5</code><br />
* '''ECDSA-256 (SHA256)''': <code>Bvp9zqBBiEf9QdpX09B0PL2CkDa1B64WtkKZyTq7XhM</code><br />
* '''ED25519-256 (MD5)''': <code>f3:17:e5:0b:79:16:2b:73:45:fa:5d:23:24:eb:33:40</code><br />
* '''ED25519-256 (SHA256)''': <code>x8pnmJ/gZmuw68V+wJUlT3MreIzPACzKmd/Ybei9gBA</code><br />
<br />
== Resources == <!--T:21--><br />
<br />
<!--T:22--><br />
Links to useful external sites about Git<br />
<br />
=== Official Documentation === <!--T:23--><br />
<br />
<!--T:24--><br />
* [http://git-scm.com/documentation Links to git official documentation]<br />
<br />
=== Git for SVN Users === <!--T:25--><br />
<br />
<!--T:26--><br />
* [http://git-scm.com/course/svn.html The git-svn Crash Course]<br />
<br />
=== Git books === <!--T:27--><br />
<br />
<!--T:28--><br />
* [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).<br />
<br />
<!--T:30--><br />
* [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]<br />
<br />
=== Tutorials === <!--T:32--><br />
<br />
<!--T:33--><br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!) <br />
<br />
<!--T:35--><br />
*[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]<br />
- Essential reading if you want to truly understand git.<br />
<br />
<!--T:37--><br />
* [http://www.gitcasts.com/ Git Screencasts]<br />
<br />
<!--T:95--><br />
* [http://try.github.io/ tryGit] A 15 minute online interactive tutorial<br />
<br />
=== KDE's Git Infrastructure ===<br />
<br />
The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.<br />
<br />
<!--T:91--><br />
For more information on how the KDE Git Repositories are organized, please see the [[Guidelines_and_HOWTOs/Build_from_source|Build from source]] page.<br />
<br />
<!--T:94--><br />
Other:<br />
* The new [[Policies/Commit Policy|Commit Policy]] is being reviewed, applied to both SVN and Git.<br />
* [[/GitHub Mirror/]] has been created and policy is in development (Sep 2015).<br />
<br />
=== KDE Git Recipes === <!--T:12--><br />
<br />
<!--T:13--><br />
Short recipes for using Git with the KDE infrastructure.<br />
<br />
<!--T:14--><br />
Please see the [[Special:myLanguage/Infrastructure/Git/Recipes|Git Recipes page]].<br />
<br />
=== KDE Git Tutorials === <!--T:16--><br />
<br />
<!--T:17--><br />
More in-depth instructions in using Git.<br />
<br />
<!--T:18--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]<br />
<br />
<!--T:19--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/Create a patch|Creating a patch]]<br />
<br />
<!--T:20--><br />
Please help filling this section by<br />
* checking the links at the bottom of the page and see which still have valid content<br />
* write tutorials yourself<br />
<br />
=== Cheat Sheets === <!--T:38--><br />
<br />
<!--T:39--><br />
* [http://cheat.errtheblog.com/s/git Quick reference]<br />
<br />
<!--T:40--><br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet] <br />
(broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])<br />
</translate></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Git&diff=91688Infrastructure/Git2021-04-28T19:43:54Z<p>Nalvarez: Remove translation tags; we don't have translatewiki in Community</p>
<hr />
<div>[[Category:Needs Attention]]<br />
<br />
This is the hub page for all information about the use of Git by KDE.<br />
<br />
This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.<br />
<br />
<br />
== Git at KDE ==<br />
KDE currently offers code hosting using Git. Additionally, KDE also maintains a limited Subversion infrastructure for certain special projects, such as translations and older websites.<br />
<br />
=== Anonymous access ===<br />
<br />
Both Git and Subversion repositories can be accessed anonymously by anyone. This access takes place from <code>anongit.kde.org</code> and <code>anonsvn.kde.org</code> for Git and Subversion respectively, and grants read only access to the same repositories which are available to contributors with developer accounts.<br />
<br />
For Git, it is possible to perform clones and fetches over the HTTPS protocol only.<br />
<br />
KDE also maintains a mirror of its mainline Git repositories on [https://github.com/kde/ GitHub]. This mirror is read-only, and disables all of GitHub's additional features, such as issues, the wiki, and downloads, in favour of KDE's own hosted services. Additionally, pull requests on these repositories are not accepted, but code changes can always be accepted through KDE's code-review services. And still, GitHub may be used / searched more intuitively than alternatives, e.g. when a particular [https://github.com/KDE/extra-cmake-modules/releases ECM] version is needed, as it will. <br />
<br />
For Subversion, access is only provided over the Subversion protocol. If you are behind a restrictive firewall and need to access the KDE Subversion repository anonymously (and have no other means of network access), please file a [https://go.kde.org/u/systickets ticket].<br />
<br />
=== Pushing ===<br />
<br />
Push or commit access to all KDE code repositories is open to any holder of a KDE developer account, subject to few limitations. This model allows contributors to easily make contributions to all parts of KDE without needing further approval. All commits made to either Git or Subversion are subject to commit hooks which will perform a few quality control checks and can take other actions on behalf of the developer. In the case of both Git and Subversion it is only possible to commit over SSH.<br />
<br />
With KDE Git, it is recommended to use a shortcut to access repositories instead of directly cloning them from the Git server itself. This shortcut allows you to use a local mirror of the repositories, and should improve response times. To setup a <code>kde:</code> shortcut, you should add the following configuration block to <code>~/.config/git/config</code>. If your network blocks the Git protocol, then you can exchange that for HTTP instead.<br />
<br />
<pre>[url &quot;https://anongit.kde.org/&quot;]<br />
insteadOf = kde:<br />
[url &quot;git@git.kde.org:&quot;]<br />
pushInsteadOf = kde:</pre><br />
Once setup as above, you can clone and push to repositories through the URL <code>kde:repository</code>.<br />
<br />
As Subversion requires that checkouts you are committing from are made from the same location you are committing to, checkouts should be made from the Subversion server directly. It can be accessed at <code>svn+ssh://svn@svn.kde.org/home/kde/</code>. If you have existing checkouts, you will need to relocate them using the <code>svn switch</code> command before you are able to commit.<br />
<br />
=== Browsing ===<br />
<br />
To allow for quick review of code, web repository browsers exist for both Git and Subversion repositories. Those interested in browsing Subversion should visit [https://websvn.kde.org/ WebSVN], which will contain the latest commits made to the KDE Subversion repository subject to a delay of 10 minutes at maximum.<br />
<br />
In the case of Git, repository browsing is available via [https://cgit.kde.org/ cgit]. Additionally, all mainline repositories are available on [https://github.com/kde GitHub] and can be browsed there. Please note that scratch and clone repositories are only browsable on cgit.<br />
<br />
If you need to link to materials which are stored in either Git or Subversion repositories on KDE infrastructure, it is requested that you do not embed the content directly, but simply link to it. Embedding content causes significantly higher load on the repository browser servers, making it unavailable for others wishing to use it. This is particularly relevant for blog posts on Planet or any other high traffic web page.<br />
<br />
=== New repositories ===<br />
<br />
To allow for free form development in a manner similar to Subversion did, KDE Git allows personal repositories to be created on demand as needed. Two types of personal repository are available:<br />
<br />
Scratch repositories are created on the fly when a developer pushes to them for the first time, and exist at <code>scratch/username/myRepo</code>. These are recommended for new development work.<br />
<br />
Clone repositories are created by cloning an existing project repository, and exist at <code>clones/project/username/myClone</code>. They are created by running <code>ssh git@git.kde.org clone project myClone</code> where <code>myClone</code> is the name you wish to call your clone, and <code>project</code> is the name of the repository you are cloning.<br />
<br />
Personal repositories can be deleted at any time.<br />
<br />
From time to time it may be necessary to create new project repositories, to contain newly developed applications, migrate existing applications from Subversion or to bring new projects under the KDE umbrella. New repositories can be requested by filing a [https://go.kde.org/u/systickets ticket], and will usually be created at the top level on <code>git.kde.org</code>.<br />
<br />
=== Extra Karma ===<br />
<br />
At times contributors may find it necessary to push or commit to certain repositories or paths which are protected. In this case the server will reject your request with a message such as '''insufficient karma''' or '''access denied'''. This protection is most often applied to repositories which run parts of the infrastructure such as websites or other crucial components.<br />
<br />
If you would like to request access to these protected areas, please file a [https://go.kde.org/u/systickets ticket], mentioning which repositories or paths you are trying to change.<br />
<br />
A complete manual on how to use KDE's Git services, along with some best practices, is available on the [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Community Wiki].<br />
<br />
=== Hooks ===<br />
Kde provides some [[/Hooks |git hooks]] to perform and automatize some actions on push.<br />
<br />
=== Server Fingerprints ===<br />
The SSH host server key fingerprints are as follows for both Git and Subversion access:<br />
<br />
* '''RSA-2048 (MD5)''': <code>f9:54:62:b2:90:f2:dc:08:df:f4:a3:fa:c5:2a:a0:c8</code><br />
* '''RSA-2048 (SHA256)''': <code>eONstlOUy0LjhlkjK90e1/bm95fOqnz8qcUsijWuP0Q</code><br />
* '''ECDSA-256 (MD5)''': <code>23:62:3e:0b:18:f2:5d:e9:66:8a:80:fb:82:53:84:b5</code><br />
* '''ECDSA-256 (SHA256)''': <code>Bvp9zqBBiEf9QdpX09B0PL2CkDa1B64WtkKZyTq7XhM</code><br />
* '''ED25519-256 (MD5)''': <code>f3:17:e5:0b:79:16:2b:73:45:fa:5d:23:24:eb:33:40</code><br />
* '''ED25519-256 (SHA256)''': <code>x8pnmJ/gZmuw68V+wJUlT3MreIzPACzKmd/Ybei9gBA</code><br />
<br />
== Resources == <!--T:21--><br />
<br />
<!--T:22--><br />
Links to useful external sites about Git<br />
<br />
=== Official Documentation === <!--T:23--><br />
<br />
<!--T:24--><br />
* [http://git-scm.com/documentation Links to git official documentation]<br />
<br />
=== Git for SVN Users === <!--T:25--><br />
<br />
<!--T:26--><br />
* [http://git-scm.com/course/svn.html The git-svn Crash Course]<br />
<br />
=== Git books === <!--T:27--><br />
<br />
<!--T:28--><br />
* [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).<br />
<br />
<!--T:30--><br />
* [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]<br />
<br />
=== Tutorials === <!--T:32--><br />
<br />
<!--T:33--><br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!) <br />
<br />
<!--T:35--><br />
*[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]<br />
- Essential reading if you want to truly understand git.<br />
<br />
<!--T:37--><br />
* [http://www.gitcasts.com/ Git Screencasts]<br />
<br />
<!--T:95--><br />
* [http://try.github.io/ tryGit] A 15 minute online interactive tutorial<br />
<br />
=== KDE's Git Infrastructure ===<br />
<br />
The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.<br />
<br />
<!--T:91--><br />
For more information on how the KDE Git Repositories are organized, please see the [[Guidelines_and_HOWTOs/Build_from_source|Build from source]] page.<br />
<br />
<!--T:94--><br />
Other:<br />
* The new [[Policies/Commit Policy|Commit Policy]] is being reviewed, applied to both SVN and Git.<br />
* [[/GitHub Mirror/]] has been created and policy is in development (Sep 2015).<br />
<br />
=== KDE Git Recipes === <!--T:12--><br />
<br />
<!--T:13--><br />
Short recipes for using Git with the KDE infrastructure.<br />
<br />
<!--T:14--><br />
Please see the [[Special:myLanguage/Infrastructure/Git/Recipes|Git Recipes page]].<br />
<br />
=== KDE Git Tutorials === <!--T:16--><br />
<br />
<!--T:17--><br />
More in-depth instructions in using Git.<br />
<br />
<!--T:18--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]<br />
<br />
<!--T:19--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/Create a patch|Creating a patch]]<br />
<br />
<!--T:20--><br />
Please help filling this section by<br />
* checking the links at the bottom of the page and see which still have valid content<br />
* write tutorials yourself<br />
<br />
=== Cheat Sheets === <!--T:38--><br />
<br />
<!--T:39--><br />
* [http://cheat.errtheblog.com/s/git Quick reference]<br />
<br />
<!--T:40--><br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet] <br />
(broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])<br />
</translate></div>Nalvarezhttps://community.kde.org/index.php?title=Releases/21.04_Release_Notes&diff=91293Releases/21.04 Release Notes2021-03-12T23:23:38Z<p>Nalvarez: Recreate this page as a redirect</p>
<hr />
<div>#REDIRECT [[KDE_Gear/21.04_Release_notes]]</div>Nalvarezhttps://community.kde.org/index.php?title=Telegram&diff=91065Telegram2021-02-11T03:59:07Z<p>Nalvarez: Add new kdeplanet channel</p>
<hr />
<div>'''Telegram''' is a real-time chat program, similar to instant messages and [[Internet Relay Chat | IRC]]. Telegram offers a mobile, desktop and [https://web.telegram.org web client]. You can install the Telegram desktop client using the [https://userbase.kde.org/Discover KDE Discover Software Store] or using the command line, which differs based on which GNU/Linux distribution you're using:<br />
<br />
* Arch/Antergos/Manjaro: <code>sudo pacman -S telegram-desktop</code><br />
* Debian/Ubuntu/Kubuntu/KDE Neon: <code>sudo apt install telegram-desktop</code><br />
* Fedora: <code>sudo dnf install telegram-desktop</code><br />
* Gentoo: <code>sudo emerge telegram-desktop-bin</code><br />
* openSUSE: <code>sudo zypper install telegram-desktop</code><br />
* Flatpak: <code>flatpak install flathub org.telegram.desktop</code><br />
<br />
==Telegram Channels==<br />
* [https://telegram.me/kdenews KDE Announcements] (no activity since 2016)<br />
* [https://telegram.me/kdesysadmin KDE Sysadmin News]<br />
* [https://telegram.me/kdeplanet Planet KDE]<br />
* In Spanish - En español<br />
** [https://t.me/kdeblog Kdeblog] es un blog sobre el Software Libre centrado en la Comunidad KDE<br />
<br />
==Telegram Groups==<br />
Most groups are bridged to the corresponding IRC channel, so if you only join the Telegram group you will also see messages from the IRC channel, and vice-versa.<br />
<br />
===Community===<br />
* [https://t.me/kdeplasma KDE Plasma] users group<br />
* [https://telegram.me/joinchat/A-9tjgavn9YJ2myF1aTK4A KDE-Soc] for all GSoC, GCi and SoK students, mentors, mentees and admins<br />
* [https://t.me/KDEAkademy Akademy Attendees] for all people attending Akademy<br />
<br />
===Development===<br />
* [https://telegram.me/joinchat/BwCsygZhPebf8SrpG_9RpQ KDevelop Development]<br />
* [https://telegram.me/joinchat/BeJ1b0AX55656i_VI_amOQ Atelier - The KDE printer host for 3DPrinting] (invitation doesn't work)<br />
* Kontact: @KDE-Kontact or https://t.me/KDE_Kontact <br />
* [https://t.me/joinchat/AOS6gA37orb2dZCLhqbZjg KDE Connect]<br />
* [https://t.me/kdenlive_dev Kdenlive Development]<br />
* [https://t.me/plasmamobile Plasma Mobile]<br />
* [https://t.me/KDEWeb KDE Web]<br />
* [https://t.me/KDEWindows KDE Windows]<br />
* [https://t.me/KDESysadminDiscuss Sysadmin Discussion]<br />
<br />
===Applications===<br />
* [https://t.me/kdenlive Kdenlive]<br />
* [https://t.me/kexi_project KEXI]<br />
* [https://t.me/kde_kirogi Kirogi]<br />
* [https://t.me/kdebasket Basket]<br />
<br />
===Visual Design Group===<br />
* [https://telegram.me/vdgmainroom Main VDG room]<br />
* [https://t.me/breezeicons Breeze Icons room]<br />
* [https://telegram.me/joinchat/BbOuVj6l7b5aZ_WbupyFFw Kirigami]<br />
* [https://t.me/mauiproject Maui]<br />
<br />
===KDE Promo===<br />
* [https://t.me/joinchat/AEyx-0O8HKlHV7Cg7ZoSyA Main KDE Promo group] for contributors<br />
<br />
===Localization===<br />
* [https://t.me/kdel10nptbr Brazilian Portuguese]<br />
* Galician: Proxecto Trasno (no link due to spam)<br />
* [https://t.me/kde_ru Russian]<br />
<br />
==WikiToLearn==<br />
WikiToLearn has its list of channels/groups [http://meta.wikitolearn.org/Communication_channels here].<br />
* [https://t.me/wikitolearn WikiToLearn]<br />
{{Note|1=Non-profit community and an open source project, which wants to provide free and collaborative textbooks with the help of the world of University and Academia}}<br />
==Distributions==<br />
* Kubuntu<br />
** [https://web.telegram.org/#/im?p=@kubuntuofficial Kubuntu News] (doesn't exist)<br />
** [https://telegram.me/joinchat/Bpq8FwCyZ1kDx_bXTJGwqw Kubuntu Support]. Ask to be invited to other channels. (Kubuntu Cafe)<br />
** [https://t.me/kubuntu_support Kubuntu support]<br />
** [https://t.me/Kubuntues Kubuntu en Español] (in Spanish - en Español)<br />
** [https://t.me/KubuntuBrasil Kubuntu Brasil]<br />
<br />
* KDE neon<br />
** [https://telegram.me/kdeneon KDE Neon]<br />
** [https://t.me/kdeneones KDE neon ES] (in Spanish - en Español)<br />
** [https://t.me/kdeneonbrasil KDE neon Brasil]<br />
* Chakra<br />
** [https://telegram.me/chakra_community Chakra] (doesn't exist)<br />
* openSUSE<br />
** [https://t.me/openSUSE_group openSUSE] general group<br />
** [https://t.me/openSUSE_ES openSUSE Español] general group in Spanish - en Español<br />
<br />
== Local ==<br />
* Brazil<br />
** [https://t.me/kdebrasil KDE-Brasil] - Brazilian KDE community<br />
** [https://t.me/KdeBrasilDesenvolvimento KDE Brasil Desenvolvimento] - Brazilian KDE development group<br />
** [https://t.me/komunidade Komunidade] - Offtopic/customization chat about KDE<br />
** [https://t.me/kritabrasil Krita Brasil] - General Krita group<br />
* Greece<br />
** [https://t.me/kdeel KDE in Greek] (group not found) <!-- is it kdegreece?--><br />
* Russia<br />
** [https://t.me/kde_ru KDE Russia] - Russian KDE community - российское сообщество<br />
* Spanish<br />
** [https://t.me/kde_canasbravas KDE Spanish] - Spanish-speaking KDE community<br />
* India<br />
** [https://t.me/kde_india KDE India] - Indian KDE community</div>Nalvarezhttps://community.kde.org/index.php?title=Telegram&diff=90198Telegram2020-09-15T00:30:25Z<p>Nalvarez: /* Telegram Channels */ Remove planetkde</p>
<hr />
<div>'''Telegram''' is a real-time chat program, similar to instant messages and [[Internet Relay Chat | IRC]]. Telegram offers a mobile, desktop and [https://web.telegram.org web client]. You can install the Telegram desktop client using the [https://userbase.kde.org/Discover KDE Discover Software Store] or using the command line, which differs based on which GNU/Linux distribution you're using:<br />
<br />
* Arch/Antergos/Manjaro: <code>sudo pacman -S telegram-desktop</code><br />
* Debian/Ubuntu/Kubuntu/KDE Neon: <code>sudo apt install telegram-desktop</code><br />
* Fedora: <code>sudo dnf install telegram-desktop</code><br />
* Gentoo: <code>sudo emerge telegram-desktop-bin</code><br />
* openSUSE: <code>sudo zypper install telegram-desktop</code><br />
* Flatpak: <code>flatpak install flathub org.telegram.desktop</code><br />
<br />
==Telegram Channels==<br />
* [https://telegram.me/kdenews KDE Announcements] (no activity since 2016)<br />
* [https://telegram.me/kdesysadmin KDE Sysadmin News]<br />
<!-- * [https://telegram.me/planetkde Planet KDE] we somehow lost control of this one --><br />
* In Spanish - En español<br />
** [https://t.me/kdeblog Kdeblog] es un blog sobre el Software Libre centrado en la Comunidad KDE<br />
<br />
==Telegram Groups==<br />
Most groups are bridged to the corresponding IRC channel, so if you only join the Telegram group you will also see messages from the IRC channel, and vice-versa.<br />
<br />
===Community===<br />
* [https://t.me/kdeplasma KDE Plasma] users group<br />
* [https://telegram.me/joinchat/A-9tjgavn9YJ2myF1aTK4A KDE-Soc] for all GSoC, GCi and SoK students, mentors, mentees and admins<br />
* [https://t.me/KDEAkademy Akademy Attendees] for all people attending Akademy<br />
<br />
===Development===<br />
* [https://telegram.me/joinchat/BwCsygZhPebf8SrpG_9RpQ KDevelop Development]<br />
* [https://telegram.me/joinchat/BeJ1b0AX55656i_VI_amOQ Atelier - The KDE printer host for 3DPrinting] (invitation doesn't work)<br />
* Kontact: @KDE-Kontact or https://t.me/KDE_Kontact <br />
* [https://t.me/joinchat/AOS6gA37orb2dZCLhqbZjg KDE Connect]<br />
* [https://t.me/kdenlive_dev Kdenlive Development]<br />
* [https://t.me/plasmamobile Plasma Mobile]<br />
* [https://t.me/KDEWeb KDE Web]<br />
* [https://t.me/KDEWindows KDE Windows]<br />
* [https://t.me/KDESysadminDiscuss Sysadmin Discussion]<br />
<br />
===Applications===<br />
* [https://t.me/kdenlive Kdenlive]<br />
* [https://t.me/kexi_project KEXI]<br />
* [https://t.me/kde_kirogi Kirogi]<br />
* [https://t.me/kdebasket Basket]<br />
<br />
===Visual Design Group===<br />
* [https://telegram.me/vdgmainroom Main VDG room]<br />
* [https://t.me/breezeicons Breeze Icons room]<br />
* [https://telegram.me/joinchat/BbOuVj6l7b5aZ_WbupyFFw Kirigami]<br />
* [https://t.me/mauiproject Maui]<br />
<br />
===KDE Promo===<br />
* [https://t.me/joinchat/AEyx-0O8HKlHV7Cg7ZoSyA Main KDE Promo group] for contributors<br />
<br />
===Localization===<br />
* [https://t.me/kdel10nptbr Brazilian Portuguese]<br />
* Galician: Proxecto Trasno (no link due to spam)<br />
* [https://t.me/kde_ru Russian]<br />
<br />
==WikiToLearn==<br />
WikiToLearn has its list of channels/groups [http://meta.wikitolearn.org/Communication_channels here].<br />
* [https://t.me/wikitolearn WikiToLearn]<br />
{{Note|1=Non-profit community and an open source project, which wants to provide free and collaborative textbooks with the help of the world of University and Academia}}<br />
==Distributions==<br />
* Kubuntu<br />
** [https://web.telegram.org/#/im?p=@kubuntuofficial Kubuntu News] (doesn't exist)<br />
** [https://telegram.me/joinchat/Bpq8FwCyZ1kDx_bXTJGwqw Kubuntu Support]. Ask to be invited to other channels. (Kubuntu Cafe)<br />
** [https://t.me/kubuntu_support Kubuntu support]<br />
** [https://t.me/Kubuntues Kubuntu en Español] (in Spanish - en Español)<br />
** [https://t.me/KubuntuBrasil Kubuntu Brasil]<br />
<br />
* KDE neon<br />
** [https://telegram.me/kdeneon KDE Neon]<br />
** [https://t.me/kdeneones KDE neon ES] (in Spanish - en Español)<br />
** [https://t.me/kdeneonbrasil KDE neon Brasil]<br />
* Chakra<br />
** [https://telegram.me/chakra_community Chakra] (doesn't exist)<br />
* openSUSE<br />
** [https://t.me/openSUSE_group openSUSE] general group<br />
** [https://t.me/openSUSE_ES openSUSE Español] general group in Spanish - en Español<br />
<br />
== Local ==<br />
* Brazil<br />
** [https://t.me/kdebrasil KDE-Brasil] - Brazilian KDE community<br />
** [https://t.me/KdeBrasilDesenvolvimento KDE Brasil Desenvolvimento] - Brazilian KDE development group<br />
** [https://t.me/komunidade Komunidade] - Offtopic/customization chat about KDE<br />
** [https://t.me/kritabrasil Krita Brasil] - General Krita group<br />
* Greece<br />
** [https://t.me/kdeel KDE in Greek] (group not found) <!-- is it kdegreece?--><br />
* Russia<br />
** [https://t.me/kde_ru KDE Russia] - Russian KDE community - российское сообщество<br />
* Spanish<br />
** [https://t.me/kde_canasbravas KDE Spanish] - Spanish-speaking KDE community<br />
* India<br />
** [https://t.me/kde_india KDE India] - Indian KDE community</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/Awards&diff=90172Akademy/Awards2020-09-11T23:30:13Z<p>Nalvarez: Add 2020 award info, commented out until someone reviews</p>
<hr />
<div>Each year the KDE Community awards contributors the Akademy Awards, who have made a special contribution recently. The judges for the awards are the winners from the previous year.<br />
<br />
There are 3 awards:<br />
<br />
* Best application<br />
* Best non-application contribution<br />
* Jury award<br />
<br />
<!--<br />
== 2020 ==<br />
* Best Application: '''Bhushan Shah''' for creating an entirely new platform for our applications: Plasma Mobile<br />
* Best Non-Application: '''Carl Schwan''' for their work on KDE's web presence<br />
* Jury's Award: '''Luigi Toscano''' for their many years of contributions to KDE's localization efforts and infrastructure<br />
<br />
--><br />
== 2019 ==<br />
<br />
* Best Application: '''Marco Martin''' for work on the Kirigami framework<br />
* Best Non-Application: '''Nate Graham''' for persistent work on the "KDE Usability & Productivity" blog<br />
* Jury's Awards: '''Volker Krause''' for long term contributions to KDE including; KNode, KDE PIM, KDE Itinerary and the UserFeedback framework<br />
<br />
== 2018 ==<br />
<br />
* Best Application: '''Aditya Mehra''' for work on the Mycroft integration providing KDE with a free speech assistant which is free as in freedom<br />
* Best Non-Application: '''Valorie Zimmerman''' for work driving KDE's mentoring programs and the Community Working Group, and being one of KDE's good souls<br />
* Jury's Awards:<br />
** '''Sebastian Kügler''' for many years of relentless hacking and more (Plasma, KDE Marketing, years in the KDE e.V. Board)<br />
**'''David Edmundson''' for work on Telepathy, porting applications to Frameworks 5, Plasma, KWin, KWayland, and being the crazy guy around<br />
** '''Mario Fux''' for supporting KDE over many years through organizing the Randa meetings<br />
<br />
== [https://dot.kde.org/2017/07/24/akademy-awards-2017 2017] ==<br />
<br />
* Best Application: '''Kai Uwe Broulik''' for his valuable work on Plasma<br />
* Best Non-Application: '''Cornelius Schumacher''' for his long term contributions to KDE<br />
* Jury's Award: '''Martin Konold & Olaf Schmidt-Wischhöfer''' for their work on the KDE Free Qt Foundation<br />
<br />
== [https://dot.kde.org/2016/09/04/akademy-awards-2016 2016] ==<br />
<br />
* Best Application: '''Dominik Haumann''' and '''Christoph Cullmann''' for their work making Kate and the related parts<br />
* Best Non-Application: '''Aleix Pol''' for his work not just on KDE code but also on the community with KDE e.V. as a board member and KDE España<br />
* Jury's Award: '''Daniel Vrátil''' and the KDE PIMsters for creating and maintaining the largest suite of communication applications in the world<br />
<br />
== [https://dot.kde.org/2015/07/26/akademy-talks-day-2 2015] ==<br />
<br />
* Best Application: '''Milian Wolff''' and the KDevelop team for their work on KDevelop<br />
* Best Non-Application: '''Jens Reuterberg''' & the Visual Design Group for The Breeze interface design<br />
* Jury's Award: '''Albert Vaca''' for the KDE Connect application.<br />
* Jury's Award: '''Scarlett Clark''' for her work advancing the continuous integration infrastructure to more platforms and modules<br />
<br />
== [https://dot.kde.org/2014/09/08/akademy-award-winners-2014 2014] ==<br />
<br />
* Best Application: '''Jean-Baptiste Mardelle''' for his work on Kdenlive<br />
* Best Non-Application: '''Michael Pyne''' for eleven years of kdesrc-build <br />
* Jury's Award: '''Ben Cooksley''' for planning out our systems and keeping them running smoothly<br />
<br />
== [http://dot.kde.org/2013/07/15/akademy-2013-day-two 2013] ==<br />
<br />
* Best Application: '''Eike Hein''' for his work on Konversation<br />
* Best Non-Application: '''Vishesh Handa''' for taking over the Nepomuk maintainer hat and rocking at stabilizing the beast<br />
* Jury's Award: '''Timothee Giet''' for shaping the future and community of Krita<br />
* Jury's Award: '''Kenny Duffus''' for being the memory and soul of Akademy<br />
<br />
== [http://dot.kde.org/2012/07/05/akademy-2012-second-helpings 2012] ==<br />
<br />
* Best Application: '''Camilla Boemann''' for her work on Calligra Words<br />
* Best Non-Application: '''Lydia Pintscher''' for her huge work within KDE and especially on the GSOC/SOK-project<br />
* Jury's Award: '''Kévin Ottens and Nicolás Alvarez''' for working on the future of KDE (Frameworks 5 & Git conversion)<br />
<br />
== [http://dot.kde.org/2011/08/09/toasters-and-pants-day-three-desktop-summit-2011 2011] ==<br />
<br />
* Best Application: '''Martin Gräßlin''' for his work on KWin<br />
* Best Non-Application: '''Dario Andres''' for his work with the bug triaging team<br />
* Jury's Award: '''Tom Albers''' in building up the KDE sysadmin team, while continuing to do much work himself<br />
<br />
== [http://dot.kde.org/2010/07/05/akademy-day-2 2010] ==<br />
<br />
* Best Application: '''Aurélien Gâteau''' for his work on Gwenview<br />
* Best Non-Application: '''Anne Wilson''' for her work in user support<br />
* Jury's Award: '''Burkhard Lück''' for his work on improving the state of KDE documentation<br />
<br />
== [http://dot.kde.org/2009/07/06/akademy-awards-2009 2009] ==<br />
<br />
* Best Application: '''Peter Penz''' for his work on Dolphin<br />
* Best Non-Application: '''Celeste Lyn Paul''' for work in the usability team<br />
* Jury's Award: '''David Faure''' for greatest service to KDE<br />
<br />
== [http://dot.kde.org/2008/08/12/akademy-2008-day-2-and-akademy-awards 2008] ==<br />
<br />
* Best Application: '''Mark Kretschmann and the Amarok team'''<br />
* Best Non-Application: '''Nuno Pinheiro and the Oxygen team'''<br />
* Jury's Award: '''Aaron Seigo''' for his work on Plasma<br />
<br />
== [http://dot.kde.org/2007/07/04/akademy-awards-2007 2007] ==<br />
<br />
* Best Application: '''Sebastian Trueg''' for K3B<br />
* Best Non-Application: '''Matthias Kretz''' for his great work on Phonon<br />
* Jury's Award: '''Danny Allen''' for the Commit Digest<br />
<br />
== [http://dot.kde.org/2006/09/25/akademy-award-winners 2006] ==<br />
<br />
* Best Application: '''Boudewijn Rempt''' for Krita<br />
* Best Non-Application: '''Alexander Neundorf''' for his work on CMake in KDE4<br />
* Jury's Award: '''Laurent Montel''' for KDE4 Commit Champion<br />
<br />
== [http://dot.kde.org/2005/08/30/first-kde-appreciation-awards-announced 2005] ==<br />
<br />
* Best Application: '''Albert Astals Cid''' and '''Enrico Ros''' for their work on KPDF<br />
* Best Non-Application: '''Lauri Watts''' for KDE documentation coordination<br />
* Jury's Award: '''Stephan Kulow''' and '''Oswald Buddenhagen''' for the effort they have put into the Subversion migration</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/Awards&diff=90171Akademy/Awards2020-09-11T21:48:57Z<p>Nalvarez: /* 2018 */ Fix formatting</p>
<hr />
<div>Each year the KDE Community awards contributors the Akademy Awards, who have made a special contribution recently. The judges for the awards are the winners from the previous year.<br />
<br />
There are 3 awards:<br />
<br />
* Best application<br />
* Best non-application contribution<br />
* Jury award<br />
== 2019 ==<br />
<br />
* Best Application: '''Marco Martin''' for work on the Kirigami framework<br />
* Best Non-Application: '''Nate Graham''' for persistent work on the "KDE Usability & Productivity" blog<br />
* Jury's Awards: '''Volker Krause''' for long term contributions to KDE including; KNode, KDE PIM, KDE Itinerary and the UserFeedback framework<br />
<br />
== 2018 ==<br />
<br />
* Best Application: '''Aditya Mehra''' for work on the Mycroft integration providing KDE with a free speech assistant which is free as in freedom<br />
* Best Non-Application: '''Valorie Zimmerman''' for work driving KDE's mentoring programs and the Community Working Group, and being one of KDE's good souls<br />
* Jury's Awards:<br />
** '''Sebastian Kügler''' for many years of relentless hacking and more (Plasma, KDE Marketing, years in the KDE e.V. Board)<br />
**'''David Edmundson''' for work on Telepathy, porting applications to Frameworks 5, Plasma, KWin, KWayland, and being the crazy guy around<br />
** '''Mario Fux''' for supporting KDE over many years through organizing the Randa meetings<br />
<br />
== [https://dot.kde.org/2017/07/24/akademy-awards-2017 2017] ==<br />
<br />
* Best Application: '''Kai Uwe Broulik''' for his valuable work on Plasma<br />
* Best Non-Application: '''Cornelius Schumacher''' for his long term contributions to KDE<br />
* Jury's Award: '''Martin Konold & Olaf Schmidt-Wischhöfer''' for their work on the KDE Free Qt Foundation<br />
<br />
== [https://dot.kde.org/2016/09/04/akademy-awards-2016 2016] ==<br />
<br />
* Best Application: '''Dominik Haumann''' and '''Christoph Cullmann''' for their work making Kate and the related parts<br />
* Best Non-Application: '''Aleix Pol''' for his work not just on KDE code but also on the community with KDE e.V. as a board member and KDE España<br />
* Jury's Award: '''Daniel Vrátil''' and the KDE PIMsters for creating and maintaining the largest suite of communication applications in the world<br />
<br />
== [https://dot.kde.org/2015/07/26/akademy-talks-day-2 2015] ==<br />
<br />
* Best Application: '''Milian Wolff''' and the KDevelop team for their work on KDevelop<br />
* Best Non-Application: '''Jens Reuterberg''' & the Visual Design Group for The Breeze interface design<br />
* Jury's Award: '''Albert Vaca''' for the KDE Connect application.<br />
* Jury's Award: '''Scarlett Clark''' for her work advancing the continuous integration infrastructure to more platforms and modules<br />
<br />
== [https://dot.kde.org/2014/09/08/akademy-award-winners-2014 2014] ==<br />
<br />
* Best Application: '''Jean-Baptiste Mardelle''' for his work on Kdenlive<br />
* Best Non-Application: '''Michael Pyne''' for eleven years of kdesrc-build <br />
* Jury's Award: '''Ben Cooksley''' for planning out our systems and keeping them running smoothly<br />
<br />
== [http://dot.kde.org/2013/07/15/akademy-2013-day-two 2013] ==<br />
<br />
* Best Application: '''Eike Hein''' for his work on Konversation<br />
* Best Non-Application: '''Vishesh Handa''' for taking over the Nepomuk maintainer hat and rocking at stabilizing the beast<br />
* Jury's Award: '''Timothee Giet''' for shaping the future and community of Krita<br />
* Jury's Award: '''Kenny Duffus''' for being the memory and soul of Akademy<br />
<br />
== [http://dot.kde.org/2012/07/05/akademy-2012-second-helpings 2012] ==<br />
<br />
* Best Application: '''Camilla Boemann''' for her work on Calligra Words<br />
* Best Non-Application: '''Lydia Pintscher''' for her huge work within KDE and especially on the GSOC/SOK-project<br />
* Jury's Award: '''Kévin Ottens and Nicolás Alvarez''' for working on the future of KDE (Frameworks 5 & Git conversion)<br />
<br />
== [http://dot.kde.org/2011/08/09/toasters-and-pants-day-three-desktop-summit-2011 2011] ==<br />
<br />
* Best Application: '''Martin Gräßlin''' for his work on KWin<br />
* Best Non-Application: '''Dario Andres''' for his work with the bug triaging team<br />
* Jury's Award: '''Tom Albers''' in building up the KDE sysadmin team, while continuing to do much work himself<br />
<br />
== [http://dot.kde.org/2010/07/05/akademy-day-2 2010] ==<br />
<br />
* Best Application: '''Aurélien Gâteau''' for his work on Gwenview<br />
* Best Non-Application: '''Anne Wilson''' for her work in user support<br />
* Jury's Award: '''Burkhard Lück''' for his work on improving the state of KDE documentation<br />
<br />
== [http://dot.kde.org/2009/07/06/akademy-awards-2009 2009] ==<br />
<br />
* Best Application: '''Peter Penz''' for his work on Dolphin<br />
* Best Non-Application: '''Celeste Lyn Paul''' for work in the usability team<br />
* Jury's Award: '''David Faure''' for greatest service to KDE<br />
<br />
== [http://dot.kde.org/2008/08/12/akademy-2008-day-2-and-akademy-awards 2008] ==<br />
<br />
* Best Application: '''Mark Kretschmann and the Amarok team'''<br />
* Best Non-Application: '''Nuno Pinheiro and the Oxygen team'''<br />
* Jury's Award: '''Aaron Seigo''' for his work on Plasma<br />
<br />
== [http://dot.kde.org/2007/07/04/akademy-awards-2007 2007] ==<br />
<br />
* Best Application: '''Sebastian Trueg''' for K3B<br />
* Best Non-Application: '''Matthias Kretz''' for his great work on Phonon<br />
* Jury's Award: '''Danny Allen''' for the Commit Digest<br />
<br />
== [http://dot.kde.org/2006/09/25/akademy-award-winners 2006] ==<br />
<br />
* Best Application: '''Boudewijn Rempt''' for Krita<br />
* Best Non-Application: '''Alexander Neundorf''' for his work on CMake in KDE4<br />
* Jury's Award: '''Laurent Montel''' for KDE4 Commit Champion<br />
<br />
== [http://dot.kde.org/2005/08/30/first-kde-appreciation-awards-announced 2005] ==<br />
<br />
* Best Application: '''Albert Astals Cid''' and '''Enrico Ros''' for their work on KPDF<br />
* Best Non-Application: '''Lauri Watts''' for KDE documentation coordination<br />
* Jury's Award: '''Stephan Kulow''' and '''Oswald Buddenhagen''' for the effort they have put into the Subversion migration</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2020/Tuesday&diff=90121Akademy/2020/Tuesday2020-09-08T15:28:32Z<p>Nalvarez: /* Room 01 - 8th September */</p>
<hr />
<div>= BoF sessions on Tuesday, 8th September 2020 =<br />
<br />
<br />
Please put your name and email address in the Host/Notes section. There is no length limitation; text will wrap. <br />
<br />
The Akademy team might reassign BoFs based on operational needs<br />
<br />
=== Room 01 - 8th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-gtb-gz3 Link to Room 01]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" | KDE Frameworks 6<br />
| width="400pt" | David Faure; notes: https://share.kde.org/apps/files/?dir=/Community%20Notes/Akademy&fileid=1718700<br />
|-<br />
| 10:00 UTC<br />
| KF6 (continued)<br />
| David Faure<br />
|-<br />
| 11:00 UTC<br />
| SPDX & Licensing<br />
| Andreas Cord-Landwehr: let's plan how to proceed the the SPDX/REUSE introduction in KDE: next steps, documentation, open discussion points, tooling Q&A, next focus areas (translations, ...); notes: https://share.kde.org/s/PZSZ7agPjYM6qHC<br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| <s>KDE Sysadmin documentation BoF</s><br />
| <s>Sysadmin team</s> Cancelled due to Internet problems, we'll talk docs at the general Sysadmin BoF tomorrow.<br />
|-<br />
| 17:00 UTC<br />
| KDE Connect Design Discussion (with KDE VDG)<br />
| KDE Connect Team<br />
|-<br />
| 18:00 UTC<br />
| Plasma Discover<br />
| Aleix Pol<br />
|-<br />
| 19:00 UTC<br />
| Setup<br />
| <br />
|-<br />
| 19:30 UTC<br />
| Bof Wrap Up<br />
|<br />
|}<br />
<br />
=== Room 02 - 8th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-bse-uz6 Link to Room 02]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
| <br />
| <br />
|-<br />
| 11:00 UTC<br />
| Plasma Bigscreen: Writing Mycroft skills, QML and key navigation<br />
| Aditya Merha, Marco Martin<br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| <br />
|<br />
|-<br />
| 17:00 UTC<br />
| Mailing List owner policy proposal discussion<br />
| Albert Astals Cid https://share.kde.org/s/PeFRH82FmFgDrep<br />
|-<br />
| 18:00 UTC<br />
| Dolphin<br />
| Elvis Angelaccio <br/> Write-access notes: https://share.kde.org/f/1917715 <br/> Read-only notes: https://share.kde.org/s/YXNs8dgDHGA6HMo<br />
|-<br />
| 19:00 UTC<br />
| <br />
| <br />
|-<br />
| 19:30 UTC<br />
| Close: BoF Wrap Up in Room 1)<br />
| <br />
|}<br />
<br />
=== Room 03 - 8th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-o7f-ikm Link to Room 03]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
| <br />
| <br />
|-<br />
| 11:00 UTC<br />
| <br />
| <br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| KDE PIM<br />
| Dan Vrátil<br />
|-<br />
| 17:00 UTC<br />
| KDE PIM<br />
| Dan Vrátil<br />
|-<br />
| 18:00 UTC<br />
| <br />
|-<br />
| 19:00 UTC<br />
| <br />
| <br />
|-<br />
| 19:30 UTC<br />
| Close: BoF Wrap Up in Room 1)<br />
| <br />
|}<br />
<br />
=== Room 04 - 8th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-ul4-aro Link to Room 04]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
| <br />
| <br />
|-<br />
| 11:00 UTC<br />
| <br />
| <br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| Plasma on Wayland<br />
| Meeting for Plasma/Wayland devs - David Edmundson<br />
|-<br />
| 17:00 UTC<br />
| Test your app on wayland<br />
| Got an issue with your app on wayland? Come along to an open session to investigate what you need to change<br />
|-<br />
| 18:00 UTC<br />
| Continuation as above<br />
|-<br />
| 19:00 UTC<br />
| <br />
| <br />
|-<br />
| 19:30 UTC<br />
| Close: BoF Wrap Up in Room 1)<br />
| <br />
|}</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2020/Wednesday&diff=90085Akademy/2020/Wednesday2020-09-07T18:22:24Z<p>Nalvarez: /* Room 03 - 9th September */ add sysadmin bof</p>
<hr />
<div>= BoF sessions on Wednesday, 9th September 2020 =<br />
<br />
<br />
Please put your name and email address in the Host/Notes section. There is no length limitation; text will wrap. <br />
<br />
The Akademy team might reassign BoFs based on operational needs<br />
<br />
=== Room 01 - 9th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-gtb-gz3 Link to Room 01]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
|<br />
|<br />
|-<br />
| 11:00 UTC<br />
| Plasma Mobile<br />
| Plasma Mobile Team<br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| KDE + Hardware collaborations<br />
| Aleix Pol<br />
|-<br />
| 17:00 UTC<br />
| Okular<br />
| Albert Astals Cid - https://share.kde.org/s/DXtxMkLrPGwHgKA<br />
|-<br />
| 18:00 UTC<br />
| How Python can help KDE development?<br />
| Cristián Maureira-Fredes - https://wiki.qt.io/Qt_for_Python_Akademy2020<br />
|-<br />
| 19:00 UTC<br />
| KDE e.V. Fundraising WG<br />
| Aleix Pol<br />
|-<br />
| 19:30 UTC<br />
| BoF Wrap Up<br />
| <br />
|}<br />
<br />
=== Room 02 - 9th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-bse-uz6 Link to Room 02]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
| <br />
| <br />
|-<br />
| 11:00 UTC<br />
| <br />
| <br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| Season of KDE and GSoC BoF<br />
| Caio Jordão Carvalho<br />
|-<br />
| 17:00 UTC<br />
| KDE Web<br />
| Carl<br />
|-<br />
| 18:00 UTC<br />
| Consistency<br />
| Niccolò Venerandi, [mailto:claudius.ellsel@live.de Claudius Ellsel]<br />
|-<br />
| 19:00 UTC<br />
| Consistency<br />
| Niccolò Venerandi, [mailto:claudius.ellsel@live.de Claudius Ellsel]<br />
|}<br />
<br />
=== Room 03 - 9th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-o7f-ikm Link to Room 03]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
| <br />
| <br />
|-<br />
| 11:00 UTC<br />
| <br />
| <br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| Sysadmin BoF<br />
| Nicolás Alvarez<br />
|-<br />
| 17:00 UTC<br />
| GCompris meeting<br />
| Timothée Giet<br />
|-<br />
| 18:00 UTC<br />
| GCompris meeting<br />
| <br />
|-<br />
| 19:00 UTC<br />
| <br />
| <br />
|}<br />
<br />
=== Room 04 - 9th September ===<br />
{| class="table table-striped"<br />
|-<br />
! [https://meet.kde.org/b/ken-ul4-aro Link to Room 04]<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:00 UTC<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:00 UTC<br />
| <br />
| <br />
|-<br />
| 11:00 UTC<br />
| <br />
| <br />
|-<br />
| 12:00 UTC<br />
| Break<br />
|<br />
|-<br />
| 16:00 UTC<br />
| <br />
| <br />
|-<br />
| 17:00 UTC<br />
| KDE's Products (talk's discussion)<br />
| Aleix Pol and Nate Graham<br />
|-<br />
| 18:00 UTC<br />
| <br />
|-<br />
| 19:00 UTC<br />
| <br />
| <br />
|}</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Git&diff=89458Infrastructure/Git2020-08-20T18:28:24Z<p>Nalvarez: Update ssh fingerprints for leptone</p>
<hr />
<div>[[Category:Needs Attention]]<languages /><br />
<translate><br />
<!--T:1--><br />
This is the hub page for all information about the use of Git by KDE.<br />
<br />
This section provides details on using the KDE Git infrastructure. This is intended for use by KDE developers to find out how KDE uses Git and how to set up Git for use with KDE.<br />
<br />
<br />
== Git at KDE ==<br />
KDE currently offers code hosting using Git. Additionally, KDE also maintains a limited Subversion infrastructure for certain special projects, such as translations and older websites.<br />
<br />
=== Anonymous access ===<br />
<br />
Both Git and Subversion repositories can be accessed anonymously by anyone. This access takes place from <code>anongit.kde.org</code> and <code>anonsvn.kde.org</code> for Git and Subversion respectively, and grants read only access to the same repositories which are available to contributors with developer accounts.<br />
<br />
For Git, it is possible to perform clones and fetches over the HTTPS protocol only.<br />
<br />
KDE also maintains a mirror of its mainline Git repositories on [https://github.com/kde/ GitHub]. This mirror is read-only, and disables all of GitHub's additional features, such as issues, the wiki, and downloads, in favour of KDE's own hosted services. Additionally, pull requests on these repositories are not accepted, but code changes can always be accepted through KDE's code-review services. And still, GitHub may be used / searched more intuitively than alternatives, e.g. when a particular [https://github.com/KDE/extra-cmake-modules/releases ECM] version is needed, as it will. <br />
<br />
For Subversion, access is only provided over the Subversion protocol. If you are behind a restrictive firewall and need to access the KDE Subversion repository anonymously (and have no other means of network access), please file a [https://go.kde.org/u/systickets ticket].<br />
<br />
=== Pushing ===<br />
<br />
Push or commit access to all KDE code repositories is open to any holder of a KDE developer account, subject to few limitations. This model allows contributors to easily make contributions to all parts of KDE without needing further approval. All commits made to either Git or Subversion are subject to commit hooks which will perform a few quality control checks and can take other actions on behalf of the developer. In the case of both Git and Subversion it is only possible to commit over SSH.<br />
<br />
With KDE Git, it is recommended to use a shortcut to access repositories instead of directly cloning them from the Git server itself. This shortcut allows you to use a local mirror of the repositories, and should improve response times. To setup a <code>kde:</code> shortcut, you should add the following configuration block to <code>~/.config/git/config</code>. If your network blocks the Git protocol, then you can exchange that for HTTP instead.<br />
<br />
<pre>[url &quot;https://git@invent.kde.org/&quot;]<br />
insteadOf = kde:<br />
[url &quot;ssh://git@invent.kde.org/&quot;]<br />
pushInsteadOf = kde:</pre><br />
Once setup as above, you can clone and push to repositories through the shortcut <code>kde:''repository''</code>, for example <code>kde:office/skrooge.git</code>.<br />
<br />
As Subversion requires that checkouts you are committing from are made from the same location you are committing to, checkouts should be made from the Subversion server directly. It can be accessed at <code>svn+ssh://svn@svn.kde.org/home/kde/</code>. If you have existing checkouts, you will need to relocate them using the <code>svn switch</code> command before you are able to commit.<br />
<br />
=== Browsing ===<br />
<br />
To allow for quick review of code, web repository browsers exist for both Git and Subversion repositories. Those interested in browsing Subversion should visit [https://websvn.kde.org/ WebSVN], which will contain the latest commits made to the KDE Subversion repository subject to a delay of 10 minutes at maximum.<br />
<br />
In the case of Git, repository browsing is available via [https://cgit.kde.org/ cgit]. Additionally, all mainline repositories are available on [https://github.com/kde GitHub] and can be browsed there. Please note that scratch and clone repositories are only browsable on cgit.<br />
<br />
If you need to link to materials which are stored in either Git or Subversion repositories on KDE infrastructure, it is requested that you do not embed the content directly, but simply link to it. Embedding content causes significantly higher load on the repository browser servers, making it unavailable for others wishing to use it. This is particularly relevant for blog posts on Planet or any other high traffic web page.<br />
<br />
=== New repositories ===<br />
<br />
To allow for free form development in a manner similar to Subversion did, KDE Git allows personal repositories to be created on demand as needed. Two types of personal repository are available:<br />
<br />
Scratch repositories are created on the fly when a developer pushes to them for the first time, and exist at <code>scratch/username/myRepo</code>. These are recommended for new development work.<br />
<br />
Clone repositories are created by cloning an existing project repository, and exist at <code>clones/project/username/myClone</code>. They are created by running <code>ssh git@git.kde.org clone project myClone</code> where <code>myClone</code> is the name you wish to call your clone, and <code>project</code> is the name of the repository you are cloning.<br />
<br />
Personal repositories can be deleted at any time.<br />
<br />
From time to time it may be necessary to create new project repositories, to contain newly developed applications, migrate existing applications from Subversion or to bring new projects under the KDE umbrella. New repositories can be requested by filing a [https://go.kde.org/u/systickets ticket], and will usually be created at the top level on <code>git.kde.org</code>.<br />
<br />
=== Extra Karma ===<br />
<br />
At times contributors may find it necessary to push or commit to certain repositories or paths which are protected. In this case the server will reject your request with a message such as '''insufficient karma''' or '''access denied'''. This protection is most often applied to repositories which run parts of the infrastructure such as websites or other crucial components.<br />
<br />
If you would like to request access to these protected areas, please file a [https://go.kde.org/u/systickets ticket], mentioning which repositories or paths you are trying to change.<br />
<br />
A complete manual on how to use KDE's Git services, along with some best practices, is available on the [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Community Wiki].<br />
<br />
=== Hooks ===<br />
Kde provides some [[/Hooks |git hooks]] to perform and automatize some actions on push.<br />
<br />
=== Server Fingerprints ===<br />
The SSH host server key fingerprints are as follows for both Git and Subversion access:<br />
<br />
* '''RSA-2048 (MD5)''': <code>32:c9:78:b1:1f:7c:2e:1c:12:26:62:1c:67:d0:6c:28</code><br />
* '''RSA-2048 (SHA256)''': <code>rgF+nO+jdBEKOdowaOZBnaeWtAV6vquW4EjFafO1aaM</code><br />
* '''ECDSA-256 (MD5)''': <code>cb:56:a3:74:a8:69:5c:f3:93:b0:dc:f9:05:1c:3f:9a</code><br />
* '''ECDSA-256 (SHA256)''': <code>UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I/JMqrA</code><br />
* '''ED25519-256 (MD5)''': <code>c8:99:54:39:84:9b:e5:39:1a:de:c6:6d:fa:4d:a4:e8</code><br />
* '''ED25519-256 (SHA256)''': <code>tPgR57xn3BJVri4ncIMAtj/3Dxc9SB/ijOxORUTCQFk</code><br />
<br />
== Resources == <!--T:21--><br />
<br />
<!--T:22--><br />
Links to useful external sites about Git<br />
<br />
=== Official Documentation === <!--T:23--><br />
<br />
<!--T:24--><br />
* [http://git-scm.com/documentation Links to git official documentation]<br />
<br />
=== Git for SVN Users === <!--T:25--><br />
<br />
<!--T:26--><br />
* [http://git-scm.com/course/svn.html The git-svn Crash Course]<br />
<br />
=== Git books === <!--T:27--><br />
<br />
<!--T:28--><br />
* [http://progit.org/book/ Pro Git] - An easy to understand book on git (CC licensed).<br />
<br />
<!--T:30--><br />
* [http://book.git-scm.com/ The git community book], also as a [http://book.git-scm.com/book.pdf pdf]<br />
<br />
=== Tutorials === <!--T:32--><br />
<br />
<!--T:33--><br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git Magic] - A good intro to git (in several languages!) <br />
<br />
<!--T:35--><br />
*[http://tom.preston-werner.com/2009/05/19/the-git-parable.html The Git Parable]<br />
- Essential reading if you want to truly understand git.<br />
<br />
<!--T:37--><br />
* [http://www.gitcasts.com/ Git Screencasts]<br />
<br />
<!--T:95--><br />
* [http://try.github.io/ tryGit] A 15 minute online interactive tutorial<br />
<br />
=== KDE's Git Infrastructure ===<br />
<br />
The [http://community.kde.org/Sysadmin/GitKdeOrgManual KDE Git System Administrators Manual] is a useful resource for more details on the technical implementation of the KDE Git infrastructure.<br />
<br />
<!--T:91--><br />
For more information on how the KDE Git Repositories are organized, please see the [[Guidelines_and_HOWTOs/Build_from_source|Build from source]] page.<br />
<br />
<!--T:94--><br />
Other:<br />
* The new [[Policies/Commit Policy|Commit Policy]] is being reviewed, applied to both SVN and Git.<br />
* [[/GitHub Mirror/]] has been created and policy is in development (Sep 2015).<br />
<br />
=== KDE Git Recipes === <!--T:12--><br />
<br />
<!--T:13--><br />
Short recipes for using Git with the KDE infrastructure.<br />
<br />
<!--T:14--><br />
Please see the [[Special:myLanguage/Infrastructure/Git/Recipes|Git Recipes page]].<br />
<br />
=== KDE Git Tutorials === <!--T:16--><br />
<br />
<!--T:17--><br />
More in-depth instructions in using Git.<br />
<br />
<!--T:18--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/GitQuickStart|A quick step-by-step guide for getting started]]<br />
<br />
<!--T:19--><br />
* [[Special:myLanguage/Infrastructure/Tutorials/Git/Create a patch|Creating a patch]]<br />
<br />
<!--T:20--><br />
Please help filling this section by<br />
* checking the links at the bottom of the page and see which still have valid content<br />
* write tutorials yourself<br />
<br />
=== Cheat Sheets === <!--T:38--><br />
<br />
<!--T:39--><br />
* [http://cheat.errtheblog.com/s/git Quick reference]<br />
<br />
<!--T:40--><br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Illustrated git cheat sheet] <br />
(broken image, get it from [[Media:Zrusin-git-cheat-sheet-medium.png]])<br />
</translate></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Github_Mirror&diff=88570Infrastructure/Github Mirror2020-06-18T20:09:33Z<p>Nalvarez: space in top level heading</p>
<hr />
<div>=GitHub Mirror=<br />
<br />
KDE is managing a '''read-only''' <b>mirror</b> of [https://commits.kde.org our repos] on Github. It's located at https://github.com/KDE .<br />
<br />
We want to make KDE sources easy to find, share and build upon; and most importantly we want your contributions to count towards your github profile. :)<br />
<br />
=FAQ=<br />
<br />
==Why don't you enable pull requests?==<br />
<br />
Our central repositories are handled by our awesome sysadmins over on kde.org where we have full control and tighter integration within our services.<br />
If we start using multiple repositories and making developers look in two places that gets very complicated and unfair on the maintainers.<br />
<br />
Also as an open source project, it's very important for us to keep to using open source tools. Github does not meet that requirement.<br />
<br />
==How do I submit “Pull Requests”?==<br />
<br />
KDE is in the process of moving many projects from [https://phabricator.kde.org/ Phabricator], our old code-management tool, to [https://invent.kde.org/ GitLab]. Currently some projects are still hosted on Phabricator while others are hosted on Gitlab.<br />
<br />
To determine which tool should be used for a particular project:<br />
# Look at the project's documentation (README.md, wiki page, etc.). It should tell you how the project wants to accept patches.<br />
#* Unfortunately, some projects documentation still needs updating.<br />
# Look at the listings of projects on [https://invent.kde.org/ KDE GitLab]. If the project is there, that is most likely where patches should be uploaded.<br />
#* Check and see if there are already merge requests on GitLab. If there are some, it is a pretty certain sign that the project is using GitLab.<br />
# Ask the project developers. We are always happy to talk with potential contributors and point you in the right direction!<br />
<br />
Follow the instructions below depending on which patch-uploading tool the project uses:<br />
<br />
=== For Projects using GitLab ===<br />
The process of using GitLab is very similar to using GitHub.<br />
* Log in to [https://invent.kde.org/ KDE's GitLab]<br />
* Fork the repository of the project you want to work on<br />
* Make a branch in your fork<br />
* Make changes, commit them to your branch, and push<br />
* When you push you should be given a link to easily make a merge request. If not, navigate to your fork on GitLab and make a pull request from there<br />
<br />
=== For Projects using Phabricator ===<br />
* Fork and commit your changes in your fork as before<br />
* Create an account on https://identity.kde.org<br />
* Run <code>git format-patch HEAD^</code> to create a diff<br />
* Learn [https://community.kde.org/Infrastructure/Phabricator#Posting_a_Patch_using_the_website how to format and post a patch]<br />
* Head to https://phabricator.kde.org/differential/diff/create/ to upload the diff.<br />
<br />
<br />
The maintainer for this software will then comment and merge your request.<br />
<br />
Alternatively you can use the command <code>arc diff</code> to streamline the process. More details are available in the [https://community.kde.org/Infrastructure/Phabricator#Using_Arcanist_to_post_patches Phabricator] page.<br />
<br />
==How do I submit “Issues”?==<br />
<br />
Please file a bug report or wish at https://bugs.kde.org/<br />
<br />
==Where can I find the “original sources”?==<br />
<br />
All KDE Git repositories are available for browsing at https://invent.kde.org/.<br />
<br />
For details on KDE's Git infrastructure see [https://community.kde.org/Infrastructure/Git the dedicated GIT infrastructure page].</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Github_Mirror&diff=88569Infrastructure/Github Mirror2020-06-18T20:05:50Z<p>Nalvarez: /* Where can I find the “original sources”? */ Remove references to cgit, anongit, scratch repos</p>
<hr />
<div>=GitHubMirror=<br />
<br />
KDE is managing a '''read-only''' <b>mirror</b> of [https://commits.kde.org our repos] on Github. It's located at https://github.com/KDE .<br />
<br />
We want to make KDE sources easy to find, share and build upon; and most importantly we want your contributions to count towards your github profile. :)<br />
<br />
=FAQ=<br />
<br />
==Why don't you enable pull requests?==<br />
<br />
Our central repositories are handled by our awesome sysadmins over on kde.org where we have full control and tighter integration within our services.<br />
If we start using multiple repositories and making developers look in two places that gets very complicated and unfair on the maintainers.<br />
<br />
Also as an open source project, it's very important for us to keep to using open source tools. Github does not meet that requirement.<br />
<br />
==How do I submit “Pull Requests”?==<br />
<br />
KDE is in the process of moving many projects from [https://phabricator.kde.org/ Phabricator], our old code-management tool, to [https://invent.kde.org/ GitLab]. Currently some projects are still hosted on Phabricator while others are hosted on Gitlab.<br />
<br />
To determine which tool should be used for a particular project:<br />
# Look at the project's documentation (README.md, wiki page, etc.). It should tell you how the project wants to accept patches.<br />
#* Unfortunately, some projects documentation still needs updating.<br />
# Look at the listings of projects on [https://invent.kde.org/ KDE GitLab]. If the project is there, that is most likely where patches should be uploaded.<br />
#* Check and see if there are already merge requests on GitLab. If there are some, it is a pretty certain sign that the project is using GitLab.<br />
# Ask the project developers. We are always happy to talk with potential contributors and point you in the right direction!<br />
<br />
Follow the instructions below depending on which patch-uploading tool the project uses:<br />
<br />
=== For Projects using GitLab ===<br />
The process of using GitLab is very similar to using GitHub.<br />
* Log in to [https://invent.kde.org/ KDE's GitLab]<br />
* Fork the repository of the project you want to work on<br />
* Make a branch in your fork<br />
* Make changes, commit them to your branch, and push<br />
* When you push you should be given a link to easily make a merge request. If not, navigate to your fork on GitLab and make a pull request from there<br />
<br />
=== For Projects using Phabricator ===<br />
* Fork and commit your changes in your fork as before<br />
* Create an account on https://identity.kde.org<br />
* Run <code>git format-patch HEAD^</code> to create a diff<br />
* Learn [https://community.kde.org/Infrastructure/Phabricator#Posting_a_Patch_using_the_website how to format and post a patch]<br />
* Head to https://phabricator.kde.org/differential/diff/create/ to upload the diff.<br />
<br />
<br />
The maintainer for this software will then comment and merge your request.<br />
<br />
Alternatively you can use the command <code>arc diff</code> to streamline the process. More details are available in the [https://community.kde.org/Infrastructure/Phabricator#Using_Arcanist_to_post_patches Phabricator] page.<br />
<br />
==How do I submit “Issues”?==<br />
<br />
Please file a bug report or wish at https://bugs.kde.org/<br />
<br />
==Where can I find the “original sources”?==<br />
<br />
All KDE Git repositories are available for browsing at https://invent.kde.org/.<br />
<br />
For details on KDE's Git infrastructure see [https://community.kde.org/Infrastructure/Git the dedicated GIT infrastructure page].</div>Nalvarezhttps://community.kde.org/index.php?title=Telegram&diff=88308Telegram2020-05-22T04:05:29Z<p>Nalvarez: /* Telegram Groups */ mention that most groups are bridged to IRC</p>
<hr />
<div>'''Telegram''' is a real-time chat program, similar to instant messages and [[Internet Relay Chat | IRC]]. Telegram offers a mobile, desktop and [https://web.telegram.org web client]. You can install the Telegram desktop client using the [https://userbase.kde.org/Discover KDE Discover Software Store] or using the command line, which differs based on which GNU/Linux distribution you're using:<br />
<br />
* Arch/Antergos/Manjaro: <code>sudo pacman -S telegram-desktop</code><br />
* Debian/Ubuntu/Kubuntu/KDE Neon: <code>sudo apt install telegram-desktop</code><br />
* Fedora: <code>sudo dnf install telegram-desktop</code><br />
* Gentoo: <code>sudo emerge telegram-desktop-bin</code><br />
* openSUSE: <code>sudo zypper install telegram-desktop</code><br />
* Flatpak: <code>flatpak install flathub org.telegram.desktop</code><br />
<br />
==Telegram Channels==<br />
* [https://telegram.me/kdenews KDE Announcements] (no activity since 2016)<br />
* [https://telegram.me/kdesysadmin KDE Sysadmin News]<br />
* [https://telegram.me/planetkde Planet KDE]<br />
* In Spanish - En español<br />
** [https://t.me/kdeblog Kdeblog] es un blog sobre el Software Libre centrado en la Comunidad KDE<br />
<br />
==Telegram Groups==<br />
Most groups are bridged to the corresponding IRC channel, so if you only join the Telegram group you will also see messages from the IRC channel, and vice-versa.<br />
<br />
===Community===<br />
* [https://t.me/kdeplasma KDE Plasma] users group<br />
* [https://telegram.me/joinchat/A-9tjgavn9YJ2myF1aTK4A KDE-Soc] for all GSoC, GCi and SoK students, mentors, mentees and admins<br />
* [https://t.me/KDEAkademy Akademy Attendees] for all people attending Akademy<br />
<br />
===Development===<br />
* [https://telegram.me/joinchat/BwCsygZhPebf8SrpG_9RpQ KDevelop Development]<br />
* [https://telegram.me/joinchat/BeJ1b0AX55656i_VI_amOQ Atelier - The KDE printer host for 3DPrinting] (invitation doesn't work)<br />
* Kontact: @KDE-Kontact or https://t.me/KDE_Kontact <br />
* [https://t.me/joinchat/AOS6gA37orb2dZCLhqbZjg KDE Connect]<br />
* [https://t.me/plasmamobile Plasma Mobile]<br />
* [https://t.me/KDEWeb KDE Web]<br />
* [https://t.me/KDESysadminDiscuss Sysadmin Discussion]<br />
<br />
===Applications===<br />
* [https://t.me/kdenlive Kdenlive]<br />
* [https://t.me/kexi_project KEXI]<br />
* [https://t.me/kde_kirogi Kirogi]<br />
* [https://t.me/kdebasket Basket]<br />
<br />
===Visual Design Group===<br />
* [https://telegram.me/vdgmainroom Main VDG room]<br />
* [https://t.me/breezeicons Breeze Icons room]<br />
* [https://telegram.me/joinchat/BbOuVj6l7b5aZ_WbupyFFw Kirigami]<br />
* [https://t.me/mauiproject Maui]<br />
<br />
===KDE Promo===<br />
* [https://t.me/joinchat/AEyx-0O8HKlHV7Cg7ZoSyA Main KDE Promo group] for contributors<br />
<br />
===Localization===<br />
* [https://t.me/kdel10nptbr Brazilian Portuguese]<br />
* Galician: Proxecto Trasno (no link due to spam)<br />
* [https://t.me/kde_ru Russian]<br />
<br />
==WikiToLearn==<br />
WikiToLearn has its list of channels/groups [http://meta.wikitolearn.org/Communication_channels here].<br />
* [https://t.me/wikitolearn WikiToLearn]<br />
{{Note|1=Non-profit community and an open source project, which wants to provide free and collaborative textbooks with the help of the world of University and Academia}}<br />
==Distributions==<br />
* Kubuntu<br />
** [https://web.telegram.org/#/im?p=@kubuntuofficial Kubuntu News] (doesn't exist)<br />
** [https://telegram.me/joinchat/Bpq8FwCyZ1kDx_bXTJGwqw Kubuntu Support]. Ask to be invited to other channels. (Kubuntu Cafe)<br />
** [https://t.me/kubuntu_support Kubuntu support]<br />
** [https://t.me/Kubuntues Kubuntu en Español] (in Spanish - en Español)<br />
* KDE neon<br />
** [https://telegram.me/kdeneon KDE Neon]<br />
** [https://t.me/kdeneones KDE neon ES] (in Spanish - en Español)<br />
* [https://telegram.me/chakra_community Chakra] (doesn't exist)<br />
* [https://t.me/openSUSE_group openSUSE] general group<br />
<br />
== Local ==<br />
* [https://t.me/kdebrasil KDE-Brasil] - Brazilian KDE community<br />
* [https://t.me/kdeel KDE in Greek] (group not found) <!-- is it kdegreece?--><br />
* [https://t.me/kde_ru KDE Russia] - Russian KDE community - российское сообщество<br />
* [https://t.me/kde_canasbravas KDE Spanish] - Spanish-speaking KDE community<br />
* [https://t.me/kde_india KDE India] - Indian KDE community</div>Nalvarezhttps://community.kde.org/index.php?title=Telegram&diff=88307Telegram2020-05-22T03:30:36Z<p>Nalvarez: /* Telegram Channels */ KDE Sysadmin channel is active</p>
<hr />
<div>'''Telegram''' is a real-time chat program, similar to instant messages and [[Internet Relay Chat | IRC]]. Telegram offers a mobile, desktop and [https://web.telegram.org web client]. You can install the Telegram desktop client using the [https://userbase.kde.org/Discover KDE Discover Software Store] or using the command line, which differs based on which GNU/Linux distribution you're using:<br />
<br />
* Arch/Antergos/Manjaro: <code>sudo pacman -S telegram-desktop</code><br />
* Debian/Ubuntu/Kubuntu/KDE Neon: <code>sudo apt install telegram-desktop</code><br />
* Fedora: <code>sudo dnf install telegram-desktop</code><br />
* Gentoo: <code>sudo emerge telegram-desktop-bin</code><br />
* openSUSE: <code>sudo zypper install telegram-desktop</code><br />
* Flatpak: <code>flatpak install flathub org.telegram.desktop</code><br />
<br />
==Telegram Channels==<br />
* [https://telegram.me/kdenews KDE Announcements] (no activity since 2016)<br />
* [https://telegram.me/kdesysadmin KDE Sysadmin News]<br />
* [https://telegram.me/planetkde Planet KDE]<br />
* In Spanish - En español<br />
** [https://t.me/kdeblog Kdeblog] es un blog sobre el Software Libre centrado en la Comunidad KDE<br />
<br />
==Telegram Groups==<br />
===Community===<br />
* [https://t.me/kdeplasma KDE Plasma] users group<br />
* [https://telegram.me/joinchat/A-9tjgavn9YJ2myF1aTK4A KDE-Soc] for all GSoC, GCi and SoK students, mentors, mentees and admins<br />
* [https://t.me/KDEAkademy Akademy Attendees] for all people attending Akademy<br />
<br />
===Development===<br />
* [https://telegram.me/joinchat/BwCsygZhPebf8SrpG_9RpQ KDevelop Development]<br />
* [https://telegram.me/joinchat/BeJ1b0AX55656i_VI_amOQ Atelier - The KDE printer host for 3DPrinting] (invitation doesn't work)<br />
* Kontact: @KDE-Kontact or https://t.me/KDE_Kontact <br />
* [https://t.me/joinchat/AOS6gA37orb2dZCLhqbZjg KDE Connect]<br />
* [https://t.me/plasmamobile Plasma Mobile]<br />
* [https://t.me/KDEWeb KDE Web]<br />
* [http://t.me/KDESysadminDiscuss Sysadmin Discussion]<br />
<br />
===Applications===<br />
* [https://t.me/kdenlive Kdenlive]<br />
* [https://t.me/kexi_project KEXI]<br />
* [https://t.me/kde_kirogi Kirogi]<br />
* [https://t.me/kdebasket Basket]<br />
<br />
===Visual Design Group===<br />
* [https://telegram.me/vdgmainroom Main VDG room]<br />
* [https://t.me/breezeicons Breeze Icons room]<br />
* [https://telegram.me/joinchat/BbOuVj6l7b5aZ_WbupyFFw Kirigami]<br />
* [https://t.me/mauiproject Maui]<br />
<br />
===KDE Promo===<br />
* [https://t.me/joinchat/AEyx-0O8HKlHV7Cg7ZoSyA Main KDE Promo group] for contributors, bridged to the #kde-promo IRC channel<br />
<br />
===Localization===<br />
* [https://t.me/kdel10nptbr Brazilian Portuguese]<br />
* Galician: Proxecto Trasno (no link due to spam)<br />
* [https://t.me/kde_ru Russian]<br />
<br />
==WikiToLearn==<br />
WikiToLearn has its list of channels/groups [http://meta.wikitolearn.org/Communication_channels here].<br />
* [https://t.me/wikitolearn WikiToLearn]<br />
{{Note|1=Non-profit community and an open source project, which wants to provide free and collaborative textbooks with the help of the world of University and Academia}}<br />
==Distributions==<br />
* Kubuntu<br />
** [https://web.telegram.org/#/im?p=@kubuntuofficial Kubuntu News] (doesn't exist)<br />
** [https://telegram.me/joinchat/Bpq8FwCyZ1kDx_bXTJGwqw Kubuntu Support]. Ask to be invited to other channels. (Kubuntu Cafe)<br />
** [https://t.me/kubuntu_support Kubuntu support]<br />
** [https://t.me/Kubuntues Kubuntu en Español] (in Spanish - en Español)<br />
* KDE neon<br />
** [https://telegram.me/kdeneon KDE Neon]<br />
** [https://t.me/kdeneones KDE neon ES] (in Spanish - en Español)<br />
* [https://telegram.me/chakra_community Chakra] (doesn't exist)<br />
* [https://t.me/openSUSE_group openSUSE] general group<br />
<br />
== Local ==<br />
* [https://t.me/kdebrasil KDE-Brasil] - Brazilian KDE community<br />
* [https://t.me/kdeel KDE in Greek] (group not found) <!-- is it kdegreece?--><br />
* [https://t.me/kde_ru KDE Russia] - Russian KDE community - российское сообщество<br />
* [https://t.me/kde_canasbravas KDE Spanish] - Spanish-speaking KDE community<br />
* [https://t.me/kde_india KDE India] - Indian KDE community</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88050Infrastructure/Subversion/2020 Changes2020-04-18T00:50:16Z<p>Nalvarez: Put fingerprints in a note</p>
<hr />
<div>== April 2020 changes to Subversion server ==<br />
<br />
As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to add your SSH keys on KDE's GitLab at [https://invent.kde.org/profile/keys invent.kde.org],<br />
even if you only intend to use Subversion.<br />
<br />
In addition, only users in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list permitted list]<br />
will be able to login to SVN.<br />
If you're not in this list and you need to use SVN,<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the SSH host keys of the server will necessarily change,<br />
and you will get a nasty security warning about it.<br />
You should add the new host keys to your <tt>~/.ssh/known_hosts</tt> file:<br />
<pre><br />
svn.kde.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvvywZ0SNVmhy2MRC4v0iTPjxRxaY1NATlUNoluJZ8K6DIiO3hQN99QaqyduIwCvI3EfdFqqw/QzyWAuAZdUC5eZrzhYO09NcgHkK9PsCjutIZHzeE+8WXLQNBNKA41r6JLliRpCe5aCPGl5KWuCdP+T8caA6GHPImPXcwziFaYk7l6NPa8M7raDxBlcRqqYvfyeSQAkefN/PVw5boeqXDBTzU/x9DG0BdawrSg0jBqIjmznkaSOIWNNDxFryfXiVIfegeqXanJM194wrSD3wWs6gPGDXGa36/1F+12KjzZp3XieOMxHoxyqznaK7NjOxca4N20NFfDritYrqjM+bP<br />
svn.kde.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNjuHOU2kseETX55MtRO3dzY+NZ+BAenpn1ghiDZF9s6903tF4ZQaUoKnlXDnvRXqOzBFf2lSmAjKD+z+S9t2ws=<br />
svn.kde.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINACoE8znFN7FaS2CMK74trAPOehGoftawOjathkZFf6<br />
</pre><br />
<br />
You can do this even before the server changes, keeping the old key too,<br />
so that when the change happens, everything already works for you.<br />
<br />
<br />
{{Note|<p>We recommend adding the new keys to <tt>known_hosts</tt> directly as explained above, because then you don't need to visually compare fingerprints. But for completeness, these are the host key fingerprints of the new server:<br />
<pre><br />
2048 SHA256:rgF+nO+jdBEKOdowaOZBnaeWtAV6vquW4EjFafO1aaM (RSA)<br />
256 SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I/JMqrA (ECDSA)<br />
256 SHA256:tPgR57xn3BJVri4ncIMAtj/3Dxc9SB/ijOxORUTCQFk (ED25519)<br />
2048 MD5:32:c9:78:b1:1f:7c:2e:1c:12:26:62:1c:67:d0:6c:28 (RSA)<br />
256 MD5:cb:56:a3:74:a8:69:5c:f3:93:b0:dc:f9:05:1c:3f:9a (ECDSA)<br />
256 MD5:c8:99:54:39:84:9b:e5:39:1a:de:c6:6d:fa:4d:a4:e8 (ED25519)<br />
</pre><br />
}}</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88049Infrastructure/Subversion/2020 Changes2020-04-18T00:37:49Z<p>Nalvarez: </p>
<hr />
<div>== April 2020 changes to Subversion server ==<br />
<br />
As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to add your SSH keys on KDE's GitLab at [https://invent.kde.org/profile/keys invent.kde.org],<br />
even if you only intend to use Subversion.<br />
<br />
In addition, only users in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list permitted list]<br />
will be able to login to SVN.<br />
If you're not in this list and you need to use SVN,<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the SSH host keys of the server will necessarily change,<br />
and you will get a nasty security warning about it.<br />
You should add the new host keys to your <tt>~/.ssh/known_hosts</tt> file:<br />
<pre><br />
svn.kde.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvvywZ0SNVmhy2MRC4v0iTPjxRxaY1NATlUNoluJZ8K6DIiO3hQN99QaqyduIwCvI3EfdFqqw/QzyWAuAZdUC5eZrzhYO09NcgHkK9PsCjutIZHzeE+8WXLQNBNKA41r6JLliRpCe5aCPGl5KWuCdP+T8caA6GHPImPXcwziFaYk7l6NPa8M7raDxBlcRqqYvfyeSQAkefN/PVw5boeqXDBTzU/x9DG0BdawrSg0jBqIjmznkaSOIWNNDxFryfXiVIfegeqXanJM194wrSD3wWs6gPGDXGa36/1F+12KjzZp3XieOMxHoxyqznaK7NjOxca4N20NFfDritYrqjM+bP<br />
svn.kde.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNjuHOU2kseETX55MtRO3dzY+NZ+BAenpn1ghiDZF9s6903tF4ZQaUoKnlXDnvRXqOzBFf2lSmAjKD+z+S9t2ws=<br />
svn.kde.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINACoE8znFN7FaS2CMK74trAPOehGoftawOjathkZFf6<br />
</pre><br />
<br />
You can do this even before the server changes, keeping the old key too,<br />
so that when the server changes, everything already works for you.<br />
<br />
Adding the new keys to <tt>known_hosts</tt> directly is recommended,<br />
because then you don't need to visually compare fingerprints.<br />
But for completeness, these are the host key fingerprints of the new server:<br />
<pre><br />
2048 SHA256:rgF+nO+jdBEKOdowaOZBnaeWtAV6vquW4EjFafO1aaM leptone.kde.org (RSA)<br />
256 SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I/JMqrA leptone.kde.org (ECDSA)<br />
256 SHA256:tPgR57xn3BJVri4ncIMAtj/3Dxc9SB/ijOxORUTCQFk leptone.kde.org (ED25519)<br />
2048 MD5:32:c9:78:b1:1f:7c:2e:1c:12:26:62:1c:67:d0:6c:28 leptone.kde.org (RSA)<br />
256 MD5:cb:56:a3:74:a8:69:5c:f3:93:b0:dc:f9:05:1c:3f:9a leptone.kde.org (ECDSA)<br />
256 MD5:c8:99:54:39:84:9b:e5:39:1a:de:c6:6d:fa:4d:a4:e8 leptone.kde.org (ED25519)<br />
</pre></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88048Infrastructure/Subversion/2020 Changes2020-04-18T00:11:13Z<p>Nalvarez: rewording</p>
<hr />
<div>== April 2020 changes to Subversion server ==<br />
<br />
As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to add your SSH keys on KDE's GitLab at [https://invent.kde.org/profile/keys invent.kde.org],<br />
even if you only intend to use Subversion.<br />
<br />
In addition, only users in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list permitted list]<br />
will be able to login to SVN.<br />
If you're not in this list and you need to use SVN,<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the SSH host keys of the server will necessarily change,<br />
and you will get a nasty security warning about it.<br />
You should add the new host keys to your ~/.ssh/known_hosts file:<br />
<pre><br />
svn.kde.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvvywZ0SNVmhy2MRC4v0iTPjxRxaY1NATlUNoluJZ8K6DIiO3hQN99QaqyduIwCvI3EfdFqqw/QzyWAuAZdUC5eZrzhYO09NcgHkK9PsCjutIZHzeE+8WXLQNBNKA41r6JLliRpCe5aCPGl5KWuCdP+T8caA6GHPImPXcwziFaYk7l6NPa8M7raDxBlcRqqYvfyeSQAkefN/PVw5boeqXDBTzU/x9DG0BdawrSg0jBqIjmznkaSOIWNNDxFryfXiVIfegeqXanJM194wrSD3wWs6gPGDXGa36/1F+12KjzZp3XieOMxHoxyqznaK7NjOxca4N20NFfDritYrqjM+bP<br />
svn.kde.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNjuHOU2kseETX55MtRO3dzY+NZ+BAenpn1ghiDZF9s6903tF4ZQaUoKnlXDnvRXqOzBFf2lSmAjKD+z+S9t2ws=<br />
svn.kde.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINACoE8znFN7FaS2CMK74trAPOehGoftawOjathkZFf6<br />
</pre><br />
<br />
You can do this even before the server changes, keeping the old key too,<br />
so that when the server changes, everything already works for you.</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88047Infrastructure/Subversion/2020 Changes2020-04-18T00:08:57Z<p>Nalvarez: List leptone's host keys instead of the fingerprints, so users can add it to known_hosts directly</p>
<hr />
<div>== April 2020 changes to Subversion server ==<br />
<br />
As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to add your SSH keys on KDE's GitLab at [https://invent.kde.org/ invent.kde.org]<br />
([https://invent.kde.org/profile/keys link to your GitLab SSH keys]),<br />
even if you only intend to use Subversion.<br />
<br />
In addition, if you're not in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list list of users with SVN access],<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the SSH host keys of the server will necessarily change,<br />
and you will get a nasty security warning about it.<br />
You should add the new host keys to your ~/.ssh/known_hosts file:<br />
<pre><br />
svn.kde.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvvywZ0SNVmhy2MRC4v0iTPjxRxaY1NATlUNoluJZ8K6DIiO3hQN99QaqyduIwCvI3EfdFqqw/QzyWAuAZdUC5eZrzhYO09NcgHkK9PsCjutIZHzeE+8WXLQNBNKA41r6JLliRpCe5aCPGl5KWuCdP+T8caA6GHPImPXcwziFaYk7l6NPa8M7raDxBlcRqqYvfyeSQAkefN/PVw5boeqXDBTzU/x9DG0BdawrSg0jBqIjmznkaSOIWNNDxFryfXiVIfegeqXanJM194wrSD3wWs6gPGDXGa36/1F+12KjzZp3XieOMxHoxyqznaK7NjOxca4N20NFfDritYrqjM+bP<br />
svn.kde.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNjuHOU2kseETX55MtRO3dzY+NZ+BAenpn1ghiDZF9s6903tF4ZQaUoKnlXDnvRXqOzBFf2lSmAjKD+z+S9t2ws=<br />
svn.kde.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINACoE8znFN7FaS2CMK74trAPOehGoftawOjathkZFf6<br />
</pre><br />
<br />
You can do this even before the server changes, keeping the old key too.</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88019Infrastructure/Subversion/2020 Changes2020-04-16T02:50:25Z<p>Nalvarez: Bunch of rewording</p>
<hr />
<div>== April 2020 changes to Subversion server ==<br />
<br />
As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to add your SSH keys on KDE's GitLab at [https://invent.kde.org/ invent.kde.org]<br />
([https://invent.kde.org/profile/keys link to your GitLab SSH keys]),<br />
even if you only intend to use Subversion.<br />
<br />
In addition, if you're not in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list list of users with SVN access],<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the SSH host keys of the server will necessarily change,<br />
and you will get a nasty security warning about it.<br />
You should remove the old host key from <tt>known_hosts</tt> as the warning explains,<br />
then make sure the new host key fingerprint matches one of these before accepting it:<br />
<!-- these are leptone's host key fingerprints --><br />
<pre><br />
2048 SHA256:rgF+nO+jdBEKOdowaOZBnaeWtAV6vquW4EjFafO1aaM (RSA)<br />
256 SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I/JMqrA (ECDSA)<br />
256 SHA256:tPgR57xn3BJVri4ncIMAtj/3Dxc9SB/ijOxORUTCQFk (ED25519)<br />
<br />
2048 MD5:32:c9:78:b1:1f:7c:2e:1c:12:26:62:1c:67:d0:6c:28 (RSA)<br />
256 MD5:cb:56:a3:74:a8:69:5c:f3:93:b0:dc:f9:05:1c:3f:9a (ECDSA)<br />
256 MD5:c8:99:54:39:84:9b:e5:39:1a:de:c6:6d:fa:4d:a4:e8 (ED25519)<br />
</pre></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88018Infrastructure/Subversion/2020 Changes2020-04-16T02:37:53Z<p>Nalvarez: Add heading</p>
<hr />
<div>== April 2020 changes to Subversion server ==<br />
<br />
As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to [https://invent.kde.org/profile/keys add your SSH keys on GitLab],<br />
even if you only use Subversion and won't use GitLab in the future.<br />
Then, if you're not in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list list of users with SVN access],<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the host SSH keys of the server will change,<br />
and you will get a nasty warning about it being a security issue.<br />
You should make sure the new host key fingerprint matches one of these,<br />
then remove the old one from <tt>known_hosts</tt> as the warning explains:<br />
<!-- these are leptone's host key fingerprints --><br />
<pre><br />
2048 SHA256:rgF+nO+jdBEKOdowaOZBnaeWtAV6vquW4EjFafO1aaM (RSA)<br />
256 SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I/JMqrA (ECDSA)<br />
256 SHA256:tPgR57xn3BJVri4ncIMAtj/3Dxc9SB/ijOxORUTCQFk (ED25519)<br />
<br />
2048 MD5:32:c9:78:b1:1f:7c:2e:1c:12:26:62:1c:67:d0:6c:28 (RSA)<br />
256 MD5:cb:56:a3:74:a8:69:5c:f3:93:b0:dc:f9:05:1c:3f:9a (ECDSA)<br />
256 MD5:c8:99:54:39:84:9b:e5:39:1a:de:c6:6d:fa:4d:a4:e8 (ED25519)<br />
</pre></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Subversion/2020_Changes&diff=88017Infrastructure/Subversion/2020 Changes2020-04-16T02:22:34Z<p>Nalvarez: First version</p>
<hr />
<div>As part of KDE's migration to GitLab,<br />
we will be moving our Subversion repository to a new server.<br />
To simplify our systems,<br />
we will also move the management of SSH keys to GitLab,<br />
and we will begin limiting access to the Subversion repository<br />
only to those actively using it.<br />
<br />
If you have commit access, to continue having access to the SVN repository,<br />
you will need to [https://invent.kde.org/profile/keys add your SSH keys on GitLab],<br />
even if you only use Subversion and won't use GitLab in the future.<br />
Then, if you're not in the [https://cgit.kde.org/repo-management.git/tree/svn-ssh-keys/users-list list of users with SVN access],<br />
please [https://go.kde.org/systickets file a sysadmin ticket] and we'll add you.<br />
<br />
Finally, the host SSH keys of the server will change,<br />
and you will get a nasty warning about it being a security issue.<br />
You should make sure the new host key fingerprint matches one of these,<br />
then remove the old one from <tt>known_hosts</tt> as the warning explains:<br />
<!-- these are leptone's host key fingerprints --><br />
<pre><br />
2048 SHA256:rgF+nO+jdBEKOdowaOZBnaeWtAV6vquW4EjFafO1aaM (RSA)<br />
256 SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I/JMqrA (ECDSA)<br />
256 SHA256:tPgR57xn3BJVri4ncIMAtj/3Dxc9SB/ijOxORUTCQFk (ED25519)<br />
<br />
2048 MD5:32:c9:78:b1:1f:7c:2e:1c:12:26:62:1c:67:d0:6c:28 (RSA)<br />
256 MD5:cb:56:a3:74:a8:69:5c:f3:93:b0:dc:f9:05:1c:3f:9a (ECDSA)<br />
256 MD5:c8:99:54:39:84:9b:e5:39:1a:de:c6:6d:fa:4d:a4:e8 (ED25519)<br />
</pre></div>Nalvarezhttps://community.kde.org/index.php?title=GSoC/2019/Ideas&diff=83519GSoC/2019/Ideas2019-03-27T22:57:32Z<p>Nalvarez: /* Ansible plugin for KDevelop */ Add my IRC nickname</p>
<hr />
<div>[[File:Mascot konqi-app-presentation.png|thumbnail|right|[[Konqi]] is giving a lesson!]]<br />
See also: [[../../|GSoC Instructions]], [[../../2018/Ideas|Last year ideas]]<br />
<br />
== Guidelines ==<br />
<br />
=== Information for Students ===<br />
<br />
These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you are urged to contact the developers and find out more about the particular suggestion you're looking at.<br />
<br />
Becoming accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. '''Simply copying and pasting an idea here will not work.''' On the other hand, creating a completely new idea without first consulting potential mentors rarely works.<br />
<br />
When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!<br />
<br />
If there is no specific contact given you can ask questions on the general KDE development list kde-devel@kde.org. See [http://www.kde.org/mailinglists/ the KDE mailing lists page] for information on available mailing lists and how to subscribe.<br />
<br />
{{Note|'''These are all proposals! We are open to new ideas you might have!!''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE.}}<br />
<br />
__TOC__<br />
<br />
=== Adding a Proposal ===<br />
<br />
{{Note|Follow the template of other proposals!}}<br />
<br />
==== Project: ====<br />
<br />
'''If appropriate, screenshot or another image '''<br />
<br />
'''Brief explanation:'''<br />
<br />
'''Expected results:'''<br />
<br />
'''Knowledge Prerequisite:'''<br />
<br />
'''Mentor:'''<br />
<br />
When adding an idea to this section, please try to include the following data:<br />
<br />
:*if the application is not widely known, a description of what it does and where its code lives<br />
:*a brief explanation<br />
:*the expected results<br />
:*pre-requisites for working on your project<br />
:*if applicable, links to more information or discussions<br />
:*mailing list or IRC channel for your application/library/module<br />
:*your name and email address for contact (if you're willing to be a mentor) <br />
<br />
** '''Ideas with no mentors listed and their contact info will be removed''' **<br />
<br />
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.<br />
<br />
==Ideas==<br />
===Your Own Idea ===<br />
<br />
==== Project: Something that you're totally excited about ====<br />
<br />
'''Brief explanation:''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.<br />
<br />
'''Expected results:''' Something you and KDE loves<br />
<br />
'''Knowledge Prerequisite:''' Probably C++ and Qt but depends on your project<br />
<br />
'''Mentor:''' Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc on Freenode IRC.<br />
<br />
=== Cantor ===<br />
[https://edu.kde.org/cantor/ Cantor] provides a graphical frontend for different open source computer algebra systems and scientific programming languages. [mailto:kde-edu@kde.org Contact the KDE-Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Integrated documentation ====<br />
'''Brief explanation''': at the moment the external documentation like for example for Maxima http://maxima.sourceforge.net/docs/manual/en/maxima.html, and similar for Octave, python, etc., is opened in the external browser window. Ideally, we'd show this inside of the application in the help/documentation panel and enable a quick access to the documentation together with some more advanced search capabilities. Integrated search and also the context sensitive help (user marks a keyword in the worksheet, hits e.g. the F1 button and the documentation for the selected keyword is shown) should be possible. Qt Help Framework (http://doc.qt.io/qt-5/qthelp-framework.html) should be utilized for this. For indexing and searching in a unified manner the documentation together with the search index should be available locally. Qt help's qch file should be available for download on store.kde.org. Users of different systems (Maxima, Octave, R, etc.) would download the documentation they need. Ideally, we could also try to get a similar appearance by css-styling the html files for different systems prior to creating those qch files.<br />
<br />
The project consists of the following three major parts:<br />
* implementation in c++ (documentation panel, searching, short cuts for faster navigation, etc.)<br />
* creation of Qt help files for major computer algebra systems and programming languages supported by Cantor<br />
* definition of sections on store.kde.org<br />
<br />
'''Expected results''': integrated documentation in Cantor for the supported CAS and programming languages<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic knowledge about html<br />
<br />
'''Mentor''': Alexander Semke<br />
<br />
===digiKam===<br />
digiKam is an advanced digital photo management application for Linux, Windows, and MacOS.<br />
* [http://www.digikam.org digiKam project web site]<br />
* [https://community.kde.org/Digikam/GSoC2019 Digikam KDE GSoC 2019 site]<br />
* [https://mail.kde.org/mailman/listinfo/digikam-devel Mailinglist]<br />
* [https://www.linkedin.com/groups/12186015/ LinkedIn Group]<br />
* [http://webchat.freenode.net/?channels=digikam #digikam IRC channel on Freenode]<br />
<br />
==== Project: AI Face Recognition with OpenCV DNN module ====<br />
<br />
'''Brief Explanation''': With GSoC 2016, we proposed a project to implement an AI extension to the [https://cgit.kde.org/digikam.git/tree/core/libs/facesengine/recognition digiKam core face recognition]. The project used the Dlib C++ API, but we were not satisfied by the results, as the algorithm gave poor performance. This choice also introduced a huge backport of low level codes which we don't want to maintain. So, even though the project proposed a somewhat suitable solution to provide an AI face recognition processor based on deep-learning, this one was not really powerful and functional enough. For now, this section of code about Dlib DNN extension is disabled in digiKam core.<br />
<br />
As digiKam core already depends on OpenCV library to perform complex image processing, and as OpenCV >= 3.3 release provide a new [https://docs.opencv.org/3.4.3/d2/d58/tutorial_table_of_content_dnn.html OpenCV DNN (Deep Neural Network) module], the goal now is to port the current digiKam core face recognition DNN extension to new OpenCV API and write all unit tests to validate the algorithm usability, efficiency, and performance, while learning and recognizing faces automatically.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Face recognition based on DNN OpenCV API, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, OpenCV, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Faces Management workflow improvements ====<br />
<br />
'''Brief Explanation''': digiKam provide a Faces detection algorithm which work mostly in 80% of use cases. It detect faces position in image automatically and register these information in database. Event if a lots of tasks can be done in background by digiKam, the end-users needs to adjust, re-organize, rename, delete Face tags in database through the user interface.<br />
<br />
Since many year, a lots of improvements have been identified by digiKam users community to improve the face tags management workflow in graphical use interface. See [https://bugs.kde.org/buglist.cgi?product=digikam&component=Faces-Workflow&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED this list of bugzilla entries] for details<br />
<br />
Note: Face Recognition is another part of Faces management, but this project is concerned by algorithms used while recognition.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a better Face Tags management workflow in user interface, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, User interface, digiKam<br />
<br />
'''Mentors''': Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Zoomable and Resizable Brush for Healing Clone Tool ====<br />
<br />
'''Brief Explanation''': With GoSC 2016, we have proposed a project to implement an [https://cgit.kde.org/digikam.git/tree/core/utilities/imageeditor/tools/enhance Healing Clone tool for digiKam image editor] to be able to remove unwanted artifacts from images. The student has implemented the basis without a zoomable canvas and without the resizable brush support. Due to this lack of features, the tools cannot be used in production by end-users.<br />
<br />
This section of code about healing clone tool is currently disabled in digiKam core.<br />
<br />
The goal of this project is to implement the missing feature for the Healing Clone tool in image editor, including the unit-tests and the documentation.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Healing clone tool for image editor, with unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Mohamed Anwer (mohammed.ahmed.anwer@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Factoring all Export Tools with new Export API ====<br />
<br />
'''Brief Explanation''': With GoSC 2018, we proposed a project to implement a huge factorization and improvements with all [https://cgit.kde.org/digikam.git/tree/core/utilities/assistants/webservices digiKam export to web service tools]. Our student fixed plenty of code using OAuth version 2 authentification, has simplified classes, and started to write a new API to factorize all these tools, including a common Wizard dialog. Even if the export tools implementation are now better, they do not use the new API and always run as a stand alone session in digiKam core. Due to this fact, the Web Service tools are not yet usable in digiKam Batch Queue Manager as single step runnable at end of a queue processing. So the section of code about factored export tools API is currently disabled in digiKam core. This year, the project will be to fix that.<br />
<br />
'''Expected Results''': <br />
<br />
Start to use every the new export tools API, use the new Wizard dialog, factoring codes everywhere, and introduce all export tools to BQM. Write unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
=== Falkon ===<br />
[https://www.falkon.org/ Falkon] is a KDE web browser.<br />
<br />
[mailto:falkon@kde.org Contact the Falkon team]<br />
<br />
==== Plasma integration ====<br />
<br />
'''Brief explanation:''' Falkon is Qt application and as such it integrates quite well into Plasma desktop environment. There is also an extension that allows to store passwords in KWallet. Plasma desktop provides some services that could be useful to use from browser, like showing the progress of downloads as jobs in notification applet or searching for bookmarks or open tabs from KRunner.<br />
<br />
There is already existing extension for Chrome that implements these features - [https://cgit.kde.org/plasma-browser-integration.git plasma-browser-integration] that can be used as a base for the Falkon extension.<br />
<br />
'''Expected results:''' Falkon C++ extension and additional helpers improves the integration with Plasma desktop.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt, JavaScript basics<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
==== Firefox Sync ====<br />
<br />
'''Brief explanation:''' Firefox Sync is an open API for synchronization of browser data between multiple instances. Falkon doesn't currently have support for any synchronization at all. Instead of creating in-house solution, it would be best to use some existing solution, which Firefox Sync appears to be a great candidate.<br />
<br />
Firefox Sync is not exclusive to Firefox browser, it was already implemented for example in Gnome Epiphany browser (https://github.com/GNOME/epiphany/tree/master/lib/sync).<br />
<br />
'''Expected results:''' Falkon is able to sync bookmarks, passwords, sessions ... over Firefox Sync API.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
=== GCompris ===<br />
[https://gcompris.net/ GCompris] is a high quality educational software suite, including a large number of activities for children aged 2 to 10. [mailto:gcompris-devel@kde.org Contact] the GCompris team.<br />
<br />
==== Project: Finishing the port of the major activities for version 1.0 ====<br />
'''Brief explanation''': Originally written in Gtk+ the development team started to rewrite it from scratch in Qt Quick and almost finished the port.<br />
<br />
'''Expected results''':<br />
The aim of this year is to work on the most important activities that we are missing to have a complete 1.0, mostly the analog electricity one (https://phabricator.kde.org/T5954, other activities can be proposed too, for example, we lack activities to learn about biology).<br />
First phase is to check how the Gtk+ version was working, what could be improved and then create a proposal with a timeline explaining what you expect to do and the time estimation. It does not need to be a simple clone, improvements should be done when possible.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim), Sagar Chand Agarwal (IRC: sagaragarwal94)<br />
<br />
==== Project: One step closer to version 1.0 ====<br />
'''Brief explanation''': we had some remarks that the difficulty in an activity can increase too much and target different ages in the same levels. The aim of this project is to add a granularity on the datasets so the child can better target what to learn.<br />
<br />
'''Expected results''':<br />
The aim of this project is to update activities to be able to use json files as datasets so we can have multiple datasets (each targeting a different learning goal) for the same activity.<br />
<br />
You need to choose activities that need this kind of datasets and update their code to use multiple datasets.<br />
<br />
A discussion is opened in https://phabricator.kde.org/T10211 to better know what we want and how to do it (WIP).<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim), Sagar Chand Agarwal (IRC: sagaragarwal94)<br />
<br />
=== KDE Connect ===<br />
[https://community.kde.org/KDEConnect KDE Connect] is a project that enables all your devices to communicate with each other.<br />
<br />
==== KDE Connect for Windows port ====<br />
We want to improve the integration of KDE Connect with the Windows system. As of now, KDE Connect builds on Windows ([https://community.kde.org/KDEConnect/Build_Windows using Craft]) and some plugins have been ported, but it's still unstable and incomplete.<br />
<br />
This project should aim to:<br />
<br />
* Implement all the missing plugins<br />
* Provide full integration with the OS:<br />
** Send-to integration from the right-click menu,<br />
** Make the notifications appear in the Windows 10 notifications bar, etc.<br />
* Improve existing documentation for how to compile (and use) KDE Connect on Windows<br />
** It would also be great if we had the option to use mingw as the compiler instead of depending on the Visual Studio compiler<br />
<br />
By the end of the project, we should have a releaseable installer for KDE Connect on Windows and/or KDE Connect published on the Windows app store.<br />
<br />
'''Areas of knowledge:''' Experience writing Windows applications, C++ and Qt5 is required.<br />
<br />
'''Mentor:''' Simon Redman (simon@ergotech.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
==== KDE Connect bluetooth backend ====<br />
KDE Connect works using a LAN/WLAN connection, but this isn't available everywhere. Examples are offices, schools, university or in public transport. Thus, KDE Connect has an alternative bluetooth backend, but it still needs a lot of work.<br />
<br />
The goal of this project is to make the bluetooth backend of KDE Connect production-ready. Examples include:<br />
* Make pairing devices in KDE Connect work over bluetooth<br />
* Find a solution for file-browsing over bluetooth<br />
* Investigate multi-device connectivity<br />
* Lots of bluetooth debugging<br />
<br />
By the end of the project, we should have a fully-working bluetooth backend, good enough to release to all users.<br />
<br />
'''Areas of knowledge:''' Experience in C++, Qt5 and Java development is required. Knowledge of Android development is preferred.<br />
<br />
'''Mentor:''' Matthijs Tijink (matthijstijink@gmail.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
<br />
=== KDE neon ===<br />
[https://neon.kde.org KDE neon] compiles KDE software to make it available pronto.<br />
<br />
==== Project: ISO Image Writer ====<br />
<br />
[https://cgit.kde.org/isoimagewriter.git/ ISO Image Writer] copies ISO images onto USB drives. It needs code tidied up and builds made for Snap, FlatPak, Windows, Mac and good old Linux packages. [https://phabricator.kde.org/M113/466/ Design to implement]<br />
<br />
'''Expected Results''': Installable packages<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Build systems, multi-platform<br />
<br />
Mentor: <br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Jonathan Riddell (IRC: Riddell)<br />
<br />
=== Kdenlive ===<br />
[https://kdenlive.org Kdenlive] is a KDE-application for professional video editors. It supports hundreds of video formats and all the features you can expect from a non-linear video editor, including some advanced features like timeline preview rendering, proxy clips and more.<br />
<br />
==== Project: Evolving Titler tool ====<br />
<br />
'''Brief Explanation''': Kdenlive titler tool allows to draw texts and images to composite over videos.<br />
<br />
Current code is using XML description, drawn by our "kdenlivetitle" MLT module, using old QPainter engine.<br />
This engines has limitations that blocks interesting features.<br />
Few years ago, an upstream module appeared in MLT, named "WebVfx", which uses QML to do similar things with much more flexibility.<br />
<br />
We would like to be able to load current XML titles and convert them automatically to QML format, and generate QML from our current GUI. Then the GUI could evolve to integrate new features, in accordance to our community requests & design group recommendations.<br />
<br />
'''Expected Results''': A titler using QML backend<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, QML<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Vincent Pinon (IRC: vpinon)<br />
<br />
=== KDE Partition Manager ===<br />
<br />
[https://www.kde.org/applications/system/kdepartitionmanager KDE Partition Manager] is a utility program to help you manage the disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, resize without losing data, backup and restore partitions.<br />
<br />
https://webchat.kde.org/#/room/#partitionmanager:kde.org<br />
<br />
==== Project: Port authentication to Polkit-qt ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager was recently ported to KAuth (which is Tier 2 KDE Framework library). This means that instead of running the whole GUI as root, KDE Partition Manager runs as a normal user, starts a small (non-GUI) helper application which runs as root and executes privileged tasks.<br />
<br />
KAuth itself was not sufficient for this task, so we built a small protocol on top of KAuth. Usually, programs that use KAuth, start a helper, it does its job and exists. In KDE Partition Manager, helper persists, and communicates with KDE Partition Manager using a fairly simple DBus protocol over which GUI application can request two things:<br />
* execute some external program, like sfdisk, btrfs, etc... <br />
* Copy block of data (partition) to another location).<br />
<br />
However, KAuth library itself is a layer built on top of Polkit-Qt (which is a small wrapper around Polkit).<br />
<br />
'''The proposal''' for this project is to port away from KAuth and run our custom protocol between helper and GUI application directly on top of Polkit-Qt.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
You don't need experience of using DBus, you can pick this up during the project.<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
==== Project: Finish mdraid and implement dmraid support ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager got a mdraid (Software RAID) support during the last Google Summer of Code as you can see in the [https://cgit.kde.org/kpmcore.git/?h=raid-support raid-support branch]. It is working with a good number of functionalities such as the display of RAID devices and the manipulation of them. Most of this work is completed, but there are some implementations and fixes to do, solve some udev bugs and include the implementation for resizing mdraid volumes.<br />
<br />
There is another type of RAID available for Linux systems, which is dmraid (FakeRAID). It works along the device mapper to discover and manipulate ATA RAID devices created by controllers BIOS. Our goal in this project is to offer some basic functionalities for it, such as displaying, creating, erasing and manipulating partitions inside of these volumes.<br />
<br />
'''The proposal''' for this project is to finish mdraid support and implement initial dmraid support.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
'''Hardware Prerequisite''':<br />
* ATA RAID support from your on-board BIOS RAID controller. <br />
** Please run '''dmraid -l''' to see the available array types and check if your BIOS supports it.<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
=== KDevelop ===<br />
[https://www.kdevelop.org/ KDevelop] is a cross-platform IDE for C, C++, Python, QML/JavaScript and PHP. [mailto:kdevelop-devel@kde.org Contact the KDevelop team].<br />
<br />
==== Ansible plugin for KDevelop ====<br />
'''Brief explanation:''' [https://www.ansible.com/ Ansible] is an open-source tool to automate server configuration management, application deployment, etc.<br />
We would like a KDevelop plugin that treats Ansible YAML files as a programming language, and provides, for example, code completion for Ansible "modules" and their parameters.<br />
<br />
Many other features could be conceived for such a plugin, such as inline warning of common errors in the YAML code, helper to create a new role, language support for inventory files, editing files encrypted with Ansible-vault, embedded Ansible documentation, etc. Your proposal should say what concrete features you plan to implement.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt, basic familiarity with KDevelop as a user. Ideally experience with Ansible too.<br />
<br />
'''Mentor:''' Nicolás Alvarez (nalvarez@kde.org, IRC: nicolas17)<br />
<br />
=== Krita ===<br />
[http://www.krita.org Krita]: digital painting for artists. It supports creating images from scratch from beginning to end. Krita is a complex application and developers need to have a fair amount of experience in order to be able to do something.<br />
<br />
Krita is a widely used digital painting application for professional artists. Last year, Krita gained the ability to create hand-drawn 2D animations, among other new features. For this year, projects that the Krita team would be interested in include the following ideas.<br />
<br />
Note that we're always open to ideas you bring in yourself: if you're passionate about something you've come up with yourself, that you want for Krita, that's a big plus for us.<br />
<br />
We also expect prospective students to submit at least three patches for bugs or wishes or small features. We want to know how good you are! See https://phabricator.kde.org/T7724 for some smaller tasks that you could work on that are not bugs.<br />
<br />
==== Project: Integrating the MyPaint Brush Engine ====<br />
<br />
'''Brief Explanation''': The MyPaint brush engine has been separated from the MyPaint application and has been completely rewritten. Artists still like the mypaint brush engine a lot and it would be great to have the engine integrated in Krita as a new brush engine. Libmypaint can be found here: https://github.com/mypaint/libmypaint and the brush set here: https://github.com/mypaint/mypaint-brushes . The first goal is to integreate libmypaint in a Krita brushengine and make it load the brushes. The second goal is to expose the MyPaint brush options in Krita's brush editor and allow the modification and creation of MyPaint brushes in Krita. GIMP is an example of an application that has already integrated the MyPaint brush engine.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to effectively paint with MyPaint brushes in Krita.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
<br />
==== Project: Supporting Vertical Text and SVG2 Text in the Text Shape ====<br />
<br />
'''Brief Explanation''': Krita's Text Shape was rewritten for Krita 4.0. It is now SVG based, instead of ODF. There are many things lacking, though. The original goal was to support SVG2. Currently the text shape only supports SVG1. There is no automatic wordwrap and vertical text (e.g. Chinese and Japanese) is not supported either. The goal of this project is to support wordwrap and vertical text layout. Other improvements to the text shape can be proposed as well. The level of this project is advanced.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to create and edit vertical text. Text shapes should be able to automatically wrap text to the bounding box.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Typography, Text Layout<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Add New Fill Layer Types ====<br />
<br />
'''Brief Explanation''': Fill layers are layers that automatically generate content. Krita currently has two types of fill layers: Color and Pattern. There used to be another type that generated content dynamically using the OpenShiva scripting language. However, that language hasn't been maintained for a long time. The goal of this project is to add a new dynamic fill layer types that could fill an area with different effects such as perlin and other types of noise, clouds, hatching, fractals.<br />
<br />
'''Expected Results''': <br />
<br />
Several new fill layer types that allow the user to add dynamically generated content as a layer in the layer stack <br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Port Krita to Android OR iOS ====<br />
<br />
'''Brief Explanation''': Krita is currently only available on Windows, macOS and Linux. The goal of this project is to port the desktop version of Krita to one mobile operating system, either Android or iOS. This involves making sure all (or a viable subset of) Krita's dependencies are available on the target platform, as well as Krita itself.<br />
<br />
'''Expected Results''': <br />
<br />
A build of Krita that starts on either mobile OS and shows an image. Further integration with either mobile OS would be nice, but is an extra. Furthermore, the build system and build scripts need to be documented, complete and maintainable.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, CMake, Android or iOS. You also need to have access to test hardware.<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud) Jayaditya Gupta (IRC: nightmare_unreal/jayssj11)<br />
<br />
<br />
==== Project: Improve Krita for Touch Systems ====<br />
<br />
'''Brief Explanation''': Krita Gemini/Krita Sketch were version of Krita based on QtQuick 1 that provided a decent touch-only experience. Because of the technical limitations of QtQuick 2, the approach used in Gemini and Sketch is no longer viable. Since Krita 4, there is a QtQuick2 based touch docker that mimics the button bar found on some wacom devices. This is not configurable, and quite limited. This project involves working with Krita's UX designers and users to define a new approach to supporting touch devices, then implementing that support.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to work with Krita on a touch-only device such as a Surface Pro or Wacom Mobile Studio without wanting to chop their devices in two.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: SVG Mesh Gradients ====<br />
<br />
'''Brief Explanation''': Even though Mesh Gradients are not officially part of the truncated SVG2 specification anymore, having a second implementation next to Inkscape would help improving the standard. Plus, mesh gradients are very useful for artists. This project entails implementing a new gradient type. Whether this should be based on QGradient or not is up for discussion. The gradients should render exactly the same as in inkscape. See https://svgwg.org/svg-next/pservers.html#MeshGradientElement.<br />
<br />
'''Expected Results''': <br />
<br />
A new gradient type, UI to create and edit these gradients and apply them. Gradients should work both on vector objects as well as on paint layers.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Inkscape<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: Extending Animation Support for curves ====<br />
<br />
'''Brief Explanation''': In Krita, you can already add curves that could be applied to some properties of a layer, like opacity, animating those properties. We want the animation support extended by allowing users to place masks (filter masks, transformation masks, transparency masks) on the timeline and animate their properties using curves. Every property of a layer or mask placed on the timeline should be animatable.<br />
<br />
'''Expected results''':<br />
* Implementation of a gui for applying the curve settings to one or more properties of a mask or layer<br />
* Implementation of the actual rendering of the properties in the frames<br />
* Saving of these settings<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and Qt<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Jouni Pentikainen (tyyppi on IRC)<br />
<br />
==== Project: Taking the Shape Brush to the next level ====<br />
<br />
'''Brief Explanation''': Krita has a number of interesting brush engines. One of them is the Shape Brush engine. Inspired by Alchemy, the shape brush "throws" shapes on the canvas. The current implementation is limited to geometric shapes. We want the brush engine to be extended to make it possible to load vector shapes defined as PDF or SVG and use those to draw on the canvas as well. Other improvements are the addition of Feathering, an outline mode, edge sharpening and background textures.<br />
<br />
'''Expected Results''': A revamped and exciting shapes brush<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
=== KStars ===<br />
[https://edu.kde.org/kstars KStars] is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time.<br />
<br />
==== Project: Deep Sky Object Overhaul ====<br />
'''Brief explanation''': KStars supports many deep sky objects (DSOs) including galaxies, nebulae, supernovae, clusters and more. Currently, some deep sky catalogs are stored in simple space separated text format where they are parsed into KStars directly or into KStars Deep Sky Component SQLite3 database which is then loaded in KStars. However, since all DSOs are loaded at once into memory, this limits the size of catalogs within KStars. A solution similar to how dynamic stars are cached in and out of memory must be developed for DSOs. Furthermore, all catalog entries should have their trixels indexed so that they can be efficiently drawn unto the sky map. Another issue is that catalogs can overlap since there is no cross-identification of various catalogs. For example, Andromeda galaxy exists in Messier catalog as M31, and exists in NGC catalog as NGC 224. The database should support an ability to cross-identify objects from all supported and future catalogs.<br />
<br />
'''Expected results''': <br />
* Convert all text-format catalogs to SQLite3 database.<br />
* Develop master DSO database where cross-identification of objects is supported. Master database can support addon downloadable catalogs where they can be merged once downloaded by the user.<br />
* Import of The Principal Galaxy Catalog, 2003 Version (PGC2003) which contains ~1 million galaxies into KStars as a downloadable addon.<br />
* Caching and drawing optimizations for large catalogs.<br />
* Cross-identification for all supported DSO catalogs including, but not limited too: NGC/IC/Messier/Arp/PGC/LDN<br />
* Trixel indexation for all DSOs. Implementation of improved drawing cached routine in KStars for DSOs similar to stars.<br />
* All necessary updates within KStars maps, tools and dialogs to reflect the above changes.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: FITSViewer & Photometry Improvements ====<br />
'''Brief explanation''': The FITSViewer is used to display [https://fits.gsfc.nasa.gov/fits_standard.html FITS] images as captured by cameras or opened by the user. It supports 8, 16, 32, and 64bit formats with either a single channel (Mono or Bayer) or RGB cube. The goal for this project is to provide efficient and intuitive controls for:<br />
# '''Histogram Adjustments''': Controls for Shadow, Midtones, and Highlights. White / Black points controls.<br />
# '''Noise Calculation''': Calculate the overall Signal-to-Noise (SNR) radio for the overall image, or a specific subframe of the image.<br />
# '''Sky Glow Computation''': Estimation of Sky Glow component in image of various exposures. Each captured image is affected by multiple sources of noise, only of which is the sky glow which in turn is affected by the atmosphere, pollution, and artificial sources (e.g. light). The objective is to propose to the user the optimum exposure time given the sky glow contribution to the image.<br />
# '''Mask Overlay''': Ability to select custom mask over stars to aid in focusing and photometry.<br />
# '''Photometry''': KStars includes SEP which can be used to extract sources from stellar images and also performs aperture photometry. A new tool should be developed to aid the users to perform photometric work with the images including reduction of images (darks & flats) with various optimization/algorithmic settings. Additionally, the tool provides means for aperture photometry calculations as well.<br />
Since FITSViews typically deals with very high-resolution images, such calculations can be very computationally expensive. It is expected that a very efficient multi-threaded code to be developed to take advantage of all the available cores on the system and any hardware or instruction set optimizations to achieve the smoothest user experience.<br />
'''Expected results''': <br />
* Improved Histogram Tool.<br />
* New controls for histogram.<br />
* SNR, Sky Glow, and Photometry calculations.<br />
* Photometric reductions. Aperture photometry.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Threading, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Implement Qt3D backend for KStars ====<br />
'''Brief explanation''': The Skymap in KStars desktop version is currently built using QPainter and 2D drawing primitives. In order to take advantage of advances in modern GPU hardware and to present a stunning visual view of the night sky, a 3D backend is desired. Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications. Within KStars, SkyPainter provides a backend-agnostic class for drawing object unto the skymap regardless of the backend. Previously, an experimental OpenGL backend was developed but was later deprecated due to drawing issues. Since Qt3D provides an abstraction to the backend framework (OpenGL/Vulkan/DirectX), it presents a very flexible framework for building future-proof 3D applications.<br />
<br />
'''Expected results''': <br />
* Create Qt3D based backend to draw all objects currently implemented by QPainter backend.<br />
* Create realistic colors, shares, textures, meshes, lighting for all stars, solar system, and deep sky objects.<br />
* Create animations for meteor shows, comet tails, stars twinkle..etc<br />
'''Knowledge Prerequisite''': C++, Qt, Prior experience working with 3D applications/games.<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
=== LabPlot ===<br />
[https://labplot.kde.org LabPlot] is a KDE-application for interactive graphing and analysis of scientific data. LabPlot provides an easy way to create, manage and edit plots and to perform data analysis. Labplot is part of the [https://edu.kde.org/ KDE Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Import of educational data sets available on the internet ====<br />
'''Brief explanation''': There are many internet pages providing data sets for educational and study purposes for many different areas (astrophysics, statistics, medicine, etc.). Some tools used in the scientific area provide some "wrappers" for such online sources and allow the user to easily play around with those data sets in the applications whereas the technical details like fetching of data from the server and parsing are done completely transparent for the user. The goal of this project is to add similar functionality to LabPlot. There will be a wizard where the user can select from a thematically grouped list of data sets available online. The internal description of such an online data set should contain the URL with the actual file that needs to be downloaded and the settings for LabPlot's data parser (separator, column names and data types, etc.). The definition of the data sources should be made available on store.kde.org.<br />
<br />
'''Expected results''': We want to be able to easily import the educational data sets available on the internet.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt<br />
<br />
'''Mentor''': Fábián Kristóf<br />
<br />
==== Project: Statistical analysis ====<br />
Currently LabPlot has only basic support for statistical data analysis by providing some basic measures of descriptive statistics in the spreadsheet. The goal of the project is to add more statistics relevant features (hypothesis tests, cluster analysis, ets.) to LabPlot.<br />
<br />
'''Expected results''':<br />
* evaluate available statistical open-source libraries which can be used for this project<br />
* determine a reasonable set of features and algorithms that can be added to LabPlot, compare here with other similar projects, and implement them<br />
* for the visualization of results of statistical calculations, implement new kind of reports for this, comparable to other similar projects<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic statistics knowledge<br />
<br />
'''Mentor''': Stefan Gerlach, Alexander Semke<br />
<br />
=== Okular ===<br />
Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD. [mailto:okular-devel@kde.org Contact] the Okular developers.<br />
<br />
==== Project: Support animated PDF ====<br />
<br />
'''Brief explanation:''' PDF files can support animation via JavaScript. This is one feature that is regularly requested by users and would be nice supporting it in Okular.<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Albert Astals Cid aacid@kde.org<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=403772<br />
* https://bugs.kde.org/show_bug.cgi?id=242617<br />
<br />
<br />
==== Project: Add support for showing and adding replies to sticky notes ====<br />
<br />
'''Brief explanation:''' PDF files can contain replies to certain annotations. In this project, you would need to add support to Okular and possibly to poppler so that they show the same way they do on other PDF readers. Once they are shown and if there is enough time adding the capability to add replies is also welcome.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Okular developers https://mail.kde.org/mailman/listinfo/okular-devel<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=387834<br />
<br />
<br />
==== Project: Improve custom stamp annotation handling ====<br />
<br />
'''Brief explanation:''' Okular does display stamp annotations, but the support<br />
is somewhat incomplete. This particularly shows when trying to use stamp<br />
annotations with a custom image. For example, such annotations can be<br />
added in Okular, but they cannot be saved to the pdf file in a way<br />
that any other pdf viewer can read. Also, they will not appear on print-outs.<br />
<br />
The underlying reason for this is that Okular renders these stamps itself,<br />
rather than relying on the poppler library, which does all other pdf<br />
rendering. Goal of this project is therefore to teach poppler how to<br />
render stamp annotations, and then make Okular use that new functionality.<br />
More details can be found in the bug report [0].<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=383651<br />
<br />
'''Expected results:''' Poppler should render stamp annotations. Annotations<br />
should be printable from Okular. Custom stamps inserted via the Okular GUI<br />
should be visible in other pdf readers.<br />
<br />
'''Knowledge prerequisite:''' C++, and a bit about the pdf format.<br />
<br />
<br />
==== Project: Annotation improvements ====<br />
<br />
'''Brief explanation:''' Okular supports convenient editing of pdf annotations, but quite a number of paper-cut bugs are known. Examples are [0,1,2], but many more can be found in the bugtracker. Goal of this project is to fix as many of these bugs as possible, which should improve the Okular user experience greatly.<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=275371<br />
<br />
[1] https://bugs.freedesktop.org/show_bug.cgi?id=102635<br />
<br />
[2] https://bugs.freedesktop.org/show_bug.cgi?id=52010<br />
<br />
'''Expected results:''' Lots of annotation-related bugs fixed. Annotation rendering and manipulation should be more enjoyable.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, and a bit about the pdf format<br />
<br />
=== Plasma Mobile ===<br />
Plasma Mobile is KDE's software stack for mobile devices that includes Plasma phone components, Kirigami and a set of mobile-friendly applications.<br />
<br />
==== SMS App ====<br />
Plasma Mobile currently does not have a functional SMS app. One approach to this would be extending the SMS app that is currently developed for KDE Connect to have a Plasma Mobile backend.<br />
<br />
This includes:<br />
- Develop an approach to make the app support multiple backends<br />
- Develop a backend for the Plasma Mobile SMS stack (ofono)<br />
- Possibly improvements to the Plasma Mobile SMS stack<br />
- Possibly improvements to the SMS app UX<br />
<br />
Goal is to be able to communicate via SMS on a Plasma mobile phone with all basic features (sending, receiving SMS, browsing through conversations).<br />
<br />
This requires access to a Plasma mobile enabled phone, preferably the Nexus 5X. Second-hand phones are available at very low prices.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5.<br />
<br />
'''Mentors:''' Simon Redman and Nicolas Fella for KDE Connect specific things, Bhushan Shah for Plasma Mobile things. Get in touch with us on #kdeconnect on freenode or the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
==== Nextcloud integration ====<br />
<br />
Plasma Mobile offers the accounts integration, which allows to add various online accounts like, Google, Nextcloud and provides very basic service which allows copying contacts from the Nextcloud calender. We would like to offer fully integrated solution for Nextcloud in Plasma Mobile.<br />
<br />
This includes:<br />
- System settings module for adding and configuring the Nextcloud account<br />
- Syncing of contacts, calenders from the nextcloud (ideally should support bi-directional sync)<br />
- Syncing of the files/documents/pictures.<br />
<br />
End goal is user being able to add nextcloud account easily and use the data shared on nextcloud instance.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Qt5, and QML.<br />
<br />
'''Mentors:''' Bhushan Shah, Get in touch with us on the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
=== Purpose ===<br />
The [https://api.kde.org/frameworks/purpose/html/index.html Purpose] framework offers the possibility to create integrate services and actions on any application without having to implement them specifically. Purpose will offer them mechanisms to list the different alternatives to execute given the requested action type and will facilitate components so that all the plugins can receive all the information they need.<br />
<br />
==== Barcode scanning infrastructure ====<br />
Purpose enables application developers to use features without implementing them themselves. It offers multiple alternatives to achieve a goal. Right now it supports sharing files and URLs.<br />
<br />
An interesting use case for it would be scanning barcodes. An application developer that wants to scan a barcode would ask Purpose for it. Purpose would offer multiple ways of doing it, e.g. from a local file, from the local camera or from a via KDE Connect connected phone. Purpose would then return the data to the application.<br />
<br />
Goal of this task is to have a framework for scanning barcodes as well as multiple implementations. This consists of:<br />
- Adding a new Plugin type to Purpose<br />
- A import from file backend<br />
- A local camera backend<br />
- A KDE Connect backend<br />
- One or more applications using it, e.g. Itinerary or a barcode scan app for Plasma Mobile<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5 is required. Experience with Java/Android for the KDE Connect backend is beneficial.<br />
<br />
'''Mentor:''' Nicolas Fella (nicofee) for KDE Connect parts. Aleix Pol (apol) for Purpose parts. Volker Krause (vkrause) for zxing parts. [https://mail.kde.org/mailman/listinfo/kde-frameworks-devel Devel mail list].<br />
<br />
===KWin===<br />
====Clipboard Management Wayland protocol====<br />
Currently on Wayland functionality like Klipper and clipboard sync via KDE Connect is not working because the programm cannot access the clipboard in the required way. A special wayland protocol for that will be needed. The wl-roots project has a [proposal https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-data-control-unstable-v1.xml] for this. This GSoC project is about implementing support for it in KWin and making use of it in Klipper and KDE Connect.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Knowing what Wayland is.<br />
'''Mentor:''' Roman Gilg (romangg), Nicolas Fella (nicofee)<br />
<br />
==== Wayland graphical tablet input support ==== <br />
<br />
'''Brief Explanation''': Tablets are very different from mice, they have a lot more information about their current state and events. As such there are separate protocols for passing these events from raw hardware to the client. We need to add:<br />
* A protocol in kwayland to wrap the low level protocol<br />
* support in KWin to map libinput to sending wayland events to the right clients.<br />
* support in Qt's wayland client code to map wayland to Qt events that applications can use <br />
(this will mean collaborating not just within KDE code but also Qt)<br />
<br />
'''Expected results''':<br />
Working tablet support in all applications within a kwin wayland session.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5,<br />
<br />
'''Mentor''': David Edmundson (davidedmundson@kde.org), Vlad Zagorodniy (zzag)</div>Nalvarezhttps://community.kde.org/index.php?title=GSoC/2019/Ideas&diff=83425GSoC/2019/Ideas2019-03-16T13:51:28Z<p>Nalvarez: /* Ansible plugin for KDevelop */</p>
<hr />
<div>[[File:Mascot konqi-app-presentation.png|thumbnail|right|[[Konqi]] is giving a lesson!]]<br />
See also: [[../../|GSoC Instructions]], [[../../2018/Ideas|Last year ideas]]<br />
<br />
== Guidelines ==<br />
<br />
=== Information for Students ===<br />
<br />
These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you are urged to contact the developers and find out more about the particular suggestion you're looking at.<br />
<br />
Becoming accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. '''Simply copying and pasting an idea here will not work.''' On the other hand, creating a completely new idea without first consulting potential mentors rarely works.<br />
<br />
When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!<br />
<br />
If there is no specific contact given you can ask questions on the general KDE development list kde-devel@kde.org. See [http://www.kde.org/mailinglists/ the KDE mailing lists page] for information on available mailing lists and how to subscribe.<br />
<br />
{{Note|'''These are all proposals! We are open to new ideas you might have!!''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE.}}<br />
<br />
__TOC__<br />
<br />
=== Adding a Proposal ===<br />
<br />
{{Note|Follow the template of other proposals!}}<br />
<br />
==== Project: ====<br />
<br />
'''If appropriate, screenshot or another image '''<br />
<br />
'''Brief explanation:'''<br />
<br />
'''Expected results:'''<br />
<br />
'''Knowledge Prerequisite:'''<br />
<br />
'''Mentor:'''<br />
<br />
When adding an idea to this section, please try to include the following data:<br />
<br />
:*if the application is not widely known, a description of what it does and where its code lives<br />
:*a brief explanation<br />
:*the expected results<br />
:*pre-requisites for working on your project<br />
:*if applicable, links to more information or discussions<br />
:*mailing list or IRC channel for your application/library/module<br />
:*your name and email address for contact (if you're willing to be a mentor) <br />
<br />
** '''Ideas with no mentors listed and their contact info will be removed''' **<br />
<br />
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.<br />
<br />
==Ideas==<br />
===Your Own Idea ===<br />
<br />
==== Project: Something that you're totally excited about ====<br />
<br />
'''Brief explanation:''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.<br />
<br />
'''Expected results:''' Something you and KDE loves<br />
<br />
'''Knowledge Prerequisite:''' Probably C++ and Qt but depends on your project<br />
<br />
'''Mentor:''' Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc on Freenode IRC.<br />
<br />
=== Cantor ===<br />
[https://edu.kde.org/cantor/ Cantor] provides a graphical frontend for different open source computer algebra systems and scientific programming languages. [mailto:kde-edu@kde.org Contact the KDE-Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Integrated documentation ====<br />
'''Brief explanation''': at the moment the external documentation like for example for Maxima http://maxima.sourceforge.net/docs/manual/en/maxima.html, and similar for Octave, python, etc., is opened in the external browser window. Ideally, we'd show this inside of the application in the help/documentation panel and enable a quick access to the documentation together with some more advanced search capabilities. Integrated search and also the context sensitive help (user marks a keyword in the worksheet, hits e.g. the F1 button and the documentation for the selected keyword is shown) should be possible. Qt Help Framework (http://doc.qt.io/qt-5/qthelp-framework.html) should be utilized for this. For indexing and searching in a unified manner the documentation together with the search index should be available locally. Qt help's qch file should be available for download on store.kde.org. Users of different systems (Maxima, Octave, R, etc.) would download the documentation they need. Ideally, we could also try to get a similar appearance by css-styling the html files for different systems prior to creating those qch files.<br />
<br />
The project consists of the following three major parts:<br />
* implementation in c++ (documentation panel, searching, short cuts for faster navigation, etc.)<br />
* creation of Qt help files for major computer algebra systems and programming languages supported by Cantor<br />
* definition of sections on store.kde.org<br />
<br />
'''Expected results''': integrated documentation in Cantor for the supported CAS and programming languages<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic knowledge about html<br />
<br />
'''Mentor''': Alexander Semke<br />
<br />
===digiKam===<br />
digiKam is an advanced digital photo management application for Linux, Windows, and MacOS.<br />
* [http://www.digikam.org digiKam project web site]<br />
* [https://community.kde.org/Digikam/GSoC2019 Digikam KDE GSoC 2019 site]<br />
* [https://mail.kde.org/mailman/listinfo/digikam-devel Mailinglist]<br />
* [https://www.linkedin.com/groups/12186015/ LinkedIn Group]<br />
* [http://webchat.freenode.net/?channels=digikam #digikam IRC channel on Freenode]<br />
<br />
==== Project: AI Face Recognition with OpenCV DNN module ====<br />
<br />
'''Brief Explanation''': With GSoC 2016, we proposed a project to implement an AI extension to the [https://cgit.kde.org/digikam.git/tree/core/libs/facesengine/recognition digiKam core face recognition]. The project used the Dlib C++ API, but we were not satisfied by the results, as the algorithm gave poor performance. This choice also introduced a huge backport of low level codes which we don't want to maintain. So, even though the project proposed a somewhat suitable solution to provide an AI face recognition processor based on deep-learning, this one was not really powerful and functional enough. For now, this section of code about Dlib DNN extension is disabled in digiKam core.<br />
<br />
As digiKam core already depends on OpenCV library to perform complex image processing, and as OpenCV >= 3.3 release provide a new [https://docs.opencv.org/3.4.3/d2/d58/tutorial_table_of_content_dnn.html OpenCV DNN (Deep Neural Network) module], the goal now is to port the current digiKam core face recognition DNN extension to new OpenCV API and write all unit tests to validate the algorithm usability, efficiency, and performance, while learning and recognizing faces automatically.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Face recognition based on DNN OpenCV API, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, OpenCV, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Faces Management workflow improvements ====<br />
<br />
'''Brief Explanation''': digiKam provide a Faces detection algorithm which work mostly in 80% of use cases. It detect faces position in image automatically and register these information in database. Event if a lots of tasks can be done in background by digiKam, the end-users needs to adjust, re-organize, rename, delete Face tags in database through the user interface.<br />
<br />
Since many year, a lots of improvements have been identified by digiKam users community to improve the face tags management workflow in graphical use interface. See [https://bugs.kde.org/buglist.cgi?product=digikam&component=Faces-Workflow&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED this list of bugzilla entries] for details<br />
<br />
Note: Face Recognition is another part of Faces management, but this project is concerned by algorithms used while recognition.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a better Face Tags management workflow in user interface, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, User interface, digiKam<br />
<br />
'''Mentors''': Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Zoomable and Resizable Brush for Healing Clone Tool ====<br />
<br />
'''Brief Explanation''': With GoSC 2016, we have proposed a project to implement an [https://cgit.kde.org/digikam.git/tree/core/utilities/imageeditor/tools/enhance Healing Clone tool for digiKam image editor] to be able to remove unwanted artifacts from images. The student has implemented the basis without a zoomable canvas and without the resizable brush support. Due to this lack of features, the tools cannot be used in production by end-users.<br />
<br />
This section of code about healing clone tool is currently disabled in digiKam core.<br />
<br />
The goal of this project is to implement the missing feature for the Healing Clone tool in image editor, including the unit-tests and the documentation.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Healing clone tool for image editor, with unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Mohamed Anwer (mohammed.ahmed.anwer@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Factoring all Export Tools with new Export API ====<br />
<br />
'''Brief Explanation''': With GoSC 2018, we proposed a project to implement a huge factorization and improvements with all [https://cgit.kde.org/digikam.git/tree/core/utilities/assistants/webservices digiKam export to web service tools]. Our student fixed plenty of code using OAuth version 2 authentification, has simplified classes, and started to write a new API to factorize all these tools, including a common Wizard dialog. Even if the export tools implementation are now better, they do not use the new API and always run as a stand alone session in digiKam core. Due to this fact, the Web Service tools are not yet usable in digiKam Batch Queue Manager as single step runnable at end of a queue processing. So the section of code about factored export tools API is currently disabled in digiKam core. This year, the project will be to fix that.<br />
<br />
'''Expected Results''': <br />
<br />
Start to use every the new export tools API, use the new Wizard dialog, factoring codes everywhere, and introduce all export tools to BQM. Write unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
=== Falkon ===<br />
[https://www.falkon.org/ Falkon] is a KDE web browser.<br />
<br />
[mailto:falkon@kde.org Contact the Falkon team]<br />
<br />
==== Plasma integration ====<br />
<br />
'''Brief explanation:''' Falkon is Qt application and as such it integrates quite well into Plasma desktop environment. There is also an extension that allows to store passwords in KWallet. Plasma desktop provides some services that could be useful to use from browser, like showing the progress of downloads as jobs in notification applet or searching for bookmarks or open tabs from KRunner.<br />
<br />
There is already existing extension for Chrome that implements these features - [https://cgit.kde.org/plasma-browser-integration.git plasma-browser-integration] that can be used as a base for the Falkon extension.<br />
<br />
'''Expected results:''' Falkon C++ extension and additional helpers improves the integration with Plasma desktop.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt, JavaScript basics<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
==== Firefox Sync ====<br />
<br />
'''Brief explanation:''' Firefox Sync is an open API for synchronization of browser data between multiple instances. Falkon doesn't currently have support for any synchronization at all. Instead of creating in-house solution, it would be best to use some existing solution, which Firefox Sync appears to be a great candidate.<br />
<br />
Firefox Sync is not exclusive to Firefox browser, it was already implemented for example in Gnome Epiphany browser (https://github.com/GNOME/epiphany/tree/master/lib/sync).<br />
<br />
'''Expected results:''' Falkon is able to sync bookmarks, passwords, sessions ... over Firefox Sync API.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
=== GCompris ===<br />
[https://gcompris.net/ GCompris] is a high quality educational software suite, including a large number of activities for children aged 2 to 10. [mailto:gcompris-devel@kde.org Contact] the GCompris team.<br />
<br />
==== Project: Finishing the port of the major activities for version 1.0 ====<br />
'''Brief explanation''': Originally written in Gtk+ the development team started to rewrite it from scratch in Qt Quick and almost finished the port.<br />
<br />
'''Expected results''':<br />
The aim of this year is to work on the most important activities that we are missing to have a complete 1.0, mostly the analog electricity one (https://phabricator.kde.org/T5954, other activities can be proposed too, for example, we lack activities to learn about biology).<br />
First phase is to check how the Gtk+ version was working, what could be improved and then create a proposal with a timeline explaining what you expect to do and the time estimation. It does not need to be a simple clone, improvements should be done when possible.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
==== Project: One step closer to version 1.0 ====<br />
'''Brief explanation''': we had some remarks that the difficulty in an activity can increase too much and target different ages in the same levels. The aim of this project is to add a granularity on the datasets so the child can better target what to learn.<br />
<br />
'''Expected results''':<br />
The aim of this project is to update activities to be able to use json files as datasets so we can have multiple datasets (each targeting a different learning goal) for the same activity.<br />
<br />
You need to choose activities that need this kind of datasets and update their code to use multiple datasets.<br />
<br />
A discussion is opened in https://phabricator.kde.org/T10211 to better know what we want and how to do it (WIP).<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
=== KDE Connect ===<br />
[https://community.kde.org/KDEConnect KDE Connect] is a project that enables all your devices to communicate with each other.<br />
<br />
==== KDE Connect for Windows port ====<br />
We want to improve the integration of KDE Connect with the Windows system. As of now, KDE Connect builds on Windows ([https://community.kde.org/KDEConnect/Build_Windows using Craft]) and some plugins have been ported, but it's still unstable and incomplete.<br />
<br />
This project should aim to:<br />
<br />
* Implement all the missing plugins<br />
* Provide full integration with the OS:<br />
** Send-to integration from the right-click menu,<br />
** Make the notifications appear in the Windows 10 notifications bar, etc.<br />
* Improve existing documentation for how to compile (and use) KDE Connect on Windows<br />
** It would also be great if we had the option to use mingw as the compiler instead of depending on the Visual Studio compiler<br />
<br />
By the end of the project, we should have a releaseable installer for KDE Connect on Windows and/or KDE Connect published on the Windows app store.<br />
<br />
'''Areas of knowledge:''' Experience writing Windows applications, C++ and Qt5 is required.<br />
<br />
'''Mentor:''' Simon Redman (simon@ergotech.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
==== KDE Connect bluetooth backend ====<br />
KDE Connect works using a LAN/WLAN connection, but this isn't available everywhere. Examples are offices, schools, university or in public transport. Thus, KDE Connect has an alternative bluetooth backend, but it still needs a lot of work.<br />
<br />
The goal of this project is to make the bluetooth backend of KDE Connect production-ready. Examples include:<br />
* Make pairing devices in KDE Connect work over bluetooth<br />
* Find a solution for file-browsing over bluetooth<br />
* Investigate multi-device connectivity<br />
* Lots of bluetooth debugging<br />
<br />
By the end of the project, we should have a fully-working bluetooth backend, good enough to release to all users.<br />
<br />
'''Areas of knowledge:''' Experience in C++, Qt5 and Java development is required. Knowledge of Android development is preferred.<br />
<br />
'''Mentor:''' Matthijs Tijink (matthijstijink@gmail.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
<br />
=== KDE neon ===<br />
[https://neon.kde.org KDE neon] compiles KDE software to make it available pronto.<br />
<br />
==== Project: ISO Image Writer ====<br />
<br />
[https://cgit.kde.org/isoimagewriter.git/ ISO Image Writer] copies ISO images onto USB drives. It needs code tidied up and builds made for Snap, FlatPak, Windows, Mac and good old Linux packages. [https://phabricator.kde.org/M113/466/ Design to implement]<br />
<br />
'''Expected Results''': Installable packages<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Build systems, multi-platform<br />
<br />
Mentor: <br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Jonathan Riddell (IRC: Riddell)<br />
<br />
=== Kdenlive ===<br />
[https://kdenlive.org Kdenlive] is a KDE-application for professional video editors. It supports hundreds of video formats and all the features you can expect from a non-linear video editor, including some advanced features like timeline preview rendering, proxy clips and more.<br />
<br />
==== Project: Evolving Titler tool ====<br />
<br />
'''Brief Explanation''': Kdenlive titler tool allows to draw texts and images to composite over videos.<br />
<br />
Current code is using XML description, drawn by our "kdenlivetitle" MLT module, using old QPainter engine.<br />
This engines has limitations that blocks interesting features.<br />
Few years ago, an upstream module appeared in MLT, named "WebVfx", which uses QML to do similar things with much more flexibility.<br />
<br />
We would like to be able to load current XML titles and convert them automatically to QML format, and generate QML from our current GUI. Then the GUI could evolve to integrate new features, in accordance to our community requests & design group recommendations.<br />
<br />
'''Expected Results''': A titler using QML backend<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, QML<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Vincent Pinon (IRC: vpinon)<br />
<br />
=== KDE Partition Manager ===<br />
<br />
[https://www.kde.org/applications/system/kdepartitionmanager KDE Partition Manager] is a utility program to help you manage the disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, resize without losing data, backup and restore partitions.<br />
<br />
https://webchat.kde.org/#/room/#partitionmanager:kde.org<br />
<br />
==== Project: Port authentication to Polkit-qt ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager was recently ported to KAuth (which is Tier 2 KDE Framework library). This means that instead of running the whole GUI as root, KDE Partition Manager runs as a normal user, starts a small (non-GUI) helper application which runs as root and executes privileged tasks.<br />
<br />
KAuth itself was not sufficient for this task, so we built a small protocol on top of KAuth. Usually, programs that use KAuth, start a helper, it does its job and exists. In KDE Partition Manager, helper persists, and communicates with KDE Partition Manager using a fairly simple DBus protocol over which GUI application can request two things:<br />
* execute some external program, like sfdisk, btrfs, etc... <br />
* Copy block of data (partition) to another location).<br />
<br />
However, KAuth library itself is a layer built on top of Polkit-Qt (which is a small wrapper around Polkit).<br />
<br />
'''The proposal''' for this project is to port away from KAuth and run our custom protocol between helper and GUI application directly on top of Polkit-Qt.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
You don't need experience of using DBus, you can pick this up during the project.<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
==== Project: Finish mdraid and implement dmraid support ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager got a mdraid (Software RAID) support during the last Google Summer of Code as you can see in the [https://cgit.kde.org/kpmcore.git/?h=raid-support raid-support branch]. It is working with a good number of functionalities such as the display of RAID devices and the manipulation of them. Most of this work is completed, but there are some implementations and fixes to do, solve some udev bugs and include the implementation for resizing mdraid volumes.<br />
<br />
There is another type of RAID available for Linux systems, which is dmraid (FakeRAID). It works along the device mapper to discover and manipulate ATA RAID devices created by controllers BIOS. Our goal in this project is to offer some basic functionalities for it, such as displaying, creating, erasing and manipulating partitions inside of these volumes.<br />
<br />
'''The proposal''' for this project is to finish mdraid support and implement initial dmraid support.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
=== KDevelop ===<br />
[https://www.kdevelop.org/ KDevelop] is a cross-platform IDE for C, C++, Python, QML/JavaScript and PHP. [mailto:kdevelop-devel@kde.org Contact the KDevelop team].<br />
<br />
==== Ansible plugin for KDevelop ====<br />
'''Brief explanation:''' [https://www.ansible.com/ Ansible] is an open-source tool to automate server configuration management, application deployment, etc.<br />
We would like a KDevelop plugin that treats Ansible YAML files as a programming language, and provides, for example, code completion for Ansible "modules" and their parameters.<br />
<br />
Many other features could be concieved for such a plugin, such as inline warning of common errors in the YAML code, helper to create a new role, language support for inventory files, editing files encrypted with ansible-vault, embedded Ansible documentation, etc. Your proposal should say what concrete features you plan to implement.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt, basic familiarity with KDevelop as a user. Ideally experience with Ansible too.<br />
<br />
'''Mentor:''' Nicolás Alvarez (nalvarez@kde.org)<br />
<br />
=== Krita ===<br />
[http://www.krita.org Krita]: digital painting for artists. It supports creating images from scratch from beginning to end. Krita is a complex application and developers need to have a fair amount of experience in order to be able to do something.<br />
<br />
Krita is a widely used digital painting application for professional artists. Last year, Krita gained the ability to create hand-drawn 2D animations, among other new features. For this year, projects that the Krita team would be interested in include the following ideas.<br />
<br />
Note that we're always open to ideas you bring in yourself: if you're passionate about something you've come up with yourself, that you want for Krita, that's a big plus for us.<br />
<br />
We also expect prospective students to submit at least three patches for bugs or wishes or small features. We want to know how good you are! See https://phabricator.kde.org/T7724 for some smaller tasks that you could work on that are not bugs.<br />
<br />
==== Project: Integrating the MyPaint Brush Engine ====<br />
<br />
'''Brief Explanation''': The MyPaint brush engine has been separated from the MyPaint application and has been completely rewritten. Artists still like the mypaint brush engine a lot and it would be great to have the engine integrated in Krita as a new brush engine. Libmypaint can be found here: https://github.com/mypaint/libmypaint and the brush set here: https://github.com/mypaint/mypaint-brushes . The first goal is to integreate libmypaint in a Krita brushengine and make it load the brushes. The second goal is to expose the MyPaint brush options in Krita's brush editor and allow the modification and creation of MyPaint brushes in Krita. GIMP is an example of an application that has already integrated the MyPaint brush engine.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to effectively paint with MyPaint brushes in Krita.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
<br />
==== Project: Supporting Vertical Text and SVG2 Text in the Text Shape ====<br />
<br />
'''Brief Explanation''': Krita's Text Shape was rewritten for Krita 4.0. It is now SVG based, instead of ODF. There are many things lacking, though. The original goal was to support SVG2. Currently the text shape only supports SVG1. There is no automatic wordwrap and vertical text (e.g. Chinese and Japanese) is not supported either. The goal of this project is to support wordwrap and vertical text layout. Other improvements to the text shape can be proposed as well. The level of this project is advanced.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to create and edit vertical text. Text shapes should be able to automatically wrap text to the bounding box.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Typography, Text Layout<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Add New Fill Layer Types ====<br />
<br />
'''Brief Explanation''': Fill layers are layers that automatically generate content. Krita currently has two types of fill layers: Color and Pattern. There used to be another type that generated content dynamically using the OpenShiva scripting language. However, that language hasn't been maintained for a long time. The goal of this project is to add a new dynamic fill layer types that could fill an area with different effects such as perlin and other types of noise, clouds, hatching, fractals.<br />
<br />
'''Expected Results''': <br />
<br />
Several new fill layer types that allow the user to add dynamically generated content as a layer in the layer stack <br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Port Krita to Android OR iOS ====<br />
<br />
'''Brief Explanation''': Krita is currently only available on Windows, macOS and Linux. The goal of this project is to port the desktop version of Krita to one mobile operating system, either Android or iOS. This involves making sure all (or a viable subset of) Krita's dependencies are available on the target platform, as well as Krita itself.<br />
<br />
'''Expected Results''': <br />
<br />
A build of Krita that starts on either mobile OS and shows an image. Further integration with either mobile OS would be nice, but is an extra. Furthermore, the build system and build scripts need to be documented, complete and maintainable.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, CMake, Android or iOS. You also need to have access to test hardware.<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud) Jayaditya Gupta (IRC: nightmare_unreal/jayssj11)<br />
<br />
<br />
==== Project: Improve Krita for Touch Systems ====<br />
<br />
'''Brief Explanation''': Krita Gemini/Krita Sketch were version of Krita based on QtQuick 1 that provided a decent touch-only experience. Because of the technical limitations of QtQuick 2, the approach used in Gemini and Sketch is no longer viable. Since Krita 4, there is a QtQuick2 based touch docker that mimics the button bar found on some wacom devices. This is not configurable, and quite limited. This project involves working with Krita's UX designers and users to define a new approach to supporting touch devices, then implementing that support.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to work with Krita on a touch-only device such as a Surface Pro or Wacom Mobile Studio without wanting to chop their devices in two.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: SVG Mesh Gradients ====<br />
<br />
'''Brief Explanation''': Even though Mesh Gradients are not officially part of the truncated SVG2 specification anymore, having a second implementation next to Inkscape would help improving the standard. Plus, mesh gradients are very useful for artists. This project entails implementing a new gradient type. Whether this should be based on QGradient or not is up for discussion. The gradients should render exactly the same as in inkscape. See https://svgwg.org/svg-next/pservers.html#MeshGradientElement.<br />
<br />
'''Expected Results''': <br />
<br />
A new gradient type, UI to create and edit these gradients and apply them. Gradients should work both on vector objects as well as on paint layers.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Inkscape<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: Extending Animation Support for curves ====<br />
<br />
'''Brief Explanation''': In Krita, you can already add curves that could be applied to some properties of a layer, like opacity, animating those properties. We want the animation support extended by allowing users to place masks (filter masks, transformation masks, transparency masks) on the timeline and animate their properties using curves. Every property of a layer or mask placed on the timeline should be animatable.<br />
<br />
'''Expected results''':<br />
* Implementation of a gui for applying the curve settings to one or more properties of a mask or layer<br />
* Implementation of the actual rendering of the properties in the frames<br />
* Saving of these settings<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and Qt<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Jouni Pentikainen (tyyppi on IRC)<br />
<br />
==== Project: Taking the Shape Brush to the next level ====<br />
<br />
'''Brief Explanation''': Krita has a number of interesting brush engines. One of them is the Shape Brush engine. Inspired by Alchemy, the shape brush "throws" shapes on the canvas. The current implementation is limited to geometric shapes. We want the brush engine to be extended to make it possible to load vector shapes defined as PDF or SVG and use those to draw on the canvas as well. Other improvements are the addition of Feathering, an outline mode, edge sharpening and background textures.<br />
<br />
'''Expected Results''': A revamped and exciting shapes brush<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
=== KStars ===<br />
[https://edu.kde.org/kstars KStars] is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time.<br />
<br />
==== Project: Deep Sky Object Overhaul ====<br />
'''Brief explanation''': KStars supports many deep sky objects (DSOs) including galaxies, nebulae, supernovae, clusters and more. Currently, some deep sky catalogs are stored in simple space separated text format where they are parsed into KStars directly or into KStars Deep Sky Component SQLite3 database which is then loaded in KStars. However, since all DSOs are loaded at once into memory, this limits the size of catalogs within KStars. A solution similar to how dynamic stars are cached in and out of memory must be developed for DSOs. Furthermore, all catalog entries should have their trixels indexed so that they can be efficiently drawn unto the sky map. Another issue is that catalogs can overlap since there is no cross-identification of various catalogs. For example, Andromeda galaxy exists in Messier catalog as M31, and exists in NGC catalog as NGC 224. The database should support an ability to cross-identify objects from all supported and future catalogs.<br />
<br />
'''Expected results''': <br />
* Convert all text-format catalogs to SQLite3 database.<br />
* Develop master DSO database where cross-identification of objects is supported. Master database can support addon downloadable catalogs where they can be merged once downloaded by the user.<br />
* Import of The Principal Galaxy Catalog, 2003 Version (PGC2003) which contains ~1 million galaxies into KStars as a downloadable addon.<br />
* Caching and drawing optimizations for large catalogs.<br />
* Cross-identification for all supported DSO catalogs including, but not limited too: NGC/IC/Messier/Arp/PGC/LDN<br />
* Trixel indexation for all DSOs. Implementation of improved drawing cached routine in KStars for DSOs similar to stars.<br />
* All necessary updates within KStars maps, tools and dialogs to reflect the above changes.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: FITSViewer & Photometry Improvements ====<br />
'''Brief explanation''': The FITSViewer is used to display [https://fits.gsfc.nasa.gov/fits_standard.html FITS] images as captured by cameras or opened by the user. It supports 8, 16, 32, and 64bit formats with either a single channel (Mono or Bayer) or RGB cube. The goal for this project is to provide efficient and intuitive controls for:<br />
# '''Histogram Adjustments''': Controls for Shadow, Midtones, and Highlights. White / Black points controls.<br />
# '''Noise Calculation''': Calculate the overall Signal-to-Noise (SNR) radio for the overall image, or a specific subframe of the image.<br />
# '''Sky Glow Computation''': Estimation of Sky Glow component in image of various exposures. Each captured image is affected by multiple sources of noise, only of which is the sky glow which in turn is affected by the atmosphere, pollution, and artificial sources (e.g. light). The objective is to propose to the user the optimum exposure time given the sky glow contribution to the image.<br />
# '''Mask Overlay''': Ability to select custom mask over stars to aid in focusing and photometry.<br />
# '''Photometry''': KStars includes SEP which can be used to extract sources from stellar images and also performs aperture photometry. A new tool should be developed to aid the users to perform photometric work with the images including reduction of images (darks & flats) with various optimization/algorithmic settings. Additionally, the tool provides means for aperture photometry calculations as well.<br />
Since FITSViews typically deals with very high-resolution images, such calculations can be very computationally expensive. It is expected that a very efficient multi-threaded code to be developed to take advantage of all the available cores on the system and any hardware or instruction set optimizations to achieve the smoothest user experience.<br />
'''Expected results''': <br />
* Improved Histogram Tool.<br />
* New controls for histogram.<br />
* SNR, Sky Glow, and Photometry calculations.<br />
* Photometric reductions. Aperture photometry.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Threading, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Implement Qt3D backend for KStars ====<br />
'''Brief explanation''': The Skymap in KStars desktop version is currently built using QPainter and 2D drawing primitives. In order to take advantage of advances in modern GPU hardware and to present a stunning visual view of the night sky, a 3D backend is desired. Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications. Within KStars, SkyPainter provides a backend-agnostic class for drawing object unto the skymap regardless of the backend. Previously, an experimental OpenGL backend was developed but was later deprecated due to drawing issues. Since Qt3D provides an abstraction to the backend framework (OpenGL/Vulkan/DirectX), it presents a very flexible framework for building future-proof 3D applications.<br />
<br />
'''Expected results''': <br />
* Create Qt3D based backend to draw all objects currently implemented by QPainter backend.<br />
* Create realistic colors, shares, textures, meshes, lighting for all stars, solar system, and deep sky objects.<br />
* Create animations for meteor shows, comet tails, stars twinkle..etc<br />
'''Knowledge Prerequisite''': C++, Qt, Prior experience working with 3D applications/games.<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
=== LabPlot ===<br />
[https://labplot.kde.org LabPlot] is a KDE-application for interactive graphing and analysis of scientific data. LabPlot provides an easy way to create, manage and edit plots and to perform data analysis. Labplot is part of the [https://edu.kde.org/ KDE Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Import of educational data sets available on the internet ====<br />
'''Brief explanation''': There are many internet pages providing data sets for educational and study purposes for many different areas (astrophysics, statistics, medicine, etc.). Some tools used in the scientific area provide some "wrappers" for such online sources and allow the user to easily play around with those data sets in the applications whereas the technical details like fetching of data from the server and parsing are done completely transparent for the user. The goal of this project is to add similar functionality to LabPlot. There will be a wizard where the user can select from a thematically grouped list of data sets available online. The internal description of such an online data set should contain the URL with the actual file that needs to be downloaded and the settings for LabPlot's data parser (separator, column names and data types, etc.). The definition of the data sources should be made available on store.kde.org.<br />
<br />
'''Expected results''': We want to be able to easily import the educational data sets available on the internet.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt<br />
<br />
'''Mentor''': Fábián Kristóf<br />
<br />
==== Project: Statistical analysis ====<br />
Currently LabPlot has only basic support for statistical data analysis by providing some basic measures of descriptive statistics in the spreadsheet. The goal of the project is to add more statistics relevant features (hypothesis tests, cluster analysis, ets.) to LabPlot.<br />
<br />
'''Expected results''':<br />
* evaluate available statistical open-source libraries which can be used for this project<br />
* determine a reasonable set of features and algorithms that can be added to LabPlot, compare here with other similar projects, and implement them<br />
* for the visualization of results of statistical calculations, implement new kind of reports for this, comparable to other similar projects<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic statistics knowledge<br />
<br />
'''Mentor''': Stefan Gerlach, Alexander Semke<br />
<br />
=== Okular ===<br />
Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD. [mailto:okular-devel@kde.org Contact] the Okular developers.<br />
<br />
==== Project: Support animated PDF ====<br />
<br />
'''Brief explanation:''' PDF files can support animation via JavaScript. This is one feature that is regularly requested by users and would be nice supporting it in Okular.<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Albert Astals Cid aacid@kde.org<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=403772<br />
* https://bugs.kde.org/show_bug.cgi?id=242617<br />
<br />
<br />
==== Project: Add support for showing and adding replies to sticky notes ====<br />
<br />
'''Brief explanation:''' PDF files can contain replies to certain annotations. In this project, you would need to add support to Okular and possibly to poppler so that they show the same way they do on other PDF readers. Once they are shown and if there is enough time adding the capability to add replies is also welcome.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Okular developers https://mail.kde.org/mailman/listinfo/okular-devel<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=387834<br />
<br />
<br />
==== Project: Improve custom stamp annotation handling ====<br />
<br />
'''Brief explanation:''' Okular does display stamp annotations, but the support<br />
is somewhat incomplete. This particularly shows when trying to use stamp<br />
annotations with a custom image. For example, such annotations can be<br />
added in Okular, but they cannot be saved to the pdf file in a way<br />
that any other pdf viewer can read. Also, they will not appear on print-outs.<br />
<br />
The underlying reason for this is that Okular renders these stamps itself,<br />
rather than relying on the poppler library, which does all other pdf<br />
rendering. Goal of this project is therefore to teach poppler how to<br />
render stamp annotations, and then make Okular use that new functionality.<br />
More details can be found in the bug report [0].<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=383651<br />
<br />
'''Expected results:''' Poppler should render stamp annotations. Annotations<br />
should be printable from Okular. Custom stamps inserted via the Okular GUI<br />
should be visible in other pdf readers.<br />
<br />
'''Knowledge prerequisite:''' C++, and a bit about the pdf format.<br />
<br />
<br />
==== Project: Annotation improvements ====<br />
<br />
'''Brief explanation:''' Okular supports convenient editing of pdf annotations, but quite a number of paper-cut bugs are known. Examples are [0,1,2], but many more can be found in the bugtracker. Goal of this project is to fix as many of these bugs as possible, which should improve the Okular user experience greatly.<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=275371<br />
<br />
[1] https://bugs.freedesktop.org/show_bug.cgi?id=102635<br />
<br />
[2] https://bugs.freedesktop.org/show_bug.cgi?id=52010<br />
<br />
'''Expected results:''' Lots of annotation-related bugs fixed. Annotation rendering and manipulation should be more enjoyable.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, and a bit about the pdf format<br />
<br />
=== Plasma Mobile ===<br />
Plasma Mobile is KDE's software stack for mobile devices that includes Plasma phone components, Kirigami and a set of mobile-friendly applications.<br />
<br />
==== SMS App ====<br />
Plasma Mobile currently does not have a functional SMS app. One approach to this would be extending the SMS app that is currently developed for KDE Connect to have a Plasma Mobile backend.<br />
<br />
This includes:<br />
- Develop an approach to make the app support multiple backends<br />
- Develop a backend for the Plasma Mobile SMS stack (ofono)<br />
- Possibly improvements to the Plasma Mobile SMS stack<br />
- Possibly improvements to the SMS app UX<br />
<br />
Goal is to be able to communicate via SMS on a Plasma mobile phone with all basic features (sending, receiving SMS, browsing through conversations).<br />
<br />
This requires access to a Plasma mobile enabled phone, preferably the Nexus 5X. Second-hand phones are available at very low prices.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5.<br />
<br />
'''Mentors:''' Simon Redman and Nicolas Fella for KDE Connect specific things, Bhushan Shah for Plasma Mobile things. Get in touch with us on #kdeconnect on freenode or the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
==== Nextcloud integration ====<br />
<br />
Plasma Mobile offers the accounts integration, which allows to add various online accounts like, Google, Nextcloud and provides very basic service which allows copying contacts from the Nextcloud calender. We would like to offer fully integrated solution for Nextcloud in Plasma Mobile.<br />
<br />
This includes:<br />
- System settings module for adding and configuring the Nextcloud account<br />
- Syncing of contacts, calenders from the nextcloud (ideally should support bi-directional sync)<br />
- Syncing of the files/documents/pictures.<br />
<br />
End goal is user being able to add nextcloud account easily and use the data shared on nextcloud instance.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Qt5, and QML.<br />
<br />
'''Mentors:''' Bhushan Shah, Get in touch with us on the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
=== Purpose ===<br />
The [https://api.kde.org/frameworks/purpose/html/index.html Purpose] framework offers the possibility to create integrate services and actions on any application without having to implement them specifically. Purpose will offer them mechanisms to list the different alternatives to execute given the requested action type and will facilitate components so that all the plugins can receive all the information they need.<br />
<br />
==== Barcode scanning infrastructure ====<br />
Purpose enables application developers to use features without implementing them themselves. It offers multiple alternatives to achieve a goal. Right now it supports sharing files and URLs.<br />
<br />
An interesting use case for it would be scanning barcodes. An application developer that wants to scan a barcode would ask Purpose for it. Purpose would offer multiple ways of doing it, e.g. from a local file, from the local camera or from a via KDE Connect connected phone. Purpose would then return the data to the application.<br />
<br />
Goal of this task is to have a framework for scanning barcodes as well as multiple implementations. This consists of:<br />
- Adding a new Plugin type to Purpose<br />
- A import from file backend<br />
- A local camera backend<br />
- A KDE Connect backend<br />
- One or more applications using it, e.g. Itinerary or a barcode scan app for Plasma Mobile<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5 is required. Experience with Java/Android for the KDE Connect backend is beneficial.<br />
<br />
'''Mentor:''' Nicolas Fella (nicofee) for KDE Connect parts. Aleix Pol (apol) for Purpose parts. Volker Krause (vkrause) for zxing parts. [https://mail.kde.org/mailman/listinfo/kde-frameworks-devel Devel mail list].<br />
<br />
===KWin===<br />
====Clipboard Management Wayland protocol====<br />
Currently on Wayland functionality like Klipper and clipboard sync via KDE Connect is not working because the programm cannot access the clipboard in the required way. A special wayland protocol for that will be needed. The wl-roots project has a [proposal https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-data-control-unstable-v1.xml] for this. This GSoC project is about implementing support for it in KWin and making use of it in Klipper and KDE Connect.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Knowing what Wayland is.<br />
'''Mentor:''' Roman Gilg (romangg), Nicolas Fella (nicofee)<br />
<br />
==== Wayland graphical tablet input support ==== <br />
<br />
'''Brief Explanation''': Tablets are very different from mice, they have a lot more information about their current state and events. As such there are separate protocols for passing these events from raw hardware to the client. We need to add:<br />
* A protocol in kwayland to wrap the low level protocol<br />
* support in KWin to map libinput to sending wayland events to the right clients.<br />
* support in Qt's wayland client code to map wayland to Qt events that applications can use <br />
(this will mean collaborating not just within KDE code but also Qt)<br />
<br />
'''Expected results''':<br />
Working tablet support in all applications within a kwin wayland session.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5,<br />
<br />
'''Mentor''': David Edmundson (davidedmundson@kde.org), Vlad Zagorodniy (zzag)</div>Nalvarezhttps://community.kde.org/index.php?title=GSoC/2019/Ideas&diff=83419GSoC/2019/Ideas2019-03-15T22:37:48Z<p>Nalvarez: Add KDevelop-Ansible project idea</p>
<hr />
<div>[[File:Mascot konqi-app-presentation.png|thumbnail|right|[[Konqi]] is giving a lesson!]]<br />
See also: [[../../|GSoC Instructions]], [[../../2018/Ideas|Last year ideas]]<br />
<br />
== Guidelines ==<br />
<br />
=== Information for Students ===<br />
<br />
These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you are urged to contact the developers and find out more about the particular suggestion you're looking at.<br />
<br />
Becoming accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. '''Simply copying and pasting an idea here will not work.''' On the other hand, creating a completely new idea without first consulting potential mentors rarely works.<br />
<br />
When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!<br />
<br />
If there is no specific contact given you can ask questions on the general KDE development list kde-devel@kde.org. See [http://www.kde.org/mailinglists/ the KDE mailing lists page] for information on available mailing lists and how to subscribe.<br />
<br />
{{Note|'''These are all proposals! We are open to new ideas you might have!!''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE.}}<br />
<br />
__TOC__<br />
<br />
=== Adding a Proposal ===<br />
<br />
{{Note|Follow the template of other proposals!}}<br />
<br />
==== Project: ====<br />
<br />
'''If appropriate, screenshot or another image '''<br />
<br />
'''Brief explanation:'''<br />
<br />
'''Expected results:'''<br />
<br />
'''Knowledge Prerequisite:'''<br />
<br />
'''Mentor:'''<br />
<br />
When adding an idea to this section, please try to include the following data:<br />
<br />
:*if the application is not widely known, a description of what it does and where its code lives<br />
:*a brief explanation<br />
:*the expected results<br />
:*pre-requisites for working on your project<br />
:*if applicable, links to more information or discussions<br />
:*mailing list or IRC channel for your application/library/module<br />
:*your name and email address for contact (if you're willing to be a mentor) <br />
<br />
** '''Ideas with no mentors listed and their contact info will be removed''' **<br />
<br />
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.<br />
<br />
==Ideas==<br />
===Your Own Idea ===<br />
<br />
==== Project: Something that you're totally excited about ====<br />
<br />
'''Brief explanation:''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.<br />
<br />
'''Expected results:''' Something you and KDE loves<br />
<br />
'''Knowledge Prerequisite:''' Probably C++ and Qt but depends on your project<br />
<br />
'''Mentor:''' Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc on Freenode IRC.<br />
<br />
=== Cantor ===<br />
[https://edu.kde.org/cantor/ Cantor] provides a graphical frontend for different open source computer algebra systems and scientific programming languages. [mailto:kde-edu@kde.org Contact the KDE-Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Integrated documentation ====<br />
'''Brief explanation''': at the moment the external documentation like for example for Maxima http://maxima.sourceforge.net/docs/manual/en/maxima.html, and similar for Octave, python, etc., is opened in the external browser window. Ideally, we'd show this inside of the application in the help/documentation panel and enable a quick access to the documentation together with some more advanced search capabilities. Integrated search and also the context sensitive help (user marks a keyword in the worksheet, hits e.g. the F1 button and the documentation for the selected keyword is shown) should be possible. Qt Help Framework (http://doc.qt.io/qt-5/qthelp-framework.html) should be utilized for this. For indexing and searching in a unified manner the documentation together with the search index should be available locally. Qt help's qch file should be available for download on store.kde.org. Users of different systems (Maxima, Octave, R, etc.) would download the documentation they need. Ideally, we could also try to get a similar appearance by css-styling the html files for different systems prior to creating those qch files.<br />
<br />
The project consists of the following three major parts:<br />
* implementation in c++ (documentation panel, searching, short cuts for faster navigation, etc.)<br />
* creation of Qt help files for major computer algebra systems and programming languages supported by Cantor<br />
* definition of sections on store.kde.org<br />
<br />
'''Expected results''': integrated documentation in Cantor for the supported CAS and programming languages<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic knowledge about html<br />
<br />
'''Mentor''': Alexander Semke<br />
<br />
===digiKam===<br />
digiKam is an advanced digital photo management application for Linux, Windows, and MacOS.<br />
* [http://www.digikam.org digiKam project web site]<br />
* [https://community.kde.org/Digikam/GSoC2019 Digikam KDE GSoC 2019 site]<br />
* [https://mail.kde.org/mailman/listinfo/digikam-devel Mailinglist]<br />
* [https://www.linkedin.com/groups/12186015/ LinkedIn Group]<br />
* [http://webchat.freenode.net/?channels=digikam #digikam IRC channel on Freenode]<br />
<br />
==== Project: AI Face Recognition with OpenCV DNN module ====<br />
<br />
'''Brief Explanation''': With GSoC 2016, we proposed a project to implement an AI extension to the [https://cgit.kde.org/digikam.git/tree/core/libs/facesengine/recognition digiKam core face recognition]. The project used the Dlib C++ API, but we were not satisfied by the results, as the algorithm gave poor performance. This choice also introduced a huge backport of low level codes which we don't want to maintain. So, even though the project proposed a somewhat suitable solution to provide an AI face recognition processor based on deep-learning, this one was not really powerful and functional enough. For now, this section of code about Dlib DNN extension is disabled in digiKam core.<br />
<br />
As digiKam core already depends on OpenCV library to perform complex image processing, and as OpenCV >= 3.3 release provide a new [https://docs.opencv.org/3.4.3/d2/d58/tutorial_table_of_content_dnn.html OpenCV DNN (Deep Neural Network) module], the goal now is to port the current digiKam core face recognition DNN extension to new OpenCV API and write all unit tests to validate the algorithm usability, efficiency, and performance, while learning and recognizing faces automatically.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Face recognition based on DNN OpenCV API, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, OpenCV, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Faces Management workflow improvements ====<br />
<br />
'''Brief Explanation''': digiKam provide a Faces detection algorithm which work mostly in 80% of use cases. It detect faces position in image automatically and register these information in database. Event if a lots of tasks can be done in background by digiKam, the end-users needs to adjust, re-organize, rename, delete Face tags in database through the user interface.<br />
<br />
Since many year, a lots of improvements have been identified by digiKam users community to improve the face tags management workflow in graphical use interface. See [https://bugs.kde.org/buglist.cgi?product=digikam&component=Faces-Workflow&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED this list of bugzilla entries] for details<br />
<br />
Note: Face Recognition is another part of Faces management, but this project is concerned by algorithms used while recognition.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a better Face Tags management workflow in user interface, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, User interface, digiKam<br />
<br />
'''Mentors''': Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Zoomable and Resizable Brush for Healing Clone Tool ====<br />
<br />
'''Brief Explanation''': With GoSC 2016, we have proposed a project to implement an [https://cgit.kde.org/digikam.git/tree/core/utilities/imageeditor/tools/enhance Healing Clone tool for digiKam image editor] to be able to remove unwanted artifacts from images. The student has implemented the basis without a zoomable canvas and without the resizable brush support. Due to this lack of features, the tools cannot be used in production by end-users.<br />
<br />
This section of code about healing clone tool is currently disabled in digiKam core.<br />
<br />
The goal of this project is to implement the missing feature for the Healing Clone tool in image editor, including the unit-tests and the documentation.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Healing clone tool for image editor, with unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Mohamed Anwer (mohammed.ahmed.anwer@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Factoring all Export Tools with new Export API ====<br />
<br />
'''Brief Explanation''': With GoSC 2018, we proposed a project to implement a huge factorization and improvements with all [https://cgit.kde.org/digikam.git/tree/core/utilities/assistants/webservices digiKam export to web service tools]. Our student fixed plenty of code using OAuth version 2 authentification, has simplified classes, and started to write a new API to factorize all these tools, including a common Wizard dialog. Even if the export tools implementation are now better, they do not use the new API and always run as a stand alone session in digiKam core. Due to this fact, the Web Service tools are not yet usable in digiKam Batch Queue Manager as single step runnable at end of a queue processing. So the section of code about factored export tools API is currently disabled in digiKam core. This year, the project will be to fix that.<br />
<br />
'''Expected Results''': <br />
<br />
Start to use every the new export tools API, use the new Wizard dialog, factoring codes everywhere, and introduce all export tools to BQM. Write unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
=== Falkon ===<br />
[https://www.falkon.org/ Falkon] is a KDE web browser.<br />
<br />
[mailto:falkon@kde.org Contact the Falkon team]<br />
<br />
==== Plasma integration ====<br />
<br />
'''Brief explanation:''' Falkon is Qt application and as such it integrates quite well into Plasma desktop environment. There is also an extension that allows to store passwords in KWallet. Plasma desktop provides some services that could be useful to use from browser, like showing the progress of downloads as jobs in notification applet or searching for bookmarks or open tabs from KRunner.<br />
<br />
There is already existing extension for Chrome that implements these features - [https://cgit.kde.org/plasma-browser-integration.git plasma-browser-integration] that can be used as a base for the Falkon extension.<br />
<br />
'''Expected results:''' Falkon C++ extension and additional helpers improves the integration with Plasma desktop.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt, JavaScript basics<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
==== Firefox Sync ====<br />
<br />
'''Brief explanation:''' Firefox Sync is an open API for synchronization of browser data between multiple instances. Falkon doesn't currently have support for any synchronization at all. Instead of creating in-house solution, it would be best to use some existing solution, which Firefox Sync appears to be a great candidate.<br />
<br />
Firefox Sync is not exclusive to Firefox browser, it was already implemented for example in Gnome Epiphany browser (https://github.com/GNOME/epiphany/tree/master/lib/sync).<br />
<br />
'''Expected results:''' Falkon is able to sync bookmarks, passwords, sessions ... over Firefox Sync API.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
=== GCompris ===<br />
[https://gcompris.net/ GCompris] is a high quality educational software suite, including a large number of activities for children aged 2 to 10. [mailto:gcompris-devel@kde.org Contact] the GCompris team.<br />
<br />
==== Project: Finishing the port of the major activities for version 1.0 ====<br />
'''Brief explanation''': Originally written in Gtk+ the development team started to rewrite it from scratch in Qt Quick and almost finished the port.<br />
<br />
'''Expected results''':<br />
The aim of this year is to work on the most important activities that we are missing to have a complete 1.0, mostly the analog electricity one (https://phabricator.kde.org/T5954, other activities can be proposed too, for example, we lack activities to learn about biology).<br />
First phase is to check how the Gtk+ version was working, what could be improved and then create a proposal with a timeline explaining what you expect to do and the time estimation. It does not need to be a simple clone, improvements should be done when possible.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
==== Project: One step closer to version 1.0 ====<br />
'''Brief explanation''': we had some remarks that the difficulty in an activity can increase too much and target different ages in the same levels. The aim of this project is to add a granularity on the datasets so the child can better target what to learn.<br />
<br />
'''Expected results''':<br />
The aim of this project is to update activities to be able to use json files as datasets so we can have multiple datasets (each targeting a different learning goal) for the same activity.<br />
<br />
You need to choose activities that need this kind of datasets and update their code to use multiple datasets.<br />
<br />
A discussion is opened in https://phabricator.kde.org/T10211 to better know what we want and how to do it (WIP).<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
=== KDE Connect ===<br />
[https://community.kde.org/KDEConnect KDE Connect] is a project that enables all your devices to communicate with each other.<br />
<br />
==== KDE Connect for Windows port ====<br />
We want to improve the integration of KDE Connect with the Windows system. As of now, KDE Connect builds on Windows ([https://community.kde.org/KDEConnect/Build_Windows using Craft]) and some plugins have been ported, but it's still unstable and incomplete.<br />
<br />
This project should aim to:<br />
<br />
* Implement all the missing plugins<br />
* Provide full integration with the OS:<br />
** Send-to integration from the right-click menu,<br />
** Make the notifications appear in the Windows 10 notifications bar, etc.<br />
* Improve existing documentation for how to compile (and use) KDE Connect on Windows<br />
** It would also be great if we had the option to use mingw as the compiler instead of depending on the Visual Studio compiler<br />
<br />
By the end of the project, we should have a releaseable installer for KDE Connect on Windows and/or KDE Connect published on the Windows app store.<br />
<br />
'''Areas of knowledge:''' Experience writing Windows applications, C++ and Qt5 is required.<br />
<br />
'''Mentor:''' Simon Redman (simon@ergotech.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
==== KDE Connect bluetooth backend ====<br />
KDE Connect works using a LAN/WLAN connection, but this isn't available everywhere. Examples are offices, schools, university or in public transport. Thus, KDE Connect has an alternative bluetooth backend, but it still needs a lot of work.<br />
<br />
The goal of this project is to make the bluetooth backend of KDE Connect production-ready. Examples include:<br />
* Make pairing devices in KDE Connect work over bluetooth<br />
* Find a solution for file-browsing over bluetooth<br />
* Investigate multi-device connectivity<br />
* Lots of bluetooth debugging<br />
<br />
By the end of the project, we should have a fully-working bluetooth backend, good enough to release to all users.<br />
<br />
'''Areas of knowledge:''' Experience in C++, Qt5 and Java development is required. Knowledge of Android development is preferred.<br />
<br />
'''Mentor:''' Matthijs Tijink (matthijstijink@gmail.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
<br />
=== KDE neon ===<br />
[https://neon.kde.org KDE neon] compiles KDE software to make it available pronto.<br />
<br />
==== Project: ISO Image Writer ====<br />
<br />
[https://cgit.kde.org/isoimagewriter.git/ ISO Image Writer] copies ISO images onto USB drives. It needs code tidied up and builds made for Snap, FlatPak, Windows, Mac and good old Linux packages. [https://phabricator.kde.org/M113/466/ Design to implement]<br />
<br />
'''Expected Results''': Installable packages<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Build systems, multi-platform<br />
<br />
Mentor: <br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Jonathan Riddell (IRC: Riddell)<br />
<br />
=== Kdenlive ===<br />
[https://kdenlive.org Kdenlive] is a KDE-application for professional video editors. It supports hundreds of video formats and all the features you can expect from a non-linear video editor, including some advanced features like timeline preview rendering, proxy clips and more.<br />
<br />
==== Project: Evolving Titler tool ====<br />
<br />
'''Brief Explanation''': Kdenlive titler tool allows to draw texts and images to composite over videos.<br />
<br />
Current code is using XML description, drawn by our "kdenlivetitle" MLT module, using old QPainter engine.<br />
This engines has limitations that blocks interesting features.<br />
Few years ago, an upstream module appeared in MLT, named "WebVfx", which uses QML to do similar things with much more flexibility.<br />
<br />
We would like to be able to load current XML titles and convert them automatically to QML format, and generate QML from our current GUI. Then the GUI could evolve to integrate new features, in accordance to our community requests & design group recommendations.<br />
<br />
'''Expected Results''': A titler using QML backend<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, QML<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Vincent Pinon (IRC: vpinon)<br />
<br />
=== KDE Partition Manager ===<br />
<br />
[https://www.kde.org/applications/system/kdepartitionmanager KDE Partition Manager] is a utility program to help you manage the disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, resize without losing data, backup and restore partitions.<br />
<br />
https://webchat.kde.org/#/room/#partitionmanager:kde.org<br />
<br />
==== Project: Port authentication to Polkit-qt ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager was recently ported to KAuth (which is Tier 2 KDE Framework library). This means that instead of running the whole GUI as root, KDE Partition Manager runs as a normal user, starts a small (non-GUI) helper application which runs as root and executes privileged tasks.<br />
<br />
KAuth itself was not sufficient for this task, so we built a small protocol on top of KAuth. Usually, programs that use KAuth, start a helper, it does its job and exists. In KDE Partition Manager, helper persists, and communicates with KDE Partition Manager using a fairly simple DBus protocol over which GUI application can request two things:<br />
* execute some external program, like sfdisk, btrfs, etc... <br />
* Copy block of data (partition) to another location).<br />
<br />
However, KAuth library itself is a layer built on top of Polkit-Qt (which is a small wrapper around Polkit).<br />
<br />
'''The proposal''' for this project is to port away from KAuth and run our custom protocol between helper and GUI application directly on top of Polkit-Qt.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
You don't need experience of using DBus, you can pick this up during the project.<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
==== Project: Finish mdraid and implement dmraid support ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager got a mdraid (Software RAID) support during the last Google Summer of Code as you can see in the [https://cgit.kde.org/kpmcore.git/?h=raid-support raid-support branch]. It is working with a good number of functionalities such as the display of RAID devices and the manipulation of them. Most of this work is completed, but there are some implementations and fixes to do, solve some udev bugs and include the implementation for resizing mdraid volumes.<br />
<br />
There is another type of RAID available for Linux systems, which is dmraid (FakeRAID). It works along the device mapper to discover and manipulate ATA RAID devices created by controllers BIOS. Our goal in this project is to offer some basic functionalities for it, such as displaying, creating, erasing and manipulating partitions inside of these volumes.<br />
<br />
'''The proposal''' for this project is to finish mdraid support and implement initial dmraid support.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
=== KDevelop ===<br />
[https://www.kdevelop.org/ KDevelop] is a cross-platform IDE for C, C++, Python, QML/JavaScript and PHP. [mailto:kdevelop-devel@kde.org Contact the KDevelop team].<br />
<br />
==== Ansible plugin for KDevelop ====<br />
'''Brief explanation:''' [https://www.ansible.com/ Ansible] is an open-source tool to automate server configuration management, application deployment, etc.<br />
We would like a KDevelop plugin that treats Ansible YAML files as a programming language, and provides, for example, code completion for Ansible "modules" and their parameters.<br />
<br />
Many other features could be concieved for such a plugin, such as inline warning of common errors in the YAML code, helper to create a new role, language support for inventory files, editing files encrypted with ansible-vault, embedded Ansible documentation, etc. Your proposal should say what concrete features you plan to implement.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt, basic familiarity with KDevelop as a user. Ideally experience with Ansible too.<br />
<br />
'''Mentor:''' Nicolás Alvarez (nalvarez@kde.org)<br />
<br />
If you have experience with a different configuration management tool such as Chef or Puppet and you want to make a language plugin for that instead, a proposal would be welcome too!<br />
<br />
=== Krita ===<br />
[http://www.krita.org Krita]: digital painting for artists. It supports creating images from scratch from beginning to end. Krita is a complex application and developers need to have a fair amount of experience in order to be able to do something.<br />
<br />
Krita is a widely used digital painting application for professional artists. Last year, Krita gained the ability to create hand-drawn 2D animations, among other new features. For this year, projects that the Krita team would be interested in include the following ideas.<br />
<br />
Note that we're always open to ideas you bring in yourself: if you're passionate about something you've come up with yourself, that you want for Krita, that's a big plus for us.<br />
<br />
We also expect prospective students to submit at least three patches for bugs or wishes or small features. We want to know how good you are! See https://phabricator.kde.org/T7724 for some smaller tasks that you could work on that are not bugs.<br />
<br />
==== Project: Integrating the MyPaint Brush Engine ====<br />
<br />
'''Brief Explanation''': The MyPaint brush engine has been separated from the MyPaint application and has been completely rewritten. Artists still like the mypaint brush engine a lot and it would be great to have the engine integrated in Krita as a new brush engine. Libmypaint can be found here: https://github.com/mypaint/libmypaint and the brush set here: https://github.com/mypaint/mypaint-brushes . The first goal is to integreate libmypaint in a Krita brushengine and make it load the brushes. The second goal is to expose the MyPaint brush options in Krita's brush editor and allow the modification and creation of MyPaint brushes in Krita. GIMP is an example of an application that has already integrated the MyPaint brush engine.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to effectively paint with MyPaint brushes in Krita.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
<br />
==== Project: Supporting Vertical Text and SVG2 Text in the Text Shape ====<br />
<br />
'''Brief Explanation''': Krita's Text Shape was rewritten for Krita 4.0. It is now SVG based, instead of ODF. There are many things lacking, though. The original goal was to support SVG2. Currently the text shape only supports SVG1. There is no automatic wordwrap and vertical text (e.g. Chinese and Japanese) is not supported either. The goal of this project is to support wordwrap and vertical text layout. Other improvements to the text shape can be proposed as well. The level of this project is advanced.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to create and edit vertical text. Text shapes should be able to automatically wrap text to the bounding box.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Typography, Text Layout<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Add New Fill Layer Types ====<br />
<br />
'''Brief Explanation''': Fill layers are layers that automatically generate content. Krita currently has two types of fill layers: Color and Pattern. There used to be another type that generated content dynamically using the OpenShiva scripting language. However, that language hasn't been maintained for a long time. The goal of this project is to add a new dynamic fill layer types that could fill an area with different effects such as perlin and other types of noise, clouds, hatching, fractals.<br />
<br />
'''Expected Results''': <br />
<br />
Several new fill layer types that allow the user to add dynamically generated content as a layer in the layer stack <br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Port Krita to Android OR iOS ====<br />
<br />
'''Brief Explanation''': Krita is currently only available on Windows, macOS and Linux. The goal of this project is to port the desktop version of Krita to one mobile operating system, either Android or iOS. This involves making sure all (or a viable subset of) Krita's dependencies are available on the target platform, as well as Krita itself.<br />
<br />
'''Expected Results''': <br />
<br />
A build of Krita that starts on either mobile OS and shows an image. Further integration with either mobile OS would be nice, but is an extra. Furthermore, the build system and build scripts need to be documented, complete and maintainable.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, CMake, Android or iOS. You also need to have access to test hardware.<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud) Jayaditya Gupta (IRC: nightmare_unreal/jayssj11)<br />
<br />
<br />
==== Project: Improve Krita for Touch Systems ====<br />
<br />
'''Brief Explanation''': Krita Gemini/Krita Sketch were version of Krita based on QtQuick 1 that provided a decent touch-only experience. Because of the technical limitations of QtQuick 2, the approach used in Gemini and Sketch is no longer viable. Since Krita 4, there is a QtQuick2 based touch docker that mimics the button bar found on some wacom devices. This is not configurable, and quite limited. This project involves working with Krita's UX designers and users to define a new approach to supporting touch devices, then implementing that support.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to work with Krita on a touch-only device such as a Surface Pro or Wacom Mobile Studio without wanting to chop their devices in two.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: SVG Mesh Gradients ====<br />
<br />
'''Brief Explanation''': Even though Mesh Gradients are not officially part of the truncated SVG2 specification anymore, having a second implementation next to Inkscape would help improving the standard. Plus, mesh gradients are very useful for artists. This project entails implementing a new gradient type. Whether this should be based on QGradient or not is up for discussion. The gradients should render exactly the same as in inkscape. See https://svgwg.org/svg-next/pservers.html#MeshGradientElement.<br />
<br />
'''Expected Results''': <br />
<br />
A new gradient type, UI to create and edit these gradients and apply them. Gradients should work both on vector objects as well as on paint layers.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Inkscape<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: Extending Animation Support for curves ====<br />
<br />
'''Brief Explanation''': In Krita, you can already add curves that could be applied to some properties of a layer, like opacity, animating those properties. We want the animation support extended by allowing users to place masks (filter masks, transformation masks, transparency masks) on the timeline and animate their properties using curves. Every property of a layer or mask placed on the timeline should be animatable.<br />
<br />
'''Expected results''':<br />
* Implementation of a gui for applying the curve settings to one or more properties of a mask or layer<br />
* Implementation of the actual rendering of the properties in the frames<br />
* Saving of these settings<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and Qt<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Jouni Pentikainen (tyyppi on IRC)<br />
<br />
==== Project: Taking the Shape Brush to the next level ====<br />
<br />
'''Brief Explanation''': Krita has a number of interesting brush engines. One of them is the Shape Brush engine. Inspired by Alchemy, the shape brush "throws" shapes on the canvas. The current implementation is limited to geometric shapes. We want the brush engine to be extended to make it possible to load vector shapes defined as PDF or SVG and use those to draw on the canvas as well. Other improvements are the addition of Feathering, an outline mode, edge sharpening and background textures.<br />
<br />
'''Expected Results''': A revamped and exciting shapes brush<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
=== KStars ===<br />
[https://edu.kde.org/kstars KStars] is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time.<br />
<br />
==== Project: Deep Sky Object Overhaul ====<br />
'''Brief explanation''': KStars supports many deep sky objects (DSOs) including galaxies, nebulae, supernovae, clusters and more. Currently, some deep sky catalogs are stored in simple space separated text format where they are parsed into KStars directly or into KStars Deep Sky Component SQLite3 database which is then loaded in KStars. However, since all DSOs are loaded at once into memory, this limits the size of catalogs within KStars. A solution similar to how dynamic stars are cached in and out of memory must be developed for DSOs. Furthermore, all catalog entries should have their trixels indexed so that they can be efficiently drawn unto the sky map. Another issue is that catalogs can overlap since there is no cross-identification of various catalogs. For example, Andromeda galaxy exists in Messier catalog as M31, and exists in NGC catalog as NGC 224. The database should support an ability to cross-identify objects from all supported and future catalogs.<br />
<br />
'''Expected results''': <br />
* Convert all text-format catalogs to SQLite3 database.<br />
* Develop master DSO database where cross-identification of objects is supported. Master database can support addon downloadable catalogs where they can be merged once downloaded by the user.<br />
* Import of The Principal Galaxy Catalog, 2003 Version (PGC2003) which contains ~1 million galaxies into KStars as a downloadable addon.<br />
* Caching and drawing optimizations for large catalogs.<br />
* Cross-identification for all supported DSO catalogs including, but not limited too: NGC/IC/Messier/Arp/PGC/LDN<br />
* Trixel indexation for all DSOs. Implementation of improved drawing cached routine in KStars for DSOs similar to stars.<br />
* All necessary updates within KStars maps, tools and dialogs to reflect the above changes.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: FITSViewer & Photometry Improvements ====<br />
'''Brief explanation''': The FITSViewer is used to display [https://fits.gsfc.nasa.gov/fits_standard.html FITS] images as captured by cameras or opened by the user. It supports 8, 16, 32, and 64bit formats with either a single channel (Mono or Bayer) or RGB cube. The goal for this project is to provide efficient and intuitive controls for:<br />
# '''Histogram Adjustments''': Controls for Shadow, Midtones, and Highlights. White / Black points controls.<br />
# '''Noise Calculation''': Calculate the overall Signal-to-Noise (SNR) radio for the overall image, or a specific subframe of the image.<br />
# '''Sky Glow Computation''': Estimation of Sky Glow component in image of various exposures. Each captured image is affected by multiple sources of noise, only of which is the sky glow which in turn is affected by the atmosphere, pollution, and artificial sources (e.g. light). The objective is to propose to the user the optimum exposure time given the sky glow contribution to the image.<br />
# '''Mask Overlay''': Ability to select custom mask over stars to aid in focusing and photometry.<br />
# '''Photometry''': KStars includes SEP which can be used to extract sources from stellar images and also performs aperture photometry. A new tool should be developed to aid the users to perform photometric work with the images including reduction of images (darks & flats) with various optimization/algorithmic settings. Additionally, the tool provides means for aperture photometry calculations as well.<br />
Since FITSViews typically deals with very high-resolution images, such calculations can be very computationally expensive. It is expected that a very efficient multi-threaded code to be developed to take advantage of all the available cores on the system and any hardware or instruction set optimizations to achieve the smoothest user experience.<br />
'''Expected results''': <br />
* Improved Histogram Tool.<br />
* New controls for histogram.<br />
* SNR, Sky Glow, and Photometry calculations.<br />
* Photometric reductions. Aperture photometry.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Threading, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Implement Qt3D backend for KStars ====<br />
'''Brief explanation''': The Skymap in KStars desktop version is currently built using QPainter and 2D drawing primitives. In order to take advantage of advances in modern GPU hardware and to present a stunning visual view of the night sky, a 3D backend is desired. Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications. Within KStars, SkyPainter provides a backend-agnostic class for drawing object unto the skymap regardless of the backend. Previously, an experimental OpenGL backend was developed but was later deprecated due to drawing issues. Since Qt3D provides an abstraction to the backend framework (OpenGL/Vulkan/DirectX), it presents a very flexible framework for building future-proof 3D applications.<br />
<br />
'''Expected results''': <br />
* Create Qt3D based backend to draw all objects currently implemented by QPainter backend.<br />
* Create realistic colors, shares, textures, meshes, lighting for all stars, solar system, and deep sky objects.<br />
* Create animations for meteor shows, comet tails, stars twinkle..etc<br />
'''Knowledge Prerequisite''': C++, Qt, Prior experience working with 3D applications/games.<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
=== LabPlot ===<br />
[https://labplot.kde.org LabPlot] is a KDE-application for interactive graphing and analysis of scientific data. LabPlot provides an easy way to create, manage and edit plots and to perform data analysis. Labplot is part of the [https://edu.kde.org/ KDE Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Import of educational data sets available on the internet ====<br />
'''Brief explanation''': There are many internet pages providing data sets for educational and study purposes for many different areas (astrophysics, statistics, medicine, etc.). Some tools used in the scientific area provide some "wrappers" for such online sources and allow the user to easily play around with those data sets in the applications whereas the technical details like fetching of data from the server and parsing are done completely transparent for the user. The goal of this project is to add similar functionality to LabPlot. There will be a wizard where the user can select from a thematically grouped list of data sets available online. The internal description of such an online data set should contain the URL with the actual file that needs to be downloaded and the settings for LabPlot's data parser (separator, column names and data types, etc.). The definition of the data sources should be made available on store.kde.org.<br />
<br />
'''Expected results''': We want to be able to easily import the educational data sets available on the internet.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt<br />
<br />
'''Mentor''': Fábián Kristóf<br />
<br />
==== Project: Statistical analysis ====<br />
Currently LabPlot has only basic support for statistical data analysis by providing some basic measures of descriptive statistics in the spreadsheet. The goal of the project is to add more statistics relevant features (hypothesis tests, cluster analysis, ets.) to LabPlot.<br />
<br />
'''Expected results''':<br />
* evaluate available statistical open-source libraries which can be used for this project<br />
* determine a reasonable set of features and algorithms that can be added to LabPlot, compare here with other similar projects, and implement them<br />
* for the visualization of results of statistical calculations, implement new kind of reports for this, comparable to other similar projects<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic statistics knowledge<br />
<br />
'''Mentor''': Stefan Gerlach, Alexander Semke<br />
<br />
=== Okular ===<br />
Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD. [mailto:okular-devel@kde.org Contact] the Okular developers.<br />
<br />
==== Project: Support animated PDF ====<br />
<br />
'''Brief explanation:''' PDF files can support animation via JavaScript. This is one feature that is regularly requested by users and would be nice supporting it in Okular.<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Albert Astals Cid aacid@kde.org<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=403772<br />
* https://bugs.kde.org/show_bug.cgi?id=242617<br />
<br />
<br />
==== Project: Add support for showing and adding replies to sticky notes ====<br />
<br />
'''Brief explanation:''' PDF files can contain replies to certain annotations. In this project, you would need to add support to Okular and possibly to poppler so that they show the same way they do on other PDF readers. Once they are shown and if there is enough time adding the capability to add replies is also welcome.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Okular developers https://mail.kde.org/mailman/listinfo/okular-devel<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=387834<br />
<br />
<br />
==== Project: Improve custom stamp annotation handling ====<br />
<br />
'''Brief explanation:''' Okular does display stamp annotations, but the support<br />
is somewhat incomplete. This particularly shows when trying to use stamp<br />
annotations with a custom image. For example, such annotations can be<br />
added in Okular, but they cannot be saved to the pdf file in a way<br />
that any other pdf viewer can read. Also, they will not appear on print-outs.<br />
<br />
The underlying reason for this is that Okular renders these stamps itself,<br />
rather than relying on the poppler library, which does all other pdf<br />
rendering. Goal of this project is therefore to teach poppler how to<br />
render stamp annotations, and then make Okular use that new functionality.<br />
More details can be found in the bug report [0].<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=383651<br />
<br />
'''Expected results:''' Poppler should render stamp annotations. Annotations<br />
should be printable from Okular. Custom stamps inserted via the Okular GUI<br />
should be visible in other pdf readers.<br />
<br />
'''Knowledge prerequisite:''' C++, and a bit about the pdf format.<br />
<br />
<br />
==== Project: Annotation improvements ====<br />
<br />
'''Brief explanation:''' Okular supports convenient editing of pdf annotations, but quite a number of paper-cut bugs are known. Examples are [0,1,2], but many more can be found in the bugtracker. Goal of this project is to fix as many of these bugs as possible, which should improve the Okular user experience greatly.<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=275371<br />
<br />
[1] https://bugs.freedesktop.org/show_bug.cgi?id=102635<br />
<br />
[2] https://bugs.freedesktop.org/show_bug.cgi?id=52010<br />
<br />
'''Expected results:''' Lots of annotation-related bugs fixed. Annotation rendering and manipulation should be more enjoyable.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, and a bit about the pdf format<br />
<br />
=== Plasma Mobile ===<br />
Plasma Mobile is KDE's software stack for mobile devices that includes Plasma phone components, Kirigami and a set of mobile-friendly applications.<br />
<br />
==== SMS App ====<br />
Plasma Mobile currently does not have a functional SMS app. One approach to this would be extending the SMS app that is currently developed for KDE Connect to have a Plasma Mobile backend.<br />
<br />
This includes:<br />
- Develop an approach to make the app support multiple backends<br />
- Develop a backend for the Plasma Mobile SMS stack (ofono)<br />
- Possibly improvements to the Plasma Mobile SMS stack<br />
- Possibly improvements to the SMS app UX<br />
<br />
Goal is to be able to communicate via SMS on a Plasma mobile phone with all basic features (sending, receiving SMS, browsing through conversations).<br />
<br />
This requires access to a Plasma mobile enabled phone, preferably the Nexus 5X. Second-hand phones are available at very low prices.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5.<br />
<br />
'''Mentors:''' Simon Redman and Nicolas Fella for KDE Connect specific things, Bhushan Shah for Plasma Mobile things. Get in touch with us on #kdeconnect on freenode or the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
==== Nextcloud integration ====<br />
<br />
Plasma Mobile offers the accounts integration, which allows to add various online accounts like, Google, Nextcloud and provides very basic service which allows copying contacts from the Nextcloud calender. We would like to offer fully integrated solution for Nextcloud in Plasma Mobile.<br />
<br />
This includes:<br />
- System settings module for adding and configuring the Nextcloud account<br />
- Syncing of contacts, calenders from the nextcloud (ideally should support bi-directional sync)<br />
- Syncing of the files/documents/pictures.<br />
<br />
End goal is user being able to add nextcloud account easily and use the data shared on nextcloud instance.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Qt5, and QML.<br />
<br />
'''Mentors:''' Bhushan Shah, Get in touch with us on the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
=== Purpose ===<br />
The [https://api.kde.org/frameworks/purpose/html/index.html Purpose] framework offers the possibility to create integrate services and actions on any application without having to implement them specifically. Purpose will offer them mechanisms to list the different alternatives to execute given the requested action type and will facilitate components so that all the plugins can receive all the information they need.<br />
<br />
==== Barcode scanning infrastructure ====<br />
Purpose enables application developers to use features without implementing them themselves. It offers multiple alternatives to achieve a goal. Right now it supports sharing files and URLs.<br />
<br />
An interesting use case for it would be scanning barcodes. An application developer that wants to scan a barcode would ask Purpose for it. Purpose would offer multiple ways of doing it, e.g. from a local file, from the local camera or from a via KDE Connect connected phone. Purpose would then return the data to the application.<br />
<br />
Goal of this task is to have a framework for scanning barcodes as well as multiple implementations. This consists of:<br />
- Adding a new Plugin type to Purpose<br />
- A import from file backend<br />
- A local camera backend<br />
- A KDE Connect backend<br />
- One or more applications using it, e.g. Itinerary or a barcode scan app for Plasma Mobile<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5 is required. Experience with Java/Android for the KDE Connect backend is beneficial.<br />
<br />
'''Mentor:''' Nicolas Fella (nicofee) for KDE Connect parts. Aleix Pol (apol) for Purpose parts. Volker Krause (vkrause) for zxing parts. [https://mail.kde.org/mailman/listinfo/kde-frameworks-devel Devel mail list].<br />
<br />
===KWin===<br />
====Clipboard Management Wayland protocol====<br />
Currently on Wayland functionality like Klipper and clipboard sync via KDE Connect is not working because the programm cannot access the clipboard in the required way. A special wayland protocol for that will be needed. The wl-roots project has a [proposal https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-data-control-unstable-v1.xml] for this. This GSoC project is about implementing support for it in KWin and making use of it in Klipper and KDE Connect.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Knowing what Wayland is.<br />
'''Mentor:''' Roman Gilg (romangg), Nicolas Fella (nicofee)<br />
<br />
==== Wayland graphical tablet input support ==== <br />
<br />
'''Brief Explanation''': Tablets are very different from mice, they have a lot more information about their current state and events. As such there are separate protocols for passing these events from raw hardware to the client. We need to add:<br />
* A protocol in kwayland to wrap the low level protocol<br />
* support in KWin to map libinput to sending wayland events to the right clients.<br />
* support in Qt's wayland client code to map wayland to Qt events that applications can use <br />
(this will mean collaborating not just within KDE code but also Qt)<br />
<br />
'''Expected results''':<br />
Working tablet support in all applications within a kwin wayland session.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5,<br />
<br />
'''Mentor''': David Edmundson (davidedmundson@kde.org), Vlad Zagorodniy (zzag)</div>Nalvarezhttps://community.kde.org/index.php?title=GSoC/2018/Ideas&diff=83405GSoC/2018/Ideas2019-03-14T00:41:48Z<p>Nalvarez: Combine duplicated KDevelop sections</p>
<hr />
<div>[[File:Mascot konqi-app-presentation.png|thumbnail|right|[[Konqi]] is giving a lesson!]]<br />
See also: [[../../|GSoC Instructions]], [[../../2017/Ideas|Last year ideas]]<br />
<br />
== Guidelines ==<br />
<br />
=== Information for Students ===<br />
<br />
These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you may wish to contact the developers and find out more about the particular suggestion you're looking at.<br />
<br />
Being accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. '''Simply copying and pasting an idea here will not work.''' On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out.<br />
<br />
When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!<br />
<br />
If there is no specific contact given you can ask questions on the general KDE development list kde-devel@kde.org. See [http://www.kde.org/mailinglists/ the KDE mailing lists page] for information on available mailing lists and how to subscribe.<br />
<br />
{{Note|'''These are all proposals! We are open to new ideas you might have!!''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE.}}<br />
<br />
__TOC__<br />
<br />
=== Adding a Proposal ===<br />
<br />
{{Note|Follow the template of other proposals!}}<br />
<br />
==== Project: ====<br />
<br />
'''If appropriate, screenshot or another image '''<br />
<br />
'''Brief explanation:'''<br />
<br />
'''Expected results:'''<br />
<br />
'''Knowledge Prerequisite:'''<br />
<br />
'''Mentor:'''<br />
<br />
When adding an idea to this section, please try to include the following data:<br />
<br />
:*if the application is not widely known, a description of what it does and where its code lives<br />
:*a brief explanation<br />
:*the expected results<br />
:*pre-requisites for working on your project<br />
:*if applicable, links to more information or discussions<br />
:*mailing list or IRC channel for your application/library/module<br />
:*your name and email address for contact (if you're willing to be a mentor)<br />
<br />
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.<br />
<br />
==Ideas==<br />
===Your Own Idea ===<br />
<br />
==== Project: Something that you're totally excited about ====<br />
<br />
'''Brief explanation:''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.<br />
<br />
'''Expected results:''' Something you and KDE loves<br />
<br />
'''Knowledge Prerequisite:''' Probably C++ and Qt but depends on your project<br />
<br />
'''Mentor:''' Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc on Freenode IRC.<br />
<br />
===digiKam===<br />
digiKam is an advanced digital photo management application for Linux, Windows, and MacOS.<br />
<br />
* [http://www.digikam.org digiKam project web site]<br />
* [https://mail.kde.org/mailman/listinfo/digikam-devel Mailinglist]<br />
* [https://plus.google.com/+digikam Google+ page]<br />
* [http://webchat.freenode.net/?channels=digikam #digikam IRC channel on Freenode]<br />
<br />
==== Project 1 : digiKam Web Services tools authentication with OAuth2 ==== <br />
<br />
'''Brief Explanation''': digiKam has many tools dedicated to sharing items on web services, as Facebook, Google Photo, Google Drive, SmugMug, etc...<br />
All tools use an older way to be authenticated through the web service using an external web browser instance to capture the token network session. This is a fastidious way to open a web service session.<br />
Currently, Flickr, DropBox, and Imgur tools use an embedded OAuth2 authentification without a web browser instance through O2 library for Qt.<br />
The goal of this project is to port all others web service tools to O2 library API.<br />
<br />
'''Expected results''':<br />
*Review code of current tools ported to OAuth2<br />
*Review current implementation of tools and list all web services compatible with OAuth standard.<br />
*Plan the amount of work to port tools by order of complexity, and identify possible problems.<br />
*Port code for each tools step by step, by writing unit tests independently.<br />
*Test all tools with all use cases, depending of tool options.<br />
*Write documentation.<br />
<br />
'''Knowledge Prerequisite''': Network, OAuth, C++, and Qt5<br />
<br />
'''Mentor''': Maik Qualmann and Gilles Caulier<br />
<br />
==== Project 2 : Added the possibility to manually sort the digiKam icon view ====<br />
<br />
'''Brief Explanation''': digiKam has the possibility to sort the items in the icon view according to different criteria, for example by: name, date, file size, rating etc. Many digiKam users have long been wishing to manually sort the icon view. The bug report (https://bugs.kde.org/show_bug.cgi?id=91562) now has more than 700 votes.<br />
The goal of this project is to rearrange the sorting of items in the icon view by drag and drop. This sort must be stored in the database and must be retrievable like the other sort functions.<br />
<br />
'''Expected results''':<br />
*Review code of current sort functions and the icon view model.<br />
*Review current database schema of SQLite and MySQL.<br />
*Adding a column to SQLite and MySQL table to store manual sort order.<br />
*Write database upgrade procedure to port older digiKam databases.<br />
*Write code for reading and writing manual sort order to the database.<br />
*Write code for the manual item sorting in the icon view.<br />
*Test your implementation of manual sorting.<br />
*Write documentation.<br />
<br />
'''Knowledge Prerequisite''': Databases SQLite and MySQL, C++ and Qt5<br />
<br />
'''Mentor''': Maik Qualmann and Gilles Caulier<br />
<br />
==== Project 3: Supporting Twitter and Amazon Drive services in digiKam export ====<br />
<br />
'''Brief explanation''': There are many web services that digiKam can communicate with and export images to them. Following digiKam convection, we want to support Twitter and OneDrive export.<br />
Also, It would be great if we grouped web services in specific categories, for example: Facebook, Twitter, VK, G+, ..etc will be grouped in "Social Networks" category. the user can expand a category and check the boxes beside every service he wants to use and share an image to all selected service with the same status update.<br />
<br />
'''Expected Results'''<br />
*Reviewing currently supported web services code<br />
*Writing a client to connect to Twitter's API to be used to export images with status to it<br />
*Writing a client to connect to OneDrive API to export images and albums to it<br />
*Creating a dedicated widget to hold web services categories and categorizing each service to the right category<br />
*Supporting the ability to select multiple service and export to them at once<br />
*Writing unit tests for each new service<br />
*Writing docs for each newly created class<br />
<br />
'''Knowledge Prerequisites''': C++, Qt, Network, Restful API's<br />
<br />
'''Mentor''': Mohamed Anwer and Gilles Caulier<br />
<br />
=== Krita ===<br />
[http://www.krita.org Krita]: digital painting for artists. It supports creating images from scratch from beginning to end. Krita is a complex application and developers need to have a fair amount of experience in order to be able to do something.<br />
<br />
Krita is a widely used digital painting application for professional artists. Last year, Krita gained the ability to create hand-drawn 2D animations, among other new features. For this year, projects that the Krita team would be interested in include the following ideas.<br />
<br />
Note that we're always open to ideas you bring in yourself: if you're passionate about something you've come up with yourself, that you want for Krita, that's a big plus for us.<br />
<br />
We also expect prospective students to submit at least three patches for bugs or wishes or small features. We want to know how good you are! See https://phabricator.kde.org/T7724 for some smaller tasks that you could work on that are not bugs.<br />
<br />
==== Project: Optimize multithreading in Krita's Tile Manager (make the hash table lockfree) ====<br />
<br />
'''Brief explanation''': This is a hard-core project, only suitable for someone with deep knowledge of the problems of designing multi-threaded software. It involves Krita's core datamodel, where the tiles that compose image data are managed. The main problem is that at the moment the core utilizes QReadWriteLock and QMutex a lot, which means that Krita painting performance stops scaling well, when the number of CPU cores becomes larger than 8. The goal of this project is to locate all the bottlenecks (there are at least 4 of them) and resolve them in a lock-free. One of the bottlenecks involves KisTileHashTable which is used to access the tiles. Since this touches the very core of Krita, a thorough test plan is essential.<br />
<br />
'''Steps to apply''':<br />
The topic of the project is quite advanced, so we recommend you to do the following steps before writing a proposal:<br />
# Build Krita with unittests enabled<br />
# Install GNU Perf or VTune<br />
# Run FreehandStrokeBenchmark in a profiler and try to locate all the places where most of the locking/waits happen. The main one will be the hash table, but there are at least three more (your task is to locate them and add into your proposal!)<br />
# (optional) To test your coding abilities you can try to port one of the hash tables code from [https://github.com/preshing/junction Junction] library to Qt's primitives. If you don't feel overwhelmed with such code, you are perfectly fit for the project!<br />
# And feel free to contact Krita developers, if you have any question during these steps!<br />
<br />
'''Expected results''': No bottlenecks anymore! <br />
<br />
'''Knowledge Prerequisite''': C++, Qt, threads, locks.<br />
<br />
'''Mentor''': Dmitry Kazakov (dmkitryK|log on irc)<br />
<br />
==== Project: Extending Animation Support for curves ====<br />
<br />
'''Brief Explanation''': In Krita, you can already add curves that could be applied to some properties of a layer, like opacity, animating those properties. We want the animation support extended by allowing users to place masks (filter masks, transformation masks, transparency masks) on the timeline and animate their properties using curves. Every property of a layer or mask placed on the timeline should be animatable.<br />
<br />
'''Expected results''':<br />
* Implementation of a gui for applying the curve settings to one or more properties of a mask or layer<br />
* Implementation of the actual rendering of the properties in the frames<br />
* Saving of these settings<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and Qt<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud) or Dmitry Kazakov (IRC: dmitryk_log)<br />
<br />
==== Project: Taking the Shape Brush to the next level ====<br />
'''Brief Explanation''': Krita has a number of interesting brush engines. One of them is the Shape Brush engine. Inspired by Alchemy, the shape brush "throws" shapes on the canvas. The current implementation is limited to geometric shapes. We want the brush engine to be extended to make it possible to load vector shapes defined as PDF or SVG and use those to draw on the canvas as well. Other improvements are the addition of Feathering, an outline mode, edge sharpening and background textures.<br />
<br />
'''Expected Results''': A revamped and exciting shapes brush<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Krita<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud) or Lukas Tvrdy (IRC: LukasT)<br />
<br />
==== Project: Analysis of thoroughput of Krita Blending Modes and porting them to AVX2 ====<br />
<br />
'''Brief Explanation''': Blending modes is the hottest piece of code in Krita. It should process gigabytes of data per second, therefore it should be extremely optimized. Some of its parts are already optimized to use AVX instructions, but some (float16 color spaces) are not. We need to port the rest of the color spaces to AVX and make a research into the possibilities of using AXV2 instructions directly (int16 instructions). [https://github.com/VcDevel/Vc Vc library] supports AXV2 instructions, though we don't know to what extent, it might happen that you would need to extend the library itself to get the needed functionality. This is another hard-core project only suitable if you have a good deal of experience.<br />
<br />
'''Steps to apply''': The topic of the project is quite advanced, so we recommend you to do the following steps before writing a proposal:<br />
<br />
# Build Krita with unittests enabled<br />
# Install GNU Perf or VTune<br />
# Run KisCompositionBenchmark under a profiler and see the hottest places of blending modes code<br />
# Check the code of "Normal" blending mode for float32 color spaces (KoOptimizedCompositeOpOver128), copy the file and try to create your own blending mode for float16 color space. Hint: the only thing you should do is to implement correct unpacking/packing code that would convert the values to 32-bit float and back.<br />
# If you don't feel overwhelmed with such code, you are perfectly fit for the project!<br />
# And feel free to contact Krita developers, if you have any question during these steps!<br />
<br />
'''Expected Results''': Float16 color spaces are ported to AVX, Integer8 and Integer16 colorspaces are ported to AVX2<br />
<br />
'''Knowledge Prerequisite''': C++, SEE/AVX (read [http://www.intel.eu/content/www/eu/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html Intel's manual])<br />
<br />
'''Mentor''': Dmitry Kazakov (IRC: dmitryk|log)<br />
<br />
==== Project: Port generic code for not-so-popular blending modes to AVX ====<br />
<br />
'''Brief Explanation''': In Krita we have a lot of blending modes, but only Normal and Alpha Darken are optimized and ported to AVX instructions. The reason for that is obvious, these two blending modes are the hottest and are used in every single image produced in Krita. But it doesn't mean that the other blending modes are less important for painters: they still use Multiply for painting shadows, and Linear Dodge for painting highlights, so they should also be fast! <br />
<br />
The good piece of news is that all these "non-popular" blending modes are implemented in Krita by means of a single class KoCompositeOpGenericSC, so, basically, as a result of your project, you should provide one class only! The bad piece of news is that this single class implements about a hundred of blending modes using C++ templates... so be prepared! :)<br />
<br />
'''Steps to apply''': The topic of the project is quite advanced, so we recommend you to do the following steps before writing a proposal:<br />
<br />
# Build Krita with unittests enabled<br />
# Install GNU Perf or VTune<br />
# Run KisCompositionBenchmark under a profiler and see the hottest places of blending modes code<br />
# Check the code of "Copy" blending mode in KoCompositeOpCopy2 and try to port it into AVX for RGB8 colorspace. Use KoOptimizedCompositeOpOver32 as an example.<br />
# If you don't feel overwhelmed with such code, you are perfectly fit for the project!<br />
# And feel free to contact Krita developers, if you have any question during these steps!<br />
<br />
'''Expected Results''': "Copy" blending mode is ported to AVX, all the "generic" blending modes are ported to AVX<br />
<br />
'''Knowledge Prerequisite''': C++, SEE/AVX (read [http://www.intel.eu/content/www/eu/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html Intel's manual])<br />
<br />
'''Mentor''': Dmitry Kazakov (IRC: dmitryk|log)<br />
<br />
==== Project: Optimize Soft, Gaussian and Stamp brushes to use AVX ====<br />
<br />
'''Brief Explanation''': When the user draws a line in Krita, this line consists of thousands of small rectangular images (dabs) that are painted one over another. For each dab, Krita generates its own mask (depending on the stylus pressure and tilt) and uses this mask for filling the layer. It happens thousands of times per second, which makes mask generation code one of the hottest places in Krita. We already have AVX optimization for Default brush mask engine and it works 5(!) times faster than Gaussian engine and 3(!) times faster than the Soft engine. The goal of this project is to port the rest of non-optimized engines to use AVX via [https://github.com/VcDevel/Vc Vc library] and make them faster.<br />
<br />
'''Steps to apply''': The topic of the project is quite advanced, so we recommend you to do the following steps before writing a proposal:<br />
<br />
# Build Krita with unittests enabled<br />
# Install GNU Perf or VTune<br />
# Run FreehandStrokeBenchmark under a profiler and compare the results for different types of brushes. You can see how faster Default brush tip is.<br />
# Check the code in kis_brush_mask_applicator_factories.cpp and try to implement your own version of FastRowProcessor for KisGaussCircleMaskGenerator '''without''' using any AVX. Even without any vector instruction, the brush will become much faster, just because it will use less virtual calls.<br />
# If you don't feel overwhelmed with the amount of C++ templates in your code, you are perfectly fit for the project!<br />
# And feel free to contact Krita developers, if you have any question during these steps!<br />
<br />
'''Expected Results''': Circular Soft, Gaussian and Stamp brush masks are ported to AVX-optimized code. Optionally, if there is enough time, rectangular brush masks are posted as well.<br />
<br />
'''Knowledge Prerequisite''': C++, SEE/AVX (read [http://www.intel.eu/content/www/eu/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html Intel's manual])<br />
<br />
'''Mentor''': Dmitry Kazakov (IRC: dmitryk|log)<br />
<br />
<br />
==== Project: Partial canvas updates and region of interest (performance optimization for huge (20k+) canvases) ====<br />
<br />
'''Brief Explanation''': We already have an optimization for huge canvases, which is called Instant Preview. But it works only when the user has the canvas zoomed out to fit the screen. There are some usecases, when the user wants to work with a small "working area" of a huge image and he doesn't care what happens to the rest of the image. This project is targeted to optimize this case.<br />
<br />
'''Expected Results''': By the end of the summer we expect these features to be implemented:<br />
* Partial updates in openGL canvas. Right now we redraw all the image textures in every frame, which is not needed after porting to Qt5.<br />
* Region of Intereset (ROI) in KisImage. Updates should be reordered and the priority should be given to the areas that are currently visible to the user<br />
* Work Area Tool. The user should be able to define the area, where he would like to work in. The updates for other parts of the image are skipped until the user exits this special mode.<br />
* (if there is time) Optimize textures loading to use RIO as well. Theoretically, we can just skip uploading of the tiles that are not visible on the screen at the moment.<br />
<br />
'''Steps to apply''': The topic of the project is quite advanced, so we recommend you to do the following steps before writing a proposal:<br />
<br />
# Build Krita<br />
# Check the code in KisImage, pay attention to 'cropRect' parameter of the update calls. That is exactly what you need for limiting the updates in the work area tool<br />
# Try to write Work Area Tool: copy the code of KisToolCrop, connect it to Krita and make it override the cropRect parameter in KisImage.<br />
# If you manage to make a draft of Work Area Tool, most probably, you will manage to complete the whole project successfully!<br />
# And feel free to contact Krita developers, if you have any question during these steps!<br />
<br />
'''Knowledge Prerequisite''': C++, OpenGL<br />
<br />
'''Mentor''': Dmitry Kazakov (IRC: dmitryk|log), Julian Thijssen (IRC: Nimmy)<br />
<br />
==== Project: Add 3D Painting Assistants ====<br />
<br />
'''Brief explanation''': One of the more innovative features in Krita are the painting assistants. These are shapes overlaid on the canvas that the artist can use to help him achieve perspective, straight lines and other shapes freehand. For complex drawings it would be useful to be able to place 3D models on the canvas, position and scale them and use those as guides for drawing.<br />
<br />
'''Expected results''': by the end of the summer, 3D models should be shown on canvas as canvas decorations, using OpenGL in hidden-line wireframe mode. The models should be manipulated using on-canvas controls like other assistants. Magnetic snapping is an optional extra.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, OpenGL, Assimp<br />
<br />
'''Mentor''': Julian Thijssen (IRC: Nimmy)<br />
<br />
=== KDE Student Programs ===<br />
<br />
KDE Student Programs is the working group responsible for running Season of KDE and managing KDE's participation in Google Summer of Code, Google Code-In, and other mentorship programmes.<br />
<br />
=== GCompris ===<br />
==== Project: One step closer to version 1.0 ====<br />
'''Brief explanation''': GCompris is a an educational software suite comprising of numerous activities for children aged 2 to 10. Originally written in Gtk+ it's development team started to rewrite it from scratch in Qt Quick.<br />
<br />
'''Expected results''':<br />
The aim of this year is to work on the most important activities that we are missing to have a complete 1.0. You can find a list of tasks that you can work on at https://phabricator.kde.org/T7498.<br />
<br />
First phase is to check how the Gtk+ version was working, what could be improved and then create a proposal with a timeline explaining what you expect to do and the time estimation. It does not need to be a simple clone, improvements should be done when possible.<br />
<br />
Bitmap drawing activity and piano activities are already started in gsoc-tuxPaint/playpiano branches respectively.<br />
Note that for piano activities, it is a "package" containing multiple activities: play_piano, piano_composition, name_notes and play_rhythm.<br />
The other ones are to start from scratch.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Divyam Madaan (IRC: dmadaan), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
==== Project: Unit test framework ====<br />
<br />
'''Expected results''':<br />
The aim of this project is to build the base for unit testing for GCompris. The student will have to think on what we can test (qml, js...) and how we can put this in place.<br />
More information can be found in https://phabricator.kde.org/T7668.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language and CMake use (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
Technologies used are CMake, C++, Qt.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Divyam Madaan (IRC: dmadaan), Johnny Jazeix (IRC: JohnnyJ), Rudra Nil Basu (IRC: rudra), Timothée Giet (IRC: Animtim)<br />
<br />
=== KDE Partition Manager ===<br />
=== Kopete ===<br />
<br />
==== Project: Write tests and Improve protocol support ====<br />
<br />
'''Brief explanation''': Kopete is an instant messaging client that has the modular architecture and supports many messaging services with useful plugins to complement them. <br />
<br />
'''Expected results''':<br />
The aim of this project is to fix the bugs due to porting and improve the frontend and the test coverage.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
* Be interested in test-driven development.<br />
<br />
* Be familiar with the codebase of KDE in general.<br />
<br />
* Knowledge of C++ / Qt.<br />
<br />
'''Application guide''':<br />
<br />
Get in touch with us on mailing-list and start hacking KDE and fix bugs. Teams of two people is preferred for this project as it is a lot of work :)<br />
<br />
You can contact on IRC also but it is better to discuss over mailing list as not many people are in IRC on #kopete channel.<br />
<br />
'''Mentors''': Vijay <vijaykrishnavanshi@gmail.com> (vijay_ on IRC), Kopete Mailing List <kopete-devel@kde.org><br />
<br />
=== LabPlot ===<br />
[http://www.labplot.kde.org LabPlot] is a KDE-application for interactive graphing and analysis of scientific data. LabPlot provides an easy way to create, manage and edit plots and to perform data analysis.<br />
<br />
==== Project: Plotting of live MQTT data ====<br />
'''Brief explanation''': LabPlot has already some support for plotting of live-data (http://krajszgsoc.blogspot.de/2017/09/in-finish-line-but-not-in-end.html). To cover more use-cases we want to also support MQTT sources. We need to investigate the available MQTT libraries for Qt:<br />
* https://blog.qt.io/blog/2017/08/14/introducing-qtmqtt-protocol/<br />
* https://github.com/emqtt/qmqtt<br />
and to add some support for MQTT to LabPlot.<br />
<br />
'''Expected results''': Similar to the currently supported data sources (files, sockets, serial port, SQL databases) we want to support the subscription to MQTT brockers and plotting of their data. <br />
<br />
'''Knowledge Prerequisite''': C++, Qt, (optional) knowledge and experience with MQTT<br />
<br />
'''Mentor''': Fábián Kristóf - Szabolcs (mailto:fkristofszabolcs@gmail.com)<br />
<br />
==== Project: Import of educational data sets available on the internet ====<br />
'''Brief explanation''': There are many internet pages providing data sets for educational and study purposes for many different areas (astrophysics, statistics, medicine, etc.). Some tools used in the scientific area provide some "wrappers" for such online sources and allow the user to easily play around with those data sets in the applications whereas the technical details like fetching of data from the server and parsing are done completely transparent for the user. The goal of this project is to add similar functionality to LabPlot. There will be a wizard where the user can select from a thematically grouped list of data sets available online. The internal description of such an online data set should contain the URL with the actual file that needs to be downloaded and the settings for LabPlot's data parser (separator, column names and data types, etc.). The data fetched once should be cached so there is no need to fetch from the web again. Here we can have a look maybe at KStars for how to implement such a caching strategy and maybe even re-use some code from KStars.<br />
In addition to the list of pre-defined online sources, we need to elaborate how the user can add new online data sets (together with all the required parametrization) and publish the settings to make them available for everybody.<br />
<br />
'''Expected results''': We want to be able to easily import the educational data sets available on the internet.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt<br />
<br />
'''Mentor''': Stefan Gerlach<br />
<br />
==== Project: Import of data from web-services ====<br />
'''Brief explanation''': Brief explanation: This goal of this project is to extend the number of supported data sources by adding the possibility to import the data from web services (live and historical financial data, weather, etc.). Most web services expose their data via JSON. We need to add a "JSON filter" to LabPlot capable to connect to a web service, to fetch the data, to parse it and to import into LabPlot's internal data containers. In the GUI the user should be guided through the entry of the service URL, additional services parameters like API token, etc. and through the settings for the actual parsing (which JSON fields to consume and how). Also, it should be possible to refresh the data periodically like it is already possible for the live data (http://krajszgsoc.blogspot.de/2017/09/in-finish-line-but-not-in-end.html). The goal is also to provide a set of widely known web services so the user can select and import the data from a list of pre-defined services. In addition to this, we need to elaborate the possibility to "publish" the settings for a web-service done by the user and make them publicly available to every LabPlot user.<br />
<br />
<br />
'''Expected results''': Similar to the currently supported data sources (files, sockets, serial port, SQL databases) we want to import the data from web services and visualize it.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, (optional) JSON support in Qt<br />
<br />
'''Mentor''': Alexander Semke<br />
<br />
=== Kdenlive ===<br />
[https://kdenlive.org Kdenlive] is a KDE-application for professional video editors. It supports hundreds of video formats and all the features you can expect from a non-linear video editor, including some advanced features like timeline preview rendering, proxy clips and more. <br />
<br />
=== Choqok ===<br />
==== Project: Port Choqok to Kirigami ====<br />
<br />
'''Brief explanation:''' Current Choqok UI doesn't make use of QML and creates interfaces in C++ files. The idea is to rewrite the interface in QML. At this point is better doing it with Kirigami since this means it will work on Plasma Mobile too.<br />
<br />
'''Expected results:''' Choqok UI makes use of Kirigami.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt, Qml<br />
<br />
'''Mentor:''' Andrea Scarpino (IRC: ilpianista)<br />
<br />
'''Application guide''':<br />
Get in touch on IRC (#choqok).<br />
<br />
=== KStars ===<br />
<br />
[https://edu.kde.org/kstars KStars] is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time. <br />
<br />
====Project: Improving the reliability and usability of KStars====<br />
<br />
Brief explanation: KStars has a mature codebase with well-written C++ for a desktop and a mobile client. The applicant would like to contribute enhancements by improving the sources (C++11/C++14 features, static code analysis, better testing in CI) and adding usability improvements to the desktop and the mobile version of KStars.<br />
<br />
'''Expected results''': <br />
* All findings of the static code analyzers will be fixed.<br />
* The C++ tooling will be integrated to Jenkins in KDE CI.<br />
* The desktop version of KStars will have usability improvements.<br />
* The build system (CMake) of the Android client will be enhanced.<br />
* Add new functionalities for telescope equipment control and camera capture and live streaming.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Qml, Jenkins, static code analyzers.<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Deep Sky Object Overhaul ====<br />
'''Brief explanation''': KStars supports many deep sky objects (DSOs) including galaxies, nebulae, supernovae, clusters and more. Currently, some deep sky catalogs are stored in simple space separated text format where they are parsed into KStars directly or into KStars Deep Sky Component SQLite3 database which is then loaded in KStars. However, since all DSOs are loaded at once into memory, this limits the size of catalogs within KStars. A solution similar to how dynamic stars are cached in and out of memory must be developed for DSOs. Furthermore, all catalog entries should have their trixels indexed so that they can be efficiently drawn unto the sky map. Another issue is that catalogs can overlap since there is no cross-identification of various catalogs. For example, Andromeda galaxy exists in Messier catalog as M31, and exists in NGC catalog as NGC 224. The database should support an ability to cross-identify objects from all supported and future catalogs.<br />
<br />
'''Expected results''': <br />
* Convert all text-format catalogs to SQLite3 database.<br />
* Develop master DSO database where cross-identification of objects is supported. Master database can support addon downloadable catalogs where they can be merged once downloaded by the user.<br />
* Import of The Principal Galaxy Catalog, 2003 Version (PGC2003) which contains ~1 million galaxies into KStars as a downloadable addon.<br />
* Caching and drawing optimizations for large catalogs.<br />
* Cross-identification for all supported DSO catalogs including, but not limited too: NGC/IC/Messier/Arp/PGC/LDN<br />
* Trixel indexation for all DSOs. Implementation of improved drawing cached routine in KStars for DSOs similar to stars.<br />
* All necessary updates within KStars maps, tools and dialogs to reflect the above changes.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Implementing Ekos in KStars Lite ====<br />
'''Brief explanation''': Ekos is KStars premier tool for observatory control and automation. KStars Lite was successfully developed in GSoC 2016 and is available for Android phones and tablets. We would like to extend KStars Lite to include basic support for Ekos. Currently, KStars Lite supports basic telescope and capture controls, but it could be extended to support a richer experience for users who are performing observatory control and astrophotography.<br />
<br />
'''Expected results''': <br />
* Telescope floating motion controls including speed controls.<br />
* Like video feed display from supported devices.<br />
* Image capture with binning, count, exposure, ISO..etc controls similar to Ekos desktop client.<br />
* Focus controls.<br />
* Alignment using remote astrometry.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, QML<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Ekos Web Client ====<br />
'''Brief explanation''': Ekos is KStars premier tool for observatory control and automation. A web client port of Ekos is desired where it communicates with the underlying INDI servers and drivers without a direct dependency on thick desktop clients. Ekos includes many modules including setup, capture, focus, guide, align, and mount. All functionalities of the desktop Ekos client are expected in the web client version using Python+Ajax or similar framework technologies suitable for online dynamic driven clients.<br />
<br />
'''Expected results''': <br />
* Online Ekos web client with all the thick client feature set.<br />
* Authentication and Registration framework.<br />
* Support for notifications similar to desktop client.<br />
* Ajax dynamic driven interface with near real-time updates for framing and captures.<br />
* Multi-user support with granular permissions.<br />
* Web based INDI Control Panel with all the driver controls as in the desktop version.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Django/Ajax or similar technology framework.<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Implement Qt3D backend for KStars ====<br />
'''Brief explanation''': The Skymap in KStars desktop version is currently built using QPainter and 2D drawing primitives. In order to take advantage of advances in modern GPU hardware and to present a stunning visual view of the night sky, a 3D backend is desired. Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications. Within KStars, SkyPainter provides a backend-agnostic class for drawing object unto the skymap regardless of the backend. Previously, an experimental OpenGL backend was developed but was later deprecated due to drawing issues. Since Qt3D provides an abstraction to the backend framework (OpenGL/Vulkan/DirectX), it presents a very flexible framework for building future-proof 3D applications.<br />
<br />
'''Expected results''': <br />
* Create Qt3D based backend to draw all objects currently implemented by QPainter backend.<br />
* Create realistic colors, shares, textures, meshes, lighting for all stars, solar system, and deep sky objects.<br />
* Create animations for meteor shows, comet tails, stars twinkle..etc<br />
'''Knowledge Prerequisite''': C++, Qt, Prior experience working with 3D applications/games.<br />
<br />
'''Mentor''': Akarsh Simha ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: kstar)<br />
<br />
=== Peruse ===<br />
<br />
Peruse is a comic book reader application by KDE, which is designed to work both on touch based devices, and on the traditional desktop. Additionally, it has a tool called Peruse Creator which is designed to create comic books for use with Peruse and any other CBZ capable comic book reader. It has rudimentary support for the [http://acbf.wikia.com/wiki/Specifications Advanced Comic Book Format], which is a metadata container for comic book archives (CBR, CBZ and so on).<br />
<br />
See also the Peruse website for more detailed information: https://peruse.kde.org/<br />
<br />
==== Project: Expand Creator's Abilities ====<br />
<br />
'''Brief explanation:''' Peruse Creator is currently very simple, and will allow the user to create a CBZ comic book archive annotated with a subset of the [http://acbf.wikia.com/wiki/Specifications Advanced Comic Book Format] (ACBF) metainfo, such as authors, publisher information, characters and so on. It does not allow for the creation or editing of the viewport based navigation that ACBF describes, nor does it support the text layers system ACBF proposes for comic book translation. It also lacks editor components for a variety of the general metainformation ACBF suggests.<br />
<br />
Your project proposal should include explicit descriptions of which of these you wish to build support for, and how you propose to do so. It should further include timeframes for each.<br />
<br />
'''Expected results:''' A more capable Peruse Creator.<br />
<br />
'''Knowledge Prerequisite:''' C++ and Qt required, additionally QML/QtQuick knowledge is preferred<br />
<br />
'''Mentor:''' Dan Leinir Turthra Jensen (admin@leinir.dk, IRC: leinir, Telegram and twitter: @leinir)<br />
<br />
==== Project: New Viewer Component ====<br />
<br />
'''Brief explanation:''' The current viewer component for Comic Book Archives (CBR) in Peruse is a simple full-page viewer, which only supports page-by-page navigation. The [http://acbf.wikia.com/wiki/Specifications Advanced Comic Book Format] (ACBF) metadata container brings with it support for a viewport system, which describes how the application should present [http://acbf.wikia.com/wiki/Body_Section_Definition#Frame specific sub-sections of each page], as well as a system for [http://acbf.wikia.com/wiki/Body_Section_Definition#Jump navigating between arbitrary pages in the comic].<br />
<br />
Your project proposal should include explicit descriptions of how you would suggest implementing this, as well as a schedule for the work.<br />
<br />
'''Expected results:''' A viewer component which is able to consume and display the viewport based navigation metadata from the ACBF container, as well as present the general metainformation to the user.<br />
<br />
'''Knowledge Prerequisite:''' C++ and Qt required, additionally QML/QtQuick knowledge is preferred<br />
<br />
'''Mentor:''' Dan Leinir Turthra Jensen (admin@leinir.dk, IRC: leinir, Telegram and twitter: @leinir)<br />
<br />
=== KGpg ===<br />
<br />
[https://utils.kde.org/projects/kgpg KGpg] is a frontend for GnuPG key management.<br />
<br />
'''Brief explanation:''' KGpg currently consists of one application with a very narrow external interface, which is available via DBus. The goal is to split out parts of the code into a static library that is used both by the KGpg binary as well as to-be-written unit tests, which should also cover at least all of the "[https://cgit.kde.org/kgpg.git/tree/transactions transaction]" classes.<br />
<br />
'''Expected results:''' unit tests that can be called via CTest, and are integrated into the KDE CI jobs<br />
<br />
'''Knowledge Prerequisite:''' basic C++, CMake, and GnuPG usage<br />
<br />
'''Mentor:''' Rolf Eike Beer (kde@opensource.sf-tec.de, IRC: Dakon)<br />
<br />
===KWin===<br />
==== Multi-GPU support in Wayland session ==== <br />
<br />
'''Brief Explanation''': Currently KWin as a Wayland compositor can only render to outputs of the primary GPU. We want to allow multi GPU setups with more than one graphics card or simultaneous use of an expansion card and the internal graphics. For that, we need to query all available GPUs and handle them accordingly in our DRM backend.<br />
<br />
'''Expected results''':<br />
Query all available GPUs in DRM backend and their outputs.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5, basic knowledge of graphics hardware<br />
<br />
'''Mentor''': Roman Gilg (Email: subdiff@gmail.com; IRC: romangg)<br />
<br />
==== Wayland graphical tablet input support ==== <br />
<br />
'''Brief Explanation''': Tablets are very different from mice, they have a lot more information about their current state and events. As such there are separate protocols for passing these events from raw hardware to the client. We need to add:<br />
* A protocol in kwayland to wrap the low level protocol<br />
* support in KWin to map libinput to sending wayland events to the right clients.<br />
* support in Qt's wayland client code to map wayland to Qt events that applications can use <br />
(this will mean collaborating not just within KDE code but also Qt)<br />
<br />
'''Expected results''':<br />
Working tablet support in all applications within a kwin wayland session.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5,<br />
<br />
'''Mentor''': David Edmundson (davidedmundson@kde.org)<br />
<br />
==== Activities support in KWin on Wayland ==== <br />
<br />
'''Brief Explanation''': KWin has one important regression when it comes to Wayland - lack of support for activities (mainly hiding windows that do not belong to the current activity). What needs to be done:<br />
* Implement a way for kwin to know which applications belong to which activities<br />
* Implement a way for applications to specify on which activities they are<br />
<br />
'''Expected results''':<br />
Working activities in KWin without any performance regressions.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5,<br />
<br />
'''Mentor''': Ivan Cukic (ivan.cukic@kde.org)<br />
<br />
=== Plasma ===<br />
==== Improve handling for touchpads and mice with Libinput ====<br />
<br />
'''Brief explanation:''' [https://www.freedesktop.org/wiki/Software/libinput/ Libinput] is now used as the driver for input devices in most distros. However, System Settings does not present the user with good interfaces for configuring input devices with libinput. Currently, the only well-supported use case is for [https://bugsfiles.kde.org/attachment.cgi?id=108954 touchpads in a Wayland session]. For touchpads on X11, and mice on both X11 and Wayland, the user experience is sub-optimal or non-existent.<br />
<br />
'''Expected results:''' System Settings should expose good user interfaces for configuring both touchpads and mice when using Libinput, and for both Wayland and X11.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Nate Graham (Email: pointedstick@zoho.com; Telegram: @nggraham)<br />
<br />
'''Application guide''':<br />
* https://wayland.freedesktop.org/libinput/doc/latest/developers.html<br />
* https://bugs.kde.org/show_bug.cgi?id=383379<br />
<br />
==== System Settings: Port keyboard input modules and expand scope to cover input method configuration ====<br />
<br />
'''Brief explanation:''' System Settings' keyboard configuration module needs to be ported to Qt Quick based on reference designs provided by KDE's Visual Design Group. Additionally, the scope of keyboard input configuration needs to be expanded to cover input method configuration as well. This is both part of a larger drive to port the modules in the System Settings application to Qt Quick and modernize its UI design, as well as improve the text input configuration experience for a global audience. This project involves refactoring the existing System Settings module's code to be used as the backend for a QML-based UI and writing new backend code to configure the ibus or fcitx input method daemons. The UI design is expected to be refined during the course of the project in collaboration with VDG contributors. Interaction with other developers working on System Settings module ports in parallel is also expected.<br />
<br />
'''Expected results:''' System Settings should offer keyboard layout and basic input language configuration in a modern UI design.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt, Qt Quick/QML<br />
<br />
'''Mentor:''' Eike Hein (Email: hein@kde.org; IRC: Sho_; Telegram: @eikehein)<br />
<br />
'''Application guide''':<br />
* https://conf.kde.org/en/akademy2017/public/events/359<br />
* https://www.youtube.com/watch?v=wE0KDabPfsQ<br />
* https://phabricator.kde.org/M112<br />
<br />
==== Discover: fwupd integration ====<br />
<br />
'''Brief explanation:''' Discover Software Center is in charge of offering different kinds of assets at the moment. Applications, Add-ons, etc as well as serving updates. At the moment it's still not able to update our devices' firmwares. There's a tool for GNU/Linux called FWUPD to do so: https://fwupd.org/developers<br />
<br />
Despite the description specifying plasma, the end goal is to provide a seamless solution to have your hardware's firmware up to date.<br />
If the proposal is too short, other improvements suggested to add to the idea will be welcome.<br />
<br />
'''Expected results:''' Plasma being great at having an up to date system, also with hardware.<br />
<br />
'''Knowledge Prerequisite:''' C++ and Qt, also notions of how glib works, to understand upstream FWUPD.<br />
<br />
'''Mentor:''' Aleix Pol: apol, @AleixPol, aleixpol@kde.org<br />
<br />
=== Okular ===<br />
==== Add support for showing and adding replies to sticky notes ====<br />
<br />
'''Brief explanation:''' PDF files can contain replies to certain annotations, you would need to add support to Okular and potential poppler so that they show the same way they do on other PDF readers. Once they are shown and if there is enough time adding the capability to add replies is also welcome.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Okular developers https://mail.kde.org/mailman/listinfo/okular-devel<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=387834<br />
<br />
<br />
==== Project: Verifying signatures of pdf files ====<br />
<br />
'''Brief explanation:''' Okular should provide information about signatures if a pdf document has been signed. The poppler library used by Okular to render pdf files does support verification of signed pdf files and the retrieval of signature information. However, this functionality is not used by Okular. Goal of the project is to extend the Okular GUI to show whether a document is signed, and to show the signature details.<br />
<br />
Bonus points for any steps towards signing pdf files in Okular.<br />
<br />
'''Expected results:''' When opening a signed document, Okular should show that the document is signed, and whether the signature is valid, expired, etc. Detailed information about the signature(s) should be made available, through a new menu entry (all signatures) or by a context menu for individual signatures.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, very little cryptography skills<br />
<br />
<br />
==== Project: Implement the FreeText annotation ====<br />
<br />
'''Brief explanation:''' Okular implements various annotations from the pdf standard, but a few are still missing. Goal of this project is to implement the FreeText annotation. It allows to write text anywhere directly on a pdf file [0]. There is partial support in poppler [1], the library that is used for the actual pdf rendering. Okular shows such annotations, but they cannot be manipulated. Goal is to implement full support for editing FreeText annotations in Okular.<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=353401<br />
[1] https://bugs.freedesktop.org/show_bug.cgi?id=93213<br />
<br />
'''Expected results:''' The Okular annotation toolbar gains a new entry 'FreeText', where users can create new FreeText annotations. Additionally, existing FreeText annotations can be moved, deleted and modified.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, and a bit about the pdf format<br />
<br />
==== Project: Improve custom stamp annotation handling ====<br />
<br />
'''Brief explanation:''' Okular does display stamp annotations, but the support<br />
is somewhat incomplete. This particularly shows when trying to use stamp<br />
annotations with a custom image. For example, such annotations can be<br />
added in Okular, but they cannot be saved to the pdf file in a way<br />
that any other pdf viewer can read. Also, they will not appear on print-outs.<br />
<br />
The underlying reason for this is that Okular renders these stamps itself,<br />
rather than relying on the poppler library, which does all other pdf<br />
rendering. Goal of this project is therefore to teach poppler how to<br />
render stamp annotations, and then make Okular use that new functionality.<br />
More details can be found in the bug report [0].<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=383651<br />
<br />
'''Expected results:''' Poppler should render stamp annotations. Annotations<br />
should be printable from Okular. Custom stamps inserted via the Okular GUI<br />
should be visible in other pdf readers.<br />
<br />
'''Knowledge prerequisite:''' C++, and a bit about the pdf format.<br />
<br />
<br />
==== Project: Annotation improvements ====<br />
<br />
'''Brief explanation:''' Okular supports convenient editing of pdf annotations, but quite a number of paper-cut bugs are known. Examples are [0,1,2], but many more can be found in the bugtracker. Goal of this project is to fix as many of these bugs as possible, which should improve the Okular user experience greatly.<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=275371<br />
[1] https://bugs.freedesktop.org/show_bug.cgi?id=102635<br />
[2] https://bugs.freedesktop.org/show_bug.cgi?id=52010<br />
<br />
'''Expected results:''' Lots of annotation-related bugs fixed. Annotation rendering and manipulation should be more enjoyable.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, and a bit about the pdf format<br />
<br />
<br />
=== WikiToLearn ===<br />
<br />
You can find all of the WikiToLearn community on [https://chat.wikitolearn.org chat.wikitolearn.org]. We have many other ideas: get in touch with us to discuss them further!<br />
<br />
==== Project: Progressive Web App ====<br />
<br />
'''Brief explanation:''' [https://cgit.kde.org/scratch/cristianbaldi/wikitolearn-frontend.git Current PWA] is being used in the first iteration of the new WikiToLearn architecture. It needs some improvement in terms of testing, offline-experience and organization to make it stable and ready for a first stable release. We want, also, to create a cohesive ecosystem of resources and design guidelines that can be easily reused. Main goal of this project is to enhance the existing project to provide a tested, functional and production-ready PWA. <br />
<br />
'''Expected results:'''<br />
<br />
* Improve documentation<br />
* Write design guidelines for people who want to contribute<br />
* Organize shared resources in a reusable manner<br />
* Write unit and integration test<br />
* Implement functional offline browsing<br />
* Enhance UX for a production-ready release<br />
<br />
<br />
'''Knowledge Prerequisite:'''<br />
<br />
* Knowledge of Vue<br />
* Knowledge of HTML5, CSS3 (Sass/Less), JS (ES6 and Browser Apis)<br />
* Responsive design<br />
* Build Tools (WebPack)<br />
* Standards and best practices in Web Development<br />
<br />
<br />
'''Mentor:''' Gianluca Rigoletti (@rigolo)<br />
<br />
=== Falkon ===<br />
<br />
Falkon is a web browser previously known as QupZilla.<br />
<br />
==== JavaScript/QML extensions support ====<br />
<br />
'''Brief explanation:''' Falkon supports additional application extensions to be installed. Currently, it only supports compiled C++ extensions, which makes it complicated to develop and distribute. Adding support for JavaScript extensions would make it more accessible and easier for developers.<br />
<br />
Qt includes own JavaScript engine (QJSEngine/QQmlEngine), so this task is about integrating it into Falkon code base and exposing the browser function to JavaScript extensions.<br />
<br />
'''Expected results:''' Extensions can be written in JavaScript and use QML for GUI. JavaScript extensions should be able to access and interact with all important browser functions.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt, JavaScript/QML basics<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
==== Plasma integration ====<br />
<br />
'''Brief explanation:''' Falkon is Qt application and as such it integrates quite well into Plasma desktop environment. There is also an extension that allows to store passwords in KWallet. Plasma desktop provides some services that could be useful to use from browser, like showing the progress of downloads as jobs in notification applet or searching for bookmarks or open tabs from KRunner.<br />
<br />
There is already existing extension for Chrome that implements these features - [https://cgit.kde.org/plasma-browser-integration.git plasma-browser-integration] that can be used as a base for the Falkon extension.<br />
<br />
'''Expected results:''' Falkon C++ extension and additional helpers improves the integration with Plasma desktop.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt, JavaScript basics<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
=== Cantor ===<br />
<br />
Cantor provides a graphical frontend for different open source computer algebra systems and scientific programming languages [https://edu.kde.org/cantor/].<br />
<br />
==== Project: Improve Cantor's worksheet ====<br />
'''Brief explanation''': One of the central components in Cantor is the worksheet - the place where the calculations are triggered and the results are shown. The worksheet is basically a collection of "cells" of different types which can carry user inputs or the results of the calculations. There are many features that are available in similar (free and commercial) products and that are still missing in this area in Cantor. The goal of this project is to close couple of most obvious gaps and to greatly improve the user experience in Cantor. To name couple of things that need to be implemented:<br />
* collapsible cells to hide the output of the calculations<br />
* additional styling for the cells like setting the color and the font<br />
* highlighting of the cell being currently calculated<br />
* use optionally different background colors for different cell types for an easier identification of e.g. text cells and cells used for calculations<br />
* show timings<br />
* context menu for the cells and for the cells outputs, provide their things like differentiate, simplify, etc. as well as things like "copy as text/latex/image"<br />
* copy&paste of cells<br />
* etc.<br />
<br />
'''Expected results''': Cantor's worksheet with an improved the usability extended functionality.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Qt Graphics Framework<br />
<br />
'''Mentor''': tbd<br />
<br />
=== Plasma Mobile ===<br />
Plasma Mobile is KDE's software stack for mobile devices that includes Plasma phone components, Kirigami and a set of mobile-friendly applications.<br />
<br />
==== Project: Mobile-friendly Locale & Language configuration module ==== <br />
<br />
'''Brief Explanation''': System Settings are built of modules (KCMs) which allow users to configure specific aspects of their system. KCMs that are programmed using Qt Quick and designed to look good on any screen sizes can be shared between desktop and mobile. This project's goal is to create such a universal Locale & Language configuration module.<br />
<br />
'''Expected results''': the student has designed and programmed a configuration module that<br />
*Allows users to change system locale & language, install translation packages and configure keyboard layouts<br />
*Has a flexible and user-friendly interface<br />
*Can be used on both desktop and mobile platforms<br />
<br />
'''Knowledge Prerequisite''': Qt 5, QML, C++<br />
<br />
'''Mentor''': Eike Hein (Sho_ on IRC)<br />
<br />
==== Project: Mobile-friendly Storage configuration module ==== <br />
<br />
'''Brief Explanation''': System Settings are built of modules (KCMs) which allow users to configure specific aspects of their system. KCMs that are programmed using Qt Quick and designed to look good on any screen sizes can be shared between desktop and mobile. This project's goal is to create such a universal Storage configuration module.<br />
<br />
'''Expected results''': the student has designed and programmed a configuration module that<br />
*Allows users to see their storage stats in an informative and friendly way<br />
*Can be used to configure USB/MTP storage: by plugging your phone to a desktop/laptop you should be able to access files on the phone. Even though this bit is mostly base system/hardware providing this, Plasma Mobile should offer a user interface to enable/disable the USB/MTP storage support by default and on-demand<br />
*Has a flexible and user-friendly interface<br />
*Can be used on both desktop and mobile platforms<br />
<br />
'''Knowledge Prerequisite''': Qt 5, QML, C++<br />
<br />
'''Mentor''': tbd<br />
<br />
==== Project: Mobile-friendly Network configuration module ==== <br />
<br />
'''Brief Explanation''': System Settings are built of modules (KCMs) which allow users to configure specific aspects of their system. KCMs that are programmed using Qt Quick and designed to look good on any screen sizes can be shared between desktop and mobile. This project's goal is to create such a universal Network configuration module.<br />
<br />
'''Expected results''': the student has designed and programmed a configuration module that<br />
* Allows users to configure their wireless and mobile connections<br />
* Allows users to easily create hotspots <br />
* Gives users possibility to see statistics about transmitted/recieved data and control their limits for mobile connections<br />
<br />
<br />
'''Additional information''': There is currently one mobile-friendly KCM for network configuration in progress. In case it's not completely finished before GSoC coding period starts, then the student is supposed to finish it and add something else on top of that (like support for VPN connections), there will be definitely some interesting things to add and improve. <br />
<br />
'''Knowledge Prerequisite''': Qt, QML, C++<br />
<br />
'''Mentor''': Jan Grulich (email: jgrulich@redhat.com; irc: jgrulich)<br />
<br />
==== Project: Telephony applications set ==== <br />
<br />
'''Brief Explanation''': In accordance with Plasma Mobile roadmap (https://vizzzion.org/blog/2017/10/plasma-mobile-roadmap/) and the goal of usability and productivity for basic software (https://phabricator.kde.org/T6831), we need to enable Plasma Mobile users to perform basic tasks on their phone effortlessly. To achieve that, we should provide a set of telephony applications: Dialer, SMS, Contact book. All of those apps already exist but are extremely basic and hardly usable. The goal of this project is to bring them to a state when they can be used for telephony tasks on a day-to-day basis.<br />
<br />
'''Expected results''': the student has designed and programmed the telephony application set that:<br />
*Allows users to perform telephony tasks on a daily basis<br />
*Has a flexible and user-friendly interface (usage of Kirigami is highly recommended)<br />
<br />
'''Knowledge Prerequisite''': Qt 5, QML, C++<br />
<br />
'''Mentor''': Dan Leinir Turthra Jensen (leinir on IRC)<br />
<br />
=== KDevelop ===<br />
[https://www.kdevelop.org/ Kdevelop] is a cross-platform IDE for C, C++, Python, QML/JavaScript and PHP. [mailto:kdevelop-devel@kde.org Contact the Kdevelop team].<br />
==== Project: Improve development on docker containers ==== <br />
<br />
'''Brief Explanation''': We have been working on integrating properly docker containers usage into the IDE so they can be developed transparently. This project should help polishing the rough edges and make sure everything integrates properly.<br />
Some ideas would be improving the build systems, debuggers, language support in general, etc. We expect whoever sends the proposal to have looked into the problem and formed an idea of what needs to happen. Here's some explanation of the status quo.<br />
<br />
http://www.proli.net/2017/05/23/kdevelop-runtimes-docker-and-flatpak-integration/<br />
http://www.proli.net/2017/12/18/docker-as-an-sdk-for-arm-distributions/<br />
<br />
'''Expected results''': Improved usability of the integration of docker into the IDE.<br />
<br />
'''Knowledge Prerequisite''': Qt 5, C++<br />
<br />
'''Mentor''': Aleix Pol<br />
<br />
=== Xdg-desktop-portal-kde ===<br />
==== Project: Remote desktop portal ====<br />
'''Brief explanation:''' Xdg-desktop-portal-kde is a portal backend implementation for [https://github.com/flatpak/xdg-desktop-portal xdg-desktop-portal], allowing sandboxed applications (flatpak, snap) to access system files, devices and many other things. One of the missing parts is an implementation of [https://github.com/flatpak/xdg-desktop-portal/blob/master/data/org.freedesktop.impl.portal.RemoteDesktop.xml remote desktop portal], which should allow sandboxed applications to use remote desktop. Xdg-desktop-portal-kde recently got support for screencast portal, which adds support for screen sharing, this together with missing remote desktop portal should bring complete support for remote desktop to sandboxed applications, but also for Plasma wayland session. The similar implementation for Gnome can be found [https://github.com/flatpak/xdg-desktop-portal-gtk here].<br />
The following were project headers removed from the 2019 ideas, since they were empty of ideas:<br />
<br />
'''Expected results:''' Applications with support for xdg-desktop-portal should be able to use remote desktop also with Plasma desktop.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Jan Grulich (Email: jgrulich@redhat.com; irc: jgrulich)<br />
<br />
=== Choqok ===<br />
Get in touch on IRC (#choqok).<br />
<br />
=== Kopete ===<br />
<br />
[https://kopete.kde.org/ Kopete] is a flexible and extendable multiple protocol instant messaging system. [http://mail.kde.org/mailman/listinfo/kopete-devel Developer mail list].<br />
<br />
=== KGpg ===<br />
[https://utils.kde.org/projects/kgpg KGpg] is a frontend for GnuPG key management. [mailto:kde-utils-devel@kde.org Contact the KGpg team].<br />
<br />
===KWin===<br />
KWin is the KDE project's default window manager. [https://mail.kde.org/mailman/listinfo/kwin Kwin developer mail list].<br />
<br />
=== Peruse ===<br />
Peruse is a comic book reader application by KDE, which is designed to work both on touch based devices, and on the traditional desktop. Additionally, it has a tool called Peruse Creator which is designed to create comic books for use with Peruse and any other CBZ capable comic book reader. It has rudimentary support for the [http://acbf.wikia.com/wiki/Specifications Advanced Comic Book Format], which is a metadata container for comic book archives (CBR, CBZ and so on).<br />
<br />
See the Peruse website for more detailed information: https://peruse.kde.org/<br />
<br />
=== Plasma ===<br />
Plasma is KDE's desktop environment; Simple by default, powerful when needed. [https://mail.kde.org/mailman/listinfo/plasma-devel Developer mail list].<br />
<br />
=== WikiToLearn ===<br />
WikiToLearn was born as a non-profit community and an open source project, which provides free and collaborative textbooks with the help of students and academia. Knowledge only grows if shared!<br />
<br />
You can find all of the [ https://www.wikitolearn.org/ WikiToLearn] community on [https://chat.wikitolearn.org chat.wikitolearn.org]. We have many other ideas: get in touch with us to discuss them further!</div>Nalvarezhttps://community.kde.org/index.php?title=GSoC/2019/Ideas&diff=83388GSoC/2019/Ideas2019-03-12T21:58:53Z<p>Nalvarez: "rarely is works" -> "rarely works"</p>
<hr />
<div>[[File:Mascot konqi-app-presentation.png|thumbnail|right|[[Konqi]] is giving a lesson!]]<br />
See also: [[../../|GSoC Instructions]], [[../../2018/Ideas|Last year ideas]]<br />
<br />
== Guidelines ==<br />
<br />
=== Information for Students ===<br />
<br />
These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you are urged to contact the developers and find out more about the particular suggestion you're looking at.<br />
<br />
Becoming accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. '''Simply copying and pasting an idea here will not work.''' On the other hand, creating a completely new idea without first consulting potential mentors rarely works.<br />
<br />
When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!<br />
<br />
If there is no specific contact given you can ask questions on the general KDE development list kde-devel@kde.org. See [http://www.kde.org/mailinglists/ the KDE mailing lists page] for information on available mailing lists and how to subscribe.<br />
<br />
{{Note|'''These are all proposals! We are open to new ideas you might have!!''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE.}}<br />
<br />
__TOC__<br />
<br />
=== Adding a Proposal ===<br />
<br />
{{Note|Follow the template of other proposals!}}<br />
<br />
==== Project: ====<br />
<br />
'''If appropriate, screenshot or another image '''<br />
<br />
'''Brief explanation:'''<br />
<br />
'''Expected results:'''<br />
<br />
'''Knowledge Prerequisite:'''<br />
<br />
'''Mentor:'''<br />
<br />
When adding an idea to this section, please try to include the following data:<br />
<br />
:*if the application is not widely known, a description of what it does and where its code lives<br />
:*a brief explanation<br />
:*the expected results<br />
:*pre-requisites for working on your project<br />
:*if applicable, links to more information or discussions<br />
:*mailing list or IRC channel for your application/library/module<br />
:*your name and email address for contact (if you're willing to be a mentor) <br />
<br />
** '''Ideas with no mentors listed and their contact info will be removed''' **<br />
<br />
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.<br />
<br />
==Ideas==<br />
===Your Own Idea ===<br />
<br />
==== Project: Something that you're totally excited about ====<br />
<br />
'''Brief explanation:''' Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.<br />
<br />
'''Expected results:''' Something you and KDE loves<br />
<br />
'''Knowledge Prerequisite:''' Probably C++ and Qt but depends on your project<br />
<br />
'''Mentor:''' Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc on Freenode IRC.<br />
<br />
=== Cantor ===<br />
[https://edu.kde.org/cantor/ Cantor] provides a graphical frontend for different open source computer algebra systems and scientific programming languages. [mailto:kde-edu@kde.org Contact the KDE-Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Integrated documentation ====<br />
'''Brief explanation''': at the moment the external documentation like for example for Maxima http://maxima.sourceforge.net/docs/manual/en/maxima.html, and similar for Octave, python, etc., is opened in the external browser window. Ideally, we'd show this inside of the application in the help/documentation panel and enable a quick access to the documentation together with some more advanced search capabilities. Integrated search and also the context sensitive help (user marks a keyword in the worksheet, hits e.g. the F1 button and the documentation for the selected keyword is shown) should be possible. Qt Help Framework (http://doc.qt.io/qt-5/qthelp-framework.html) should be utilized for this. For indexing and searching in a unified manner the documentation together with the search index should be available locally. Qt help's qch file should be available for download on store.kde.org. Users of different systems (Maxima, Octave, R, etc.) would download the documentation they need. Ideally, we could also try to get a similar appearance by css-styling the html files for different systems prior to creating those qch files.<br />
<br />
The project consists of the following three major parts:<br />
* implementation in c++ (documentation panel, searching, short cuts for faster navigation, etc.)<br />
* creation of Qt help files for major computer algebra systems and programming languages supported by Cantor<br />
* definition of sections on store.kde.org<br />
<br />
'''Expected results''': integrated documentation in Cantor for the supported CAS and programming languages<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic knowledge about html<br />
<br />
'''Mentor''': Alexander Semke<br />
<br />
===digiKam===<br />
digiKam is an advanced digital photo management application for Linux, Windows, and MacOS.<br />
* [http://www.digikam.org digiKam project web site]<br />
* [https://community.kde.org/Digikam/GSoC2019 Digikam KDE GSoC 2019 site]<br />
* [https://mail.kde.org/mailman/listinfo/digikam-devel Mailinglist]<br />
* [https://www.linkedin.com/groups/12186015/ LinkedIn Group]<br />
* [http://webchat.freenode.net/?channels=digikam #digikam IRC channel on Freenode]<br />
<br />
==== Project: AI Face Recognition with OpenCV DNN module ====<br />
<br />
'''Brief Explanation''': With GSoC 2016, we proposed a project to implement an AI extension to the [https://cgit.kde.org/digikam.git/tree/core/libs/facesengine/recognition digiKam core face recognition]. The project used the Dlib C++ API, but we were not satisfied by the results, as the algorithm gave poor performance. This choice also introduced a huge backport of low level codes which we don't want to maintain. So, even though the project proposed a somewhat suitable solution to provide an AI face recognition processor based on deep-learning, this one was not really powerful and functional enough. For now, this section of code about Dlib DNN extension is disabled in digiKam core.<br />
<br />
As digiKam core already depends on OpenCV library to perform complex image processing, and as OpenCV >= 3.3 release provide a new [https://docs.opencv.org/3.4.3/d2/d58/tutorial_table_of_content_dnn.html OpenCV DNN (Deep Neural Network) module], the goal now is to port the current digiKam core face recognition DNN extension to new OpenCV API and write all unit tests to validate the algorithm usability, efficiency, and performance, while learning and recognizing faces automatically.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Face recognition based on DNN OpenCV API, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, OpenCV, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Faces Management workflow improvements ====<br />
<br />
'''Brief Explanation''': digiKam provide a Faces detection algorithm which work mostly in 80% of use cases. It detect faces position in image automatically and register these information in database. Event if a lots of tasks can be done in background by digiKam, the end-users needs to adjust, re-organize, rename, delete Face tags in database through the user interface.<br />
<br />
Since many year, a lots of improvements have been identified by digiKam users community to improve the face tags management workflow in graphical use interface. See [https://bugs.kde.org/buglist.cgi?product=digikam&component=Faces-Workflow&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED this list of bugzilla entries] for details<br />
<br />
Note: Face Recognition is another part of Faces management, but this project is concerned by algorithms used while recognition.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a better Face Tags management workflow in user interface, with unit test, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, User interface, digiKam<br />
<br />
'''Mentors''': Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Zoomable and Resizable Brush for Healing Clone Tool ====<br />
<br />
'''Brief Explanation''': With GoSC 2016, we have proposed a project to implement an [https://cgit.kde.org/digikam.git/tree/core/utilities/imageeditor/tools/enhance Healing Clone tool for digiKam image editor] to be able to remove unwanted artifacts from images. The student has implemented the basis without a zoomable canvas and without the resizable brush support. Due to this lack of features, the tools cannot be used in production by end-users.<br />
<br />
This section of code about healing clone tool is currently disabled in digiKam core.<br />
<br />
The goal of this project is to implement the missing feature for the Healing Clone tool in image editor, including the unit-tests and the documentation.<br />
<br />
'''Expected Results''': <br />
<br />
Provide a suitable Healing clone tool for image editor, with unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Mohamed Anwer (mohammed.ahmed.anwer@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
==== Project: Factoring all Export Tools with new Export API ====<br />
<br />
'''Brief Explanation''': With GoSC 2018, we proposed a project to implement a huge factorization and improvements with all [https://cgit.kde.org/digikam.git/tree/core/utilities/assistants/webservices digiKam export to web service tools]. Our student fixed plenty of code using OAuth version 2 authentification, has simplified classes, and started to write a new API to factorize all these tools, including a common Wizard dialog. Even if the export tools implementation are now better, they do not use the new API and always run as a stand alone session in digiKam core. Due to this fact, the Web Service tools are not yet usable in digiKam Batch Queue Manager as single step runnable at end of a queue processing. So the section of code about factored export tools API is currently disabled in digiKam core. This year, the project will be to fix that.<br />
<br />
'''Expected Results''': <br />
<br />
Start to use every the new export tools API, use the new Wizard dialog, factoring codes everywhere, and introduce all export tools to BQM. Write unit tests, and documentation.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, digiKam<br />
<br />
'''Mentors''': Maik Qualmann (metzpinguin@gmail.com) and Gilles Caulier (caulier.gilles@gmail.com)<br />
<br />
=== Falkon ===<br />
[https://www.falkon.org/ Falkon] is a KDE web browser.<br />
<br />
[mailto:falkon@kde.org Contact the Falkon team]<br />
<br />
==== Plasma integration ====<br />
<br />
'''Brief explanation:''' Falkon is Qt application and as such it integrates quite well into Plasma desktop environment. There is also an extension that allows to store passwords in KWallet. Plasma desktop provides some services that could be useful to use from browser, like showing the progress of downloads as jobs in notification applet or searching for bookmarks or open tabs from KRunner.<br />
<br />
There is already existing extension for Chrome that implements these features - [https://cgit.kde.org/plasma-browser-integration.git plasma-browser-integration] that can be used as a base for the Falkon extension.<br />
<br />
'''Expected results:''' Falkon C++ extension and additional helpers improves the integration with Plasma desktop.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt, JavaScript basics<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
==== Firefox Sync ====<br />
<br />
'''Brief explanation:''' Firefox Sync is an open API for synchronization of browser data between multiple instances. Falkon doesn't currently have support for any synchronization at all. Instead of creating in-house solution, it would be best to use some existing solution, which Firefox Sync appears to be a great candidate.<br />
<br />
Firefox Sync is not exclusive to Firefox browser, it was already implemented for example in Gnome Epiphany browser (https://github.com/GNOME/epiphany/tree/master/lib/sync).<br />
<br />
'''Expected results:''' Falkon is able to sync bookmarks, passwords, sessions ... over Firefox Sync API.<br />
<br />
'''Knowledge Prerequisite:''' C++/Qt<br />
<br />
'''Mentor:''' David Rosca (nowrep@gmail.com, IRC: nowrep on #falkon)<br />
<br />
=== GCompris ===<br />
[https://gcompris.net/ GCompris] is a high quality educational software suite, including a large number of activities for children aged 2 to 10. [mailto:gcompris-devel@kde.org Contact] the GCompris team.<br />
<br />
==== Project: Finishing the port of the major activities for version 1.0 ====<br />
'''Brief explanation''': Originally written in Gtk+ the development team started to rewrite it from scratch in Qt Quick and almost finished the port.<br />
<br />
'''Expected results''':<br />
The aim of this year is to work on the most important activities that we are missing to have a complete 1.0, mostly the analog electricity one (https://phabricator.kde.org/T5954, other activities can be proposed too, for example, we lack activities to learn about biology).<br />
First phase is to check how the Gtk+ version was working, what could be improved and then create a proposal with a timeline explaining what you expect to do and the time estimation. It does not need to be a simple clone, improvements should be done when possible.<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
==== Project: One step closer to version 1.0 ====<br />
'''Brief explanation''': we had some remarks that the difficulty in an activity can increase too much and target different ages in the same levels. The aim of this project is to add a granularity on the datasets so the child can better target what to learn.<br />
<br />
'''Expected results''':<br />
The aim of this project is to update activities to be able to use json files as datasets so we can have multiple datasets (each targeting a different learning goal) for the same activity.<br />
<br />
You need to choose activities that need this kind of datasets and update their code to use multiple datasets.<br />
<br />
A discussion is opened in https://phabricator.kde.org/T10211 to better know what we want and how to do it (WIP).<br />
<br />
'''Knowledge Prerequisite''':<br />
<br />
Be interested in children’s education<br />
<br />
Be familiar with GCompris concept and content<br />
<br />
Basic knowledge in a programming language (a 1 year school course is enough)<br />
<br />
Be able to build the Qt Quick version of GCompris<br />
<br />
'''Application guide''':<br />
Provide a timeline in your application. If you haven't contributed yet please read http://gcompris.net/wiki/GSOC_newcomers, http://gcompris.net/wiki/An_exercise_for_new_contributors and http://gcompris.net/wiki/Reviewing_an_activity<br />
<br />
There are several info in the wiki: http://gcompris.net/wiki/Developer%27s_corner.<br />
<br />
''Feel free to contact us either on irc or by mail (gcompris-devel@kde.org)''<br />
<br />
'''Mentors''': Aman Kumar Gupta (IRC: gupta2140[m]), Emmanuel Charruau (IRC: allon), Johnny Jazeix (IRC: JohnnyJ), Timothée Giet (IRC: Animtim)<br />
<br />
=== KDE Connect ===<br />
[https://community.kde.org/KDEConnect KDE Connect] is a project that enables all your devices to communicate with each other.<br />
<br />
==== KDE Connect for Windows port ====<br />
We want to improve the integration of KDE Connect with the Windows system. As of now, KDE Connect builds on Windows ([https://community.kde.org/KDEConnect/Build_Windows using Craft]) and some plugins have been ported, but it's still unstable and incomplete.<br />
<br />
This project should aim to:<br />
<br />
* Implement all the missing plugins<br />
* Provide full integration with the OS:<br />
** Send-to integration from the right-click menu,<br />
** Make the notifications appear in the Windows 10 notifications bar, etc.<br />
* Improve existing documentation for how to compile (and use) KDE Connect on Windows<br />
** It would also be great if we had the option to use mingw as the compiler instead of depending on the Visual Studio compiler<br />
<br />
By the end of the project, we should have a releaseable installer for KDE Connect on Windows and/or KDE Connect published on the Windows app store.<br />
<br />
'''Areas of knowledge:''' Experience writing Windows applications, C++ and Qt5 is required.<br />
<br />
'''Mentor:''' Simon Redman (simon@ergotech.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
==== KDE Connect bluetooth backend ====<br />
KDE Connect works using a LAN/WLAN connection, but this isn't available everywhere. Examples are offices, schools, university or in public transport. Thus, KDE Connect has an alternative bluetooth backend, but it still needs a lot of work.<br />
<br />
The goal of this project is to make the bluetooth backend of KDE Connect production-ready. Examples include:<br />
* Make pairing devices in KDE Connect work over bluetooth<br />
* Find a solution for file-browsing over bluetooth<br />
* Investigate multi-device connectivity<br />
* Lots of bluetooth debugging<br />
<br />
By the end of the project, we should have a fully-working bluetooth backend, good enough to release to all users.<br />
<br />
'''Areas of knowledge:''' Experience in C++, Qt5 and Java development is required. Knowledge of Android development is preferred.<br />
<br />
'''Mentor:''' Matthijs Tijink (matthijstijink@gmail.com)<br />
<br />
Feel free to reach out to the rest of the team on the [https://mail.kde.org/mailman/listinfo/kdeconnect kdeconnect mailing list], [https://t.me/joinchat/BRUUN0bwMhNfn8FIejA-nw Telegram], or on #kdeconnect on Freenode<br />
<br />
<br />
=== KDE neon ===<br />
[https://neon.kde.org KDE neon] compiles KDE software to make it available pronto.<br />
<br />
==== Project: ISO Image Writer ====<br />
<br />
[https://cgit.kde.org/isoimagewriter.git/ ISO Image Writer] copies ISO images onto USB drives. It needs code tidied up and builds made for Snap, FlatPak, Windows, Mac and good old Linux packages. [https://phabricator.kde.org/M113/466/ Design to implement]<br />
<br />
'''Expected Results''': Installable packages<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Build systems, multi-platform<br />
<br />
Mentor: <br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Jonathan Riddell (IRC: Riddell)<br />
<br />
=== Kdenlive ===<br />
[https://kdenlive.org Kdenlive] is a KDE-application for professional video editors. It supports hundreds of video formats and all the features you can expect from a non-linear video editor, including some advanced features like timeline preview rendering, proxy clips and more.<br />
<br />
==== Project: Evolving Titler tool ====<br />
<br />
'''Brief Explanation''': Kdenlive titler tool allows to draw texts and images to composite over videos.<br />
<br />
Current code is using XML description, drawn by our "kdenlivetitle" MLT module, using old QPainter engine.<br />
This engines has limitations that blocks interesting features.<br />
Few years ago, an upstream module appeared in MLT, named "WebVfx", which uses QML to do similar things with much more flexibility.<br />
<br />
We would like to be able to load current XML titles and convert them automatically to QML format, and generate QML from our current GUI. Then the GUI could evolve to integrate new features, in accordance to our community requests & design group recommendations.<br />
<br />
'''Expected Results''': A titler using QML backend<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, QML<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Vincent Pinon (IRC: vpinon)<br />
<br />
=== KDE Partition Manager ===<br />
<br />
[https://www.kde.org/applications/system/kdepartitionmanager KDE Partition Manager] is a utility program to help you manage the disk devices, partitions and file systems on your computer. It allows you to easily create, copy, move, delete, resize without losing data, backup and restore partitions.<br />
<br />
https://webchat.kde.org/#/room/#partitionmanager:kde.org<br />
<br />
==== Project: Port authentication to Polkit-qt ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager was recently ported to KAuth (which is Tier 2 KDE Framework library). This means that instead of running the whole GUI as root, KDE Partition Manager runs as a normal user, starts a small (non-GUI) helper application which runs as root and executes privileged tasks.<br />
<br />
KAuth itself was not sufficient for this task, so we built a small protocol on top of KAuth. Usually, programs that use KAuth, start a helper, it does its job and exists. In KDE Partition Manager, helper persists, and communicates with KDE Partition Manager using a fairly simple DBus protocol over which GUI application can request two things:<br />
* execute some external program, like sfdisk, btrfs, etc... <br />
* Copy block of data (partition) to another location).<br />
<br />
However, KAuth library itself is a layer built on top of Polkit-Qt (which is a small wrapper around Polkit).<br />
<br />
'''The proposal''' for this project is to port away from KAuth and run our custom protocol between helper and GUI application directly on top of Polkit-Qt.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
You don't need experience of using DBus, you can pick this up during the project.<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
==== Project: Finish mdraid and implement dmraid support ====<br />
<br />
'''Brief Explanation''': KDE Partition Manager got a mdraid (Software RAID) support during the last Google Summer of Code as you can see in the [https://cgit.kde.org/kpmcore.git/?h=raid-support raid-support branch]. It is working with a good number of functionalities such as the display of RAID devices and the manipulation of them. Most of this work is completed, but there are some implementations and fixes to do, solve some udev bugs and include the implementation for resizing mdraid volumes.<br />
<br />
There is another type of RAID available for Linux systems, which is dmraid (FakeRAID). It works along the device mapper to discover and manipulate ATA RAID devices created by controllers BIOS. Our goal in this project is to offer some basic functionalities for it, such as displaying, creating, erasing and manipulating partitions inside of these volumes.<br />
<br />
'''The proposal''' for this project is to finish mdraid support and implement initial dmraid support.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and basic knowledge of Qt<br />
<br />
'''Mentors''': Andrius Štikonas (IRC: stikonas), Caio Jordão Carvalho (IRC: cjlcarvalho)<br />
<br />
=== Krita ===<br />
[http://www.krita.org Krita]: digital painting for artists. It supports creating images from scratch from beginning to end. Krita is a complex application and developers need to have a fair amount of experience in order to be able to do something.<br />
<br />
Krita is a widely used digital painting application for professional artists. Last year, Krita gained the ability to create hand-drawn 2D animations, among other new features. For this year, projects that the Krita team would be interested in include the following ideas.<br />
<br />
Note that we're always open to ideas you bring in yourself: if you're passionate about something you've come up with yourself, that you want for Krita, that's a big plus for us.<br />
<br />
We also expect prospective students to submit at least three patches for bugs or wishes or small features. We want to know how good you are! See https://phabricator.kde.org/T7724 for some smaller tasks that you could work on that are not bugs.<br />
<br />
==== Project: Integrating the MyPaint Brush Engine ====<br />
<br />
'''Brief Explanation''': The MyPaint brush engine has been separated from the MyPaint application and has been completely rewritten. Artists still like the mypaint brush engine a lot and it would be great to have the engine integrated in Krita as a new brush engine. Libmypaint can be found here: https://github.com/mypaint/libmypaint and the brush set here: https://github.com/mypaint/mypaint-brushes . The first goal is to integreate libmypaint in a Krita brushengine and make it load the brushes. The second goal is to expose the MyPaint brush options in Krita's brush editor and allow the modification and creation of MyPaint brushes in Krita. GIMP is an example of an application that has already integrated the MyPaint brush engine.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to effectively paint with MyPaint brushes in Krita.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
<br />
==== Project: Supporting Vertical Text and SVG2 Text in the Text Shape ====<br />
<br />
'''Brief Explanation''': Krita's Text Shape was rewritten for Krita 4.0. It is now SVG based, instead of ODF. There are many things lacking, though. The original goal was to support SVG2. Currently the text shape only supports SVG1. There is no automatic wordwrap and vertical text (e.g. Chinese and Japanese) is not supported either. The goal of this project is to support wordwrap and vertical text layout. Other improvements to the text shape can be proposed as well. The level of this project is advanced.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to create and edit vertical text. Text shapes should be able to automatically wrap text to the bounding box.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Typography, Text Layout<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Add New Fill Layer Types ====<br />
<br />
'''Brief Explanation''': Fill layers are layers that automatically generate content. Krita currently has two types of fill layers: Color and Pattern. There used to be another type that generated content dynamically using the OpenShiva scripting language. However, that language hasn't been maintained for a long time. The goal of this project is to add a new dynamic fill layer types that could fill an area with different effects such as perlin and other types of noise, clouds, hatching, fractals.<br />
<br />
'''Expected Results''': <br />
<br />
Several new fill layer types that allow the user to add dynamically generated content as a layer in the layer stack <br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
<br />
==== Project: Port Krita to Android OR iOS ====<br />
<br />
'''Brief Explanation''': Krita is currently only available on Windows, macOS and Linux. The goal of this project is to port the desktop version of Krita to one mobile operating system, either Android or iOS. This involves making sure all (or a viable subset of) Krita's dependencies are available on the target platform, as well as Krita itself.<br />
<br />
'''Expected Results''': <br />
<br />
A build of Krita that starts on either mobile OS and shows an image. Further integration with either mobile OS would be nice, but is an extra. Furthermore, the build system and build scripts need to be documented, complete and maintainable.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, CMake, Android or iOS. You also need to have access to test hardware.<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud) Jayaditya Gupta (IRC: nightmare_unreal/jayssj11)<br />
<br />
<br />
==== Project: Improve Krita for Touch Systems ====<br />
<br />
'''Brief Explanation''': Krita Gemini/Krita Sketch were version of Krita based on QtQuick 1 that provided a decent touch-only experience. Because of the technical limitations of QtQuick 2, the approach used in Gemini and Sketch is no longer viable. Since Krita 4, there is a QtQuick2 based touch docker that mimics the button bar found on some wacom devices. This is not configurable, and quite limited. This project involves working with Krita's UX designers and users to define a new approach to supporting touch devices, then implementing that support.<br />
<br />
'''Expected Results''': <br />
<br />
Artists should be able to work with Krita on a touch-only device such as a Surface Pro or Wacom Mobile Studio without wanting to chop their devices in two.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: SVG Mesh Gradients ====<br />
<br />
'''Brief Explanation''': Even though Mesh Gradients are not officially part of the truncated SVG2 specification anymore, having a second implementation next to Inkscape would help improving the standard. Plus, mesh gradients are very useful for artists. This project entails implementing a new gradient type. Whether this should be based on QGradient or not is up for discussion. The gradients should render exactly the same as in inkscape. See https://svgwg.org/svg-next/pservers.html#MeshGradientElement.<br />
<br />
'''Expected Results''': <br />
<br />
A new gradient type, UI to create and edit these gradients and apply them. Gradients should work both on vector objects as well as on paint layers.<br />
<br />
'''Knowledge Prerequisite''':<br />
* C, C++, Qt, Krita, SVG, Inkscape<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
==== Project: Extending Animation Support for curves ====<br />
<br />
'''Brief Explanation''': In Krita, you can already add curves that could be applied to some properties of a layer, like opacity, animating those properties. We want the animation support extended by allowing users to place masks (filter masks, transformation masks, transparency masks) on the timeline and animate their properties using curves. Every property of a layer or mask placed on the timeline should be animatable.<br />
<br />
'''Expected results''':<br />
* Implementation of a gui for applying the curve settings to one or more properties of a mask or layer<br />
* Implementation of the actual rendering of the properties in the frames<br />
* Saving of these settings<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++ and Qt<br />
<br />
'''Level''' Advanced<br />
<br />
'''Mentor''': Jouni Pentikainen (tyyppi on IRC)<br />
<br />
==== Project: Taking the Shape Brush to the next level ====<br />
<br />
'''Brief Explanation''': Krita has a number of interesting brush engines. One of them is the Shape Brush engine. Inspired by Alchemy, the shape brush "throws" shapes on the canvas. The current implementation is limited to geometric shapes. We want the brush engine to be extended to make it possible to load vector shapes defined as PDF or SVG and use those to draw on the canvas as well. Other improvements are the addition of Feathering, an outline mode, edge sharpening and background textures.<br />
<br />
'''Expected Results''': A revamped and exciting shapes brush<br />
<br />
'''Knowledge Prerequisite''':<br />
* C++, Qt, Krita<br />
<br />
'''Level''' Medium<br />
<br />
'''Mentor''': Boudewijn Rempt (IRC: boud)<br />
<br />
=== KStars ===<br />
[https://edu.kde.org/kstars KStars] is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time.<br />
<br />
==== Project: Deep Sky Object Overhaul ====<br />
'''Brief explanation''': KStars supports many deep sky objects (DSOs) including galaxies, nebulae, supernovae, clusters and more. Currently, some deep sky catalogs are stored in simple space separated text format where they are parsed into KStars directly or into KStars Deep Sky Component SQLite3 database which is then loaded in KStars. However, since all DSOs are loaded at once into memory, this limits the size of catalogs within KStars. A solution similar to how dynamic stars are cached in and out of memory must be developed for DSOs. Furthermore, all catalog entries should have their trixels indexed so that they can be efficiently drawn unto the sky map. Another issue is that catalogs can overlap since there is no cross-identification of various catalogs. For example, Andromeda galaxy exists in Messier catalog as M31, and exists in NGC catalog as NGC 224. The database should support an ability to cross-identify objects from all supported and future catalogs.<br />
<br />
'''Expected results''': <br />
* Convert all text-format catalogs to SQLite3 database.<br />
* Develop master DSO database where cross-identification of objects is supported. Master database can support addon downloadable catalogs where they can be merged once downloaded by the user.<br />
* Import of The Principal Galaxy Catalog, 2003 Version (PGC2003) which contains ~1 million galaxies into KStars as a downloadable addon.<br />
* Caching and drawing optimizations for large catalogs.<br />
* Cross-identification for all supported DSO catalogs including, but not limited too: NGC/IC/Messier/Arp/PGC/LDN<br />
* Trixel indexation for all DSOs. Implementation of improved drawing cached routine in KStars for DSOs similar to stars.<br />
* All necessary updates within KStars maps, tools and dialogs to reflect the above changes.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: FITSViewer & Photometry Improvements ====<br />
'''Brief explanation''': The FITSViewer is used to display [https://fits.gsfc.nasa.gov/fits_standard.html FITS] images as captured by cameras or opened by the user. It supports 8, 16, 32, and 64bit formats with either a single channel (Mono or Bayer) or RGB cube. The goal for this project is to provide efficient and intuitive controls for:<br />
# '''Histogram Adjustments''': Controls for Shadow, Midtones, and Highlights. White / Black points controls.<br />
# '''Noise Calculation''': Calculate the overall Signal-to-Noise (SNR) radio for the overall image, or a specific subframe of the image.<br />
# '''Sky Glow Computation''': Estimation of Sky Glow component in image of various exposures. Each captured image is affected by multiple sources of noise, only of which is the sky glow which in turn is affected by the atmosphere, pollution, and artificial sources (e.g. light). The objective is to propose to the user the optimum exposure time given the sky glow contribution to the image.<br />
# '''Mask Overlay''': Ability to select custom mask over stars to aid in focusing and photometry.<br />
# '''Photometry''': KStars includes SEP which can be used to extract sources from stellar images and also performs aperture photometry. A new tool should be developed to aid the users to perform photometric work with the images including reduction of images (darks & flats) with various optimization/algorithmic settings. Additionally, the tool provides means for aperture photometry calculations as well.<br />
Since FITSViews typically deals with very high-resolution images, such calculations can be very computationally expensive. It is expected that a very efficient multi-threaded code to be developed to take advantage of all the available cores on the system and any hardware or instruction set optimizations to achieve the smoothest user experience.<br />
'''Expected results''': <br />
* Improved Histogram Tool.<br />
* New controls for histogram.<br />
* SNR, Sky Glow, and Photometry calculations.<br />
* Photometric reductions. Aperture photometry.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, Threading, Data Structures<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
==== Project: Implement Qt3D backend for KStars ====<br />
'''Brief explanation''': The Skymap in KStars desktop version is currently built using QPainter and 2D drawing primitives. In order to take advantage of advances in modern GPU hardware and to present a stunning visual view of the night sky, a 3D backend is desired. Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications. Within KStars, SkyPainter provides a backend-agnostic class for drawing object unto the skymap regardless of the backend. Previously, an experimental OpenGL backend was developed but was later deprecated due to drawing issues. Since Qt3D provides an abstraction to the backend framework (OpenGL/Vulkan/DirectX), it presents a very flexible framework for building future-proof 3D applications.<br />
<br />
'''Expected results''': <br />
* Create Qt3D based backend to draw all objects currently implemented by QPainter backend.<br />
* Create realistic colors, shares, textures, meshes, lighting for all stars, solar system, and deep sky objects.<br />
* Create animations for meteor shows, comet tails, stars twinkle..etc<br />
'''Knowledge Prerequisite''': C++, Qt, Prior experience working with 3D applications/games.<br />
<br />
'''Mentor''': Jasem Mutlaq ([https://riot.im/app/#/room/#kstars:matrix.org Matrix]: Jasem)<br />
<br />
=== LabPlot ===<br />
[https://labplot.kde.org LabPlot] is a KDE-application for interactive graphing and analysis of scientific data. LabPlot provides an easy way to create, manage and edit plots and to perform data analysis. Labplot is part of the [https://edu.kde.org/ KDE Edu team].<br />
<br />
[mailto:kde-edu@mail.kde.org Contact KDE-Edu]<br />
<br />
==== Project: Import of educational data sets available on the internet ====<br />
'''Brief explanation''': There are many internet pages providing data sets for educational and study purposes for many different areas (astrophysics, statistics, medicine, etc.). Some tools used in the scientific area provide some "wrappers" for such online sources and allow the user to easily play around with those data sets in the applications whereas the technical details like fetching of data from the server and parsing are done completely transparent for the user. The goal of this project is to add similar functionality to LabPlot. There will be a wizard where the user can select from a thematically grouped list of data sets available online. The internal description of such an online data set should contain the URL with the actual file that needs to be downloaded and the settings for LabPlot's data parser (separator, column names and data types, etc.). The definition of the data sources should be made available on store.kde.org.<br />
<br />
'''Expected results''': We want to be able to easily import the educational data sets available on the internet.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt<br />
<br />
'''Mentor''': Fábián Kristóf<br />
<br />
==== Project: Statistical analysis ====<br />
Currently LabPlot has only basic support for statistical data analysis by providing some basic measures of descriptive statistics in the spreadsheet. The goal of the project is to add more statistics relevant features (hypothesis tests, cluster analysis, ets.) to LabPlot.<br />
<br />
'''Expected results''':<br />
* evaluate available statistical open-source libraries which can be used for this project<br />
* determine a reasonable set of features and algorithms that can be added to LabPlot, compare here with other similar projects, and implement them<br />
* for the visualization of results of statistical calculations, implement new kind of reports for this, comparable to other similar projects<br />
<br />
'''Knowledge Prerequisite''': C++, Qt, basic statistics knowledge<br />
<br />
'''Mentor''': Stefan Gerlach, Alexander Semke<br />
<br />
=== Okular ===<br />
Okular is a universal document viewer developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD. [mailto:okular-devel@kde.org Contact] the Okular developers.<br />
<br />
==== Project: Support animated PDF ====<br />
<br />
'''Brief explanation:''' PDF files can support animation via JavaScript. This is one feature that is regularly requested by users and would be nice supporting it in Okular.<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Albert Astals Cid aacid@kde.org<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=403772<br />
* https://bugs.kde.org/show_bug.cgi?id=242617<br />
<br />
<br />
==== Project: Add support for showing and adding replies to sticky notes ====<br />
<br />
'''Brief explanation:''' PDF files can contain replies to certain annotations. In this project, you would need to add support to Okular and possibly to poppler so that they show the same way they do on other PDF readers. Once they are shown and if there is enough time adding the capability to add replies is also welcome.<br />
<br />
'''Knowledge Prerequisite:''' C++, Qt<br />
<br />
'''Mentor:''' Okular developers https://mail.kde.org/mailman/listinfo/okular-devel<br />
<br />
'''Application guide''':<br />
* https://bugs.kde.org/show_bug.cgi?id=387834<br />
<br />
<br />
==== Project: Improve custom stamp annotation handling ====<br />
<br />
'''Brief explanation:''' Okular does display stamp annotations, but the support<br />
is somewhat incomplete. This particularly shows when trying to use stamp<br />
annotations with a custom image. For example, such annotations can be<br />
added in Okular, but they cannot be saved to the pdf file in a way<br />
that any other pdf viewer can read. Also, they will not appear on print-outs.<br />
<br />
The underlying reason for this is that Okular renders these stamps itself,<br />
rather than relying on the poppler library, which does all other pdf<br />
rendering. Goal of this project is therefore to teach poppler how to<br />
render stamp annotations, and then make Okular use that new functionality.<br />
More details can be found in the bug report [0].<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=383651<br />
<br />
'''Expected results:''' Poppler should render stamp annotations. Annotations<br />
should be printable from Okular. Custom stamps inserted via the Okular GUI<br />
should be visible in other pdf readers.<br />
<br />
'''Knowledge prerequisite:''' C++, and a bit about the pdf format.<br />
<br />
<br />
==== Project: Annotation improvements ====<br />
<br />
'''Brief explanation:''' Okular supports convenient editing of pdf annotations, but quite a number of paper-cut bugs are known. Examples are [0,1,2], but many more can be found in the bugtracker. Goal of this project is to fix as many of these bugs as possible, which should improve the Okular user experience greatly.<br />
<br />
[0] https://bugs.kde.org/show_bug.cgi?id=275371<br />
<br />
[1] https://bugs.freedesktop.org/show_bug.cgi?id=102635<br />
<br />
[2] https://bugs.freedesktop.org/show_bug.cgi?id=52010<br />
<br />
'''Expected results:''' Lots of annotation-related bugs fixed. Annotation rendering and manipulation should be more enjoyable.<br />
<br />
'''Knowledge prerequisite:''' C++ and Qt, and a bit about the pdf format<br />
<br />
=== Plasma Mobile ===<br />
Plasma Mobile is KDE's software stack for mobile devices that includes Plasma phone components, Kirigami and a set of mobile-friendly applications.<br />
<br />
==== SMS App ====<br />
Plasma Mobile currently does not have a functional SMS app. One approach to this would be extending the SMS app that is currently developed for KDE Connect to have a Plasma Mobile backend.<br />
<br />
This includes:<br />
- Develop an approach to make the app support multiple backends<br />
- Develop a backend for the Plasma Mobile SMS stack (ofono)<br />
- Possibly improvements to the Plasma Mobile SMS stack<br />
- Possibly improvements to the SMS app UX<br />
<br />
Goal is to be able to communicate via SMS on a Plasma mobile phone with all basic features (sending, receiving SMS, browsing through conversations).<br />
<br />
This requires access to a Plasma mobile enabled phone, preferably the Nexus 5X. Second-hand phones are available at very low prices.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5.<br />
<br />
'''Mentors:''' Simon Redman and Nicolas Fella for KDE Connect specific things, Bhushan Shah for Plasma Mobile things. Get in touch with us on #kdeconnect on freenode or the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
==== Nextcloud integration ====<br />
<br />
Plasma Mobile offers the accounts integration, which allows to add various online accounts like, Google, Nextcloud and provides very basic service which allows copying contacts from the Nextcloud calender. We would like to offer fully integrated solution for Nextcloud in Plasma Mobile.<br />
<br />
This includes:<br />
- System settings module for adding and configuring the Nextcloud account<br />
- Syncing of contacts, calenders from the nextcloud (ideally should support bi-directional sync)<br />
- Syncing of the files/documents/pictures.<br />
<br />
End goal is user being able to add nextcloud account easily and use the data shared on nextcloud instance.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Qt5, and QML.<br />
<br />
'''Mentors:''' Bhushan Shah, Get in touch with us on the [https://matrix.to/#/%23plasmamobile:matrix.org Plasma Mobile Matrix channel]<br />
<br />
=== Purpose ===<br />
The [https://api.kde.org/frameworks/purpose/html/index.html Purpose] framework offers the possibility to create integrate services and actions on any application without having to implement them specifically. Purpose will offer them mechanisms to list the different alternatives to execute given the requested action type and will facilitate components so that all the plugins can receive all the information they need.<br />
<br />
==== Barcode scanning infrastructure ====<br />
Purpose enables application developers to use features without implementing them themselves. It offers multiple alternatives to achieve a goal. Right now it supports sharing files and URLs.<br />
<br />
An interesting use case for it would be scanning barcodes. An application developer that wants to scan a barcode would ask Purpose for it. Purpose would offer multiple ways of doing it, e.g. from a local file, from the local camera or from a via KDE Connect connected phone. Purpose would then return the data to the application.<br />
<br />
Goal of this task is to have a framework for scanning barcodes as well as multiple implementations. This consists of:<br />
- Adding a new Plugin type to Purpose<br />
- A import from file backend<br />
- A local camera backend<br />
- A KDE Connect backend<br />
- One or more applications using it, e.g. Itinerary or a barcode scan app for Plasma Mobile<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++ and Qt5 is required. Experience with Java/Android for the KDE Connect backend is beneficial.<br />
<br />
'''Mentor:''' Nicolas Fella (nicofee) for KDE Connect parts. Aleix Pol (apol) for Purpose parts. Volker Krause (vkrause) for zxing parts. [https://mail.kde.org/mailman/listinfo/kde-frameworks-devel Devel mail list].<br />
<br />
===KWin===<br />
====Clipboard Management Wayland protocol====<br />
Currently on Wayland functionality like Klipper and clipboard sync via KDE Connect is not working because the programm cannot access the clipboard in the required way. A special wayland protocol for that will be needed. The wl-roots project has a [proposal https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-data-control-unstable-v1.xml] for this. This GSoC project is about implementing support for it in KWin and making use of it in Klipper and KDE Connect.<br />
<br />
'''Areas of knowledge:''' Basic understanding of C++, Knowing what Wayland is.<br />
'''Mentor:''' Roman Gilg (romangg), Nicolas Fella (nicofee)<br />
<br />
==== Wayland graphical tablet input support ==== <br />
<br />
'''Brief Explanation''': Tablets are very different from mice, they have a lot more information about their current state and events. As such there are separate protocols for passing these events from raw hardware to the client. We need to add:<br />
* A protocol in kwayland to wrap the low level protocol<br />
* support in KWin to map libinput to sending wayland events to the right clients.<br />
* support in Qt's wayland client code to map wayland to Qt events that applications can use <br />
(this will mean collaborating not just within KDE code but also Qt)<br />
<br />
'''Expected results''':<br />
Working tablet support in all applications within a kwin wayland session.<br />
<br />
'''Knowledge Prerequisite''': C++, Qt5,<br />
<br />
'''Mentor''': David Edmundson (davidedmundson@kde.org), Vlad Zagorodniy (zzag)</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Blogs&diff=81420Akademy/2018/Blogs2018-08-24T12:44:59Z<p>Nalvarez: /* Akademy 2018 Recaps - Community */ add Kai Uwe's blog post</p>
<hr />
<div>== Akademy 2018 Coverage - Dot ==<br />
<br />
[https://dot.kde.org/2018/08/12/akademy-2018-day-1 Akademy 2018 - Day 1]<br />
<br />
[https://dot.kde.org/2018/08/13/akademy-2018-day-2 Akademy 2018 - Day 2]<br />
<br />
[https://dot.kde.org/2018/08/14/akademy-2018-monday-bof-wrapup Akademy 2018 - Monday BoF Wrap-up]<br />
<br />
[https://dot.kde.org/2018/08/14/akademy-2018-tuesday-bof-wrapup Akademy 2018 - Tuesday BoF Wrap-up]<br />
<br />
== Akademy 2018 Recaps - Community ==<br />
<br />
Sandro Andrade - [http://sandroandrade.org/akademy-2018-in-lovely-vienna/ Akademy 2018 in lovely Vienna!]<br />
<br />
Aracele Torres - [https://cibermundi.wordpress.com/2018/08/20/notes-on-the-akademy-2018/ Notes on the Akademy 2018]<br />
<br />
Marco Martin - [http://notmart.org/blog/2018/08/akademy-2018/ Akademy 2018]<br />
<br />
Abhijeet Sharma - [https://blog.abhijeet2096.me/index.php/2018/08/19/my-first-akademy/ My First Akademy!]<br />
<br />
Sune Vuorela - [https://pusling.com/blog/?p=498 Post Akademy]<br />
<br />
Michael Pyne - [https://www.purinchu.net/wp/2018/08/19/akademy-retrospective/ Akademy retrospective]<br />
<br />
Caio Jordão Carvalho - [https://carvalho.site/2018/08/18/akademy-2018-was-great/ Akademy 2018 was great!]<br />
<br />
Sven Brauch - [http://blog.svenbrauch.de/2018/08/18/akademy-2018-wrap-up/ Akademy 2018 wrap-up] <br />
<br />
Boudewijn Rempt - [https://valdyas.org/fading/kde/akademy-2018-vienna/ Akademy 2018 – Vienna]<br />
<br />
Kate Developers - [https://kate-editor.org/2018/08/17/akademy-2018-wrap-up/ Akademy 2018 Wrap-up]<br />
<br />
Kevin Ottens - [https://ervin.ipsquad.net/2018/08/17/memories-from-akademy-2018/ Memories from Akademy 2018]<br />
<br />
Valorie Zimmerman - [https://linuxgrandma.blogspot.com/2018/08/akademy-closing-time.html Akademy: closing time]<br />
<br />
Plasma Mobile Developers - [https://www.plasma-mobile.org/2018/08/23/Plasma-Mobile-at-Akademy-2018.html Plasma Mobile at Akademy 2018]<br />
<br />
Kai Uwe Broulik - [https://blog.broulik.de/2018/08/i-was-at-akademy-2018/ I was at Akademy 2018!]<br />
<br />
== Akademy 2018 Coverage - External ==<br />
<br />
Mycroft.ai - [https://mycroft.ai/blog/kde-akademy-2018-best-application-prize-mycroft-plasma/ Aditya Mehra's Mycroft for Plasma awarded 2018 KDE Akademy Best Application Prize]</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/DocumentationTraining&diff=81379Akademy/2018/DocumentationTraining2018-08-17T05:34:19Z<p>Nalvarez: Add me</p>
<hr />
<div>'''Time and place:''' Friday, Aug 17th, 9:30 - 10:30 (talk), 10:30 - 12:30 (practical work on KDE documentation) (preliminary time), Room 121<br />
<br />
'''Trainer:''' Stefan Knorr, documentation writer at SUSE ''(filling in for Tanja Roth, documentation writer at SUSE)''<br />
<br />
You need to write technical documentation now and then? But you are not<br />
sure how to structure it, how to phrase your content, or how to best<br />
address your readers? This hands-on workshop shows you how to optimize<br />
texts to make them easier to understand (and translate).<br />
<br />
Get to know universal principles that, to a large extent, can also be applied to other<br />
texts types in software projects, like release notes, bug reports,<br />
error messages, or e-mails. In a practical exercise, we will analyze<br />
existing texts and fix their weak points.<br />
<br />
In the final part of this workshop, we will discuss existing KDE documentation and you will be able to work on improving it.<br />
<br />
'''Participants:'''<br />
<br />
# Camilo Higuita(camiloh)<br />
# Caio Jordão Carvalho (cjlcarvalho)<br />
# Kevin Kofler<br />
# Dileep Sankhla<br />
# Sandro Andrade<br />
# Michael Pyne<br />
# Bhushan Shah<br />
# Neofytos Kolokotronis<br />
# Abhijeet Sharma<br />
# Maria Jessica Wiesinger<br />
# Bhavisha Dhruve<br />
# Devaja Shah<br />
# Louise Stolborg<br />
# Sune Vuorela (svuorela)<br />
# Valorie Zimmerman (valorie)<br />
# Luigi Toscano (tosky)<br />
# Nicolás Alvarez</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Organised_Sightseeing_Tour&diff=81376Akademy/2018/Organised Sightseeing Tour2018-08-16T15:43:40Z<p>Nalvarez: Fix thursday meeting time in the main paragraph</p>
<hr />
<div>Hi Akademy attendees,<br />
<br />
since many of you already asked, there will be an organised sightseeing tour of the inner city on Tuesday. Vienna is a beautiful city and has way more to offer than the lecture halls - so we invite you join us. <br />
Meeting point for the walking tour will be in front of the venue at 19:00 (7pm) for the Tuesday tour and at 18:30 (6:30 pm) for the Thursday tour. The duration will be about 2 hours.<br />
<br />
For better organisation, we'd ask you to sign up here if you plan to attend. We might offer also an alternative time if the group would get to big. <br />
<br />
== Attendees ==<br />
<br />
== Tuesday, 14th August 7pm ==<br />
<br />
# Susanne <susannetobisch><br />
# Lukas <luhe><br />
# Dileep Sankhla <br />
# Abhijeet Sharma<br />
# Caio Jordão Carvalho<br />
# Bhushan Shah<br />
# Bhavisha Dhruve<br />
# Michael Weghorn<br />
# Bart Ribbers <PureTryOut><br />
# Sven Brauch<br />
# Florian Haftmann <fhaftmann><br />
# Tobias Fischbach <fitmux><br />
# Max Harmathy <maxmux><br />
# Jonah Brüchert <JBB><br />
# Albert Vaca <albertvaka><br />
# Devaja Shah <devajashah><br />
# Sanjiban Bairagya <fewcha><br />
# Albert Astals Cid <tsdgeos><br />
# Ashwin Samudre<br />
# Gunnar Schmidt<br />
# Jürgen Schmidt (Gunnar’s father)<br />
# Zoltan Padrah<br />
# Patricia Oniga<br />
# Shinjo Park<br />
# Boudhayan Gupta<br />
# ...<br />
<br />
== Thursday, 16th August 6:30 pm ==<br />
<br />
# Kenny D<br />
# Andreas Krutzler<br />
# Nate Graham<br />
# Scarlett Clark <sgclark><br />
# José Millán Soto<br />
# Lays Rodrigues <lays147><br />
# Ingo Klöcker<br />
# Kai Uwe Broulik<br />
# Arjen Hiemstra <ahiemstra><br />
# Sune<br />
# Louise<br />
# Johan Ouwerkerk <cmacq2><br />
# Jure Repinc <JLP><br />
# Sandro Andrade<br />
# Michael Pyne <mpyne><br />
# Ben Cooksley <bcooksley><br />
# Aracele Torres<br />
# Caio Carvalho<br />
# Filipe Saraiva<br />
# Eliakin Costa<br />
# Claus Christensen<br />
# Luigi Toscano <tosky><br />
# Marco Martin<br />
# Nicolás Alvarez<br />
<br />
== Program ==<br />
<br />
The tour will lead us to the following attractions:<br />
<br />
* Karlsplatz with Karls Cathedral<br />
* Opera House<br />
* Hofburg<br />
* Volksgarten<br />
* Parliament<br />
* Rathaus (City Hall)<br />
* St Stephens Cathedral<br />
* and many more iconic buildings, famous cafes, parks, shopping streets and museums<br />
<br />
<br />
We do not go to the following attractions but highly recommend you to visit them if you have time to spare:<br />
<br />
* [https://en.wikipedia.org/wiki/Sch%C3%B6nbrunn_Palace Schönbrunn Palace], which is easily reachable by U4 from Karlsplatz, do walk up to the Gloriette because it offers a beautiful view of the city<br />
* [https://en.wikipedia.org/wiki/Belvedere,_Vienna Belvedere], which is in walking distance to the venue<br />
<br />
<br />
See you!<br />
<br />
== Links to the route ==<br />
<br />
[https://maps.openrouteservice.org/directions?n1=48.20281&n2=16.369436&n3=15&a=48.196337,16.369689,48.200572,16.37229,48.201516,16.372354,48.202689,16.368781,48.203797,16.364511,48.207873,16.359919,48.213786,16.362194,48.208338,16.366539,48.209339,16.368524,48.208352,16.370251,48.209081,16.372826,48.208524,16.374328,48.208524,16.374328,48.204791,16.369919,48.204105,16.36905,48.200865,16.369007&b=2&c=0&g1=-1&g2=0&k1=en-US&k2=km OSM]<br />
<br />
[https://www.google.at/maps/dir/48.1963689,16.3697036/48.2007525,16.3689072/@48.205291,16.3658814,15.25z/data=!4m54!4m53!1m50!3m4!1m2!1d16.371162!2d48.1994864!3s0x476d0782c6f1d0af:0x83b8fa0fc621bd52!3m4!1m2!1d16.372931!2d48.2016066!3s0x476d079d6b5e74df:0xc8dff86a4dc53b6d!3m4!1m2!1d16.3607114!2d48.2102051!3s0x476d07964f42472b:0x2239a03ae0490a24!3m4!1m2!1d16.3620443!2d48.21371!3s0x476d07bdc7ede1dd:0xb70d9afa737179d4!3m4!1m2!1d16.3665755!2d48.20819!3s0x476d0799b1f0c139:0x5fff985cd62d1fa3!3m4!1m2!1d16.3665314!2d48.208192!3s0x476d0799b1665ae5:0xaefe8abb6e6dd953!3m4!1m2!1d16.3713409!2d48.2080652!3s0x476d0798d48b8cf5:0x63c261628296a7fa!3m4!1m2!1d16.3712466!2d48.2056427!3s0x476d079ea3dc7b55:0x5e0bb46911118c7f!3m4!1m2!1d16.3701038!2d48.2054579!3s0x476d079ea8322515:0x6e71b28a0a26f48f!3m4!1m2!1d16.3692431!2d48.2045314!3s0x476d079c09919a97:0x6482adcb960e3941!1m0!3e2 Google Maps]</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Organised_Sightseeing_Tour&diff=81375Akademy/2018/Organised Sightseeing Tour2018-08-16T14:52:47Z<p>Nalvarez: Remove Scarlett on her request</p>
<hr />
<div>Hi Akademy attendees,<br />
<br />
since many of you already asked, there will be an organised sightseeing tour of the inner city on Tuesday. Vienna is a beautiful city and has way more to offer than the lecture halls - so we invite you join us. <br />
Meeting point for the walking tour will be in front of the venue at 19:00 (7pm) for the Tuesday tour and at 18:00 (6 pm) for the Thursday tour. The duration will be about 2 hours.<br />
<br />
For better organisation, we'd ask you to sign up here if you plan to attend. We might offer also an alternative time if the group would get to big. <br />
<br />
== Attendees ==<br />
<br />
== Tuesday, 14th August 7pm ==<br />
<br />
# Susanne <susannetobisch><br />
# Lukas <luhe><br />
# Dileep Sankhla <br />
# Abhijeet Sharma<br />
# Caio Jordão Carvalho<br />
# Bhushan Shah<br />
# Bhavisha Dhruve<br />
# Michael Weghorn<br />
# Bart Ribbers <PureTryOut><br />
# Sven Brauch<br />
# Florian Haftmann <fhaftmann><br />
# Tobias Fischbach <fitmux><br />
# Max Harmathy <maxmux><br />
# Jonah Brüchert <JBB><br />
# Albert Vaca <albertvaka><br />
# Devaja Shah <devajashah><br />
# Sanjiban Bairagya <fewcha><br />
# Albert Astals Cid <tsdgeos><br />
# Ashwin Samudre<br />
# Gunnar Schmidt<br />
# Jürgen Schmidt (Gunnar’s father)<br />
# Zoltan Padrah<br />
# Patricia Oniga<br />
# Shinjo Park<br />
# Boudhayan Gupta<br />
# ...<br />
<br />
== Thursday, 16th August 6:30 pm ==<br />
<br />
# Kenny D<br />
# Andreas Krutzler<br />
# Nate Graham<br />
# José Millán Soto<br />
# Lays Rodrigues <lays147><br />
# Ingo Klöcker<br />
# Kai Uwe Broulik<br />
# Arjen Hiemstra <ahiemstra><br />
# Sune<br />
# Louise<br />
# Johan Ouwerkerk <cmacq2><br />
# Jure Repinc <JLP><br />
# Sandro Andrade<br />
# Michael Pyne <mpyne><br />
# Ben Cooksley <bcooksley><br />
# Aracele Torres<br />
# Caio Carvalho<br />
# Filipe Saraiva<br />
# Eliakin Costa<br />
# Claus Christensen<br />
# Luigi Toscano <tosky><br />
# Marco Martin<br />
# Nicolás Alvarez<br />
<br />
== Program ==<br />
<br />
The tour will lead us to the following attractions:<br />
<br />
* Karlsplatz with Karls Cathedral<br />
* Opera House<br />
* Hofburg<br />
* Volksgarten<br />
* Parliament<br />
* Rathaus (City Hall)<br />
* St Stephens Cathedral<br />
* and many more iconic buildings, famous cafes, parks, shopping streets and museums<br />
<br />
<br />
We do not go to the following attractions but highly recommend you to visit them if you have time to spare:<br />
<br />
* [https://en.wikipedia.org/wiki/Sch%C3%B6nbrunn_Palace Schönbrunn Palace], which is easily reachable by U4 from Karlsplatz, do walk up to the Gloriette because it offers a beautiful view of the city<br />
* [https://en.wikipedia.org/wiki/Belvedere,_Vienna Belvedere], which is in walking distance to the venue<br />
<br />
<br />
See you!<br />
<br />
== Links to the route ==<br />
<br />
[https://maps.openrouteservice.org/directions?n1=48.20281&n2=16.369436&n3=15&a=48.196337,16.369689,48.200572,16.37229,48.201516,16.372354,48.202689,16.368781,48.203797,16.364511,48.207873,16.359919,48.213786,16.362194,48.208338,16.366539,48.209339,16.368524,48.208352,16.370251,48.209081,16.372826,48.208524,16.374328,48.208524,16.374328,48.204791,16.369919,48.204105,16.36905,48.200865,16.369007&b=2&c=0&g1=-1&g2=0&k1=en-US&k2=km OSM]<br />
<br />
[https://www.google.at/maps/dir/48.1963689,16.3697036/48.2007525,16.3689072/@48.205291,16.3658814,15.25z/data=!4m54!4m53!1m50!3m4!1m2!1d16.371162!2d48.1994864!3s0x476d0782c6f1d0af:0x83b8fa0fc621bd52!3m4!1m2!1d16.372931!2d48.2016066!3s0x476d079d6b5e74df:0xc8dff86a4dc53b6d!3m4!1m2!1d16.3607114!2d48.2102051!3s0x476d07964f42472b:0x2239a03ae0490a24!3m4!1m2!1d16.3620443!2d48.21371!3s0x476d07bdc7ede1dd:0xb70d9afa737179d4!3m4!1m2!1d16.3665755!2d48.20819!3s0x476d0799b1f0c139:0x5fff985cd62d1fa3!3m4!1m2!1d16.3665314!2d48.208192!3s0x476d0799b1665ae5:0xaefe8abb6e6dd953!3m4!1m2!1d16.3713409!2d48.2080652!3s0x476d0798d48b8cf5:0x63c261628296a7fa!3m4!1m2!1d16.3712466!2d48.2056427!3s0x476d079ea3dc7b55:0x5e0bb46911118c7f!3m4!1m2!1d16.3701038!2d48.2054579!3s0x476d079ea8322515:0x6e71b28a0a26f48f!3m4!1m2!1d16.3692431!2d48.2045314!3s0x476d079c09919a97:0x6482adcb960e3941!1m0!3e2 Google Maps]</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Organised_Sightseeing_Tour&diff=81368Akademy/2018/Organised Sightseeing Tour2018-08-16T09:34:28Z<p>Nalvarez: /* Thursday, 16th August 6pm */ add me</p>
<hr />
<div>Hi Akademy attendees,<br />
<br />
since many of you already asked, there will be an organised sightseeing tour of the inner city on Tuesday. Vienna is a beautiful city and has way more to offer than the lecture halls - so we invite you join us. <br />
Meeting point for the walking tour will be in front of the venue at 19:00 (7pm) and the duration will be about 2 hours.<br />
<br />
For better organisation, we'd ask you to sign up here if you plan to attend. We might offer also an alternative time if the group would get to big. <br />
<br />
== Attendees ==<br />
<br />
== Tuesday, 14th August 7pm ==<br />
<br />
# Susanne <susannetobisch><br />
# Lukas <luhe><br />
# Dileep Sankhla <br />
# Abhijeet Sharma<br />
# Caio Jordão Carvalho<br />
# Bhushan Shah<br />
# Bhavisha Dhruve<br />
# Michael Weghorn<br />
# Bart Ribbers <PureTryOut><br />
# Sven Brauch<br />
# Florian Haftmann <fhaftmann><br />
# Tobias Fischbach <fitmux><br />
# Max Harmathy <maxmux><br />
# Jonah Brüchert <JBB><br />
# Albert Vaca <albertvaka><br />
# Devaja Shah <devajashah><br />
# Sanjiban Bairagya <fewcha><br />
# Albert Astals Cid <tsdgeos><br />
# Ashwin Samudre<br />
# Gunnar Schmidt<br />
# Jürgen Schmidt (Gunnar’s father)<br />
# Zoltan Padrah<br />
# Patricia Oniga<br />
# Shinjo Park<br />
# Boudhayan Gupta<br />
# ...<br />
<br />
== Thursday, 16th August 6pm ==<br />
<br />
# Kenny D<br />
# Andreas Krutzler<br />
# Nate Graham<br />
# Scarlett Clark <sgclark><br />
# José Millán Soto<br />
# Lays Rodrigues <lays147><br />
# Ingo Klöcker<br />
# Kai Uwe Broulik<br />
# Arjen Hiemstra <ahiemstra><br />
# Sune<br />
# Louise<br />
# Johan Ouwerkerk <cmacq2><br />
# Jure Repinc <JLP><br />
# Sandro Andrade<br />
# Michael Pyne <mpyne><br />
# Ben Cooksley <bcooksley><br />
# Aracele Torres<br />
# Caio Carvalho<br />
# Filipe Saraiva<br />
# Eliakin Costa<br />
# Claus Christensen<br />
# Luigi Toscano <tosky><br />
# Marco Martin<br />
# Nicolás Alvarez<br />
<br />
== Program ==<br />
<br />
The tour will lead us to the following attractions:<br />
<br />
* Karlsplatz with Karls Cathedral<br />
* Opera House<br />
* Hofburg<br />
* Volksgarten<br />
* Parliament<br />
* Rathaus (City Hall)<br />
* St Stephens Cathedral<br />
* and many more iconic buildings, famous cafes, parks, shopping streets and museums<br />
<br />
<br />
We do not go to the following attractions but highly recommend you to visit them if you have time to spare:<br />
<br />
* [https://en.wikipedia.org/wiki/Sch%C3%B6nbrunn_Palace Schönbrunn Palace], which is easily reachable by U4 from Karlsplatz, do walk up to the Gloriette because it offers a beautiful view of the city<br />
* [https://en.wikipedia.org/wiki/Belvedere,_Vienna Belvedere], which is in walking distance to the venue<br />
<br />
<br />
See you!<br />
<br />
== Links to the route ==<br />
<br />
[https://maps.openrouteservice.org/directions?n1=48.20281&n2=16.369436&n3=15&a=48.196337,16.369689,48.200572,16.37229,48.201516,16.372354,48.202689,16.368781,48.203797,16.364511,48.207873,16.359919,48.213786,16.362194,48.208338,16.366539,48.209339,16.368524,48.208352,16.370251,48.209081,16.372826,48.208524,16.374328,48.208524,16.374328,48.204791,16.369919,48.204105,16.36905,48.200865,16.369007&b=2&c=0&g1=-1&g2=0&k1=en-US&k2=km OSM]<br />
<br />
[https://www.google.at/maps/dir/48.1963689,16.3697036/48.2007525,16.3689072/@48.205291,16.3658814,15.25z/data=!4m54!4m53!1m50!3m4!1m2!1d16.371162!2d48.1994864!3s0x476d0782c6f1d0af:0x83b8fa0fc621bd52!3m4!1m2!1d16.372931!2d48.2016066!3s0x476d079d6b5e74df:0xc8dff86a4dc53b6d!3m4!1m2!1d16.3607114!2d48.2102051!3s0x476d07964f42472b:0x2239a03ae0490a24!3m4!1m2!1d16.3620443!2d48.21371!3s0x476d07bdc7ede1dd:0xb70d9afa737179d4!3m4!1m2!1d16.3665755!2d48.20819!3s0x476d0799b1f0c139:0x5fff985cd62d1fa3!3m4!1m2!1d16.3665314!2d48.208192!3s0x476d0799b1665ae5:0xaefe8abb6e6dd953!3m4!1m2!1d16.3713409!2d48.2080652!3s0x476d0798d48b8cf5:0x63c261628296a7fa!3m4!1m2!1d16.3712466!2d48.2056427!3s0x476d079ea3dc7b55:0x5e0bb46911118c7f!3m4!1m2!1d16.3701038!2d48.2054579!3s0x476d079ea8322515:0x6e71b28a0a26f48f!3m4!1m2!1d16.3692431!2d48.2045314!3s0x476d079c09919a97:0x6482adcb960e3941!1m0!3e2 Google Maps]</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/DaytripHiking&diff=81334Akademy/2018/DaytripHiking2018-08-15T09:38:24Z<p>Nalvarez: Add me</p>
<hr />
<div>== Akademy Daytrip Hiking Group ==<br />
<br />
You find all the information about the daytrip at: [https://akademy.kde.org/2018/daytrip]<br />
<br />
Please write your name below, if you plan to hike to Kahlenberg.<br />
<br />
# Joseph Wenninger<br />
# Florian Haftmann<br />
# Sven Brauch<br />
# Christoph Cullmann<br />
# Dominik Haumann<br />
# Kai Uwe Broulik<br />
# Dimitris Kardarakos<br />
# Afroditi Anastopoulou<br />
# David Edmundson<br />
# Ingo Klöcker<br />
# Marco Martin<br />
# Michael Weghorn<br />
# Jonah Brüchert<br />
# Kåre Särs<br />
# Ben Cooksley<br />
# Arjen Hiemstra<br />
# Rhonda D'Vine<br />
# Nicolás Alvarez</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Organised_Sightseeing_Tour&diff=81305Akademy/2018/Organised Sightseeing Tour2018-08-14T16:32:54Z<p>Nalvarez: /* Tuesday, 14th August 7pm */ add Boudhayan to Tuesday</p>
<hr />
<div>Hi Akademy attendees,<br />
<br />
since many of you already asked, there will be an organised sightseeing tour of the inner city on Tuesday. Vienna is a beautiful city and has way more to offer than the lecture halls - so we invite you join us. <br />
Meeting point for the walking tour will be in front of the venue at 19:00 (7pm) and the duration will be about 2 hours.<br />
<br />
For better organisation, we'd ask you to sign up here if you plan to attend. We might offer also an alternative time if the group would get to big. <br />
<br />
== Attendees ==<br />
<br />
== Tuesday, 14th August 7pm ==<br />
<br />
# Susanne <susannetobisch><br />
# Lukas <luhe><br />
# Dileep Sankhla <br />
# Abhijeet Sharma<br />
# Caio Jordão Carvalho<br />
# Bhushan Shah<br />
# Bhavisha Dhruve<br />
# Michael Weghorn<br />
# Bart Ribbers <PureTryOut><br />
# Sven Brauch<br />
# Florian Haftmann <fhaftmann><br />
# Tobias Fischbach <fitmux><br />
# Max Harmathy <maxmux><br />
# Michael Pyne <mpyne><br />
# Ben Cooksley <bcooksley><br />
# Jonah Brüchert <JBB><br />
# Albert Vaca <albertvaka><br />
# Devaja Shah <devajashah><br />
# Sanjiban Bairagya <fewcha><br />
# Albert Astals Cid <tsdgeos><br />
# Jure Repinc <JLP><br />
# Amrit Sreekumar<br />
# Mahesh S Nair<br />
# Ashwin Samudre<br />
# Neofytos Kolokotronis <neofytosk/tetris4><br />
# Gunnar Schmidt<br />
# Jürgen Schmidt (Gunnar’s father)<br />
# Zoltan Padrah<br />
# Johan Ouwerkerk <cmacq2><br />
# Patricia Oniga<br />
# Andreas Cord-Landwehr<br />
# Shinjo Park<br />
# Aracele Torres<br />
# Caio Carvalho<br />
# Filipe Saraiva<br />
# Eliakin Costa<br />
# Boudhayan Gupta<br />
# ...<br />
<br />
== Thursday, 16th August 6pm ==<br />
<br />
# Kenny D<br />
# Andreas Krutzler<br />
# Nate Graham<br />
# Scarlett Clark <sgclark><br />
# José Millán Soto<br />
# Lays Rodrigues <lays147><br />
# Ingo Klöcker<br />
# Kai Uwe Broulik<br />
# Arjen Hiemstra <ahiemstra><br />
# Sune<br />
# Louise<br />
<br />
== Program ==<br />
<br />
The tour will lead us to the following attractions:<br />
<br />
* Karlsplatz with Karls Cathedral<br />
* Opera House<br />
* Hofburg<br />
* Volksgarten<br />
* Parliament<br />
* Rathaus (City Hall)<br />
* St Stephens Cathedral<br />
* and many more iconic buildings, famous cafes, parks, shopping streets and museums<br />
<br />
<br />
We do not go to the following attractions but highly recommend you to visit them if you have time to spare:<br />
<br />
* [https://en.wikipedia.org/wiki/Sch%C3%B6nbrunn_Palace Schönbrunn Palace], which is easily reachable by U4 from Karlsplatz, do walk up to the Gloriette because it offers a beautiful view of the city<br />
* [https://en.wikipedia.org/wiki/Belvedere,_Vienna Belvedere], which is in walking distance to the venue<br />
<br />
<br />
See you!<br />
<br />
== Links to the route ==<br />
<br />
[https://maps.openrouteservice.org/directions?n1=48.20281&n2=16.369436&n3=15&a=48.196337,16.369689,48.200572,16.37229,48.201516,16.372354,48.202689,16.368781,48.203797,16.364511,48.207873,16.359919,48.213786,16.362194,48.208338,16.366539,48.209339,16.368524,48.208352,16.370251,48.209081,16.372826,48.208524,16.374328,48.208524,16.374328,48.204791,16.369919,48.204105,16.36905,48.200865,16.369007&b=2&c=0&g1=-1&g2=0&k1=en-US&k2=km OSM]<br />
<br />
[https://www.google.at/maps/dir/48.1963689,16.3697036/48.2007525,16.3689072/@48.205291,16.3658814,15.25z/data=!4m54!4m53!1m50!3m4!1m2!1d16.371162!2d48.1994864!3s0x476d0782c6f1d0af:0x83b8fa0fc621bd52!3m4!1m2!1d16.372931!2d48.2016066!3s0x476d079d6b5e74df:0xc8dff86a4dc53b6d!3m4!1m2!1d16.3607114!2d48.2102051!3s0x476d07964f42472b:0x2239a03ae0490a24!3m4!1m2!1d16.3620443!2d48.21371!3s0x476d07bdc7ede1dd:0xb70d9afa737179d4!3m4!1m2!1d16.3665755!2d48.20819!3s0x476d0799b1f0c139:0x5fff985cd62d1fa3!3m4!1m2!1d16.3665314!2d48.208192!3s0x476d0799b1665ae5:0xaefe8abb6e6dd953!3m4!1m2!1d16.3713409!2d48.2080652!3s0x476d0798d48b8cf5:0x63c261628296a7fa!3m4!1m2!1d16.3712466!2d48.2056427!3s0x476d079ea3dc7b55:0x5e0bb46911118c7f!3m4!1m2!1d16.3701038!2d48.2054579!3s0x476d079ea8322515:0x6e71b28a0a26f48f!3m4!1m2!1d16.3692431!2d48.2045314!3s0x476d079c09919a97:0x6482adcb960e3941!1m0!3e2 Google Maps]</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Akademy_Events&diff=81302Akademy/2018/Akademy Events2018-08-14T16:10:11Z<p>Nalvarez: /* Thursday, 16th of August */ fix starting time of sightseeing tour on Thursday</p>
<hr />
<div>== Thursday, 9th of August ==<br />
<br />
== Saturday, 11th of August ==<br />
<br />
== Monday, 13th of August ==<br />
<br />
== Tuesday, 14th of August ==<br />
=== Organised Sightseeing Tour ===<br />
[https://community.kde.org/Akademy/2018/Organised_Sightseeing_Tour Details...]<br />
<br />
When: 14th of August, begins at 7:00 pm<br />
<br />
Where: Neues EI, in front of the venue<br />
<br />
=== Rocky Horror Picture Show @ Open Air Cinema ===<br />
Let's do the Time warp. Watch a funny classic movie at an OpenAir cinema. Movie is in English with german subtitles.<br />
<br />
When: 14th of August, begins at 9:30 pm<br />
<br />
Where: Kino Wie Noch Nie, Augartenspitz<br />
<br />
Price: 8,5 € per ticket<br />
<br />
== Thursday, 16th of August ==<br />
=== Organised Sightseeing Tour v2 ===<br />
[https://community.kde.org/Akademy/2018/Organised_Sightseeing_Tour Details...]<br />
<br />
When: 16th of August, begins at 6:00 pm<br />
<br />
Where: Neues EI, in front of the venue<br />
<br />
== After Akademy ==</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Organised_Sightseeing_Tour&diff=81300Akademy/2018/Organised Sightseeing Tour2018-08-14T16:05:19Z<p>Nalvarez: Move Ingo to Thursday</p>
<hr />
<div>Hi Akademy attendees,<br />
<br />
since many of you already asked, there will be an organised sightseeing tour of the inner city on Tuesday. Vienna is a beautiful city and has way more to offer than the lecture halls - so we invite you join us. <br />
Meeting point for the walking tour will be in front of the venue at 19:00 (7pm) and the duration will be about 2 hours.<br />
<br />
For better organisation, we'd ask you to sign up here if you plan to attend. We might offer also an alternative time if the group would get to big. <br />
<br />
== Attendees ==<br />
<br />
== Tuesday, 14th August 7pm ==<br />
<br />
# Susanne <susannetobisch><br />
# Lukas <luhe><br />
# Dileep Sankhla <br />
# Abhijeet Sharma<br />
# Caio Jordão Carvalho<br />
# Bhushan Shah<br />
# Bhavisha Dhruve<br />
# Michael Weghorn<br />
# Bart Ribbers <PureTryOut><br />
# Sven Brauch<br />
# Florian Haftmann <fhaftmann><br />
# Tobias Fischbach <fitmux><br />
# Max Harmathy <maxmux><br />
# Michael Pyne <mpyne><br />
# Ben Cooksley <bcooksley><br />
# Jonah Brüchert <JBB><br />
# Albert Vaca <albertvaka><br />
# Devaja Shah <devajashah><br />
# Sanjiban Bairagya <fewcha><br />
# Albert Astals Cid <tsdgeos><br />
# Jure Repinc <JLP><br />
# Amrit Sreekumar<br />
# Mahesh S Nair<br />
# Ashwin Samudre<br />
# Arjen Hiemstra <ahiemstra><br />
# Neofytos Kolokotronis <neofytosk/tetris4><br />
# Gunnar Schmidt<br />
# Jürgen Schmidt (Gunnar’s father)<br />
# Zoltan Padrah<br />
# Johan Ouwerkerk <cmacq2><br />
# Patricia Oniga<br />
# Andreas Cord-Landwehr<br />
# Shinjo Park<br />
# Aracele Torres<br />
# Caio Carvalho<br />
# Filipe Saraiva<br />
# Eliakin Costa<br />
# ...<br />
<br />
== Thursday, 16th August 6pm ==<br />
<br />
# Kenny D<br />
# Andreas Krutzler<br />
# Nate Graham<br />
# Scarlett Clark <sgclark><br />
# José Millán Soto<br />
# Lays Rodrigues <lays147><br />
# Ingo Klöcker<br />
<br />
== Program ==<br />
<br />
The tour will lead us to the following attractions:<br />
<br />
* Karlsplatz with Karls Cathedral<br />
* Opera House<br />
* Hofburg<br />
* Volksgarten<br />
* Parliament<br />
* Rathaus (City Hall)<br />
* St Stephens Cathedral<br />
* and many more iconic buildings, famous cafes, parks, shopping streets and museums<br />
<br />
<br />
We do not go to the following attractions but highly recommend you to visit them if you have time to spare:<br />
<br />
* [https://en.wikipedia.org/wiki/Sch%C3%B6nbrunn_Palace Schönbrunn Palace], which is easily reachable by U4 from Karlsplatz, do walk up to the Gloriette because it offers a beautiful view of the city<br />
* [https://en.wikipedia.org/wiki/Belvedere,_Vienna Belvedere], which is in walking distance to the venue<br />
<br />
<br />
See you!<br />
<br />
== Links to the route ==<br />
<br />
[https://maps.openrouteservice.org/directions?n1=48.20281&n2=16.369436&n3=15&a=48.196337,16.369689,48.200572,16.37229,48.201516,16.372354,48.202689,16.368781,48.203797,16.364511,48.207873,16.359919,48.213786,16.362194,48.208338,16.366539,48.209339,16.368524,48.208352,16.370251,48.209081,16.372826,48.208524,16.374328,48.208524,16.374328,48.204791,16.369919,48.204105,16.36905,48.200865,16.369007&b=2&c=0&g1=-1&g2=0&k1=en-US&k2=km OSM]<br />
<br />
[https://www.google.at/maps/dir/48.1963689,16.3697036/48.2007525,16.3689072/@48.205291,16.3658814,15.25z/data=!4m54!4m53!1m50!3m4!1m2!1d16.371162!2d48.1994864!3s0x476d0782c6f1d0af:0x83b8fa0fc621bd52!3m4!1m2!1d16.372931!2d48.2016066!3s0x476d079d6b5e74df:0xc8dff86a4dc53b6d!3m4!1m2!1d16.3607114!2d48.2102051!3s0x476d07964f42472b:0x2239a03ae0490a24!3m4!1m2!1d16.3620443!2d48.21371!3s0x476d07bdc7ede1dd:0xb70d9afa737179d4!3m4!1m2!1d16.3665755!2d48.20819!3s0x476d0799b1f0c139:0x5fff985cd62d1fa3!3m4!1m2!1d16.3665314!2d48.208192!3s0x476d0799b1665ae5:0xaefe8abb6e6dd953!3m4!1m2!1d16.3713409!2d48.2080652!3s0x476d0798d48b8cf5:0x63c261628296a7fa!3m4!1m2!1d16.3712466!2d48.2056427!3s0x476d079ea3dc7b55:0x5e0bb46911118c7f!3m4!1m2!1d16.3701038!2d48.2054579!3s0x476d079ea8322515:0x6e71b28a0a26f48f!3m4!1m2!1d16.3692431!2d48.2045314!3s0x476d079c09919a97:0x6482adcb960e3941!1m0!3e2 Google Maps]</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Akademy_Events&diff=81290Akademy/2018/Akademy Events2018-08-14T15:53:22Z<p>Nalvarez: add sightseeing tour for Thursday</p>
<hr />
<div>== Thursday, 9th of August ==<br />
<br />
== Saturday, 11th of August ==<br />
<br />
== Monday, 13th of August ==<br />
<br />
== Tuesday, 14th of August ==<br />
=== Organised Sightseeing Tour ===<br />
[https://community.kde.org/Akademy/2018/Organised_Sightseeing_Tour Details...]<br />
<br />
When: 14th of August, begins at 7:00 pm<br />
<br />
Where: Neues EI, in front of the venue<br />
<br />
=== Rocky Horror Picture Show @ Open Air Cinema ===<br />
Let's do the Time warp. Watch a funny classic movie at an OpenAir cinema. Movie is in English with german subtitles.<br />
<br />
When: 14th of August, begins at 9:30 pm<br />
<br />
Where: Kino Wie Noch Nie, Augartenspitz<br />
<br />
Price: 8,5 € per ticket<br />
<br />
== Thursday, 16th of August ==<br />
=== Organised Sightseeing Tour v2 ===<br />
[https://community.kde.org/Akademy/2018/Organised_Sightseeing_Tour Details...]<br />
<br />
When: 16th of August, begins at 7:00 pm<br />
<br />
Where: Neues EI, in front of the venue<br />
<br />
== After Akademy ==</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/GPGKeys&diff=81206Akademy/2018/GPGKeys2018-08-14T06:58:25Z<p>Nalvarez: Added me</p>
<hr />
<div>= Why =<br />
<br />
GPG signing is our preferred method of establishing authenticity of anything ranging from mails to release tarballs/tags. To make this easy to verify and trustworthy it is useful to have yourself wired into the KDE web of trust (i.e. get your key signed by other KDE contributors).<br />
<br />
If you are release manager of a project or a distribution packager it is<br />
highly recommended that you attend this BoF to get yourself wired into<br />
the release web of trust which makes tarball signature verification a<br />
lot easier.<br />
<br />
There's lots of good guides on GPG in general and key signing in specific out on the internet, it is recommended you read up on this a bit. We'll only explain the process in broad strokes at the BoF. If you have questions you can send a mail to sitter@kde.org<br />
<br />
= How This Works - READ THIS! =<br />
<br />
Add the name and email address of your key as well as the fingerprint below. Tuesday morning at 10:00 Harald is going to do a print out for all listed attendants. If you would like to do your own print out, please send a mail to ''sitter@kde.org''. If you are not listed by Tuesday morning you'll have to pay 900 Euros penalty (increased from 2017 because of inflation and Brexit uncertainties)! Please make sure that you send a mail if you add yourself after the deadline.<br />
<br />
To get your key fingerprint, you'll want to run gpg or gpg2 with the --fingerprint argument and your name or short ID.<br />
<br />
<code><br />
gpg2 --fingerprint Sitter<br />
</code><br />
<br />
'''Make sure to bring an ID card or preferably a passport so we can verify you are who you claim to be at the BoF.'''<br />
{| class="wikitable" border="1"<br />
|-<br />
! Key OK<br />
! Name <EMail> <br />
! Fingerpint<br />
! ID OK<br />
|-<br />
| ☐ <br />
| Harald Sitter <sitter@kde.org><br />
| CB93 8752 1E1E E012 7DA8 0484 3FDB B550 84CC 5D84<br />
| ☐<br />
|-<br />
| ☐<br />
| Bhushan Shah <bshah@kde.org><br />
Bhushan Shah <bhush94@gmail.com> <br />
| 0AAC 775B B643 7A8D 9AF7 A3AC FE07 8411 7FBC E11D<br />
| ☐<br />
|-<br />
| ☐ <br />
| Elvis Angelaccio <elvis.angelaccio@kde.org><br />
| F07D 85CA A18A CF46 A346 FD01 7C7F C6EA 8633 B4EA<br />
| ☐<br />
|-<br />
| ☐ <br />
| Stefan Derkits <stefan@derkits.at><br />
| E676 487A F993 5EE7 FB42 DDF9 959B C031 5FCD 8062<br />
| ☐<br />
|-<br />
| ☐ <br />
| Andre Heinecke <aheinecke@gnupg.org><br />
Andre Heinecke <andre@heinecke.or.at><br />
| 94A5 C9A0 3C2F E5CA 3B09 5D8E 1FDF 723C F462 B6B1<br />
| ☐<br />
|-<br />
| ☐ <br />
| Andre Heinecke (Release Signing Key)<br />
| 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28<br />
| ☐<br />
|-<br />
| ☐<br />
| Johannes Zarl-Zierl <johannes@zarl-zierl.at><br />
Johannes Zarl <jzarl@fsfe.org><br />
| D7B0 1148 9F51 2947 2F7E A1C8 DB12 106E 8B7E BB88<br />
| ☐<br />
|-<br />
| ☐<br />
| Jonathan Riddell <jr@jriddell.org><br />
| 2D1D 5B05 8835 7787 DE9E E225 EC94 D18F 7F05 997E<br />
| ☐<br />
|-<br />
| ☐<br />
| David Faure <faure@kde.org><br />
| 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB<br />
| ☐<br />
|-<br />
| ☐<br />
| Albert Astals Cid <aacid@kde.org><br />
| CA26 2C6C 83DE 4D2F B28A 332A 3A6A 4DB8 39EA A6D7<br />
| ☐<br />
|-<br />
| ☐<br />
| Aditya Mehra <aix.m@outlook.com><br />
| ED60 21FB FF1D 7A30 D6B0 1E1F 6376 5612 B338 ECC9<br />
| ☐<br />
|-<br />
| ☐<br />
| Michael Pyne <mpyne@kde.org><br />
| 5406 ECE8 3665 DA9D 201D 3572 0BAF 0C9C 7B6A E9F2<br />
| ☐<br />
|-<br />
| ☐<br />
| Fabian Vogt <fabian@ritter-vogt.de><br />
Fabian Vogt <fabian@suse.de><br />
| 21EC 3FD7 5D26 B39E 820B E6FB D27C 2C1A F21D 8BAD<br />
| ☐<br />
|-<br />
| ☐<br />
| Sandro Knauß <bugs@sandroknauss.de>,<br />
<sknauss@kde.org>,<br />
<hefee@debian.org><br />
| 39EC 11A0 2016 B729 2649 1A06 E3AD B008 5060 5636<br />
| ☐<br />
|-<br />
| ☐<br />
| Sandro Knauß <mail@sandroknauss.de><br />
(personal mails)<br />
| D256 4951 1272 8840 BB5E 99F2 E680 31D2 99A6 527C<br />
| ☐<br />
|-<br />
| ☐<br />
| Abhijeet Sharma <sharma.abhijeet2096@gmail.com><br />
| EF82 B9D8 BEDC BC3A B987 0DA4 840C 43A3 3C05 AF8D<br />
| ☐<br />
|-<br />
| ☐<br />
| Thomas Krennwallner (TK) <tk@postsubmeta.net><br />
Thomas Krennwallner (TK) <tkren@kr.tuwien.ac.at><br />
| F69A FC03 593F 5D86 6B74 8D90 8BDE AA59 5278 4983<br />
| ☐<br />
|-<br />
| ☐<br />
| Thomas Krennwallner <tk@postsubmeta.net><br />
Thomas Krennwallner <tkren@kr.tuwien.ac.at><br />
| 42B0 CA00 0C25 A006 C97A A0E4 7897 A026 2744 2D94<br />
| ☐<br />
|-<br />
| ☐<br />
| Thomas Krennwallner <tk@postsubmeta.net><br />
Thomas Krennwallner <tkren@kr.tuwien.ac.at><br />
| E93F DB81 84AE 241C 345C E235 C21F F9FD C87A A96F<br />
| ☐<br />
|-<br />
| ☐<br />
| Luca Weiss <luca@z3ntu.xyz><br />
| BD04 DA24 C971 B8D5 87B2 B8D7 FAF6 9CF6 CD2D 02CD<br />
| ☐<br />
|-<br />
| ☐<br />
| Oliver Smith <ollieparanoid@bitmessage.ch><br />
| 56E8 530D B58B DC80 1257 F5F0 5AE7 F551 3E08 85CB<br />
| ☐<br />
|-<br />
| ☐<br />
| Rhonda<br />
Rhonda D'Vine <rhonda@deb.at>,<br />
Rhonda D'Vine <rhonda@debian.org><br />
| 2C72 F328 ED17 0720 4FB3 4994 DEE8 043E E17E BB30<br />
| ☐<br />
|-<br />
| ☐<br />
| Filipe Saraiva <mail@filipesaraiva.info>, <saraiva@ufpa.br>, <filipe@kde.org>, <filipesaraiva@mageia.org>, <filipe.saraiva@usp.br><br />
| E759 F27D 8A03 7BF8 65F7 10ED C820 2AF1 0552 7004<br />
| ☐<br />
|-<br />
| ☐<br />
| Rohan Garg <rohan@kde.org> <rohan@garg.io> <rohangarg@ubuntu.com> <rohangarg@kubuntu.org> <rohan16garg@gmail.com> <me@garg.io><br />
| 622B 5CDC DB1E 953F 5D32 6852 A704 BD4E F267 2094<br />
| ☐<br />
|-<br />
| ☐<br />
| Ingo Klöcker <kloecker@kde.org><br />
| 712A 0910 321A C762 D480 5408 1A74 7E45 30E0 B9D8<br />
| ☐<br />
|-<br />
| ☐<br />
| Kevin Kofler (TIGCC Team) <Kevin@tigcc.ticalc.org><br />
| 41EA 64F0 DECB 6D68 BC09 01A2 A960 B101 1634 F842<br />
| ☐<br />
|-<br />
| ☐<br />
| Scarlett Clark (Lappy2.0 Debian Packaging) <sgclark@kde.org> <br />
| 7C35 920F 1CE2 899E 8EA9 AAD0 2E7C 0367 B9BF A089<br />
| ☐<br />
|-<br />
| ☐<br />
| Ben Cooksley <bcooksley@kde.org><br />
| F072 03FE 23D4 5B4C F360 E615 8DD0 A0CD 9962 AE65<br />
| ☐<br />
|-<br />
| ☐<br />
| Nicolás Alvarez <nicolas.alvarez@gmail.com><br />
| 70F1 6AD8 DD66 E437 D6EC 0257 6820 0F82 78A0 A566<br />
| ☐<br />
|-<br />
| ☐<br />
| Your Name <youremail@host.tld><br />
| 1234 1234 1234 FINGER PRINT<br />
| ☐<br />
|-</div>Nalvarezhttps://community.kde.org/index.php?title=Akademy/2018/Tuesday&diff=80948Akademy/2018/Tuesday2018-08-07T04:57:17Z<p>Nalvarez: Fix 16:00 Neon item to be identical to the previous ones</p>
<hr />
<div>= BoF sessions on Tuesday, August 14th 2018 =<br />
<br />
''All rooms are on the third floor (except 125, second floor) of Neues EI and have either a blackboard or a whiteboard.''<br />
<br />
Floor plans: <br />
* [https://www.gut.tuwien.ac.at/fileadmin/t/gut/fotos/Veranstaltungsservice/Gusshaus/3_OG_-_neues_Gusshaus.jpg 3rd floor]<br />
* [https://www.gut.tuwien.ac.at/fileadmin/t/gut/fotos/Veranstaltungsservice/Gusshaus/2_OG_-_neues_Gusshaus.jpg 2nd floor]<br />
If you need any other equipment, please send an email to akademy-team@kde.org.<br />Please put your name and email address in the Host/Notes section. There is no length limitation; text will wrap. <br />
<br />
'''BoF Wrap-up at 18:00'''<br /><br />
Please join the BoF wrap-up session this evening. Another opportunity for communication. Share outcomes and plans, cross-pollinate, attract attention to your project.<br />
Please select someone from your BoF to give a summary—topic, what was discussed and decided, what's next, resources desired.<br />
<br />
The Akademy team might reasign BoFs based on operational needs<br />
<br />
=== Room 121 (37 people, priority for workshops) - 14th August ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! 121<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:30<br />
| width="200pt" | <br />
| width="400pt" |<br />
|-<br />
| 10:30<br />
| <br />
| <br />
|-<br />
| 11:30 <br />
| <br />
| <br />
|-<br />
| 12:30<br />
|Lunch<br />
|<br />
|-<br />
| 14:00<br />
| Streamlined Onboarding<br />
| General discussion on issues about this [https://phabricator.kde.org/T7116 goal]. Plan how to move forward with the "Making it easy to set up a development environment for KDE software" [https://phabricator.kde.org/T8484 objective] and discuss about the upcoming related [https://phabricator.kde.org/T8623 sprint]. <br />
Host: Neofytos Kolokotronis<br />
|-<br />
| 15:00 <br />
| <br />
| <br />
|-<br />
| 16:00<br />
| <br />
| <br />
|-<br />
| 17:00 <br />
| <br />
| <br />
|}<br />
<br />
=== Room 122 (25 people) - 14th August ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! 122<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:30<br />
| width="200pt" |<br />
| width="400pt" |<br />
|-<br />
| 10:30<br />
| VDG Current State<br />
|Andy Betts (Anditosan) - Revision of work to date and new work coming up.<br />
|-<br />
| 11:30 <br />
| VDG Goals<br />
| Andy Betts (Anditosan) General session to define goals for the future. Community input.<br />
|-<br />
| 12:30<br />
| Lunch<br />
|<br />
|-<br />
| 14:00<br />
| KDE neon<br />
| Topics: https://notes.kde.org/p/kde-neon-bof-2018 - exact schedule TBD - sitter@kde.org<br />
|-<br />
| 15:00 <br />
| KDE neon<br />
| Topics: https://notes.kde.org/p/kde-neon-bof-2018 - exact schedule TBD - sitter@kde.org<br />
|-<br />
| 16:00<br />
| KDE neon<br />
| Topics: https://notes.kde.org/p/kde-neon-bof-2018 - exact schedule TBD - sitter@kde.org<br />
|-<br />
| 17:00 <br />
| GPG Key Signing<br />
| [[Akademy/2018/GPGKeys]] - sitter@kde.org<br />
|}<br />
<br />
=== Room 125 (20 people) - 14th August ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! 125<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:30<br />
| width="200pt" | KDE Free Qt Foundation<br />
| width="400pt" | Session for members of the KDE community who are interested in KDE’s collaboration with Qt – We will talk about the KDE Free Qt Foundation (legal setup; history and future; perspectives: What is important for the KDE community going forward?) <br/>Olaf Schmidt-Wischhöfer <ojschmidt@kde.org><br />
|-<br />
| 10:30<br />
| [[../Config_Workshop|Config Workshop (1)]]<br />
| Topics: Collaboration with https://www.libelektra.org; Config Migrations, kconf_update; See [[../Config_Workshop]]; Host: Markus Raab <markus.raab@tuwien.ac.at><br />
|-<br />
| 11:30 <br />
| [[../Config_Workshop|Config Workshop (2)]]<br />
| Topics: Collaboration with https://www.libelektra.org; KConfig XT (code generation), caching of configuration files; See [[../Config_Workshop]]; Host: Markus Raab <markus.raab@tuwien.ac.at><br />
|-<br />
| 12:30<br />
|Lunch<br />
|<br />
|-<br />
| 14:00<br />
| [[../Config_Workshop|Config Workshop (3)]]<br />
| Topics: Collaboration with https://www.libelektra.org; Configuration Management, Configuration Specification (Schemas), Kiosk Mode; See [[../Config_Workshop]]; Host: Markus Raab <markus.raab@tuwien.ac.at><br />
|-<br />
| 15:00 <br />
| The Maui Project<br />
| The Maui project aims for a cohesive shell and set of apps tightly integrated that work on mobile and desktop devices, such as Android, Plasma Mobile and GNU Linux distributions. Maui makes use of KDE technologies. With this session the idea is to shared what has been done, talk about future plans and overall have a discussion with the members of the community on all the interested parties from the KDE Frameworks Maui makes use of.<br />
|-<br />
| 16:00<br />
| Kirigami<br />
| Using kirigami by apps, tutorial on the code, design session, reporting of problems kirigami users are having.<br />
|-<br />
| 17:00 <br />
| KDE Applications on Android<br />
| There's been big progress this year getting nightly builds of KDE Applications and getting a container that can fetch dependencies and produce binaries without much hassle. We'll see how this is done and what can we do to make sure it has the most impact.<br />
|}<br />
<br />
=== Room 127 (37 people) - 14th August ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! 127<br />
!<br />
! <br />
|-<br />
! Time <br />
! Subject <br />
! Host/Notes<br />
|-<br />
| width="100pt" | 9:30<br />
| width="200pt" | <br />
| width="400pt" |<br />
|-<br />
| 10:30<br />
| Flatpak and Snap BoF<br />
| Topics: https://notes.kde.org/p/akademy-flatpak-snap-bof <br />
Hosts: Jan Grulich / Aleix Pol<br />
|-<br />
| 11:30 <br />
| Flatpak and Snap BoF<br />
| Topics: https://notes.kde.org/p/akademy-flatpak-snap-bof <br />
Hosts: Jan Grulich / Aleix Pol<br />
|-<br />
| 12:30<br />
| Lunch<br />
|<br />
|-<br />
| 14:00<br />
| KDE PIM<br />
| dvratil@kde.org<br />
|-<br />
| 15:00 <br />
| KDE PIM<br />
| dvratil@kde.org<br />
|-<br />
| 16:00<br />
| KDE PIM<br />
| dvratil@kde.org<br />
|-<br />
| 17:00 <br />
| <br />
| <br />
|}</div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Email&diff=78743Infrastructure/Email2017-10-25T21:34:22Z<p>Nalvarez: Typo ("authentification")</p>
<hr />
<div>As it is common for contributors to move between different email providers, email aliases (forwarding addresses) are provided to allow for a consistent email address to be given by a contributor. These are currently offered under two domains: <code>kdemail.net</code> and <code>kde.org</code>.<br />
<br />
== Requesting an alias ==<br />
<br />
Any contributor to the KDE project is able to request a <code>kdemail.net</code> address by submitting a [https://go.kde.org/u/systickets ticket], including the initial destination address of the alias.<br />
<br />
If a contributor wishes to request a <code>kde.org</code> address, then they need either the support of two existing <code>kde.org</code> address holders, or they need to be a member of the KDE e.V. (as an eV-member you are already supported by two persons in the past). Contributors who meet these requirements should file a ticket, mentioning the criteria they qualify under, the desired alias, and the initial destination address of the alias.<br />
<br />
== Updating your alias ==<br />
<br />
All changes to both kdemail.net and kde.org aliases should be made by filing a [https://go.kde.org/u/systickets ticket]. It is necessary (for authentication purposes) that the ticket is filed using a Identity account associated with the email alias in question.<br />
<br />
Changes can include adding further destination addresses to your alias or removing existing destination addresses.<br />
<br />
== Filtering ==<br />
<br />
All email destined for kde.org and kdemail.net address is subject to both spam filtering and virus scanning. All mail which is determined to be definite spam or infected by malware will be rejected and not accepted for delivery.<br />
<br />
For those contributors with either kde.org or kdemail.net aliases who are concerned about losing mail due to this can request that a copy of the filter logs for each day is sent to them by filing a [https://go.kde.org/u/systickets ticket].<br />
<br />
== Sending email via Postbox ==<br />
<br />
In certain instances, contributors may find that mail sent via their regular mail provider does not arrive at its destination, or cannot access their regular provider due to restrictive networks. In this case, contributors can try sending their email through Postbox, the primary KDE email server. As an additional benefit, email sent via Postbox from a kde.org address will be signed using DKIM, allowing the recipient to verify the email is legitimate.<br />
<br />
You should use your Identity username and password to authenticate. You will also need to file a [https://go.kde.org/u/systickets ticket] asking for your account to be provisioned with the rights to send email through Postbox.<br />
<br />
The following details should work in most email clients.<br />
<br />
<pre>Host Name: mail.kde.org<br />
Port: 465<br />
Connection Security: SASL/TLS<br />
Authentication: PLAIN</pre><br />
or<br />
<br />
<pre>Host Name: mail.kde.org<br />
Port: 588 (not 587)<br />
Connection Security: STARTTLS<br />
Authentication: PLAIN</pre></div>Nalvarezhttps://community.kde.org/index.php?title=Infrastructure/Email&diff=78742Infrastructure/Email2017-10-25T21:33:42Z<p>Nalvarez: Remove requirement to "justify" the need to send email through Postbox.</p>
<hr />
<div>As it is common for contributors to move between different email providers, email aliases (forwarding addresses) are provided to allow for a consistent email address to be given by a contributor. These are currently offered under two domains: <code>kdemail.net</code> and <code>kde.org</code>.<br />
<br />
== Requesting an alias ==<br />
<br />
Any contributor to the KDE project is able to request a <code>kdemail.net</code> address by submitting a [https://go.kde.org/u/systickets ticket], including the initial destination address of the alias.<br />
<br />
If a contributor wishes to request a <code>kde.org</code> address, then they need either the support of two existing <code>kde.org</code> address holders, or they need to be a member of the KDE e.V. (as an eV-member you are already supported by two persons in the past). Contributors who meet these requirements should file a ticket, mentioning the criteria they qualify under, the desired alias, and the initial destination address of the alias.<br />
<br />
== Updating your alias ==<br />
<br />
All changes to both kdemail.net and kde.org aliases should be made by filing a [https://go.kde.org/u/systickets ticket]. It is necessary (for authentication purposes) that the ticket is filed using a Identity account associated with the email alias in question.<br />
<br />
Changes can include adding further destination addresses to your alias or removing existing destination addresses.<br />
<br />
== Filtering ==<br />
<br />
All email destined for kde.org and kdemail.net address is subject to both spam filtering and virus scanning. All mail which is determined to be definite spam or infected by malware will be rejected and not accepted for delivery.<br />
<br />
For those contributors with either kde.org or kdemail.net aliases who are concerned about losing mail due to this can request that a copy of the filter logs for each day is sent to them by filing a [https://go.kde.org/u/systickets ticket].<br />
<br />
== Sending email via Postbox ==<br />
<br />
In certain instances, contributors may find that mail sent via their regular mail provider does not arrive at its destination, or cannot access their regular provider due to restrictive networks. In this case, contributors can try sending their email through Postbox, the primary KDE email server. As an additional benefit, email sent via Postbox from a kde.org address will be signed using DKIM, allowing the recipient to verify the email is legitimate.<br />
<br />
You should use your Identity username and password to authenticate. You will also need to file a [https://go.kde.org/u/systickets ticket] asking for your account to be provisioned with the rights to send email through Postbox.<br />
<br />
The following details should work in most email clients.<br />
<br />
<pre>Host Name: mail.kde.org<br />
Port: 465<br />
Connection Security: SASL/TLS<br />
Authentification: PLAIN</pre><br />
or<br />
<br />
<pre>Host Name: mail.kde.org<br />
Port: 588 (not 587)<br />
Connection Security: STARTTLS<br />
Authentification: PLAIN</pre></div>Nalvarez