google summer of code – Mautic https://mautic.org World's Largest Open Source Marketing Automation Project Wed, 18 Jun 2025 13:24:32 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.1 https://mautic.org/wp-content/uploads/2024/10/iTunesArtwork2x-150x150.png google summer of code – Mautic https://mautic.org 32 32 GSoC 2024 Project Report: Mautic Marketplace https://mautic.org/blog/gsoc-2024-project-report-mautic-marketplace Tue, 01 Oct 2024 13:55:58 +0000 https://www.mautic.org/gsoc-2024-project-report-mautic-marketplace/ This report provides an overview of my contributions at Mautic. My experience has been both rewarding and enlightening with the Mautic. I had the privilege of getting the opportunity to showcase my skills and contribute to the Mautic marketplace. The report describes about my experience with the community and project.

Project Overview :

  • Project Name: Expand the Mautic Marketplace: Ratings, reviews and UX improvements.
  • Project Repository: mautic-marketplace and marketplace-frontend
  • Contributor: Ketu Patel
  • Mentors: John Linhart, Rahul Shinde, Simran Sethi

The Mautic Marketplace provides users with access to plugins sourced from Packagist, and the Packagist API has many limitations. The Marketplace lacks critical features such as ratings, reviews, and advanced search capabilities, limiting user engagement and discoverability. Moreover, the user interface could benefit from optimization to improve usability and navigation.

This project will expand the features of our Marketplace to make it more user-friendly to the marketer. It will enable the marketer to rate and review the plugins they use, and also to interact more smoothly with those plugins available in the Marketplace.

Contribution (Key Milestone) to Mautic Marketplace ?

✅ Migrated the data from Packagist to Supabase.

  • The marketplace uses the Packagist API and it has some limitations, so we successfully migrated our data from Packagist to Supabase to enhance the functionality and performance of our marketplace. This transition was necessary due to the limitations of the Packagist API. The migration was executed using Supabase Edge Functions developed with Deno and typescript, which allowed for efficient data handling and integration.

✅ Replaced the API KEY

  • We used the DB Functions to make the inbuilt REST API more promised. There are Two DB Functions who include the List View and Detail View of the Marketplace. The new API KEY provide Functionalities to search by any parameter, the user can sort the plugins or themes. We also enabled the DB Function that highlight the verified plugins, this option is done in backend side although it will be implemented to front end side by community.

✅ Introducing the rating and review feature

  • Marketers can rate their experiences on a scale, helping us understand their satisfaction levels. Along with ratings, they can leave detailed reviews, offering insights into what they loved or areas for improvement.

✅ Enable Auth0 for authentication

  • To ensure the integrity and reliability of our rating and review system, we have implemented Auth0, a robust authentication platform. This enhancement requires users to authenticate themselves before they can rate or review plugins or themes, effectively preventing spam and ensuring the authenticity of user feedback.

✅ Enable the edit option for rating and review

  • We will also enable the edit option so marketers can easily modify their existing reviews to reflect any new experiences or changes related to the new version of the plugin or the theme. As per changes, marketers can adjust their reviews to provide the most current feedback.

? DELIVERABLES

TASKS STATUS commits
Solving the API limitations DONE MarketPlace
Enabling the rating and review features DONE Rating_Reviews

Weekly Blogs ?

Week 0Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Week 9Week 10Week 11Week 12Week 13Week 14

Future Goals

Utilize analytics to gather insights on user behavior and preferences, allowing us to make informed decisions for future updates and features. Implementing the testing of edge function so we can ensure it’s workability.

Acknowledgement

