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:
superis a leaky abstraction; in order to override and extend the original behavior, the subclass must know exactly what the superclass does.
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::ApplicationController. You’d notice it’s basically
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
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!