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 | 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 | *'''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 | *'''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== | ||
===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 == | ||
===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=== | |||
* | |||
[[Image:Gsoc2016.png|50px|center]] | [[Image:Gsoc2016.png|50px|center]] | ||
Revision as of 12:23, 9 January 2019

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.
- 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.)
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
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
- 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 (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.
- 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
