GSOC 2018 Project Ideas: Difference between revisions
From Joomla! Documentation
Puneet.0191 (talk | contribs) |
Puneet.0191 (talk | contribs) |
||
| Line 37: | Line 37: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Continue the work done on Webervices in Joomla 4 building on last years GSOC project and whatever continues to be implemented before GSOC starts. This will probably involve working on a new Active Record implementation for models with some sort of cross of ideas between JTable/JModel and more modern frameworks like Laravel's Eloquent. As well as implementations inside the core CMS Stack </td> | <td>Continue the work done on Webervices in Joomla 4 building on last years GSOC project and whatever continues to be implemented before GSOC starts. This will probably involve working on a new Active Record implementation for models with some sort of cross of ideas between JTable/JModel and more modern frameworks like Laravel's Eloquent. As well as implementations inside the core CMS Stack </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 164: | Line 164: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[mailto:info@digital-peak.com Allon Moritz] </td> | <td>[mailto:info@digital-peak.com Allon Moritz], [mailto:astrid.guenther@community.joomla.org Astrid Guenther]</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 170: | Line 170: | ||
[[Image:Gsoc2016.png|50px|center]] | [[Image:Gsoc2016.png|50px|center]] | ||
---- | ---- | ||
====Project IV: | ====Project IV: System Testing for Joomla 4 with increased coverage ==== | ||
<table border="0" style="width:100%"> | <table border="0" style="width:100%"> | ||
<tr> | <tr> | ||
| Line 176: | Line 176: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Increase the test coverage for Joomla 4, write Automation tests in Codeception for Headless Chrome and latest version of Selenium</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 185: | Line 184: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Increased Code Coverage for Joomla 4, Tests should be integrated with CI tool, Task Runner and Reporting should work</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 193: | Line 192: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>PHP, Selenium, Codeception, Robo Task Runner, Dockers</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 209: | Line 208: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[mailto: | <td>[mailto:kala.puneet@community.joomla.org Puneet Kala] </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 215: | Line 214: | ||
[[Image:Gsoc2016.png|50px|center]] | [[Image:Gsoc2016.png|50px|center]] | ||
---- | ---- | ||
====Project V: | ====Project V: Command Line Update ==== | ||
<table border="0" style="width:100%"> | <table border="0" style="width:100%"> | ||
<tr> | <tr> | ||
| Line 221: | Line 220: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Update Joomla and components via command line</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 229: | Line 228: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Programatically update joomla via ssh so you can have scripts to batch update site without the need to log in to every site administrator. https://github.com/joomla-projects/cli-update</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 237: | Line 236: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>PHP, Joomla CMS</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 245: | Line 244: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Medium | <td>Medium</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 253: | Line 252: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[mailto: | <td>[mailto:marco.dings@community.joomla.org Marco Dings] </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 259: | Line 258: | ||
[[Image:Gsoc2016.png|50px|center]] | [[Image:Gsoc2016.png|50px|center]] | ||
---- | ---- | ||
====Project VI: | ====Project VI: Enhance Users ==== | ||
<table border="0" style="width:100%"> | <table border="0" style="width:100%"> | ||
<tr> | <tr> | ||
| Line 265: | Line 264: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>The user component contains some old code which needs to be adapted to the current Joomla standard. Additionally it would be nice to have a front end list view for user groups and and detail menu item for user. Similar to the rest of the Joomla components.</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 273: | Line 272: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>The user component should get two new front end views for a list of users and the details of one (similar to the ones from com_contact). Additionally some views should be adapted to Joomla standards, for example the profile view.</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 281: | Line 280: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>PHP, Joomla CMS</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 289: | Line 288: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Medium | <td>Medium</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 303: | Line 302: | ||
[[Image:Gsoc2016.png|50px|center]] | [[Image:Gsoc2016.png|50px|center]] | ||
---- | ---- | ||
====Project VII: | ====Project VII: Media Manager - Adaptive Images ==== | ||
- | |||
<table border="0" style="width:100%"> | <table border="0" style="width:100%"> | ||
<tr> | <tr> | ||
| Line 353: | Line 308: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>Since content is viewed on very different devices with very different sizes and resolutions, it is not sufficient to provide one single format of an image. There are a lot of approaches for resizing images to fit the current environment, but that does not always lead to good results.The idea with this project is to let the user define the important areas of the image for different resolutions and aspect ratios. A 2-page description with examples exists.</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 361: | Line 316: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>An editor as extension to the media manager (or as a field type), A re-usable PHP class for cropping and resizing, A plugin to remap image references to the resize script</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 369: | Line 324: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>PHP | <td>Javascript, PHP</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
| Line 385: | Line 340: | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>[mailto: | <td>[mailto:nbraczek@bsds.de Niels Braczek] </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
Revision as of 05:50, 9 February 2018
Welcome to GSoC 2018 Ideas Page
Welcome to the Joomla Google Summer of Code (GSoC) 2018 project ideas page. As we move forward with the 2018 version of the Joomla GSoC, we will update this site with the ideas that have been submitted below.
Please keep in mind that projects need to be realistic and something that is able to be functionally completed by a student working full time for about ten weeks.
If you are interested in participating as a student please review the materials on applying that are available at Google. We strongly encourage you to ask questions about process and ideas on our joomla-gsoc mailing list.

Guidelines on Submitting Ideas
Everyone is invited to submit their ideas! You do not have to be a Google Summer of Code student or mentor to suggest one.
If you have ideas for the Joomla Google Summer of Code Program please send them to us at this form:
There are some important guidelines to submit ideas, please read these carefully before adding your ideas:
- Ensure your idea is able to be completed in a fixed period of time. GSoC runs officially between May, 2018 and August 2018. This is a short period of actual coding time. Ideas should respect the time that students have available for the program.
- Keep ideas realistic. The ideas on this list should maintain a realistic amount of work for a single student, junior level-developer, who is working with a compressed timeline and a fixed completion ('pencils down') date.
- The purpose of GSoC is to improve Joomla. This is not the time to add ideas for new extensions or features that may not be included. If the idea is related to the framework, please consult the framework team directly about new ideas to ensure there is interest in having the package included as an official Joomla Framework package.
- When in doubt, reach out. If you're unsure if your idea belongs on this list, please post to the Joomla GSoC mailing list and ask about the community's interest.
- No documentation-focused projects. Google Summer of Code is a program about code. We expect our students to document their work, but writing documentation for Joomla as a project does not align with the goals of GSoC.
Idea Pool
This page is going to be updated once the call for ideas is done and the projects have been chosen and approved by the production department.

Project I: Webservices in Joomla!
| Project Description: |
|---|
| Continue the work done on Webervices in Joomla 4 building on last years GSOC project and whatever continues to be implemented before GSOC starts. This will probably involve working on a new Active Record implementation for models with some sort of cross of ideas between JTable/JModel and more modern frameworks like Laravel's Eloquent. As well as implementations inside the core CMS Stack |
| Expected Results: |
|---|
| At minimum the specification at https://joomla-projects.github.io/gsoc17_webservices/ probably with some extra features. |
| Knowledge Prerequisite: |
|---|
| PHP, object-orientated programming, ideally some experience with the Joomla MVC stack. Before starting looking at the existing work done at https://github.com/joomla-projects/gsoc17_webservices |
| Difficulty: |
|---|
| Hard |
| Mentors: |
|---|
| George Wilson |

Project II: Automatic Multilanguage Associations
| Project Description: |
|---|
| If you have a Site with more languages you create one article in your main language, then you have to create it in the other language and create all the Associations first to be able to edit them in the Multilanguage Associations Component.
It would be nice to have an option to create automatically a "language-pack" when saving a new article that has no associations yet. The article is copied to all languages, all associations are done and a default text in the language is added in front of the introtext that the article is not translated yet. Project Details can be found at the Github issue https://github.com/joomla/joomla-cms/issues/18845 |
| Expected Results: |
|---|
| A better Workflow on Multilanguage sites |
| Knowledge Prerequisite: |
|---|
| PHP, Joomla Plugins, object-orientated programming, ideally some experience with the Joomla and Multilingual Associations. |
| Difficulty: |
|---|
| Medium to Hard |
| Mentors: |
|---|
| Elisa Foltyn |

Project III: Improve override management
| Project Description: |
|---|
| As it is an overall target to simplify the layouts in Joomla and push people to do overrides. Joomla needs a better override management. |
| Expected Results: |
|---|
| - Diff viewer between the override and the actual template file. - Check on upgrades if a template file has changed where an override exists and inform the user. |
| Knowledge Prerequisite: |
|---|
| PHP, Joomla MVC, Javascript |
| Difficulty: |
|---|
| Medium |
| Mentors: |
|---|
| Allon Moritz, Astrid Guenther |

Project IV: System Testing for Joomla 4 with increased coverage
| Project Description: |
|---|
| Increase the test coverage for Joomla 4, write Automation tests in Codeception for Headless Chrome and latest version of Selenium |
| Expected Results: |
|---|
| Increased Code Coverage for Joomla 4, Tests should be integrated with CI tool, Task Runner and Reporting should work |
| Knowledge Prerequisite: |
|---|
| PHP, Selenium, Codeception, Robo Task Runner, Dockers |
| Difficulty: |
|---|
| Medium to Hard |
| Mentors: |
|---|
| Puneet Kala |

Project V: Command Line Update
| Project Description: |
|---|
| Update Joomla and components via command line |
| Expected Results: |
|---|
| Programatically update joomla via ssh so you can have scripts to batch update site without the need to log in to every site administrator. https://github.com/joomla-projects/cli-update |
| Knowledge Prerequisite: |
|---|
| PHP, Joomla CMS |
| Difficulty: |
|---|
| Medium |
| Mentors: |
|---|
| Marco Dings |

Project VI: Enhance Users
| Project Description: |
|---|
| The user component contains some old code which needs to be adapted to the current Joomla standard. Additionally it would be nice to have a front end list view for user groups and and detail menu item for user. Similar to the rest of the Joomla components. |
| Expected Results: |
|---|
| The user component should get two new front end views for a list of users and the details of one (similar to the ones from com_contact). Additionally some views should be adapted to Joomla standards, for example the profile view. |
| Knowledge Prerequisite: |
|---|
| PHP, Joomla CMS |
| Difficulty: |
|---|
| Medium |
| Mentors: |
|---|
| Benjamin Trenkle |

Project VII: Media Manager - Adaptive Images
| Project Description: |
|---|
| Since content is viewed on very different devices with very different sizes and resolutions, it is not sufficient to provide one single format of an image. There are a lot of approaches for resizing images to fit the current environment, but that does not always lead to good results.The idea with this project is to let the user define the important areas of the image for different resolutions and aspect ratios. A 2-page description with examples exists. |
| Expected Results: |
|---|
| An editor as extension to the media manager (or as a field type), A re-usable PHP class for cropping and resizing, A plugin to remap image references to the resize script |
| Knowledge Prerequisite: |
|---|
| Javascript, PHP |
| Difficulty: |
|---|
| Medium |
| Mentors: |
|---|
| Niels Braczek |
