Skip to content

Developer Remarks | Know & How

Posts

Laravel 11+ on a Hosting Server with Dynamic Application Version Switching

Introduction Most Laravel deployment procedures assume of two extremes: full root access on a dedicated server (and run composer install directly on the box) cPanel-style shared host where you shuffle a public/ folder into public_html and call it directly. Neither model fits a workspace that hosts multiple in-flight branches of the same Laravel 11/12 application and needs to switch the live code version without restarting Apache or moving gigabytes of vendor/. In complex deployment environments,...
Read More
deployment

Import Obsidian Zip File From Laravel 11 Dashboard

Introduction Obsidian is a note-taking application suitable for creating a knowledge base for web application developers. Obsidian, especially when using many plugins, creates a very effective environment for writing, collecting, and searching for notes. If we want to publish these notes on a web blog, we need to solve the bridging between Obsidian and Laravel. of the forms is to create a suitable export from Obsidian and solve the import into the resulting form when creating posts in Laravel. Selected...
Read More
laravel

Makefile as an Operational Index in Laravel development

Introduction Laravel already gives for web project several command surfaces: Artisan, Composer scripts, npm scripts, and even a small admin-facing interface for a restricted set of Artisan commands. So the obvious question is why this repository still keeps a top-level Makefile. During development, many other commands are still needed, either as commands from the terminal or in the form of bash (zsh) scripts. The sum of all such commands and their structure brings problems: with remembering their...
Read More
laravel

Migrating TinyMCE from v5.9 to v8.3 - Part 2

The Migration Strategy: Self-Hosted TinyMCE with Static Copy Instead of fighting Vite's module bundler, the solution uses a hybrid approach: TinyMCE is loaded as a traditional global script, while the configuration runs through Vite. Step 1: Remove TinyMCE from npm, Use Self-Hosted Distribution Download TinyMCE 8 Community (GPL) from the official download page and place the full distribution under resources/tinymce/: resources/tinymce/ ├── icons/ │ └── default/ ├──...
Read More
laravel

Migrating TinyMCE from v5.9 to v8.3 - Part 1

Migrating TinyMCE from v5.9 to v8.3 in a Laravel 8 → 11 Upgrade Introduction When migrating a Laravel blog application from Laravel 8 to Laravel 11, of the most challenging frontend tasks is upgrading TinyMCE — the rich text editor used in the admin panel. This isn't a simple version bump. You're dealing with two simultaneous breaking changes: Build system: webpack.mix.js (Laravel Mix) → Vite 5 (Laravel's new default) Editor: TinyMCE 5.9.2 → TinyMCE 8.3.1 (three major versions,...
Read More
laravel

Laravel Mix to Vite 5 Migration

Part of Real-World CoreUI Migration: From Laravel 8 to Laravel 11 Why Migrate? Laravel 11 dropped official Laravel Mix support. While Mix still works, the framework's asset tooling, documentation, and @vite() Blade directive assume Vite. The migration brings: Faster dev builds: Vite uses native ES modules — no bundling during development Hot Module Replacement: Instant CSS/JS updates without full page reload Tree-shaking: ships code actually used Simpler configuration: No Webpack...
Read More
vite

Bootstrap ver.4 to ver.5 Compatibility Layer

Part of Real-World CoreUI Migration: From Laravel 8 to Laravel 11 Since this project kept c- prefixed layout classes from CoreUI, it needed a custom compatibility layer for Bootstrap 4 utility classes that were removed or renamed in Bootstrap 5: // components/_layout.scss // Styles for migration Bootstrap 4 to 5 // Bootstrap 4 spacing utilities removed in BS5 @media (min-width: 768px) { .mr-md-auto, .mx-md-auto { margin-right: auto !important; } .text-md-right { ...
Read More
bootstrap

Breaking Changes in CoreUI ver.3 to ver.5

Part of Real-World CoreUI Migration: From Laravel 8 to Laravel 11 CoreUI 3.4.0 was built on Bootstrap 4; CoreUI 5.1.2 is built on Bootstrap 5. This means two layers of breaking changes hit simultaneously — CoreUI's own API changes and Bootstrap's major version jump. SCSS Architecture: Complete Restructuring The SCSS import structure changed fundamentally. CoreUI 3 used a flat list of component imports via Webpack's ~ alias. CoreUI 5 requires a strict 7-step import order (matching...
Read More
coreui

Real-World CoreUI Migration - From Laravel 8 to Laravel 11

Introduction At the beginning, there was a simple requirement - to upgrade a small web blog from Laravel 8 to Laravel 11. In general, problems with upgrading Laravel versions are well known, but solutions for two areas: using the Tinymce editor for the admin dashboard CSS solution for the frontend application with Vite 5 and CoreUI 5 proved to be challenging. It is the second area, using the new versions of CoreUI and Vite, that we will discuss in the following text. Structural issues rooted in...
Read More
laravel

Incremental update of code on hosted server

Often during the development of a Laravel application, there are cases where it is necessary to implement the debugged code on a live server. It takes a long time to transfer all the code (including packages and modules) even at a high transfer rate. The solution is to update the latest, changed code files. In the case when the (vendor) packages are unchanged, and we need to update the files of our own application, we can use the incremental file transfer using the git versioning system. A prerequisite...
Read More
deployment