Progress Report - July 2024

Another good month of progress here at Backpack HQ. Our current goal is to solidify the current version. We're doing that by improving...

Cristian Tabacitu
Cristian Tabacitu
Share:

Another good month of progress here at Backpack HQ. Our current goal is to solidify the current version. We're doing that by improving our test coverage and finally tending to the issues that have been in our backlog for months or years (as it happens). Pedro has been spearheading this effort, and thanks to doing that we've both fixed bugs (that nobody even found or reported) and launched new quality-of-life features. Read on to see what's new:

Maintenance

As I mentioned in the intro, this month Pedro managed to not only get our test coverage up, but to also cover things in our past that haven't gotten attention for a long long time. As a result, it's been a BIG month in terms of bug fixes and new minor features:

  • CRUD - 25 bug fixes (😱)
  • PRO - 8 bug fixes
  • Editable Columns - 1 bug fix
  • a few other fixes to our other free packages

New Features

Easily Save the Backpack Admin Panel as a Mobile App

This is something I've been doing myself for year (after all, the Backpack website is using Backpack, of course). But we've never taken the time to turn it into a feature you can use. Starting now, your admin can save the admin panel to their mobile phone / tablet, for quick access. The admin panel will use the default Backpack logo if you don't already have one, and call it "Backoffice". To get this great UX, you only need to run one simple command. See the docs for more info. Of course, it works beautifully on both iOS and Android. We have Pedro to thank for that.

Backpack for Laravel on mobile

Group - Easily Set the Same Attribute on Multiple Fields or Columns

This is something we've been thinking about doing since 2020 😱 and Pedro has finally been able to nail down the specifics and implement it. If you have a form with a bunch of fields (or columns)... you might find yourself writing the same attribute on more than one field. Which is perfectly fine sometimes... but other times, it's easier to just group the fields together, and set the attribute once on all of them. That's exactly what this feature is about. You can now easily do:

CRUD::group(
    CRUD::field('gross_price'),
    CRUD::field('net_price'),
    CRUD::field('bulk_price'),
    CRUD::field('discount')
)->prefix('$');

Added Eager Loaded Relationships to the Update Operation Too

Our List operation could already eager load relationships - making the whole pageload a lot faster. Which is something complex applications will benefit from. But sometimes, the Create&Update forms got complex too, pointing to entities with various relationships. We've seen forms with 50+ fields, and multiple of them being relationship 😱. In those cases, since there was no eager loading on the Update operation, queries weren't really optimized to handle that, and it could result in a slower Update form. Well... no more!

We've generalized the eager loading of relationships into a feature... that both the List operation and the Update operation can use. You just need to change a config in your config/backpack/operations/list.php or config/backpack/operations/update.php and your complex page with a lot of relationships... will load a lot faster. See Step 3 in the Update operation docs for more info.

HasManyThrough and HasOneThrough Support for the Relationship column

The most complex column in our PRO add-on has gotten a new feature - where previously it didn't support these relationships... now it does! Feel free to use our relationship column on it, starting now.

Support

Here's a secret of ours: even though we do not officially offer support, a significant portion of our time is spent answering people on Github. Jorge and Karan have been constantly at this, not only answering new customer queries... but also closing down older issues. They've made great progress with that, we see the number of unanswered questions going down every week, which is a pleasure! But the number of questions per week is going up - people are asking more and more questions. Which is a little concerning, so it's probably time to evaluate what we do here and optimize.

Ideally, our next goal is to make it faster for you to get the answers you need... without us having to actually answer them. To prepare for that goal, I have a question to ask you, if you've ever asked something on Github. What can we do... to make it unnecessary for a Backpack developer to ask questions on Github? Is there something we can do, that would have made most of the questions unnecessary? Please let us know in the comments here 🙏

New Content

Karan has written 4 new articles on our blog:

If you haven't already, subscribe to our blog article digest to get these articles as soon as they're out. We also post PHP, Laravel and Backpack tips on Twitter - follow us there for a daily dose of dev self-improvement.

Thanks for using Backpack. We love doing this for you.

Cheers!

Want to receive more articles like this?

Subscribe to our "Article Digest". We'll send you a list of the new articles, every week, month or quarter - your choice.

Reactions & Comments

What do you think about this?

Glad to see "Mobile app" version for Backpack. Though not many customers need admin panel as mobile app, But of course its a great feature to use admin in mobile for the ease & quick working. Keep it up, Team..
Totally agree - it's not a MUST, but once you have it... you can't go back 😀 I'm speaking from experience, I'm using the Backpack admin panel from mobile like 50% of the time!

Latest Articles

Wondering what our community has been up to?