Exponential Platform Nexus v3 is the 7x fork and customisation of the Netgen Media Site blueprint for eZ Platform 3.3 OSS. It runs on Symfony 5.4 LTS, PHP 8.0+ (tested on PHP 8.5), and includes the 7x
se7enxweb/site-bundle2.x fork that replacesnetgen/site-bundlevia Composer'sreplacedirective, and theExponentialMediaInstallerwith SQLite composite primary key workaround for correct content versioning on SQLite databases.This repository is the starting skeleton for all Nexus-branded Exponential Platform v3 projects. Read this file and doc/sevenx/INSTALL.md before starting.
- Project Notice
- Project Status
- Who is 7x
- What is Exponential Platform Nexus v3?
- Technology Stack
- Requirements
- Quick Start
- Main Features
- Installation
- Key CLI Commands Reference
- Database Conversion
- Access Points
- Issue Tracker
- Where to Get More Help
- How to Contribute
- Copyright
- License
- Additional Documentation
"This project is not associated with the original eZ Publish software or its original developer, eZ Systems. It is an independent, 7x-driven continuation and customisation."
This skeleton is developed and maintained by 7x (se7enx.com) and is used as the canonical starting point for client projects built on Exponential Platform v3 OSS with the Netgen Media Site technology stack.
Active — branch 1.1.0.x is the current development line for Platform v3.
The Nexus v3 skeleton targets:
- Symfony 5.4 LTS kernel
- PHP 8.0+ (PHP 8.5 is the tested and recommended runtime)
- eZ Platform 3.3 Open Source Edition (via
se7enxweb/ezplatform-kernel ~1.3) - Netgen Layouts 1.4.x with eZ Platform Site API integration
- Netgen Media Site content model and demo data
Ongoing work focuses on:
- PHP 8.0 / 8.1 / 8.2 / 8.5 full compatibility across all dependencies
- SQLite zero-config development database (including composite PK workaround via
ExponentialMediaInstaller::fixSqliteCompositePrimaryKeys()) - Dependency upgrades across Composer and Yarn ecosystems
7x is the North American corporation driving the continued development, support, hosting, and community growth of Exponential Platform and related open source projects. 7x has supported Exponential Platform customers for over 24 years (previously as Brookins Consulting).
7x offers:
- Commercial support subscriptions for Exponential Platform deployments
- Hosting on the Exponential Platform cloud infrastructure (
exponential.earth) - Custom development, migrations, upgrades, and training
- Community stewardship via share.exponential.earth
Exponential Platform Nexus v3 is a Symfony 5.4 LTS application skeleton combining:
- eZ Platform 3.3 Open Source Edition — the Symfony-native content management platform providing the content repository, REST API v2, GraphQL, and the eZ Platform Admin UI
- Netgen Media Site — a production-grade blueprint skeleton with demo content model, Netgen Layouts, Netgen Content Browser, Netgen Information Collection, and the full Netgen toolkit for eZ Platform
- 7x Customisations — the
se7enxweb/site-bundle2.x fork (replacingnetgen/site-bundlevia Composerreplacedirective) and theExponentialMediaInstaller::fixSqliteCompositePrimaryKeys()SQLite workaround for correct content versioning support
The skeleton is distributed via the se7enxweb/exponential-platform-nexus GitHub
repository and is composed using the se7enxweb/oss Composer metapackage.
| Component | Value |
|---|---|
| Language | PHP 8.0+ (PHP 8.5 recommended) |
| Framework | Symfony 5.4 LTS |
| CMS Core | eZ Platform 3.3 Open Source Edition |
| ORM / DBAL | Doctrine ORM + DBAL 3.x |
| Template Engine | Twig 3.x |
| Frontend Build | Webpack Encore + Yarn 1.x + Node.js 18 or 20 |
| Page Builder | Netgen Layouts 1.4.x |
| Search | Legacy search (default) · Solr 8.x (optional) |
| HTTP Cache | Symfony HttpCache (default) · Varnish 6/7 (optional) |
| App Cache | Filesystem (default) · Redis 6+ (optional) |
| Database | SQLite 3.35+ (dev default) · MySQL 8.0+ · MariaDB 10.3+ · PostgreSQL 14+ |
| API | REST API v2 · GraphQL (schema auto-generated) |
| Admin UI | eZ Platform v3 Admin UI (/adminui/) · ngAdmin (/ngadminui/) · Legacy Admin (/legacy_admin/) |
| Dependency Mgmt | Composer 2.x · Yarn 1.x |
| Metapackage | se7enxweb/oss ~3.3.0 |
- PHP 8.0+ (PHP 8.5 recommended, tested on PHP 8.5.5)
- PHP extensions:
gd,curl,json,xsl,xml,intl,mbstring,ctype,iconv,pdo_sqliteorpdo_mysqlorpdo_pgsql - Composer 2.x
- Node.js 18 or 20 (via nvm recommended)
- Yarn 1.22.x (via corepack after
nvm use 18ornvm use 20) - A web server: Apache 2.4 or Nginx 1.18+ (or Symfony CLI for development)
- A database: SQLite 3.35+ (dev), MySQL 8.0+, MariaDB 10.3+, or PostgreSQL 14+
| Component | Minimum | Recommended |
|---|---|---|
| PHP | 8.0 | 8.5 |
| Composer | 2.x | latest 2.x |
| Node.js | 18 | 18 LTS or 20 LTS (via nvm) |
| Yarn | 1.x | 1.22.22 (corepack) |
| MySQL | 8.0 | 8.0+ (utf8mb4) |
| MariaDB | 10.3 | 10.6+ |
| PostgreSQL | 14 | 16+ |
| SQLite | 3.35 | 3.39+ (dev/testing) |
| Redis | 6.0 | 7.x (optional) |
| Solr | 8.x | 8.11.x (optional) |
| Varnish | 6.0 | 7.1+ (optional) |
| Apache | 2.4 | 2.4 (event + PHP-FPM) |
| Nginx | 1.18 | 1.24+ |
# 1. Clone the project
git clone [email protected]:se7enxweb/exponential-platform-nexus.git
cd exponential-platform-nexus
git checkout 1.1.0.x
# 2. Install PHP dependencies
COMPOSER_ALLOW_SUPERUSER=1 composer install
# 3. Configure environment (SQLite zero-config default — no server needed)
cp .env .env.local
# Edit .env.local: set APP_SECRET, and set DATABASE_URL for SQLite or MySQL/PostgreSQL
# 4. Install the demo database (creates var/data_dev.db automatically for SQLite dev)
php bin/console exponential:install exponential-media --no-interaction
# 5. Fix permissions for the SQLite file (web server must be able to write it)
chmod 660 var/data_dev.db
chown $USER:www-data var/data_dev.db # replace www-data with your FPM user
# 6. Activate Node.js 18 (or 20)
source ~/.nvm/nvm.sh && nvm use 18
corepack enable
# 7. Install Node dependencies
yarn install
# 8. Build site frontend assets (CSS/JS)
yarn build:prod
# 9. Publish Symfony bundle assets
php bin/console assets:install --symlink --relative public
# 10. Build the eZ Platform Admin UI assets
yarn ez # builds eZ/Ibexa admin UI assets
# 11. Generate GraphQL schema
php bin/console ibexa:graphql:generate-schema
# 12. Clear the cache
php bin/console cache:clear
# 13. Start the Symfony CLI dev server
symfony server:startAfter install, the following URLs are live:
| URL | Description |
|---|---|
https://127.0.0.1:8000/ |
Default siteaccess (public front end) |
https://127.0.0.1:8000/adminui/ |
eZ Platform v3 Admin UI |
https://127.0.0.1:8000/ngadminui/ |
Netgen Admin UI |
https://127.0.0.1:8000/legacy_admin/ |
Legacy eZ Publish Admin |
https://127.0.0.1:8000/api/ezp/v2/ |
REST API v2 |
https://127.0.0.1:8000/graphql |
GraphQL endpoint |
https://127.0.0.1:8000/adminui/nglayouts/admin |
Netgen Layouts admin |
Default credentials: admin / publish — change immediately after first login.
See doc/sevenx/INSTALL.md for the complete step-by-step installation and operations guide.
- Full eZ Platform 3.3 OSS content repository (content classes, versions, translations, locations)
- Netgen Layouts 1.4.x page builder with eZ Platform and eZ Platform Site API integration
- Netgen Content Browser for content selection in layouts
- Netgen Information Collection (contact forms, data collection)
- Netgen eZ Platform Site API (high-performance content read API, custom
twigGetAttribute) - Netgen Tags field type (taxonomy/tagging)
- RichText field type with XSL/AlloyEditor support
- REST API v2
- GraphQL API (auto-generated from content model)
- eZ Platform v3 Admin UI (at
/adminui/) - Netgen Admin UI (at
/ngadminui/) - Legacy eZ Publish Admin UI (at
/legacy_admin/) - Netgen Layouts Admin UI (at
/adminui/nglayouts/admin) - Webpack Encore frontend build pipeline (Node.js 18 or 20, Yarn 1.x)
- SQLite zero-config database (default for development)
- MySQL 8.0+ / MariaDB 10.3+ / PostgreSQL 14+ for production
- Multi-siteaccess support
- Solr search engine support (optional)
- Varnish HTTP cache support (optional)
- Redis application cache support (optional)
- Sentry error tracking integration
- Kaliop Migration Bundle for content migrations
- Google reCAPTCHA v3 integration
se7enxweb/mediata-ezpage-fieldtype-bundle(eZPage field type)
git clone [email protected]:se7enxweb/exponential-platform-nexus.git
cd exponential-platform-nexus
git checkout 1.1.0.xSee doc/sevenx/INSTALL.md for the complete installation and operations guide covering:
- Requirements (PHP 8.0+, Node.js 18/20, etc.)
- Environment configuration (
.env.localreference) - Database setup (SQLite, MySQL/MariaDB, PostgreSQL)
- The
se7enxweb/site-bundle2.x fork — what it does and why - SQLite composite PK workaround (
fixSqliteCompositePrimaryKeys()) - Web server setup (Apache 2.4, Nginx, Symfony CLI)
- File & directory permissions
- Frontend asset build (Webpack Encore / Yarn — Node.js 18 or 20 required)
- Admin UI asset build (
yarn ez) - GraphQL schema generation
- Search index initialisation
- Cache management
- Day-to-day operations (start / stop / restart / deploy)
- Production deployment checklist
- Cron job setup
- Solr search engine integration (optional)
- Varnish HTTP cache integration (optional)
- Troubleshooting
- Database conversion (SQLite ↔ MySQL ↔ PostgreSQL)
php bin/console list # list all commands
php bin/console cache:clear # clear dev cache
php bin/console cache:clear --env=prod # clear prod cache
php bin/console cache:warmup --env=prod # warm up prod cache
php bin/console assets:install --symlink --relative public # publish bundle assets
php bin/console debug:router # list all routes
php bin/console debug:container # list all services
php bin/console debug:config ezpublish # dump eZ configphp bin/console exponential:install exponential-media --no-interaction # install demo DB
php bin/console exponential:reindex # reindex search
php bin/console ibexa:cron:run # run cron (alias: ezplatform:cron:run)
php bin/console ibexa:graphql:generate-schema # regenerate GraphQL schema
php bin/console liip:imagine:cache:remove # clear image variation cache
php bin/console fos:httpcache:invalidate:path / --all # purge HTTP cachephp bin/console doctrine:migration:migrate --allow-no-migration # run migrations
php bin/console doctrine:migration:status # migration status
php bin/console doctrine:schema:validate # validate schema# Always activate Node.js 18 (or 20) first
source ~/.nvm/nvm.sh && nvm use 18
corepack enable
# Site frontend
yarn build:prod # build site CSS/JS for production (minified)
yarn build:dev # build site CSS/JS with source maps
yarn watch # watch mode — auto-rebuild site assets on change
# Admin UI (eZ Platform / Ibexa admin UI assets)
yarn ez # builds eZ/Ibexa admin UI assets (production)
# Dependencies
yarn install # install / sync all Node dependenciesSee doc/sevenx/INSTALL.md — Section 22: Database Conversion
for the full command reference covering all conversion paths, tool install instructions,
.env.local DSN updates, and the post-conversion checklist.
Supported engines and conversion paths:
| From | To | Tool |
|---|---|---|
| MySQL / MariaDB | SQLite | mysql2sqlite (MIT) |
| PostgreSQL | SQLite | pgloader (BSD-like) |
| SQLite | MySQL / MariaDB | sqlite3-to-mysql (MIT) |
| SQLite | PostgreSQL | pgloader (BSD-like) |
| MySQL / MariaDB | PostgreSQL | pgloader (BSD-like) |
| PostgreSQL | MySQL / MariaDB | pgloader + CSV export |
| Oracle | PostgreSQL | ora2pg (GPL v3) — then use any path above |
After a fresh install with the Symfony CLI dev server (symfony server:start), all of
the following URLs are live. Replace https://127.0.0.1:8000 with your actual domain
in production.
URL matching in v3 uses URIElement: 1 siteaccess matching — the first URI path segment
selects the siteaccess. The default siteaccess (fh_eng) is served at the root /.
| URL | Description |
|---|---|
https://127.0.0.1:8000/ |
Default siteaccess public front end |
https://127.0.0.1:8000/adminui/ |
eZ Platform v3 Admin UI — login: admin / publish |
https://127.0.0.1:8000/ngadminui/ |
Netgen Admin UI |
https://127.0.0.1:8000/legacy_admin/ |
Legacy eZ Publish Admin |
https://127.0.0.1:8000/api/ezp/v2/ |
REST API v2 |
https://127.0.0.1:8000/graphql |
GraphQL endpoint |
https://127.0.0.1:8000/adminui/nglayouts/admin |
Netgen Layouts admin interface |
https://127.0.0.1:8000/adminui/nglayouts/app |
Netgen Layouts iframe editor |
Default credentials: admin / publish — change immediately after first login.
Bugs, improvements and feature requests: https://github.com/se7enxweb/exponential-platform-nexus/issues
Security issues: please report responsibly via email to [email protected]
| Resource | URL |
|---|---|
| Platform Website | platform.exponential.earth |
| Documentation Hub | doc.exponential.earth |
| Community Forums | share.exponential.earth |
| GitHub Organisation | github.com/se7enxweb |
| This Repository | github.com/se7enxweb/exponential-platform-nexus |
| DXP Metapackage | github.com/se7enxweb/oss |
| Issue Tracker | Issues |
| Telegram Chat | t.me/exponentialcms |
| 7x Corporate | se7enx.com |
| Support Subscriptions | support.exponential.earth |
- Fork
se7enxweb/exponential-platform-nexuson GitHub - Clone your fork and create a feature branch:
git checkout -b feature/my-improvement - Install the dev stack per doc/sevenx/INSTALL.md
- Make your changes and test thoroughly
- Push your branch and open a Pull Request against
1.1.0.x
When contributing fixes that touch the se7enxweb/site-bundle fork, changes must be
committed to the fork repository first, then the updated composer.lock committed here.
Copyright (C) 1998–2026 7x (formerly Brookins Consulting). All rights reserved.
Copyright (C) 1999–2025 eZ Systems AS / Ibexa AS. All rights reserved.
Copyright (C) 2013–2026 Netgen. All rights reserved.
This source code is available under the following licenses:
A — GNU General Public License, version 2 Copyleft open source license with ABSOLUTELY NO WARRANTY. See: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Copyright © 1998–2026 7x (se7enx.com). All rights reserved unless otherwise noted.
- 7x Installation & Operations Guide — start here for all installation, configuration, and operations details
- Netgen Install Instructions — upstream Netgen Media Site install guide
- Frontend Setup — webpack/yarn frontend asset guide
- Search Suggestions — search configuration
- Apache vhost example
- Nginx vhost example