Latest Updates

Documenting code, one commit at a time.

Refining Filament Page Layout for Enhanced User Experience

Introduction

In the Breniapp/brenia project, we're continuously working to improve the user interface and overall user experience. One recent focus has been on optimizing the layout of Filament admin panel pages, particularly in scenarios where a more compact design is desired.

The Challenge: Vertical Space Optimization

Filament, a PHP-based admin panel, offers a flexible and

Read more
PHP Alpine.js

Enhancing User Experience with Collapsible Descriptions

The landing project is focused on creating intuitive user experiences. Recent updates have centered around refining the navigation and information architecture within the application.

Streamlining Navigation and Information

One key enhancement involves renaming the 'campaigns' navigation label to 'marketing mail campaign'. This change aims to provide greater clarity and context to users,

Read more
PHP Filament

Fixing Late Static Binding Issues in Filament Resources

When developing with Filament, you might encounter issues with PHP's late static binding, especially when working with resources. A recent update to the platform project addressed such a problem, improving the way queries are handled within resource classes.

The issue arose from directly calling Resource::getEloquentQuery(). This approach breaks PHP's late static binding, causing

Read more

Tenant Isolation Strategy: Global Rates in a Multi-Tenant Laravel Application

Introduction

In multi-tenant applications, data isolation is key. One common challenge is determining which data should be tenant-specific and which should be global. In our Laravel platform project, we faced this question with application rates. Initially, we considered rates to be tenant-scoped, but we discovered that, due to regulatory requirements, these rates are actually global and

Read more
PHP Filament

Filament v5: Addressing Class Not Found Errors with Layout Components

Introduction

When upgrading to new versions of frameworks, you sometimes encounter unexpected errors. This post addresses a "class not found" error in Filament v5 related to relocated layout components, and how to resolve it.

The Issue: Layout Components Relocation

In Filament v5, layout components like Section and Grid were moved from Filament\Forms\Components to

Read more

Enhancements to Rate Management in the Platform

Streamlining Rate Management in the Platform

We've been working on the Reimpact platform to improve how rates are managed, focusing on global applicability and enhanced security. Here's a breakdown of the changes.

Global Rate Application

Previously, rates were tied to specific companies. We've transitioned to a model where rates are global, scoped by a priority_product_id.

Read more

Debugging Authentication Issues in Laravel Filament

Introduction

When developing with Laravel and Filament, encountering authentication issues can be a common challenge. Diagnosing these issues, especially vague 401 errors, requires a strategic approach to uncover the root cause. This post outlines a method for adding detailed logging to your authentication process to better understand and resolve such errors.

The Problem: Elusive 401

Read more
PHP Alpine.js

Refactoring for Clarity: Moving UI Elements in Breniapp

When developing user interfaces, component placement can significantly impact the user experience and the application's overall stability. In the Breniapp project, a recent refactoring focused on improving the placement of AI model selection elements to resolve layout issues and enhance maintainability.

The Problem: UI Elements in the Wrong Place

Initially, the AI model selection dropdowns

Read more

Keying into Performance: Setting the Primary Key for TopExceptionsWidget

In the Reimpact platform, we're always striving to optimize performance and ensure smooth operation. Recently, we encountered an interesting issue with the TopExceptionsWidget model that highlights the importance of correctly defining primary keys, especially when dealing with subqueries.

The Problem

Filament, our admin panel framework, relies on $record->id to uniquely identify rows in

Read more