What's happening with Avo lately

Updates

Flexible customization: Avo offers many ways to go beyond the basic built in views, forms, and actions to add additional customization to your admin solution.
David Lormor
David Lormor
CTO, Wyndy
Blog Post
Avo Survey 2022

Published 11 months

I think we did well in 2022 in support and features, and we could work more on our documentation. But, all in all, you mostly believe this product brings you value, and you like being a part of its journey.

Blog Post
Build a Rails Engine

Published 11 months


Blog Post
Load, parse, compile, and serve assets efficiently in a Rails Engine.

Release
Release 2.23.2 - Patch release

Published 11 months

Release notes

πŸ€– Maintenance

  • Make search work when using strange selects in ransack @iainbeeston (#1514)
  • chore(deps): bump httparty from 0.20.0 to 0.21.0 @dependabot (#1509)

Release
Release 2.23.1 - Patch release

Published 11 months

Release notes

  • Make search work when using strange selects in ransack @iainbeeston (#1514)

Release
Release 2.23.0 - Minor release

Published 11 months

Hi everyone πŸ‘‹

I hope everyone had a lovely time with family and friends over the Holidays and New Year's.
It's a shy release today, but we have a few things to show you.

Release notes

🎸 Features
Timezone option callable for date_time and time fields.

πŸ› Bug Fixes
JS root path without query param
Resource generator incorrect date_time field fix
Remove select from the count in search

Avo 3.0 updates

Dynamic filters

We started work on a heavy feature; advanced filtering. That will enable dynamic filters that your users can configure on runtime instead of you having to create filter classes for them.
Although having filter classes helps in creating more advanced queries, sometimes you just need a dropdown with the condition and a text field.
Demo: https://share.cleanshot.com/M86c3MGl

Custom controls everywhere

Back in 2022 (so long ago πŸ˜›), we introduced show_controls to enable you to customize better the buttons displayed on the show page of a resource.
It allowed to add custom buttons, links, actions, and more.

In Avo 3 you'll have access to edit_controls for the New view, index_controls for the Index page, and row_controls for managing the buttons similarly.
We're excited to see how you will improve the UIs for your users.
Paul has championed this feature from the ground up, which I'm incredibly proud of.
Demo: https://share.cleanshot.com/JJW8jLdb

2022 Avo Survey

We'll hold the survey open for one more week. The answers we received are incredibly helpful and provide us insights into how you see us and where we should improve.

We'll share the results after we close it up, but please, please, fill out this 6-10 minute survey ✌️
https://avohq.io/survey

We're excited about this new year and things to come, and we hope that this year will be better for you too.

Adrian & Paul

Release notes: https://avohq.io/releases/2.23
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails
Survey: https://avohq.io/survey


Release
Release 2.22.0 - Minor release

Published 12 months

Hi everyone πŸ‘‹

I can't believe this year has passed. This is the final release of 2022, where we shipped a bunch of authorization tweaks.

Release notes

🎸 Features
Dashboards authorization
https://docs.avohq.io/2.0/dashboards.html#dashboards-authorization

πŸ› Bug Fixes
Valid association authorization scope
Activestorage dependency details
Correctly parse and build the trix attachment path.

πŸ€– Maintenance
chore: update ruby requirement to >2.6.0

πŸ’‘ Refactor
refactor: allow nil user in authorization service

Subscribe to our friends

Short Ruby Newsletter will have its last issue for the year next week, and Yaroslav posted a great tutorial about Search and infinite pagination with ransack and pagy.
https://shortruby.com/
https://www.youtube.com/c/SupeRails

Avo 3.0 updates

We're finishing up two more features for Avo 3. Record previews for those field-heavy records and scopes that will enable your users to segment your data better.

2022 Retrospective

We did some digging and figured that Avo had been downloaded about 200.000 times this year and had 62 releases, with one major release every two weeks. We merged about 490 PRs, out of which 190 were bug fixes and about 95 were features, and we had 43 external collaborators.

I want to take this opportunity to thank all of you for contributing to Avo, for pushing us to make it a better product, and for being a part of this fantastic community ❀️

2022 Avo Survey

Now, we'd also like to find out what you think about us, our product, and the future, and we'd like you to fill out our 2022 survey. It should only take 6-10 minutes to get through it.
https://avohq.io/survey

We hope that you have the most pleasant and happy Holidays and the following year will be better for you and your close ones.

Thank you for this incredible ride in 2022!

Adrian & Paul

Survey: https://avohq.io/survey
Release notes: https://avohq.io/releases/2.22
Release video: https://youtu.be/gGG8uM0H2YE
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails


Release
Release 2.21.0 - Minor release

Published about 1 year

Hey gang! Even if we said we weren't going to ship more features, we just can't say no.

Release notes

🎸 Features
Add disabled option
Docs: https://docs.avohq.io/2.0/field-options.html#disabled

Callable action message
Docs: https://docs.avohq.io/2.0/actions.html#callable-message

πŸ› Bug Fixes

  • expose the parent record from association policy methods
  • flash messages
  • i18n missing translations
  • card missing current_user
  • association policy has the wrong record
  • time fields without relative don't cast the time
  • Don't set the csrf token if it's not available
  • resource getting wrong model
  • select all when query can't be converted to_sql
  • incorrectly cached select field options
  • get correct search results count

πŸ€– Maintenance

  • minor refactor to nested fish review
  • add nested resource example to dummy app
  • Warn developers if they forget to set attachment_key on trix fields
  • Added nn translations for pagy

πŸ’‘ Refactor

  • refactor: trix id not unique when used as native

Check the upgrade guide

We updated the associations' authorization methods, so please check them out.
https://docs.avohq.io/2.0/upgrade.html#upgrade-from-2-20-to-2-21

Subscribe to good content

Lucian published a fantastic new Short Ruby Newsletter issue, and Yaroslav posted an excellent inline-editing tutorial on YouTube, so make sure you give them a subscribe and a follow πŸ™Œ

https://shortruby.com/
https://www.youtube.com/c/SupeRails

Work is going well on Avo 3

We worked a lot on the internals these past weeks making it more dependable and maintainable in the long run. Next, we're adding ways to extend the functionality from the outside using plugins.

Nested records on new

We published a new guide on adding nested records on the create view. That was requested a lot from users, and we might support it in Avo 3. Until then you can manually add it using this recipe.
Docs: https://docs.avohq.io/2.0/recipes/nested-records-when-creating.html

Keep the feedback coming

Don't forget to send us your feedback for Avo 3. Let us know your pain points. Also, anytime you have one of those "darn it, it's so difficult to do this in Avo" moments, just write to us.
Forum: https://github.com/avo-hq/avo/discussions/1356

Thank you, and keep being awesome ✌️
Adrian and Paul

Release notes: https://avohq.io/releases/2.21
Release video: https://youtu.be/bxSG2_ox7zg
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails


Blog Post
Launch that bottom drawer project

Published about 1 year

Having launched and failed is better than not having launched at all

Blog Post
Today we changed the design of our blog a bit and wanted to add photo credits to each post.

Blog Post
Sure, an agency’s success is just directly proportional with how well their employees and collaborators are treated, but let’s not forget the primary source of income that grants that success: Customer satisfaction

Blog Post
Programmers are very sought after. Especially for such frameworks as Ruby on Rails. In order for an agency to secure a solid web development team, they need to think about more than material incentives.

Blog Post
In any transaction, if the seller understands the customer’s needs, the latter is happy, thus the transaction is successful. This is also valid if the seller is formed of a team of people.

Release
Release 2.20.0 - Minor release

Published about 1 year

Hey everyoneπŸ‘‹,

We have a couple of cool features going out today, so let's check out the changes:

🎸 Features

πŸ› Bug Fixes

  • select field
  • Only attempt to eager load directories that exist
  • sidebar group and heading are clickable to collapse/expand
  • Fix problem with HasHTMLAttributes memoization
  • enter should submit rather than cancelling action
  • display model errors on destroy

πŸ€– Maintenance

  • replace breadcrumbsonrails with custom breadcrumbs implementation
  • bump loader-utils from 2.0.3 to 2.0.4

Thank you to contributors

I want to say a personal thanks to this release's contributors. I'm humbled that there are people that like and want to help the project.
This just makes me work on it more and more ❀️

Avo v3

Avo 3 work has started quite good. We merged a refactoring PR and now we're working on plugins and the adapter system. If you worked on a plugin system and would like to help out and brainstorm with us, please get in touch with us.

Send us your feedback and ideas on the forum.
https://github.com/avo-hq/avo/discussions/1356

Avo v2

Avo 2 will continue to be supported with bugfixes, security updates, and community contributions.

Partners

Short Ruby Newsletter is trying something new this week with a short and long format newsletter, so check it out.
https://newsletter.shortruby.com/p/edition-19-2022

Yaroslav published another cool video about logging in using a magic link on the SupeRails YT channel.
https://www.youtube.com/c/SupeRails

Thank you for being so supportive!

Adrian and Paul

Release notes: https://avohq.io/releases/2.20
Release video: https://youtu.be/_9b2qP5omQQ
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails


Release
Release 2.19.0 - Minor release

Published about 1 year

Hey everyone,

Before we dive into this rich release, I want to take the time to thank all of you for making this community unique.
This release has about 30 PRs added, and only 10 of them issued by me. So, thanks for sharing the same amount of excitement I have for Avo.

🎸 Features

  1. Make placeholder and help callable
  2. Make sign-out path name configurable
  3. Add favicon to branding
  4. Issue of showing custom label for actionlist
  5. Persistent filters
  6. Generate resource from model attributes
  7. Filter visibility
  8. Default executes in host
  9. Extend field API with linktochild_resource attribute

πŸ› Bug Fixes

  • Fallback to resources class / link to child resource feature
  • nil exception, wrong class name was assigned
  • resource generator option
  • malformed root url for javascript
  • don't raise errors on community when pundit is missing
  • destroy the search modal when disconnected
  • Support virtualattributes in keyvalue field
  • visibility issues for tabs panels and sidebars
  • sidebar field visibility block
  • readonly vulnerability
  • placeholder to public dir
  • move cards controller to avoid conflicts
  • Don't swallow errors with labels and descriptions
  • may-download-file data attr missing on action form
  • include pundit if available

πŸ€– Maintenance

  • bump loader-utils from 2.0.0 to 2.0.3
  • remove comment from tempalte file and remove manifester gem
  • init script may be run repeatedly without error
  • update the default sign in form

πŸ’‘ Refactor

  • refactor: zeiwerk eager load resource dir

Breaking changes

You should look out for one breaking change in the upgrade guide. There's an upgrade script too.
https://docs.avohq.io/2.0/upgrade.html#remove-the-params-from-the-visible-block-in-actions

New Export to CSV action in recipes

We've had some talks with users regarding export to CSV. Even though we don't have a first-party feature like that, we made an action that supports column selection.

https://docs.avohq.io/2.0/recipes/export-to-csv.html

Check out our partners

This week's Short Ruby Newsletter is just a gem! There are many things I didn't know and forgot about, so subscribe!

Yaroslav published a new video about parsing hashtags and mentions from posts, so go check it out.

We're on ruby.social

You may have noticed that quite a few people are migrating from Twitter to ruby.social, so you'll find me there too. So let's connect there, too https://ruby.social/web/@adrian.

We're starting work on Avo 3.0

We'll probably have another Avo 2.0 release in two weeks, but we'll take a break to start work on v3.0. We want to make v3 much more extendable, accessible, and complete.
We have a milestone up on GitHub with some features we're planning to bring in early 2023.
https://github.com/avo-hq/avo/milestone/1

Avo v2 will still receive bug fixes and security upgrades for quite a while now, so don't worry; you won't have to upgrade to stay up to date with security issues. We'll have a nice upgrade path too.

Release notes: https://avohq.io/releases/2.19
Release video: https://youtu.be/vF0z-gPFWlE
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails

That's it for this week πŸ™Œ
Thank you for being awesome,
Adrian & Paul


Release
Release 2.18.0 - Minor release

Published about 1 year

Hello, fam! In this release, we bring a few customization options, the new time field, and custom authorization clients alongside quite a few bugfixes and refactors. Let's dig in!

🎸 Features

  1. Label and content available in the html option
    Docs: https://docs.avohq.io/2.0/stimulus-integration.html#where-are-the-attributes-added

  2. Stacked layout for fields
    Docs: https://docs.avohq.io/2.0/field-options.html#stacked-layout

  3. Custom authorization clients
    Docs: https://docs.avohq.io/2.0/authorization.html#custom-authorization-clients

  4. Time field
    Docs: https://docs.avohq.io/2.0/fields/time.html

πŸ› Bug Fixes

  • broken timezone time
  • action fields default option broken
  • panel too tall
  • the panels' overflow hides the filters popup
  • search container duplicated on back action
  • attachment destroy button broken
  • Norwegian translations

πŸ€– Maintenance

  • update nokogiri
  • unlock view_component
  • update rails pg port in the docker setup

πŸ’‘ Refactor

  • require only the needed rails dependencies
  • restore panel shadow and overflow
  • white-panel-classes helper global
  • Normalize and fixes missing locales
  • support optional policy scope

⚠️ Manually require some dependencies

In our efforts to slim down Avo's requirements to include only what we truly need, we removed some gems from our general requirements. So you'll need to require them yourself in your Gemfile.

We documented that thoroughly in the upgrade guide.

πŸ‘» Check out our open issues and participate in Hacktoberfest

We have a few issues where we'd need some help, and we marked them as participating in Hacktoberfest, so go check them out.
Open issues.

Update your license URL

In our last newsletter, we mentioned that we're not enforcing the one application/license rule yet, but we'll start doing that from November 25th (one month from now). So, please go to your licenses page and update the URL or IP to match the one you're using for each license.
We're in the process of updating that section of the app, so you'll see some changes in the coming week.

We're here if you need support with updating that information.

πŸŽ‰ Surprise incoming

We're working on something nice, but we're not quite ready to unveil it. We think you'll ❀️ it.

πŸ“’ Avo v3.0

We're still waiting for your feedback for Avo v3, so let's hear it!

Release notes: https://avohq.io/releases/2.18
Release video: https://youtu.be/CfnIecDWX4E
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails

That's it for this week πŸ™Œ
Thank you for being awesome,
Adrian & Paul


Blog Post
With Avo, being a Ruby on Rails engine, we have a few controllers where we "chew up" the request, fetch the data, and display the results. Some users need to extend it.

Release
Release 2.17.0 - Minor release

Published about 1 year

Hey everyone,

This is such a big release with so many things to show you:

🎸 Features

  1. Resource sidebar makes it easier to organize fields
    Docs
    Demo video

  2. Expose native field components to the public enables you to build more expressive custom content.
    Docs

  3. Made it possible to customize the placeholder image
    Docs

  4. Add Turkish language support

  5. Use custom policies on resources
    Docs

πŸ› Bug Fixes

  • change belongs to target to turbo frame
  • via resource class returns model classes vs. resource classes
  • belongs_to link inside tabs
  • disable the icon on disabled actions
  • dangerous send methods
  • prevent filter buttons from overlapping filter popovers
  • multiple resources per model breaks sidebar
  • add html attributes to grid items
  • proper Turkish translation
  • Norwegian translations
  • recursive resources duplicated hydration
  • Ensured @parent_resource was being passed down to grid items controls
  • date time broken on back action
  • recursive resources broken

πŸ€– Maintenance

  • minor linting tweak
  • Fix a typo on Readme Doc
  • transform some system tests to feature
  • separate tests
  • update turbo to 7.2.0
  • minor tab improvements
  • minor linting tweaks
  • moved some things around in the initializer

One breaking change if you have custom fields

Check out this version's upgrade guide if you have implemented custom fields.
Upgrade guide

Update your license URL

We haven't enforced the one application/license rule yet, but we'll start doing that in the following weeks, so go to your licenses page and update the URL or IP to match the one you're using for each license.
If you don't do it, your Avo apps might stop working when we switch on the checking mechanism.
avohq.io/licenses

Subscribe and support the community

Check out some of the things you might have missed on Twitter last week in the Short Ruby Newsletter.

Yaroslav released two new videos covering RMagick and Active Storage on his YouTube channel.

Check out our open issues and participate in Hacktoberfest

We have a few issues where we'd need some help, and we marked them as participating in Hacktoberfest, so go check them out.
Open issues

How would Avo 3.0 look like?

We started thinking about what would Avo 3 look like. The first version was just to see if anyone needed a new app-building framework. The second version is here to validate the features you'd actually need, and the next version will be the product you want by your side and never want to build apps without.
So let's make that vision a reality together. Please send us your feedback and ideas. What do you love and hate about it, and the direction you'd like to see it go.

Thank you,
Adrian and Paul πŸ€™

Release notes: https://avohq.io/releases/2.17
Demo video: https://youtu.be/nbMQR5IDpYQ
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/
Subscribe to SupeRails: https://www.youtube.com/c/SupeRails


Blog Post
The mental model of the webpacker to js-bundling and tailwindcss wasn't adequately communicated when the new packages were first introduced.

Release
Release 2.16.0 - Minor release

Published about 1 year

Hey Ruby friends,

It's been a long two weeks since our last release. We've been hard at work building new features in Avo.

🎸 Features

  1. Made sure model is set on actions. This enables developers to use the trix and belongs_to fields in actions.

  2. Skip show view out in beta. You may now choose to only have the Edit view and skip Show.
    Docs

  3. Sidebar items accept data attributes
    Docs

  4. Add create button on has one association

πŸ› Bug Fixes

  • ensure the right resource is used in resource_component
  • read-only trix field

Easy PRs

There are 7 good first issues ready to be picked up in the repo.
https://avo.cool/good-first-issues

Next up

We're working on adding a sidebar to the resource Show and Edit views. This will enable you to add fields that don't really belong in long horizontal formats.
I have to pick up and finish the native fields PR, and there are quite a few community contributions that are very close to the finish line like custom policies and action policy support.

Wroclove.rb talks

Go and check out the Wroclove.rb talks. There are quite a few interesting subjects being discussed.
https://www.youtube.com/user/wrocloverb

Thank you,
Adrian and Paul πŸ€™

Release notes: https://avohq.io/releases/2.16.0
Release video: https://youtu.be/lQ2cwg3IIGA
Twitter: https://twitter.com/avo_hq
Repo: https://github.com/avo-hq/avo
Subscribe to Short Ruby Newsletter: https://shortruby.com/