The Ember Times - Issue No. 91

හෙලෝ Emberistas! 🐹

Read some RFCs around extending EmberObject 💡, learn how to build Hangman with Ember Octane 🎬, plus check out the Record Data Errors RFC 📇, an "e"mpressive EmberWeekend podcast with @mansona 🎙, and the Singleton Record Data RFC for Ember Data 💾! Last, but not least, catch our exclusive interview with Ember contributor @kategengler. 🚀


RFCs around EmberObject Base Class 💡

@pzuraq opened 2 new RFCs around using the EmberObject base class.

The @classic Decorator RFC adds a set of warnings for users who adopt native class syntax with EmberObject base classes. By using the @classic decorator, the warnings around edge cases such as init vs constructor or use of Mixins are turned off. These warnings are used as a guide for components to slowly migrate away from extending from EmberObject to more standalone such as GlimmerComponent.

The Injection Hook Normalization RFC supersedes the submitted Classic Class Owner Tunnel RFC. This RFC looks to answer how we should handle dependency injection (DI) when we are not extending from the EmberObject base class. It proposes to assign values during construction by normalising the assignment of the owner, access to injected properties, and follow the same conventions as other popular DI frameworks.

Read more about @classic Decorator RFC and Injection Hook Normalization RFC on GitHub!


Building a Hangman Game with Ember Octane 🎬

Husband and wife team @mike-north and @lisaychuang did a live stream on how to build a hangman game. They used the Ember Octane preview and the Glimmer components that come with it.

This video is a nice introduction into the world of Ember Octane and Glimmer components and definitely shows the benefits of doing pair programming. 😊


Record Data Errors RFC 📇

@igorT created a RFC to expose the content of Invalid Errors on Record Data. This RFC suggests exposing the errors provided by the server if it returns a 422. InvalidError payload follows the JSON API error object spec, and if the error payload contains pointers those get mapped to attributes on a record.

For more information about the getter for the errors and the RecordDataStoreWrapper and an opportunity to give feedback, see the Record Data Errors RFC.


Episode 129 of the EmberWeekend Podcast 🎙

Episode 129 of the EmberWeekend podcast featured @mansona the creator of Authmaker. This episode included a range of topics including the migration of moving the Ember Guides from Middleman to be powered by Ember. Other areas include Middleman shortcomings and the rework of the Guides.

@mansona also talks about his journey using Broccoli Static JSON to convert markdown into JSON API. The ultimate goal was to use the Broccoli pipeline markdown to convert to JSON API and use static files!

@mansona also introduced Guidemaker: A fully functional, static site implementation of a documentation site and EmberJS with fully out of the box SEO friendly output! With support to be hosted on S3 or any other site hosting solution. Check out the GitHub repo here.

Listen to the full podcast.


Singleton Record Data RFC 💾

Want to learn more about how some of Ember Data's APIs are developing? Take a peek at the Singleton Record Data RFC recently opened by @runspired.

This RFC focuses on ensuring that Record Data can be implemented as a singleton, eliminates some redundant APIs and simplifies method signatures. This plan for Record Data offers opportunities for performance optimizations ⚡️ and improved feature sets! ✨

For these proposed changes and a detailed design, including changes to many of the methods involved, check out the Singleton Record Data RFC.


"I contribute to Ember" with Katie Gengler ✍️

Katie Gengler

In our 8th edition of the contributor interview series, community member Katie Gengler, also known as @kategengler talks about her work on Ember Observer, Ember Try and RFC tracking and why all kinds of contributions to Ember really matter.

You can read the full interview on the Ember Forum.

Read more


Contributors' Corner 👏

This week we'd like to thank @sivakumar-kailasam, @toddjordan, @zachgarwood, @alexpark90, @mansona, @chancancode, @rwwagner90, @locks, @xjmdoo, @pzuraq, @stefanpenner, @step2yeung, @mike-north, @tomdale, @tansongyang, @dcyriller, @mwpastore, @runspired and @jessica-jordan for their contributions to Ember and related repositories! 💖


Got a Question? Ask Readers' Questions! 🤓

Office Hours Tomster Mascot

Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!

Submit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞


#embertimes 📰

Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at #support-ember-times on the Ember Community Discord or ping us @embertimes on Twitter.

Keep on top of what's been going on in Emberland this week by subscribing to our e-mail newsletter! You can also find our posts on the Ember blog.


That's another wrap! ✨

Be kind,

Anne-Greeth van Herwijnen, Chris Ng, Jessica Jordan, Bradley Leftley, Kenneth Larsen, Jared Galanis, Katie Gengler, Amy Lam and the Learning Team