GSOC 2019 Project Ideas: Difference between revisions
From Joomla! Documentation
m Markup cleanup |
|||
| Line 66: | Line 66: | ||
===Project Description=== | ===Project Description=== | ||
*'''CORE PART.''' Yoast style integration in core: | *'''CORE PART.''' Yoast style integration in core: | ||
** | **OpenGraph Integration: http://ogp.me/ | ||
**Metadata | **Metadata Integration: Schema.org (Basic Editing) | ||
**Custom title for articles (com_content) | |||
**Custom title (com_content) | **Ability to add 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 and statistics | ||
===Knowledge Prerequisite=== | ===Knowledge Prerequisite=== | ||
Revision as of 07:43, 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 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:
- 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
