GSoC 2023 Project Ideas: Difference between revisions

From Joomla! Documentation

Created page with "{{Top portal heading|color=white-bkgd|text-color=#333|title= Welcome to Joomla GSoC 2023 Projects Page }} 150px|center|link=GSoC 2020 Welcome to the [..."
 
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 4: Line 4:




Welcome to the [[GSoC_2022|Joomla Google Summer of Code (GSoC) 2023]] projects page.  
Welcome to the [[GSoC_2023|Joomla Google Summer of Code (GSoC) 2023]] projects page.  


If you are interested in participating as a student please review the materials on applying that are available at [https://developers.google.com/open-source/gsoc/faq Google]. We strongly encourage you to ask questions about process and projects on our [https://groups.google.com/forum/#!forum/jgsoc joomla-gsoc mailing list] and join our
If you are interested in participating as a student please review the materials on applying that are available at [https://developers.google.com/open-source/gsoc/faq Google]. We strongly encourage you to ask questions about process and projects on our  
[https://glip.com/joomla public Glip / Ringcentral chat tool].
[https://joomlacommunity.cloud.mattermost.com/main/channels/gsoc2023 Mattermost chat tool].


'''''Note: The GSoC 2023 projects are displayed in no particular order'''''
'''''Note: The GSoC 2023 projects are displayed in no particular order'''''




==Project I: Workflow/scheduler ==
==Project I: Improve the Joomla front end editing experience ==


===Project Description===
===Project Description===
With Joomla! 4.0 and 4.1 two new features were implemented into Joomla!: the workflow and the task scheduler. In this project both features should be combined. Workflow transitions which are then executed by the scheduler when they are scheduled.Therefore the user interface of the articles extension has to be extended + different task/workflow plugins need to be created.
Front end editing in Joomla is a helpful feature for content creators, but it’s not always consistently available or easy to use. This project will identify areas of improvement and implement the recommended changes to front end editing in relevant Joomla core components.
As a student, here is the list of things expected from you as deliverable for the project:
*Deliver an user interface suggestion for com_content how the user interface can look like for pre-defining transition chains.
*Implement the user interface in com_content
*Deliver a task plugin to execute the transitions via the scheduler extension


===Knowledge Prerequisite===
===Knowledge Prerequisite===
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Nice to have: Understanding of the Joomla! Scheduler and workflow extension
*com_content
*Workflow


===Difficulty===
===Difficulty===
Line 29: Line 26:


===Project Type===
===Project Type===
*Large [350 Hrs]
*Medium [175 Hrs]


===Mentors===
===Mentors===
*Rishika Sharma(leader)
*Crystal Dionysopoulos
*Yatharth Vyas
*Geraint Edwards
*Tushar Malik
*Viviana Menzel
*Christiane Maier-Stadtherr
*Benjamin Trenkle


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


==Project II: Guided Tour==
==Project II: API Improvements ==


===Project Description===
===Project Description===
Improve the API to cover more/all general functions in Joomla!
Go through the components to add missing calls
Implement proper authentication (oAuth2, ...)
Improve error handling


In Joomla! are certain workflows needed to do certain tasks. Currently, users have to read the documentation if they’re new and want to know how they can achieve different things. This project should implement the functionality of guided tours in Joomla!. A tour is a click-through path which the user can follow to fulfill certain tasks like creating an article. So on the one hand Joomla! core should deliver basic tours for users to use core functionality without the need to read the documentation. On the other hand, it should be possible to create their own tours (e.g. as administrators for system operators), copy and change existing tours or allow 3rd party developers to ship their own tours when their extension will be installed.
The project has a history: https://docs.joomla.org/Guided_Tour
Now we want to make the project ready for the next Joomla Version.


===Knowledge Prerequisite===
===Knowledge Prerequisite===
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Language Requisitions: PHP, HTML, CSS and JavaScript
*CLI
*Plugins


===Difficulty===
===Difficulty===
*Easy
*Hard


===Project Type===
===Project Type===
*Medium [175 Hrs]
*Large [350 Hrs]


===Mentors===
===Mentors===
*Jatin Salve
*George Wilson
*Eyvaz Ahmadzada
*Carlos Rodriguez
*Freyam Mehta
*Shivam Rajput
*Patrick Jackson
 


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


 
==Project III: Health page ==
==Project III: SEO ==


===Project Description===
===Project Description===
Joomla! 4.0 is built around a lot of SEO improvements. In this project you should implement additional basic SEO features.
A page to check the integrity of your Joomla! files and database structure (also for 3rd party extensions).
As a student, here is the list of things expected from you as deliverable for the project:
Built as a series of plugin checks that feed into a dashboard
*Review the current Joomla! 4 version and find out existing SEO features
*Define and propose new useful features which we can ship in future Joomla! Versions
*Implement features agreed with your mentor
 


===Knowledge Prerequisite===
===Knowledge Prerequisite===
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Nice to have: SEO experience
*Modules


===Difficulty===
===Difficulty===
*Medium
*Medium


Line 91: Line 79:


===Mentors===
===Mentors===
*Elisa Foltyn
*Rishabh Ranjan Jha
*Jacob Wijaya
*Shazma Siddiqui
*Philip Walton
*Shubham Verma




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


 
==Project IV: Migrating websites from CMS platforms to Joomla Core ==
==Project IV: Accessibility Plugin ==


===Project Description===
===Project Description===
Joomla uses an accessibility Plugin. This Plugin should be forked and re-written completely.
An idea that's been floated a few times in JUGL, an importer using either a csv exporter from another system or a backup solution if they have one. the project is to identify and build an importer into core Joomla articles (categories as well if applicable) to help people migrating from other systems. Wordpress, Wix, Squarespace to help kick of a migration
Many platforms and services facilitate the migration of websites from Joomla to their own platforms. Joomla should have such possibility, allowing users to transfer their sites to Joomla, at least when it comes to data. Adding such services to Joomla would ease the migration of existing sites to Joomla.


===Knowledge Prerequisite===
===Knowledge Prerequisite===
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Language Requisitions: PHP, HTML, CSS and JavaScript
 
*Joomla database structure


===Difficulty===
===Difficulty===
 
*Hard
*Medium


===Project Type===
===Project Type===
*Medium [175 Hrs]
*Large [350 Hrs]


===Mentors===
===Mentors===
*Philip Walton
*Olivier Buisard
*Christiane Maier-Stadtherr
*Achilleas Papageorgiou
*Achilleas Papageorgiou
*Viviana Menzel
*Kumar Shivam




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


 
==Project V: Increase test coverage ==
==Project V: Schema.org==


===Project Description===
===Project Description===
Currently Joomla! uses inline microdata for adding rich snippets. The drawback of this implementation is that it’s hard coded (can’t be changed from the backend, only by overrides) and it is very generic. With this project, Joomla! should switch to a schema.org JSON+LD implementation which is configurable via the backend (e.g in article, category view).
System or unit tests are an essential part of the development process to ensure stability of any application.
As a student, here is the list of things expected from you as deliverable for the project:
https://magazine.joomla.org/all-issues/october-2022/off-to-cyprus-ehm-cypress-how-joomla-does-its-end-to-end-testing
*Suggest and implement a JSON+LD library
*Implement article/menu/category/… parameter interface to add rich snippets to articles.
*Output the rich snippets dynamically in the frontend


===Knowledge Prerequisite===
===Knowledge Prerequisite===
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Language Requisitions: PHP, HTML, CSS and JavaScript
*Besides that, a must have: VueJS
*Nice to have: Joomla! 4 template creation
*Cypress




===Difficulty===
===Difficulty===
 
*Medium
*Hard


===Project Type===
===Project Type===
*Large [350 Hrs]
*Medium [175 Hrs]


===Mentors===
===Mentors===
*Rishabh Ranjan Jha
*Franciska Perisa
*Allon Moritz
*Anurag Kumar
*Anurag Kumar
*Niels Braczek
[[Image:Gsoc2016.png|30px|center]]


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

Latest revision as of 17:54, 7 February 2023

Welcome to Joomla GSoC 2023 Projects Page


Welcome to the Joomla Google Summer of Code (GSoC) 2023 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 Mattermost chat tool.

Note: The GSoC 2023 projects are displayed in no particular order


Project I: Improve the Joomla front end editing experience

Project Description

Front end editing in Joomla is a helpful feature for content creators, but it’s not always consistently available or easy to use. This project will identify areas of improvement and implement the recommended changes to front end editing in relevant Joomla core components.

Knowledge Prerequisite

  • Language Requisitions: PHP, HTML, CSS and JavaScript
  • com_content
  • Workflow

Difficulty

  • Medium

Project Type

  • Medium [175 Hrs]

Mentors

  • Crystal Dionysopoulos
  • Geraint Edwards
  • Viviana Menzel

Project II: API Improvements

Project Description

Improve the API to cover more/all general functions in Joomla! Go through the components to add missing calls Implement proper authentication (oAuth2, ...) Improve error handling


Knowledge Prerequisite

  • Language Requisitions: PHP, HTML, CSS and JavaScript
  • CLI
  • Plugins

Difficulty

  • Hard

Project Type

  • Large [350 Hrs]

Mentors

  • George Wilson
  • Carlos Rodriguez
  • Shivam Rajput

Project III: Health page

Project Description

A page to check the integrity of your Joomla! files and database structure (also for 3rd party extensions). Built as a series of plugin checks that feed into a dashboard

Knowledge Prerequisite

  • Language Requisitions: PHP, HTML, CSS and JavaScript
  • Modules

Difficulty

  • Medium

Project Type

  • Medium [175 Hrs]

Mentors

  • Rishabh Ranjan Jha
  • Shazma Siddiqui
  • Shubham Verma


Project IV: Migrating websites from CMS platforms to Joomla Core

Project Description

An idea that's been floated a few times in JUGL, an importer using either a csv exporter from another system or a backup solution if they have one. the project is to identify and build an importer into core Joomla articles (categories as well if applicable) to help people migrating from other systems. Wordpress, Wix, Squarespace to help kick of a migration Many platforms and services facilitate the migration of websites from Joomla to their own platforms. Joomla should have such possibility, allowing users to transfer their sites to Joomla, at least when it comes to data. Adding such services to Joomla would ease the migration of existing sites to Joomla.

Knowledge Prerequisite

  • Language Requisitions: PHP, HTML, CSS and JavaScript
  • Joomla database structure

Difficulty

  • Hard

Project Type

  • Large [350 Hrs]

Mentors

  • Philip Walton
  • Olivier Buisard
  • Christiane Maier-Stadtherr
  • Achilleas Papageorgiou


Project V: Increase test coverage

Project Description

System or unit tests are an essential part of the development process to ensure stability of any application. https://magazine.joomla.org/all-issues/october-2022/off-to-cyprus-ehm-cypress-how-joomla-does-its-end-to-end-testing

Knowledge Prerequisite

  • Language Requisitions: PHP, HTML, CSS and JavaScript
  • Besides that, a must have: VueJS
  • Nice to have: Joomla! 4 template creation
  • Cypress


Difficulty

  • Medium

Project Type

  • Medium [175 Hrs]

Mentors

  • Franciska Perisa
  • Allon Moritz
  • Anurag Kumar