Latest Updates

Documenting code, one commit at a time.

Simplifying Widget Queries in Reimpact/platform

When developing widgets in Reimpact/platform, efficiency is key. A recent update addresses an issue with Filament's default sorting behavior in subqueries, specifically within the TopExceptionsWidget. Let's explore the problem and the solution.

The Problem

Filament, a PHP framework, automatically applies ORDER BY model.id when using HasRecords. This default behavior becomes problematic

Read more

Enhancements to Exception Reporting and Data Presentation in Reimpact Platform

Introduction

The Reimpact platform is undergoing continuous improvements to enhance its monitoring and reporting capabilities. Recent updates focus on refining how exceptions are tracked and how data is presented to users, ensuring a more informative and user-friendly experience.

Addressing Query Builder Compatibility

One of the key updates involves resolving a compatibility issue within

Read more

Enhancing Data Presentation in Reimpact/platform with Filament Tables

The Reimpact/platform project is focused on [description]. Recent development efforts have concentrated on improving the way DPR (Data Protection Report) data is presented and managed within the platform. This involved transitioning from a static HTML table to a dynamic Filament TableWidget, offering enhanced features such as pagination, search, filtering, and translation support.

Read more

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

Recovering PostgreSQL Report Functions in Laravel

Introduction

When performing database migrations, especially in multi-tenant environments, it's crucial to ensure all aspects of the schema are correctly applied to each tenant. This post explores a scenario in a Laravel application where PostgreSQL functions were unintentionally dropped during a tenant migration and how they were recovered.

The Problem: Silently Missing Functions

Read more
PHP PostgreSQL

Seeding PostgreSQL: Avoiding SQL Escaping Issues

When working with databases, especially PostgreSQL, ensuring data integrity during the seeding process is crucial. A common pitfall involves SQL escaping issues, particularly when dealing with special characters within string values.

The Problem: Escaping Hell in Seed Migrations

Initial attempts to populate a database often involve seed migrations. These migrations contain SQL statements to

Read more

Multi-Tenancy Done Right: Tenant-Specific Database Tables

When building a multi-tenant application with Laravel and PostgreSQL, handling data isolation is crucial. One effective approach is to use separate database schemas for each tenant. This provides a high level of isolation, ensuring that data from different tenants remains completely separate. Let's explore how this works in practice within the Reimpact platform.

The Problem: Shared Tables

Read more