GSOC 2019 Project Ideas

From Joomla! Documentation

Revision as of 03:09, 9 January 2019 by Yvesh (talk | contribs) (Preparing GSoC 2019)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Welcome to Joomla GSoC 2019 Projects page[edit]

The application for students is going to open soon!

Welcome to the Joomla Google Summer of Code (GSoC) 2019 project 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.

Gsoc2016.png

GSoC 2019 projects (in no particular order)

Project I: Webservices in Joomla[edit]

Project Description:
Continue the work done on implementing Webervices in Joomla 4 building on the two last years GSoC projects.
  • 1. Integrate existing webservices stack with the existing MVC layer - so minimal error handling
  • 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)
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:
George Wilson

Project II: New frontend template: Page-builder[edit]

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 a index.php and template.xml that can be rebuilt based on a GUI component in the backend.
Depending on status of webservices 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

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

Project Description:
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).
Expected Results:
Auto-updater for Joomla 4
Knowledge Prerequisite:
Must haves: PHP, curl
Nice to have: libsodium, GPG, Joomla MVC
Difficulty:
Medium to Hard
Mentors:
Yves Hoppe, Robert Deutz

Project IV: Joomla SEO Improvements[edit]

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: https://www.searchenginejournal.com/google-introduces-wordpress-plugin-with-integrated-analytics-search-console-more/282385/)
- basically google analytics integration
Knowledge Prerequisite:
Must have: PHP
Nice to have: Joomla MVC, Search Engine Optimization (SEO), Analytics
Difficulty:
Medium
Mentors:
Christopher Wagner

Project V: Joomla 4 Feature Enhancements[edit]

Project Description:
  • 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).
  • 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:
PHP, XML
     Nice to have: Joomla MVC
Difficulty:
Medium

Project VI: Joomla 4 Accessibility[edit]

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
Gsoc2016.png