Magento 2 Developer Beta: What You Need to Know

Well folks, the Magento 2 Dev Beta is finally here, and just in time for my birthday! Let’s pretend that all of the hard work, public and private deliberation, as well as the diligent effort by members of the Product, Engineering, and Marketing teams is somehow my birthday present to you all. Enjoy! Read below to find out what you need to know.

What is Magento 2?

Magento 2 is the still-in-development successor to Magento 1.x. The goal for Magento 2 is to take the experience of thousands of developers building eCommerce solutions with Magento 1.x and incorporate this architectural, functional, and customization experience into the core code?. Some of the best features of Magento 1.x (declarative configuration, layout XML, and modularity to name a few) are realized in Magento 2, but with refactored implementations based on collective experience. We’re also making sure that Magento 2 is built for now and for the future through enhanced testability, service contracts for a more stable API, semantic versioning and utilization of Composer, all with scalability and performance in mind. For me the best and most important aspect of Magento 2 is that we are building it in close collaboration with the community via a new and much-improved GitHub contribution process, described below.

What is this Developer Beta?

Developer Beta, which runs from December 18, 2014 through March 2015 is the chance for developers of all types (core, independent, solution partner, merchant, and extension developers) to have a say in the foundation of Magento 2. It is the time and the process through which the underlying architecture of the Magento 2 eCommerce application is amended, vetted, and finalized. It is imperative that your voice be heard even if you are relatively new to the world of Magento. For old hats and newbies alike we’ve built a brand new Developer Hub which should serve as your one-stop shop for information about Magento 2 development. Once you’ve checked that out, head over to the official Magento 2 GitHub repository to look at the code and conversations. If you’re new to Magento, spend some time familiarizing yourself with the community there, download the code, and start contributing when you’re ready – just fork the repo and submit pull requests! You can also view Magento 2 documentation at a brand new site and contribute to it via a separate separate GitHub repository (HUGE kudos to the technical writing team for conceiving this… and for learning git!). We said we were committed to improved collaboration and more transparency; it is my hope that these long-desired changes demonstrate our commitment to our community.

What if you have feedback or a question about Magento 2?

All feedback (e.g. “Magento 2 should/shouldn’t do/include/use…”) and most questions (e.g. “Should Magento 2 do/include/use…”) regarding Magento 2 should be added to the “Issues” section of the Magento 2 repository on GitHub. It’s simply the best place to aggregate and archive feedback for ourselves and for everyone in the community, and it is the only place where Magento engineers will be monitoring issues, requests, and contributions.

However, if you have a question about Magento 2 that is not intended as a contribution (e.g. “How do I get Magento 2 up & running locally?” or “How do I create an extension?”), you should first try to find a solution by checking the Developer Hub, the Magento 2 documentation, or the installation guide. If after consulting these resources you are still having a problem, you should check for a solution at the Magento StackExchange site.

What is the Magento StackExchange site, and how do you use it?

The StackExchange question and answer platform which encourages clear questions and answers (as opposed to a general discussion forum). Magento SE is a community-created and community-maintained place for technical questions and answers. It was started by several community members (myself included) almost two years ago (before I joined Magento) and is frequented by top-notch developer community members.

To be a responsible member of the Magento SE, you should do two things before posting a question. First, try to solve on your own, because it is always evident when someone has not tried to help themselves before posting, and these questions (e.g. “How do I install Magento?”) are often ignored or deleted. Second, search for your question to see if it has been asked or answered; if it has, vote up the question and the solution, and if it hasn’t, go ahead and create a new question. Post all relevant details, being sure to include the version number and whatever steps you took to attempt to solve your question.

Finally, please note that the Magento SE site is not “officially” monitored by Magento. Again, if you have Magento 2 feedback which you want the core team or other Magento employees to consider, please post to the Magento 2 GitHub repository.