I would like to express my heartfelt gratitude to my mentors: John Linhart, Rahul Shinde, Simran Sethi, Ruth Cheesley, whose guidance and support have been invaluable throughout my journey. Their wisdom and insights have inspired me to push my boundaries and strive for excellence. Thank you for being my sounding board, providing constructive feedback, and encouraging me during challenging times. Special thanks to Google for this amazing program and giving me the opportunity. The whole mautic community is very welcoming and supportive. Continuing my contributions to the Mautic organization …

]]>
GSoC 2024 Project Report: End to End Test Suite for Mautic https://mautic.org/blog/gsoc-2024-project-report-end-end-test-suite-mautic Mon, 02 Sep 2024 11:54:39 +0000 https://www.mautic.org/gsoc-2024-project-report-end-end-test-suite-mautic/ Project Overview:

Mautic currently has around 60% code coverage with unit and functional tests, but lacks comprehensive end-to-end testing. As a result, we mostly rely on users manually testing bug fixes and new features. This reliance creates challenges in ensuring the reliability and stability of new changes introduced through pull requests (PRs). Dependence on user testing often results in bugs being discovered post-release, impacting user experience and trust in the platform.

This Google Summer of Code (GSoC) project aimed to address these issues by focusing on four main goals:

  • Develop an End-to-End Test Suite
  • Integrate the test suite with GitHub Actions for automated testing. 
  • Write detailed documentation to support contributors in writing and executing tests effectively.
  • Educate Marketers on Contribution

Pull Requests and Commits:

S.No.

Name

Type

Status

1.

Setup Codeception and add e2e tests for contacts

Code

Merged

2.

Improve e2e test suite

Code

Merged

3.

Add Documentation for End-to-End Test Suite

Docs

Merged

4.

GitHub Action Integration for e2e test suite

CI/CD

In QA

5.

Add e2e test suite command

Code

Merged

Documentation:

https://devdocs.mautic.org/en/5.x/testing/e2e_test_suite.html

Blogs:

S.No.

Name

1.

Week 0

2.

Week 1-2

3.

Week 3-4

4.

Week 5-6

5.

Week 7-8

6.

Week 9-10

7.

Week 11-12

Proposal vs. Actual Work:

During the community bonding period, we discussed that writing E2E tests for multiple bundles might not be feasible within the project’s timeframe. Therefore, we focused on completing the tests for the contacts bundle.

Future Work:

The next steps involve expanding the test suite to cover more bundles and increase code coverage.

Acknowledgement:

I want to thank my mentors—Mohit Aghera, Ruth Cheesley, and John Linhart—for always being available, giving valuable advice, and reviewing my work. Special thanks to Rahul Shinde for his help as well. My mentors have been incredibly supportive throughout the GSoC period. I’m also grateful to Google for this opportunity. The community has been very welcoming. The last three months have been an amazing learning experience, and I’m grateful for everything I’ve learned. I look forward to continuing my contributions to Mautic.

]]>
Mautic announces Summer of Code projects for 2024 https://mautic.org/blog/mautic-announces-summer-code-projects-2024 Tue, 30 Apr 2024 21:06:08 +0000 https://www.mautic.org/mautic-announces-summer-code-projects-2024/ We are delighted to announce our selected Summer of Code projects for 2024 after reviewing a strong field of candidates who submitted proposals last month. As this is our first year participating, we were limited to selecting a maximum of two projects with only one being guaranteed, so we’re delighted with the news that both our chosen projects were selected to be funded. We can’t wait to get started!

Here are the projects that will be worked on over the next four months – each project has two mentors who are focused on the development side of the project, and one mentor who is focused on the marketer aspect – ensuring that we are considering the needs of both the developers and the users of Mautic and encouraging our students to do the same.

Project 1: End to End Test Suite

Anyone who has contributed to the Product Team will know how heavily we rely on users manually testing bug fixes and new features.

While we have growing coverage at the unit test level, we don’t have any tests that emulate what a user would do in Mautic. This results in us missing bugs which might arise when something in Mautic is broken by a change we make and which isn’t detected by our automated tests.

Priyanshi Gaur is spending her summer vacation working on developing an End to End Test Suite for Mautic covering several bundles. We couldn’t be more excited to welcome Priyanshi to the community and are looking forward to mentoring her project.

