The second quarter of 2018 has come to an end. It's now time to look back at the results and achievements by each of the Solution Partner teams participating in Magento Partners Contribution Reward Program.
The month of May was a record-breaking month for the community with 638 pull requests created across all Magento repositories. In addition to the amazing amount of pull requests, we also ran some fantastic contribution days in Germany, Poland, India and Italy.
One topic discussed at DevExchange this year was mental illness, inspired by the attendance of Joe Ferguson from Open Sourcing Mental Illness. Mental illness affects many people in our society: 1 in 5 American adults will have a diagnosable mental health condition each year (http://mhah.org/what-we-do/) and we know that this results in huge losses in productivity. That isn’t what’s important though. What makes this issue so important for us to tackle is that people deserve to be healthy and happy.
We covered a number of topics during the Open Sourcing Mental Illness session, and I wanted to share some of my notes in the hope it provides food for thought for others who live with a condition or know someone that does.
On Wednesday, as the final session of Imagine, Magento hosted a DevExchange. At round tables set up throughout a large conference room, developers discussed topics that were mostly collected in advance in the community forums.
If you are a developer, you are probably familiar with feeling overwhelmed by the number of books to read, videos of talks to watch, tools and frameworks and languages to try out, and conferences and meetups to attend. Based on the interest in the topic, it seems I'm not alone.
One of the first things a new Magento developer learns is “never edit the core”. Both Magento 1 and Magento 2 are designed to be easily upgradable, and a key component of that ability to upgrade is the fact that there are a set of core files living under the Magento namespace that should never be edited. This is such common knowledge (and a frequent complaint when you inherit a project from another developer) that it’s become a meme, first as an image of Magento Evangelist Ben Marks demanding to know “Did you just edit the core?” and later as stickers and t-shirts featuring that image.
We created a middleware that catches all the requests to the Magento REST API and forwards them to a RabbitMQ queue. Then it reads the returning messages from RabbitMQ and executes them one by one. In addition, we implemented a log of all actions to easily backtrack any errors. With this internal solution we could solve all problems we had and successfully complete the customer project.
After that experience we got another idea: “Why can’t we do all this directly in Magento?”
So, we contacted Magento Community Engineering team with our proposition and we all agreed that this would be an amazing feature. Then they invited us to participate in the implementation.
Support for AMQP/RabbitMQ implementation has been added to Magento Open Source to help standardize development and to incentivize extension and integration developers to follow consistent approaches to asynchronous operations.
Magento Commerce has grown by leaps and bounds with the support of a loyal and very passionate developer community. We continue to see strong demand from merchants for top quality extensions. The Magento Marketplace team is very happy to announce that in addition to allowing all developers to request a Magento Commerce development license we're now enabling you to request access to a Magento Commerce Cloud sandbox account.
During the month of March, we ran our first distributed contribution day, and we saw some new faces at the top of our contributors’ leader board. We also continued to make great progress with all our GitHub repositories thanks, to the community’s help.
A Contribution Day is a hackathon-like event where we encourage the community to contribute to the Magento 2 Open Source product by opening pull requests and validating issues on GitHub. Normally these events are limited to one venue, but as Magento is a truly global community we have decided to run a multi-location contribution day spread around the globe.
Today, I’d like to walk you through one example – Magento Admin Store Configuration Search. This feature, long awaited by Magento merchants and admin users, provides the ability to search through all Store configuration settings in order to make necessary adjustments during the launch of a new store or when introducing new features.
They say, “Feedback is a gift,” and the Magento Marketplace Product team agrees. They started hearing from developers in the Magento community that process flow and usability concerns were keeping them from submitting extensions to Magento Marketplace. The mission of Marketplace is to provide Magento merchants access to authentic, high-quality extensions and themes to enhance their ecommerce sites, so this issue had to be addressed head on.
We are encouraged to see how strongly this year has started off. There have been a lot of great pull requests, project contributions, and interesting conversations taking place in our community engineering Slack channel. If we continue this throughout the year, 2018 will be an amazing year for all of us.
Magento Open Source - Statistics
During the month of January, we have processed 191 pull requests. With the help of our amazing community maintainers team, there have been 203 pull requests created by the community, 88 unique contributions and 48 new contributors. These stats highlight to us that people are continuing to contribute, and new people are getting involved. It also highlights the importance of our community maintainers team, as together they processed 80 pull requests.
For the month of January our top 5 individual contributors have been:
We would like to highlight a few contribution events from January that we think really carried the spirit of open source contribution.
Meet Magento India
During the Meet Magento conference in India, Wagento hosted a contribution day. During this event, we had 45 developers from around India and provided 22 pull requests.
We asked attendee Neeta Kangiya to give us her thoughts on the event and contribution in general.
"There are moments when you make exactly the right shot in a round of golf or a tennis match, and you realize with immense pleasure what you've just accomplished. For me, working with "Magento Community Engineering Team" was the same, and I got this opportunity on Magento Contribution Day 2018 which was held on 7 January 2018 during #MMIN18 and took place in my beautiful city Ahmedabad. It provided intensive workshops with the #magento core engineering team, giving great insights into Magento 2 development and improvement to the Magento 2 core. Working with very down to earth Magento masters Vinai Koop, David Manners and Eugene Shakhsuvarov was already a great achievement.
Happiest to be among one of the @Magento contributors in #MMIN18 as I have generated 1 PR and contributed into "devdocs" also, and I was amazed when my PR was approved. What else does someone need as their work will be appreciated at the end of the day and I also got T-shirt printed with "Contributor - Magento Community Engineering."
This contribution was not limited to that day only. Currently also in my free time, I am continuing to contribute for the Magento 2 community." - Neeta Kangiya
Contribution Day in Kharkiv
On the 27th of January, Magecom hosted a contribution day in Kharkiv Ukraine. Focusing on the Multi Source Inventory (MSI) project, this event provided 6 pull requests and introduced a lot more developers to the project. You can find a video highlights package of the event here, but we also asked Sergey Fisenko, the CEO of Magecom, for his thoughts on this event.
"For many years, our engineers have been visiting Magento events around the world, and it helped our company improve, grow, and eventually become one of the biggest Magento-focused agencies in Ukraine. We felt it's now our turn to contribute to the community, and we decided to organize a series of Magento meetups in Kharkiv, Ukraine, and help other developers grow professionally. Thanks, Magento!" - Sergey Fisenko
How to get involved
As always, if you are interested in finding out more about contributing to Magento we recommend getting involved in the community engineering Slack channel (email requests to join to email@example.com). We also have a wide selection of projects currently running. If you are interested in participating in one of these projects take a look at the project overview page and let us know.
At Magento, security is a primary concern for us. As part of our commitment to enhancing security we will be requiring all Magento partners who contribute code to Magento on GitHub to have Two-Factor Authentication (2FA) enabled on their accounts.
The Community Engineering team aims to facilitate frequent two-way communication between Magento and the community. With this in mind, it gives us great pleasure to announce a new initiative, Community Engineering Hangouts.
As we move into 2018, it is important to take a few moments to look back at how far we, as a community, have come in 2017. For this update, we would like to share with you the yearly statistics and some choice memories of the year.
In my first post about Community Collaboration in Magento, I touched on the community’s tireless bug-squashing and gave an overview of how the Magento Community Team processes pull requests (PRs). In this post, I will dig a little deeper into how you, as members of the community, can contribute. I will also go behind the scenes of the Magento 2 repository.
November 2017 was an exciting mix of contribution days, community project work, and of course pull request processing. Coming off the back of the #SQUASHTOBERFEST event, the core team and maintainers had their work cut out with the amount of open pull requests the community has provided. This month saw a record level of processed pull requests as well as a fantastic level of new contributors.
The Instant Purchase module contribution by Creatuity is an excellent example of community initiative. Creatuity took risks on their own and implemented the whole module from scratch without being certain whether it would be accepted to core.
This module allows all merchants on the Magento 2 platform to offer a streamlined, single touch process by which customers can make purchases. This feature utilizes the Braintree vaulted credit card method that’s native to Magento 2, allowing logged-in users to place an order with a single touch that’s billed and shipped to the default information already stored on their account.
Keeping in line with our efforts to improve the quality of all extensions on Marketplace, as of 1/2/18 we will be implementing Varnish cache validation during Technical Review for all M2 submissions.The Varnish test verifies products do not break Varnish caching when in production mode.
October 2017 was the debut of our #SQUASHTOBERFEST event, focusing on prioritizing issues in Magento Commerce and Open Source 2.2 to be squashed by the community. We had high expectations for this event, and the community did not let us down. We had the largest number of pull requests in a month ever. As a token of our thanks, any contributor with two or more submitted pull requests over this event will receive a limited edition Magento t-shirt.