If you have some feedback or a question which doesn’t seem to fit at GitHub or on Magento SE, I encourage you to interact with your fellow community members and Magento employees via Twitter, IRC (#magento on Freenode), and in person at meetups and events. I can be reached on Twitter at @benmarks, via email at community@magento.com, and out in the world at official Magento events such as Imagine and MagentoLive, at unofficial, community-run Magento events such as Meet Magento, and at general PHP/open source/eCommerce events all over the world. I’m always eager to meet and learn from new folks and to talk about the best open source eCommerce platform on the planet.

Magento Community Update #1

Introduction

Well, here we are, finally: the first of many monthly updates. I’ll start by stating that I have two goals for these updates:

  • Inform the Magento community about the things & thoughts that are happening inside my head as well as inside the mighty orange towers
  • Give some additional visibility to the things & thoughts which are happening within the community itself

That said, by no means should I or these reports be considered a final/ultimate voice of either the community or of Magento itself. Magento is different from a lot of software & service companies in that our community has direct access to various people in the organization, which includes talking with our developers and project managers via GitHub and Twitter. You can find me on Twitter at @benmarks and you can send me email at community@magento.com.

Community Evangelism

Many of you don’t know me, or don’t know much about me. For the past six years I’ve served as a Magento developer, educator, certification consultant, and active community participant. I joined Magento in April of 2014 to serve as the Magento Evangelist. Developer evangelism is a recent concept in the programming world, and it’s a vital thing for a big company with an open source product and highly active community. My job has two main functions: to make sure you all know what you need to know about Magento (both the company and the software), and to ensure that Magento knows what is important to you all.

Update

Magento 2

In all of my travels across most of the world, the question which I’m asked most frequently is, “When is Magento 2 coming out?” I’ve noticed that there are two reasons why I’m asked this question. The first reason is out of a healthy mistrust of our stated timelines: as many of you know, Magento 2 was announced quite a while ago, and there are various reasons why we are still talking about its pending release today. The second reason is that many people have missed our numerous announcements of the “new” release timeline. I’ll answer both of these reasons at once. The stated timeline follows:

  • 2014 Q4: M2 Dev Platform Beta
  • 2015 Q1: M2 Dev Platform Release Candidate
  • 2015 Q3/Q4: M2 Merchant Beta
  • 2015 Q4: M2 General Availability

This timeline was first announced in May of 2014 at Magento Imagine, and it has been consistently repeated at every official Magento event since. Everyone in the company is focused on delivering against these expectations which we’ve set. It’s important that we do deliver, as it is important to have your faith and confidence as well as the confidence of the eCommerce space that we can deliver as promised. Disregard that I am very much an optimist when I state with confidence that we will deliver according to this timeline. You don’t have to take my word for it though: our distinguished Chief Architect, Alan Kent, committed to this timeline (or an even earlier delivery) back in September at the community-run Meet Magento event in New York. And guess what…?

The code for the Magento 2 Dev Beta is live… go check it out at GitHub right now!

Magento, “open source,” and GitHub

I’m also frequently asked about / frequently hear about the nature of Magento’s “open source” approach and commitment. While there’s no doubt that Magento CE is by definition open source software (the OFL & AFL licensing mandate it as such), the questions and concerns I’ve heard are in regards to how Magento satisfies the open source development model itself. For the record, these concerns predate the Magento 2 era, going all the way back to the initial release of the platform (and probably earlier, but I only started paying attention in 2008). For example, in Magento 1 there were no nightly or weekly builds as there are in some other open source projects. Rather, code pushes to Magento’s public SVN repository were infrequent and certainly not intended to be a regular, transparent update for the community. Also, the roadmap for Magento 1 was mostly focused on issues being resolved rather than features being released. Issues themselves were inconsistently updated in the bug tracker. And the most significant deviation for Magento from open source development was the cumbersome mechanism by which our community of developers and users contributed feedback, features, and patches to the product. This was the old way of doing things though. Magento has been improving in its openness even before my arrival, and I am delighted to say that we have many actions to point to our increasing openness as open source stewards of the Magento 2 project. I’ll be posting more about this really, really good news tomorrow following the Magento 2 Dev Beta webinar.

What happened to the forums?

One of the first things I wanted to fix after joining Magento this year were the forums. I joined the forums as a member back in 2008, seeking information and occasionally finding some. Before too much time I was answering questions myself, and I soon became a moderator. Eventually though a combination of work, spam, and progressive degradation in forum moderation features ran me off (as it ran off many others). Others stuck around, but the fight against spam was ceaseless. Earlier this year the spam problem really came to a head and we placed the forums in archive mode. When we did this I added an email alias of mine to the archived forum pages as a stopgap… and have since personally responded to hundreds of inquiries for help!

I’m glad to report that we are integrating a SaaS platform which will replace the forums and provide additional community-focused/community-enabling tools. Using a SaaS solution allows us to focus our efforts on interaction rather than maintenance. Gone will be the days of fighting spam and tolerating bugs: our SaaS vendor has dedicated anti-spam and support teams. We’re currently working with our existing community moderators, and we will have an update on the launch sometime in the next few months.

What happened to translations?

I happened upon the old translations page/tool at magentocommerce.com back in August, and I was immediately struck by the four things: the number of locales present, the lack of usability, the lack of completeness for most translations, and the fact that we were not linking to this page anywhere. Clearly a better solution is called for. I took the functionality offline and added the same community@ email  so I could still help anyone needing translations. Shockingly, I started receiving 3-4 emails per day from people literally all over the world (save Antarctica) needing translations. To my horror I realize that people have been downloading very, very incomplete translation packs for some time now! So, I’ve been regularly responding to these emails explaining how to find translation packs in Connect (link), and requesting help with future translation efforts. This should help us seed the new crowdsourced translation tool when it comes online. As is the case with the forums, I don’t have a firm timeline to announce for this yet, but I will announce it as soon as I do.

What’s up with Connect?

Speaking of Connect, I would like to share that we in Small Business are working on a new implementation of this facility. This is a massive project, as we are incorporating years of feedback regarding extension quality, searchability, as well as the need to prepare Connect for the Magento 2 era. Details and timeline for these changes are going to be announced by my boss Ryan Thompson very soon, so stay tuned for that. Of course, your feedback on Connect is always welcome at community@magento.com.

Conclusion

There is a lot going on in the world of Magento and there is much to talk about – in fact, this post was a lot longer before wiser heads suggested I condense it. If you are an established community member, you will be thrilled by our announcements over the next month. If you are new, you are coming into the community at an exciting time. There’s an amazing future ahead of all of us, and the real winners are the merchants and customers who will benefit from our collective efforts.

It’s about time.

It really is about time. I’m making time for blogging – probably a lot about Magento, some about travels, some about music, and some about the miscellany that make life wonderful (or at the very least, interesting).

I’ve been thinking quite a lot about how I spend my time these days. I’ve spent a good bit of time on the road over the past few years (over 200,000 miles in air travel alone across three continents), mostly to conduct trainings for Magento U, but also to speak and teach at conferences. Most of the classroom time – more than 1500 hours as of 4/2014 – has been spent delivering the Magento U Fundamentals of Magento Development course. I love it. I’ve taught it 35 times, I always learn from it, and I get such a kick out of helping others find their way (and their opportunity) in the world of Magento development. I have so much fun and see so many places that when I talk about it I am often asked, “How do I get your job?!?” To answer that I have to jump back through time to start at the beginning.

I accidentally stumbled into programming eleven years ago. Since then several things have fallen into place to get me to where I am today. Standing out among all of the deliberate acts and happenstance is a moment five and a half years ago in 2008. I sent a slightly cryptic but thoroughly awesome cover letter to Kevin Eichelberger. That letter – which in retrospect was nothing short of ridiculous – somehow led to my becoming employee #1 at Blue Acorn, an agency which has grown to become one of the best in the Magento and eCommerce worlds. Kevin gave me time and resources to learn Magento, a fledgling eCommerce app and framework with little documentation. With Kevin’s assistance and approval I parlayed this time and experience into a consulting and teaching role for the Magento U organization. Thus, time spent in my IDE turned into time on the road. (Bonus: time on the road turns into hotel and air travel points, and these turn into vacations with the proud, patient woman in my life.)

I spent my time off the road infusing my growing knowledge back into the Blue Acorn organization, which was in the process of growing to its current population of more than 60 employees. Most of the people I’ve interviewed, hired, or worked with over the years are still at Blue Acorn. It’s amazing to watch Kevin’s six-year-old vision writ large and real. It is equally amazing to see so many of my coworkers grow in their craft and their knowledge. I watch new developers enter the organization and know that they have a place to learn and grow well into the future. Time spent at Blue Acorn is time well spent.

That said, when I am sated, that satiety is often short-lived. These five and a half years at Blue Acorn have been the most significant in my progression as a developer and as a member of the Magento community. My time at work, whether at a desk in Charleston or on the road, has taught me how kind and giving people everywhere are, whether they share knowledge, effort, opportunity, or all of these. I’ve learned so much from so many. It is because of my growth, progression, connection, and because of the level of excellence and stability at Blue Acorn that I recently broached a difficult topic with Kevin. I’ve realized that a new time has arrived: the time for me to move on.

I have spent the best time that I can with Blue Acorn, but right now my best-spent time is behind me. I have to challenge myself to do something different, to do something more. While it is perhaps the most mature, forward-looking realization I have ever had, it is definitely the most terrifying decision I’ve ever made. Credit to my subtle sage of a wife who pointed out that well-considered fear is both an indicator and motivator for proper growth and change. Complacency ultimately begets mediocrity. Mediocrity is an insidious vehicle to a state of misery. Credit also to Kevin and to Blue Acorn for graciously and selflessly accommodating my decision.

To my friends and colleagues: I will remain involved in the Magento and eCommerce worlds. I will definitely be at Magento Imagine for all the festivities (#LasVegas5k #MageRun#ImagineHackathon#PreImagine, and of course the conference). I’ll still be tweeting the tweetsexchanging the Magento stacks, and working on the Grokking Magento book series, I know what’s coming next, just as I know that it will take some time for me to build it up and for me to build up to it. Stay tuned.

It was an April morning when they told us we should go.
As I turn to you, you smiled at me – How could we say no?
With all the fun to have, to live the dreams we always had
Oh, the songs to sing, when we at last return again.

Led Zeppelin, “Achilles’ Last Stand”

❤ B