This is probably… the smallest release of Super so far.
The headline change in this release is the removal of Super::Action
. When I
originally decided on it, I was working with these constraints:
super
 is a leaky abstraction; in order to override and extend the original behavior,
 the subclass must know exactly what the superclass does.And Super::Action
fit those constraints. Recently though, I came across this
article and realized that Super::Action
added more developer
constraints than I could be happy with. I really enjoyed the blog post and I
recommend reading it in full, but an excerpt:
A library is a set of building blocks that may share a common theme or work well together, but are largely independent. […]
A framework, usually, must predict ahead of time every kind of thing a user of it might need to do within its walls. […] It must not only take care that every task that needs to be done in it can be done, it ideally needs to offer a better way of doing those things than the way they would be done normally. Otherwise, why use it?
In this case, Super::Action
was an abstraction over some of the most
fundamental pieces of Rails — controller actions and views. Though it
provided some “idealistic” benefits such as the lack of inheritance, I don’t
think it provided a better way than the Rails way.
So it’s gone. I’ve kept some of the reusability that it used to offer, see
Super::Step
and Super::ApplicationController
. You’d notice it’s basically
normal Rails.
I want to focus on Super Professional next. I have some cool features in mind that I noticed frequently come up in admin wish lists. I’m excited to show it, hopefully soon!
As for Super FOSS, there are two tracks of work that I’m planning on. Firstly, I hope to reach API stability. Sadly, it’s a little hard to reach API stability without having users and feature requests (and it’s a little hard to have users until there’s some level of API stability). On the other hand, having no users makes it easy to make breaking changes without having to worry about breaking apps in production.
Secondly, I hope to work on some quality of life improvements – keyboard
shortcuts for admins, customizable navigation, automatic Controls generation
(guessing what columns to show), and automatically deriving Strong Parameters
from the form_schema
definition. One of my favorite things about ActiveAdmin
is how much it can with a basically-empty configuration file. I hope to bring
that feeling into Super.
If you’re interested in beta testing the professional edition, please send me an email!
super(at)zachahn(dot)com