Thinking Elixir Podcast

166: Filtering, ordering and pagination via Flop


Listen Later

Most of us have created our own filtering, sorting and pagination code before in one project after the other. Mathias Polligkeit got tired of doing that too and created the flop library to wrap it all into a portable and reusable solution. We talk with Mathias to learn what it can do and are pleased to learn it's surpassed our own solutions. He also created a flop_phoenix package with heex components to help build filter forms and tables. A fun look into an interesting library!

Show Notes online - http://podcast.thinkingelixir.com/166

Elixir Community News

  • https://bsky.app/profile/josevalim.bsky.social/post/3k56qd2q2xf2g – A tease about noticing something new.
  • https://hexdocs.pm/elixir/main/GenServer.html – Elixir docs getting diagram support? 1.16.0-dev
  • https://github.com/erlang/otp/issues/7292#issuecomment-1688181562 – Followup on that OTP 26 “overrun stack and heap” bug
  • https://github.com/phoenixframework/dns_cluster – The dns_cluster project was brought under the phoenixframework Github org
  • https://fly.io/phoenix-files/beam-clustering-made-easy/ – Blog post about new Phoenix library dns_cluster
  • https://github.com/elixir-tools/next-ls/releases/tag/v0.10.0 – Next LS v0.10.0 Released
  • https://open-vsx.org/extension/elixir-tools/elixir-tools – Next LS extension is listed on VSCode's open extension repository
  • https://twitter.com/ashframework/status/1692767604622922152 – The Ash Framework announced the new release of a double-entry accounting project
  • https://github.com/ash-project/ash_double_entry
  • https://hexdocs.pm/ash_double_entry/get-started-with-double-entry.html
  • https://thestackcanary.com/understanding-the-elixir-machine-learning-ecosystem/ – Post that connects many ML libraries to their Python counterparts.
  • https://twitter.com/akoutmos/status/1693669295585161394 – Elixir tip on using Elixir as a shell scripting solution
  • https://twitter.com/akoutmos/status/1693322879230672905 – Version 0.5.0 of DenoEx was released.
  • https://github.com/akoutmos/deno_ex
  • https://deno.com/ – Deno project is a "secure by default" Rust-based alternate JavaScript runtime
  • https://twitter.com/PJUllrich/status/1693232219198726620 – Tip on how we can use tags to more cleanly customize tests.
  • https://www.peterullrich.com/exunit-context-tags
  • https://dagger.io/ – Dagger.io is a programmable CI/CD engine that runs your pipelines in containers.
  • https://hex.pm/packages/dagger – Dagger.io now supports Elixir
  • Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected]

    Discussion Resources

    • https://github.com/woylie/flop
    • https://github.com/woylie/flop_phoenix
    • https://scoville.jp/
    • https://en.wikipedia.org/wiki/Scoville_scale
    • https://elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/25
    • https://hexdocs.pm/flop/Flop.Schema.html
    • https://hexdocs.pm/flop/Flop.Filter.html#t:op/0
    • https://relay.dev/graphql/connections.htm – Specification used in Flop library for cursor pagination
    • https://hexdocs.pm/flop/Flop.Relay.html – Format the result sets in an Absinthe structure
    • https://hexdocs.pm/flop/Flop.html#with_named_bindings/4
    • https://slack.engineering/evolving-api-pagination-at-slack/ – Recommended resource on pagination
    • https://hex.pm/packages/quarto – Other library that helps with filtering or pagination
    • https://github.com/drewolson/scrivener – Other library that helps with filtering or pagination
    • https://elixirstream.dev/tips/cfc62b74-3ad9-427e-b9d2-8e8c768f8c57
    • https://hexdocs.pm/ecto_psql_extras/readme.html#records_rank
    • https://github.com/woylie/flop_phoenix#liveview-streams – flop_phoenix with streams
    • Guest Information

      • https://github.com/woylie/ – on Github
      • https://www.mathiaspolligkeit.com – Blog
      • Find us online

        • Message the show - @ThinkingElixir
        • Message the show on Fediverse - @[email protected]
        • Email the show - [email protected]
        • Mark Ericksen - @brainlid
        • Mark Ericksen on Fediverse - @[email protected]
        • David Bernheisel - @bernheisel
        • David Bernheisel on Fediverse - @[email protected]
        • Cade Ward - @cadebward
        • Cade Ward on Fediverse - @[email protected]
        • Sponsored By:

          • Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
          ...more
          View all episodesView all episodes
          Download on the App Store

          Thinking Elixir PodcastBy ThinkingElixir.com

          • 4.9
          • 4.9
          • 4.9
          • 4.9
          • 4.9

          4.9

          31 ratings


          More shows like Thinking Elixir Podcast

          View all
          The Changelog: Software Development, Open Source by Changelog Media

          The Changelog: Software Development, Open Source

          285 Listeners

          Startups For the Rest of Us by Rob Walling

          Startups For the Rest of Us

          694 Listeners

          Software Engineering Daily by Software Engineering Daily

          Software Engineering Daily

          630 Listeners

          Go Time: Golang, Software Engineering by Changelog Media

          Go Time: Golang, Software Engineering

          128 Listeners

          JS Party: JavaScript, CSS, Web Development by Changelog Media

          JS Party: JavaScript, CSS, Web Development

          92 Listeners

          Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

          Syntax - Tasty Web Development Treats

          985 Listeners

          REWORK by 37signals

          REWORK

          212 Listeners

          CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

          CoRecursive: Coding Stories

          185 Listeners

          Elixir Mix by Charles M Wood

          Elixir Mix

          13 Listeners

          Elixir Wizards by SmartLogic LLC

          Elixir Wizards

          22 Listeners

          The Stack Overflow Podcast by The Stack Overflow Podcast

          The Stack Overflow Podcast

          63 Listeners

          Beam Radio by Lars Wikman

          Beam Radio

          11 Listeners

          Oxide and Friends by Oxide Computer Company

          Oxide and Friends

          47 Listeners

          Elixir Mentor by Jacob Luetzow

          Elixir Mentor

          2 Listeners

          Elixir Friends by German Velasco

          Elixir Friends

          0 Listeners