GSOC 2019 Project Ideas: Difference between revisions

From Joomla! Documentation

m Mentors updated
 
(40 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Welcome to Joomla GSoC 2019 Projects page ==
{{Top portal heading|color=white-bkgd|text-color=#333|title=
Welcome to Joomla GSoC 2019 Projects Page }}
[[Image:Gsoc2016.png|150px|center|link=GSoC 2019]]
 
{{tip|title=The application for students is going to open soon!}}  
{{tip|title=The application for students is going to open soon!}}  


Welcome to the [[GSoC_2019|Joomla Google Summer of Code (GSoC) 2019]] project page.  
Welcome to the [[GSoC_2019|Joomla Google Summer of Code (GSoC) 2019]] projects page.
 
If you are interested in participating as a student please review the materials on applying that are available at [https://developers.google.com/open-source/gsoc/faq Google]. We strongly encourage you to ask questions about process and projects on our [https://groups.google.com/forum/#!forum/jgsoc joomla-gsoc mailing list] and join our
[https://glip.com/joomla public Glip / Ringcentral chat tool].
 
'''''Note: The GSoC 2019 projects are displayed in no particular order'''''
 
==Project I: Webservices in Joomla ==
 
===Project Description===
Continue the work done on implementing Web Services in Joomla 4, which has been successfully started during the two last years GSoC projects.
# Integrate existing web services stack with the existing MVC layer - so minimal error handling
# Continue the work on the entities layer in Joomla (basically a new MVC layer for Joomla that is more web services friendly and better error handling, and concept of relations etc.). The existing work can be found at https://github.com/joomla-framework/entities
 
===Knowledge Prerequisite===
*PHP, object-orientated programming, ideally some experience with the Joomla MVC stack. Start by looking into the work done so far at https://github.com/joomla/joomla-cms/pull/23424
 
===Difficulty===
*Hard
 
===Mentors===
*[mailto:george.wilson@community.joomla.org George Wilson] (main mentor)
*[mailto:isacandrei19@gmail.com Andrei Isac]
 
==Project II: New frontend template: Page-builder==
 
===Project Description===
Joomla is already in some ways a page builder in the way it builds its template (you set up a base page and add in dynamic numbers of modules and component). This project aims to bring this one step further. The page builder template rebuilds the index.php and the template.xml in a GUI component in the backend of the template.<br />
Depending on the status of web services, it might be a com_ajax plugin and template. <br />
This project is aimed at multiple students and multiple GSoC editions and one of the long term projects of Joomla.
 
===Knowledge Prerequisite===
*PHP, HTML, VueJS, JavaScript
 
===Difficulty===
*Medium to hard
 
===Mentors===
* [mailto:benjamin.trenkle@community.joomla.org Benjamin Trenkle] (main mentor)
* [mailto:vivianamenzel@gmail.com Viviana Menzel]
* [mailto:harald.leithner@community.joomla.org Harald Leithner]
 
==Project III: Joomla SEO Improvements==
 
===Project Description===
Joomla! Is a CMS used by ca. 7 % of websites of the web. For our CMS we are looking for talented GSoC students that help improve our SEO. For this purpose, an SEO plugin for the backend needs to be created. It will consist of multiple fields as well as Facebook (open graph) and Twitter cards as well as some checks and overrides in comparison to the system today. If you have an interest in SEO and you are looking to create quality code, this project is just waiting for you! Apply now!
Read more about the details here: https://docs.google.com/document/d/1MaOtEpp0Ma-e_d7xuXVAnGXP72ec9Ar1XrKtPQvnw4I/edit?usp=sharing
*'''CORE PART.''' Yoast style integration in core:
**OpenGraph Integration: http://ogp.me/
**Metadata Integration: Schema.org (Basic Editing)
**Custom title for articles (com_content)
**Ability to add Custom meta tags (like twitter:card)
*'''CORE SUPPORTED EXTENSION.''' Google Tools - See [https://www.searchenginejournal.com/google-introduces-wordpress-plugin-with-integrated-analytics-search-console-more/282385/ this article]
* Basically Google Analytics integration and statistics
 
===Knowledge Prerequisite===
*''Must have:'' PHP
*''Nice to have:'' Joomla MVC, Search Engine Optimization (SEO), Analytics
 
===Difficulty===
*Medium
 
===Mentors===
*[mailto:christopher.wagner@community.joomla.org Christopher Wagner]
*[mailto:tony@xws.im Tony Partridge]
 
==Project IV: Joomla 4 Feature Enhancements==
 
===Project Description===
# Placing modules on a page (in the menu item form) is currently tedious. Ability to change the module menu assignment in the menu item (menu module assignment tab, currently read only).
# Add information of the selected menu item (like article title) to the menu overview list (<tt>expose=true</tt> in the menu default.xml for example). This way we wouldn't have to access the item each time to find out what's assigned to it. Make sure you only allow a single exposed item.
# Show Cookie Consent (Plugin)
 
===Knowledge Prerequisite===
*''Must have'': PHP, XML
*''Nice to have'': Joomla MVC
 
===Difficulty===
*Medium
 
===Mentors===
* [mailto:harald.leithner@community.joomla.org Harald Leithner]
* [mailto:luca.marzo@community.joomla.org Luca Marzo]
* [mailto:nicolagalgano@yahoo.it Nicola Galgano]
* [mailto:yves.hoppe@community.joomla.org Yves Hoppe]


If you are interested in participating as a student please review the materials on applying that are available at [https://developers.google.com/open-source/gsoc/faq Google]. We strongly encourage you to ask questions about process and projects on our [https://groups.google.com/forum/#!forum/jgsoc joomla-gsoc mailing list] and join our public Glip / Ringcentral chat tool.
====External Consultant====
* [axilpapa@gmail.com Achilleas Papageorgiou]  


[[Image:Gsoc2016.png|250px|center|link=GSoC 2019]]
==Project V: Joomla 4 Accessibility ==


GSoC 2019 projects (in no particular order)
===Project Description===
While accessibility in everyday life is already being considered in many places, in the areas of web design and web development, it is only treated negligently.


====Project I: Webservices in Joomla ====
The Joomla Project already invested a lot of work in making Joomla 4 the most accessible CMS out there. The goal for this project is  to improve the level of accessibility in Joomla 4 even further.
<table border="0" style="width:100%">
  <tr>
    <th>'''Project Description:'''</th>
  </tr>
  <tr>
    <td>Continue the work done on implementing Webervices in Joomla 4 building on the two last years GSoC projects.


      <ul>
Sites built with Joomla 4.X should have the WCAG AA compliance level in backend and in frontend (read more about WCAG AA compliance here: https://www.w3.org/TR/WCAG21/ and about Authoring Tool Accessibility Tools here https://www.w3.org/WAI/standards-guidelines/atag/.
        <li>1. Integrate existing webservices stack with the existing MVC layer - so minimal error handling</li>
        <li>2. Continue work on the entities layer in Joomla (basically a new MVC layer for Joomla that is more
          webservices friendly and better error handling and concept of relations etc etc etc)
        </li>
      </ul>
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Knowledge Prerequisite:'''</th>
  </tr>
  <tr>
    <td>PHP, object-orientated programming, ideally some experience with the Joomla MVC stack. Start by looking into the work done so far at https://github.com/joomla/joomla-cms/pull/23424
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Hard</td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Mentors:'''</th>
  </tr>
  <tr>
    <td>[mailto:george.wilson@community.joomla.org George Wilson]</td>
  </tr>
</table>
----
====Project II: New frontend template: Page-builder====
<table border="0" style="width:100%">
  <tr>
    <th>'''Project Description:'''</th>
  </tr>
  <tr>
    <td>Joomla is already in some ways a page builder in the way it builds its template (you set up a base page and add in dynamic numbers of modules and component). All you need to have is a index.php and template.xml that can be rebuilt based on a GUI component in the backend.<br> Depending on status of webservices might be a com_ajax plugin and template. This project is aimed at multiple students and multiple GSoC editions.
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Knowledge Prerequisite:'''</th>
  </tr>
  <tr>
    <td>PHP, HTML, VueJS, JavaScript</td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Medium to hard</td>
  </tr>
</table>
----
====Project III: Automatic installation of Joomla patch updates (Optional)====
<table border="0" style="width:100%">
  <tr>
    <th>'''Project Description:'''</th>
  </tr>
  <tr>
    <td>Joomla currently has no auto-updater, which leads to outdated websites and with this to security issues. The goal of the project is to implement an (optional) auto updater for patch versions (for example 4.0.0 to 4.0.1).
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Expected Results:'''</th>
  </tr>
  <tr>
    <td>Auto-updater for Joomla 4</td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Knowledge Prerequisite:'''</th>
  </tr>
  <tr>
    <td>Must haves: PHP, curl<br>Nice to have: libsodium, GPG, Joomla MVC
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Medium to Hard</td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Mentors:'''</th>
  </tr>
  <tr>
    <td>[mailto:yves.hoppe@community.joomla.org Yves Hoppe], [mailto:robert.deutz@community.joomla.org Robert Deutz]
    </td>
  </tr>
</table>
----
====Project IV: Joomla SEO Improvements====
<table border="0" style="width:100%">
  <tr>
    <th>'''Project Description:'''</th>
  </tr>
  <tr>
    <td>CORE PART Yoast style integration in core:<br>(SEO, og), Metadata SEO: Schema.org (Basic Editing), Open Graph, Custom title (com_content), Custom meta tags (like twitter:card)<br>CORE SUPPORTED EXTENSION: Google Tools (see:      https://www.searchenginejournal.com/google-introduces-wordpress-plugin-with-integrated-analytics-search-console-more/282385/)<br>- basically google analytics integration
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Knowledge Prerequisite:'''</th>
  </tr>
  <tr>
    <td>Must have: PHP<br>Nice to have: Joomla MVC, Search Engine Optimization (SEO), Analytics
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Medium</td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Mentors:'''</th>
  </tr>
  <tr>
    <td>[mailto:christopher.wagner@community.joomla.org Christopher Wagner]</td>
  </tr>
</table>
----
====Project V: Joomla 4 Feature Enhancements====
<table border="0" style="width:100%">
  <tr>
    <th>'''Project Description:'''</th>
  </tr>
  <tr>
    <td>
      <ul>
        <li>1) Placing modules on a page (in the menu item form) is tedious atm. Ability to change the module menu assignment in the menu item (menu module assignment tab, currently read only).</li>
        <li>2) Add information of the selected menu item (like article title) to the menu overview list (expose=true in the menu default.xml for example). This way we wouldn't have to access the item each time to find out what's assigned to it. Make sure you only allow a single exposed item.
        </li>
        <li>3) Show Cookie Consent (Plugin)
        </li>
      </ul>
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Knowledge Prerequisite:'''</th>
  </tr>
  <tr>
    <td>Must haves: PHP, XML<br>Nice to have: Joomla MVC
    </td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Medium</td>
  </tr>
</table>
----


====Project VI: Joomla 4 Accessibility ====
Therefore it’s not enough to focus on an accessible backend for Joomla but we also need to support the users and editors in providing accessible content throughout the whole webpage.
<table border="0" style="width:100%">
 
  <tr>
The two biggest challenges are:
    <th>'''Project Description:'''</th>
 
  </tr>
-   Support the users and editors in providing accessible content even if they are not trained in the field of accessibility (by providing supportive technologies)
   <tr>
 
    <td>The Joomla project already invested a lot of work in making Joomla 4 the most accessible CMS out there. The goal of this project is improving this further.
-   Help users navigate through multiple navigations and numerous elements on a site, as in the Joomla backend.
    </td>
 
   </tr>
===Knowledge Prerequisite===
</table>
*HTML, CSS, PHP, Accessibility, Javascript
<table border="0" style="width:100%">
 
  <tr>
===Difficulty===
    <th>'''Knowledge Prerequisite:'''</th>
*Medium
  </tr>
 
  <tr>
===Mentors===
    <td>HTML, CSS, PHP, Accessibility</td>
* [mailto:astrid.guenther@community.joomla.org Astrid Günther]
  </tr>
* [mailto:l.jardin@djumla.de Lukas Jardin]
</table>
 
<table border="0" style="width:100%">
====External Consultant====
  <tr>
* [mailto:s.wajda@joomla.pl Stefan Wadja]
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Medium</td>
  </tr>
</table>


[[Image:Gsoc2016.png|50px|center]]
[[Image:Gsoc2016.png|50px|center]]
----
 
<noinclude>
[[Category:Google Summer of Code 2019]]
[[Category:Google Summer of Code 2019]]
</noinclude>

Latest revision as of 06:56, 11 April 2019

Welcome to Joomla GSoC 2019 Projects Page
The application for students is going to open soon!

Welcome to the Joomla Google Summer of Code (GSoC) 2019 projects page.

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 projects on our joomla-gsoc mailing list and join our public Glip / Ringcentral chat tool.

Note: The GSoC 2019 projects are displayed in no particular order

Project I: Webservices in Joomla

Project Description

Continue the work done on implementing Web Services in Joomla 4, which has been successfully started during the two last years GSoC projects.

  1. Integrate existing web services stack with the existing MVC layer - so minimal error handling
  2. Continue the work on the entities layer in Joomla (basically a new MVC layer for Joomla that is more web services friendly and better error handling, and concept of relations etc.). The existing work can be found at https://github.com/joomla-framework/entities

Knowledge Prerequisite

Difficulty

  • Hard

Mentors

Project II: New frontend template: Page-builder

Project Description

Joomla is already in some ways a page builder in the way it builds its template (you set up a base page and add in dynamic numbers of modules and component). This project aims to bring this one step further. The page builder template rebuilds the index.php and the template.xml in a GUI component in the backend of the template.
Depending on the status of web services, it might be a com_ajax plugin and template.
This project is aimed at multiple students and multiple GSoC editions and one of the long term projects of Joomla.

Knowledge Prerequisite

  • PHP, HTML, VueJS, JavaScript

Difficulty

  • Medium to hard

Mentors

Project III: Joomla SEO Improvements

Project Description

Joomla! Is a CMS used by ca. 7 % of websites of the web. For our CMS we are looking for talented GSoC students that help improve our SEO. For this purpose, an SEO plugin for the backend needs to be created. It will consist of multiple fields as well as Facebook (open graph) and Twitter cards as well as some checks and overrides in comparison to the system today. If you have an interest in SEO and you are looking to create quality code, this project is just waiting for you! Apply now! Read more about the details here: https://docs.google.com/document/d/1MaOtEpp0Ma-e_d7xuXVAnGXP72ec9Ar1XrKtPQvnw4I/edit?usp=sharing

  • CORE PART. Yoast style integration in core:
    • OpenGraph Integration: http://ogp.me/
    • Metadata Integration: Schema.org (Basic Editing)
    • Custom title for articles (com_content)
    • Ability to add Custom meta tags (like twitter:card)
  • CORE SUPPORTED EXTENSION. Google Tools - See this article
  • Basically Google Analytics integration and statistics

Knowledge Prerequisite

  • Must have: PHP
  • Nice to have: Joomla MVC, Search Engine Optimization (SEO), Analytics

Difficulty

  • Medium

Mentors

Project IV: Joomla 4 Feature Enhancements

Project Description

  1. Placing modules on a page (in the menu item form) is currently tedious. Ability to change the module menu assignment in the menu item (menu module assignment tab, currently read only).
  2. Add information of the selected menu item (like article title) to the menu overview list (expose=true in the menu default.xml for example). This way we wouldn't have to access the item each time to find out what's assigned to it. Make sure you only allow a single exposed item.
  3. Show Cookie Consent (Plugin)

Knowledge Prerequisite

  • Must have: PHP, XML
  • Nice to have: Joomla MVC

Difficulty

  • Medium

Mentors

External Consultant

  • [axilpapa@gmail.com Achilleas Papageorgiou]

Project V: Joomla 4 Accessibility

Project Description

While accessibility in everyday life is already being considered in many places, in the areas of web design and web development, it is only treated negligently.

The Joomla Project already invested a lot of work in making Joomla 4 the most accessible CMS out there. The goal for this project is to improve the level of accessibility in Joomla 4 even further.

Sites built with Joomla 4.X should have the WCAG AA compliance level in backend and in frontend (read more about WCAG AA compliance here: https://www.w3.org/TR/WCAG21/ and about Authoring Tool Accessibility Tools here https://www.w3.org/WAI/standards-guidelines/atag/.

Therefore it’s not enough to focus on an accessible backend for Joomla but we also need to support the users and editors in providing accessible content throughout the whole webpage.

The two biggest challenges are:

- Support the users and editors in providing accessible content even if they are not trained in the field of accessibility (by providing supportive technologies)

- Help users navigate through multiple navigations and numerous elements on a site, as in the Joomla backend.

Knowledge Prerequisite

  • HTML, CSS, PHP, Accessibility, Javascript

Difficulty

  • Medium

Mentors

External Consultant