GSOC 2019 Project Ideas: Difference between revisions
From Joomla! Documentation
| Line 14: | Line 14: | ||
===Project Description=== | ===Project Description=== | ||
Continue the work done on implementing Web Services in Joomla 4 | 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 | # 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.) | # 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.) | ||
| Line 26: | Line 26: | ||
===Mentors=== | ===Mentors=== | ||
*[mailto:george.wilson@community.joomla.org George Wilson] | *[mailto:george.wilson@community.joomla.org George Wilson] | ||
==Project II: New frontend template: Page-builder== | ==Project II: New frontend template: Page-builder== | ||
Revision as of 07:50, 10 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, 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.)
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). 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: Automatic installation of Joomla patch updates
Project Description
Joomla has currently no auto-updater, which leads to outdated websites and 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) to be integrated in the Joomla core.
For security update archives should be checked ideally with GPG (libsodium) and hash sums.
Expected Results
- A basic 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:
- 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 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
