Components and Developments by Nikolay Fi1osof
Working with MODX since 2009, Nikolay Fi1osof gradually created components not only to solve specific tasks, but also to overcome limitations that hindered using MODX as a foundation for complex application projects.
Over time, these solutions began to complement each other. Some changed the way the frontend was built, others formed a reusable logic layer based on processors and xPDO, while others helped with debugging, importing data, observing application performance, and building and distributing custom packages. As a result, a dedicated engineering ecosystem effectively formed around standard MODX.
An important common trait was the aspiration not to replace the MODX core with a parallel framework, but to use and extend its basic mechanisms. Logic was moved to processors and classes whenever possible, while the presentation layer remained replaceable. For projects that continue to live ten or more years later, this acquires new meaning: architectural boundaries drawn in the past can significantly simplify modernization today.
This idea is currently being tested on real legacy projects and is connected to the general approach to Headless MODX and gradual migration. What matters is not the age of the technology in itself, but how tightly presentation, data, and application logic were coupled.
MODX Components
Below are the main components that were created directly as MODX extensions and operated within its architecture:
- Console β interactive MODX debugging β a PHP console inside the MODX Manager for testing code, objects, and processors.
- phpTemplates β PHP templates for MODX β an early way to turn a static MODX template into a PHP controller and connect third-party template engines.
- modxSmarty β Smarty as the MODX presentation layer β integration of Smarty with MODX and the practical evolution of the replaceable presentation layer idea.
- modxSite β logic and API layer of a MODX project β the main logic layer built around processors, xPDO, and reusable operations.
- modSociety β social core of MODX β a universal infrastructure layer for blogs, forums, and other social projects: blogs, topics, comments, ratings, and contextual access rights. Used in the updated MODX Club and later in NewsModxBox.
- shopModx β e-commerce based on processors and xPDO β an e-commerce layer that evolved around the same idea of minimal custom logic and utilizing MODX mechanisms.
- modMonitor β MODX project execution monitoring β a tool for observing real query execution and finding bottlenecks in complex projects.
- modImporter β universal data import in MODX β a universal step-by-step data importer with an emphasis on extensibility and debugging.
- cacheOptimizer β MODX cache optimization for large projects β a solution for projects where the standard MODX cache model stopped scaling.
- Vapor β packaging and migration of MODX projects β a tool for packaging an existing MODX project into a portable snapshot and deploying it to another MODX installation.
- modxSDK β development environment inside MODX β an attempt to create a built-in development environment for MODX.
- modxRepository β custom MODX package repository β infrastructure for distributing and updating custom transport packages via the standard MODX package manager.
Individually, these components solved different tasks. Together, they show the direction of development: from using MODX as a CMS with templates and snippets to MODX as an application platform around which one can build custom presentation, API, diagnostics, and software delivery layers.
Other Useful Git Repositories
Not all current developments around MODX are MODX packages. Some tasks are better solved outside the CMS itself β at the level of the development environment, infrastructure, and maintenance tools.
- modx-docker β reproducible environment for MODX projects β a standalone Docker solution for running specific versions of MODX Revolution in an isolated runtime. It focuses on development, research, and maintenance of projects that may depend on a specific combination of MODX, PHP, MySQL/MariaDB, and other environment parts. The source code is available in the MODX-Club/modx-docker repository.
Unlike the Extras listed above, such repositories are not necessarily installed inside MODX. They solve tasks surrounding the project as a whole and therefore represent a different architectural level.
This line complements the general story of Fi1osof: from MODX internals to modern architecture.