GSOC 2019 Project Ideas: Difference between revisions

From Joomla! Documentation

m Markup cleanup
m Markup cleanup
Line 1: Line 1:
{{Top portal heading|color=white-bkgd|text-color=#333|title=
{{Top portal heading|color=white-bkgd|text-color=#333|title=
Welcome to Joomla GSoC 2019 Projects page }}
Welcome to Joomla GSoC 2019 Projects Page }}
[[Image:Gsoc2016.png|150px|center|link=GSoC 2019]]
[[Image:Gsoc2016.png|150px|center|link=GSoC 2019]]


Line 65: Line 65:


===Project Description===
===Project Description===
*'''CORE PART:''' Yoast style integration in core:
*'''CORE PART.''' Yoast style integration in core:
**(SEO, OG)
**(SEO, OG)
**Metadata SEO: Schema.org (Basic Editing)
**Metadata SEO: Schema.org (Basic Editing)
Line 71: Line 71:
**Custom title (com_content)
**Custom title (com_content)
**Custom meta tags (like twitter:card)
**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]
*'''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
* Basically Google Analytics integration


Line 86: Line 86:


==Project V: Joomla 4 Feature Enhancements==
==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 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===
*


==Project VI: Joomla 4 Accessibility ==
==Project VI: Joomla 4 Accessibility ==
<table border="0" style="width:100%">
 
  <tr>
===Project Description===
    <th>'''Project Description:'''</th>
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.
  </tr>
 
  <tr>
===Knowledge Prerequisite===
    <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.
*HTML, CSS, PHP, Accessibility
    </td>
 
  </tr>
===Difficulty===
</table>
*Medium
<table border="0" style="width:100%">
 
  <tr>
===Mentors===
    <th>'''Knowledge Prerequisite:'''</th>
*
  </tr>
  <tr>
    <td>HTML, CSS, PHP, Accessibility</td>
  </tr>
</table>
<table border="0" style="width:100%">
  <tr>
    <th>'''Difficulty:'''</th>
  </tr>
  <tr>
    <td>Medium</td>
  </tr>
</table>


[[Image:Gsoc2016.png|50px|center]]
[[Image:Gsoc2016.png|50px|center]]

Revision as of 12:23, 9 January 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 built 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.)

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). All you need to have is an index.php and a template.xml that can be rebuilt based on a GUI component in the backend.
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.

Knowledge Prerequisite

  • PHP, HTML, VueJS, JavaScript

Difficulty

  • Medium to hard

Mentors

Project III: Automatic installation of Joomla patch updates (Optional)

Project Description

Joomla has currently 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).

Expected Results

  • Auto-updater for Joomla 4

Knowledge Prerequisite

  • Must have: PHP, curl
  • Nice to have: libsodium, GPG, Joomla MVC

Difficulty

  • Medium to Hard

Mentors

Project IV: Joomla SEO Improvements

Project Description

  • CORE PART. Yoast style integration in core:
    • (SEO, OG)
    • Metadata SEO: Schema.org (Basic Editing)
    • Open Graph
    • Custom title (com_content)
    • Custom meta tags (like twitter:card)
  • CORE SUPPORTED EXTENSION. Google Tools - See this article
  • Basically Google Analytics integration

Knowledge Prerequisite

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

Difficulty

  • Medium

Mentors

Project V: 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

Project VI: Joomla 4 Accessibility

Project Description

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.

Knowledge Prerequisite

  • HTML, CSS, PHP, Accessibility

Difficulty

  • Medium

Mentors