Latest Updates

Documenting code, one commit at a time.

Filament Tables: Collapsed Details and Translated Filters

Working with large datasets in Filament can sometimes be overwhelming. Displaying all the information at once can make it difficult to quickly grasp key insights. This post explores how to enhance Filament tables by collapsing details by default and using translated filters for a more user-friendly experience, as recently implemented in the Reimpact/platform project.

Collapsing Details by

Read more

Enhancing Filament Tables with Manual Filtering, Searching, Sorting, and Pagination

Introduction

When working with Filament, especially when displaying data from sources other than Eloquent models, you might encounter situations where the built-in features for filtering, searching, sorting, and pagination don't work out of the box. This post describes how to manually implement these features for array-based report tables within Filament admin panels.

The Challenge: Array

Read more

Enhancing Report Generation in Reimpact/platform: Storing and Displaying Report Data

This post discusses recent enhancements to the report generation process within the Reimpact/platform project, focusing on storing and displaying the generated report data.

The Feature

The primary goal of these changes is to persist generated report data and provide flexible views for different report types. This involves adding a report_data column to the packaging_generated_reports

Read more

Improving Error Handling in the Reimpact/platform Project

This post details improvements to error handling within the Reimpact/platform project, focusing on delete operations and providing more specific and informative error messages.

The Problem

Previously, the platform had a generic catch-all for delete errors. This made it difficult to distinguish between expected errors, such as foreign key violations, and unexpected errors, hindering debugging

Read more

Handling Large Uploads and Improving Error Notifications in a Filament Application

When working with the Reimpact/platform project, we encountered an issue with large upload deletions that resulted in failures and an unhelpful JSON response. This post describes how we resolved the deletion failure and improved the user experience by displaying a Filament notification instead of a raw JSON page.

The Problem

Deleting a large number of generated reports and calculated data

Read more
PHP Filament

Adding Delete Actions to Filament Resources

The Reimpact/platform project involves building a comprehensive platform, and a recent update focused on enhancing the user experience when managing data through Filament resources. This post details the addition of delete actions to a MassiveUpload resource, streamlining data management directly from the resource table and view pages.

The Enhancement

The primary feature added is the ability

Read more

Enhancing Filament Resource Testing with Pest and Tenant Awareness

Introduction

The Reimpact/platform project is undergoing improvements to its testing infrastructure, specifically focusing on Filament resources. The goal is to ensure comprehensive test coverage for CRUD operations across various resources, while also addressing tenant-specific data handling.

The Challenge

Previously, testing Filament resources lacked sufficient coverage, especially

Read more

Tenant Migrations: Ensuring Data Consistency in Multi-Tenant Applications

When building multi-tenant applications with Laravel, ensuring each tenant's database schema is correctly migrated can be a challenge. In the Reimpact platform, we encountered issues with tenant schemas either re-running all migrations on each deploy or skipping them entirely. This led to potential data inconsistencies and application instability.

The Problem

Without a dedicated migration

Read more

Ensuring Tenant Context for Filament Uploads in Laravel

Introduction

When building multi-tenant applications with Laravel and Filament, it's crucial to ensure that operations are performed within the correct tenant context. This post addresses a common issue encountered when using Filament's massive upload feature where the tenant context was not active during Livewire form submissions, leading to data integrity violations.

The Problem: Tenant

Read more
PHP Filament

Enhancing Filament-Based Applications: Ensuring Job Dispatch and Optimizing Resource Allocation

Introduction

Ensuring background jobs are correctly dispatched and optimizing resource allocation are critical for application stability and performance. This post explores recent enhancements to a Filament-based platform, focusing on ensuring consistent job dispatch across modules and improving worker allocation for resource-intensive tasks.

Ensuring Consistent Job Dispatch

Read more