The mentors for this project are:

  • John Linhart (Developer-focused mentor)
  • Mohit Aghera (Developer-focused mentor)
  • Ruth Cheesley (Marketer-focused mentor)

Project 2: Improvements to the Mautic Marketplace

The beta of the Mautic Marketplace has been released for some time, however it has a lot of work needing to be done before it can take its rightful place as the primary way to install Mautic plugins and themes.

Ketu Patel will be spending his summer vacation working on implementing some additional features such as being able to review and rate extensions, adding filterable search facilities and improving the user experience.

The mentors for this project are:

  • Rahul Shinde (Developer-focused mentor)
  • John Linhart (Developer-focused mentor)
  • Simran Sethi (Marketer-focused mentor)

Next steps

The Summer of Code has clearly defined timelines:

May 1 – 26 – Community Bonding Period

During this time, our new contributors will be getting to know mentors and the community, reading documentation, getting up to speed and getting ready to begin working on their projects.

May 27 Coding officially begins!

From 27th May, our new contributors will begin working on their projects. Weekly updates will be written on the Community Portal which will include an update on their progress and their plans for the coming week/s.

August 19 – 26 – Final week

By mid-August, our GSoC students will submit their final work and their mentors will prepare their final evaluation.

It’s expected that the final batch of their work will be included in the next available release following this date.

We’re really looking forward to welcoming our new contributors and hope that you will all make them feel welcomed to our wonderful community!

]]>
Mautic applies for the Google Summer of Code 2021 https://mautic.org/blog/mautic-applies-google-summer-code-2021 Tue, 16 Feb 2021 18:01:01 +0000 https://www.mautic.org/mautic-applies-google-summer-code-2021/ We are excited to be applying as a hosting organisation for the Google Summer of Code 2021.

A long-standing programme which enables university students to spend their summer vacation contributing to Open Source projects, the Google Summer of Code is a great opportunity to welcome new contributors to our community and grow awareness of Mautic.

Here are some of the project ideas that we have collected from around the Mautic Community (note these may change over time):

Idea 1 – Interactive walk-through guide for new users of Mautic

We know that for new users of Mautic, it can be a bit confusing knowing how to get from installing the application to sending their first campaign. We would like to make this process easier by including an optional product tour, which would highlight the key steps that a new user would need to follow in order to send their first campaign.

This project would involve firstly identifying what those steps are by conducting some user research and following the steps yourself, and then working with the relevant teams to create a product tour. You will need to prepare the on-screen content and resources, and explore what library or tool to use in order to deliver the on-screen tour.

You will then need to implement the tour within Mautic, and make sure that the content is fully translatable (as Mautic is available in over 64 languages!), working with our local communities to have the content you write translated.

[Source: Install / Upgrade Initiative nice to have]

  • User Experience
  • Medium complexity

Mentor: Ruth Cheesley

Idea 2 – Campaign import and best practice collection

Getting started with Mautic can be a challenge if you are new to Marketing Automation.

As marketers, there are certain types of campaigns that we run all the time eg birthday campaign, double opt in, abandoned cart etc.

We would like to be able to offer a template gallery of pre-created campaigns that can be imported into the Campaign Builder.

This project will involve developing a front-end interface that allows users of Mautic to view a collection of pre-created campaigns and select them to import them into the Campaign Builder.

You will work with our community to determine the most common campaigns that marketers need to use, and create a ‘best practice’ template that can be used for at least two campaigns. These will be used in the interface that you create, allowing the user to view and select from a list of available templates, and have those added to the Campaign Builder ready to be customised.

[Source: Resource Management Initiative]

  • Core development
  • Hard complexity

Mentor: Alan Hartless / Mohammed Abu Musa

Idea 3 – Create a PR testing tool for the Mautic Documentation/KB/Community Handbook

Currently it is very difficult to test pull requests locally with the Documentation repository, as this contains only the user folder and requires the user to pull down the entire site which most are not able to do.

We have a PR testing tool for Mautic – Mautibox – which has really simplified the process of testing pull requests and hence sped up merging contributions. This runs on an Amazon stack – see the Github repo for more detail.

We would like to create a similar tool to test PR’s for our Grav-based documentation at docs.mautic.org and our other Grav tools at kb.mautic.org and contribute.mautic.org.

  • Infrastructure/Automation
  • Medium complexity

Mentor: Dennis Ameling

Idea 4 – Create plugin safety checker

In Mautic 4.0 we will be providing a new Marketplace which allows users to view and install plugins for Mautic from within the application, using Composer 2 ‘under the hood’. With the new marketplace we would like to have a tool that would scan for newly added or updated plugins, and run a health check on those.  This would ensure that any plugins we list should be safe to use.

Some of the checks that we would expect to be included are:

  • Does it use dangerous functions like eval or base64_encode
  • Does it use insecure dependencies (See List security advisories)
  • Does it push data to a 3rd party
  • Open issues/PRs
  • Run PHPSTAN to check for obvious errors that can be discovered by static code analysis
  • Lower the health score if the plugin doesn’t have any tests.
  • Try to install the plugin on different versions that should support and test that Mautic loads.

This would at least ensure that all PHP services are in a good place, that by installation the users won’t break their Mautic instance, and that the plugins have a basic level of good practice from the code standpoint.

The tool would also be able to add and remove the plugin or some of its versions to a deny list, which would prevent them from being available to install.

  • Core development
  • Medium complexity

Mentor: John Linhart

Our next steps are to wait to hear if we are accepted as an organisation, which we will know by the 9th March.  You can read more about how the Google Summer of Code works here.

]]>
Mautic Applies for Google Summer of Code https://mautic.org/blog/mautic-applies-for-google-summer-of-code Tue, 09 Feb 2016 10:25:59 +0000 https://www.mautic.org/mautic-applies-for-google-summer-of-code/ If you’ve been involved in an open source community before then you are probably aware of the initiative put forth each year by Google and the Google Summer of Code. Just in case you’re not aware, here’s the idea:

Google Summer of Code Background

Each year Google helps to coordinate and encourage post-secondary students to spend their “summer” working in an open source project. (Google Summer of Code) Google has the goal to increase awareness of the vast network of available open source projects in the world; give students real-life exposure to real-world software development scenarios; and ultimately create more open source code for the benefit of everyone. Successful students receive a $5,500 USD stipend which allows them to focus full-time efforts on their open source code project for the full 3 months. The entire program is done online and requires no travel.

This is the 12th year for Google to offer Google Summer of Code (GSoC) but perhaps even more importantly, this is the first year where Mautic will be applying to be a part of the fun. That’s right! Mautic will be submitting an application to be considered for the GSoC 2016 program.

Typically this is an extensive application process and requires a good amount of time and energy to be successful. Many applications are received and only a few are selected each year for inclusion. Due to the young(er) Mautic community some might think the Mautic community is not ready for such a commitment and responsibility, but Mautic’s application and GSoC project for 2016 will be lead by an expert.

Mautic Application Leader

Chad Windnagle has volunteered to lead the Mautic application this year. Chad has years of experience working with Google and the Summer of Code project as a result of his background volunteering in the Joomla! ecosystem. He understands the requirements for applying as well as successfully executing a GSoC program and the Mautic community is fortunate for someone of his caliber to lead this initiative. The application period for Mautic extends from 8-19 February 2016 with the student application portion being available from 14-25 March 2016.

Get Involved!

If anyone has questions, ideas or interests in learning more about GSoC or in particular Mautic’s application or focus areas please contact Chad directly at chad.windnagle@mautic.org for more information. (Hint: there might be a faster response found on the Mautic Slack chat).

There will be more details, timelines, and suggestions shared once the application is received and accepted by Google. At that time more information will be published on the Mautic blog along with various social media channels.

]]>