se7enxweb / exponentialbasic
Exponential Basic 2.4. Maintained by 7x. For General Use With PHP 8.3. Further feature releases in development. Please sponsor our work on the Exponential (CMS System). This is capable of being used standalone for a personal home page cms that is simple and easy to understand.
Fund package maintenance!
se7enxweb
Patreon
www.paypal.me/7xweb
account.venmo.com/u/se7enxweb
cash.app/$7xweb
se7enx.com
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 3
Open Issues: 0
Type:project
Requires
- php: ^8.2
- ext-dom: *
- ext-iconv: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-pcre: *
- ext-reflection: *
- ext-session: *
- ext-simplexml: *
- ext-spl: *
- zetacomponents/archive: ~1.5
- zetacomponents/authentication: ~1.4
- zetacomponents/authentication-database-tiein: ~1.2
- zetacomponents/base: ^1.9.4
- zetacomponents/cache: ~1.6
- zetacomponents/configuration: ~1.4
- zetacomponents/console-tools: ^1.7.3
- zetacomponents/database: ~1.5
- zetacomponents/debug: ~1.3
- zetacomponents/event-log: ~1.5
- zetacomponents/feed: ~1.4
- zetacomponents/image-conversion: ~1.4
- zetacomponents/mail: ~1.8
- zetacomponents/mvc-authentication-tiein: ~1.1
- zetacomponents/mvc-tools: ~1.2
- zetacomponents/persistent-object: ~1.8
- zetacomponents/signal-slot: ~1.2
- zetacomponents/system-information: ~1.1
- zetacomponents/webdav: ~1.1
Requires (Dev)
- phpunit/phpunit: 10.0.0
- rector/rector: ^2.0
- zetacomponents/php-generator: ~1.1
This package is auto-updated.
Last update: 2025-08-12 19:52:24 UTC
README
Exponential Basic is an open-source project to modernize the classic Exponential 2.x CMS, bringing its functionality up-to-date with PHP 8 standards while retaining its simplicity and community-focused design.
This project is led by 7x and aims to ensure the long-term viability of Exponential 2.x for community portal solutions and their future portability (export to another cms).
"Please Note: This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".
- Current release: Version 2.4.0.0 (Stable) Release
- Download: zip or tar.gz
- LICENSE: GNU GPLv2 (or later)
- Website: https://basic.exponential.earth
- Current unreleased Version In Development: Version 2.4.0.1 (Stable)
- Source Code https://github.com/se7enxweb/ezpublishbasic
- Maintainer: 7x
- Document Last revised: 2025.08.10
About
Read more about our project and it's historic value added services it provided early users, developers and businesses in the early 2000s era of web based application development environments and their required systems.
Installation via Git & GitHub
Follow these steps to set up Exponential Basic via GitHub:
- Clone the repository:
git clone https://github.com/se7enxweb/ezpublishbasic.git
- Navigate to the project directory:
cd ezpublishbasic
- Install dependencies:
composer install
Installation via Composer & Packagist
Follow these steps to set up Exponential Basic via Composer:
- Clone the latest release:
composer create-project se7enxweb/ezpublishbasic -s dev ezpublishbasic; cd ezpublishbasic;
Configure your installation of the software package
- Configure your environment:
-
Web Server setup a new virtual host for the website(s) that power this software package. There are two by default. User and Admin websites.
- You will require separate virtual hosts for www and admin domains.
-
Database Server
- You will require a new database and database user and password access configured.
-
Filesystem User and Group Permissions
-
Generate Exponential Basics Autoloads
- Use this command:
bin/shell/php/ezpgenerateautoloads.php -k;
- Use this command:
-
Create the two most used shell script alias commands via Shell script command aliases or by creating symbolic links in Linux / Unix / BSD / GNU.
- Use this command:
ln -s ./bin/shell/php/ezpgenerateautoloads.php regenerate-autoloads; ln -s bin/shell/clearcache.sh clear-cache;
-- Then you can run./reginerate-autoloads -k;
(your shell autocomplete feature will make this easy to type twice. also shell aliases) or run./clear;
.
- Use this command:
- Set up your database in your database server.
-
You will first need to generate the database SQL file. Run this command:
cd /path/to/ezpb/; ./bin/shell/db-generate.sh
-
Then load the MySQL Schema SQL file generated from: ```mysql -u user databaseName -p < ./update/generated/publish_mysql.sql;``
-
Then load the SQLite Schmea SQL SQL file generated from: ```sqlite3 var/site/db/site.db < ./update/generated/publish_sqlite.sql;``
2.1 Install Default Content Database Data and Image File Content into a Mysql Database
- Then load the MySQL Default Data SQL file from:
mysql -u user databaseName -p < ./update/database/content/data_mysql.sql;
- Then uncompress the Default File Data tar.gz file from:
tar -vzxf ./share/data/data.tar.gz;
- Then finally run permissions assignment the script from:
./bin/shell/modfix.sh;
2.1 Install Default Content Database Data and Image File Content into a SQLite Database
- Then load the MySQL Default Data SQL file from:
sqlite3 var/site/db/site.db < ./update/database/content/data_sqlite.sql;
- Then uncompress the Default File Data tar.gz file from:
tar -vzxf ./share/data/data.tar.gz;
- Then finally run permissions assignment the script from:
./bin/shell/modfix.sh;
- Update settings files
Update settings file settings/override/site.ini.append.php
as needed to include the default settings customized to your own needs.
- Update site name, domain hostnames for user and admin websites, default design, database name and database connection username and password settings all in the site.ini in settings/override/site.ini.append.php
- Configure .htacesss or Web Server Mod_Rewrite Rules
This will direct all trafic by hostname match to index.php or index_admin.php as needed.
4.1 Add your user website domain name (escape periods for syntax match) to the provided .htaccess file configuration.
4.2 Add your admin website domain name (escape periods for syntax match) to the provided .htaccess file configuration.
4.3 Add your IPv4 address (escape periods for syntax match) to the provided .htaccess file configuration.
-
Run shell script to set permissions for webserver to own the user and group and have file permissions of 775. Run shell script,
./bin/shell/modfix.sh;
-
Initialize the application in your web browser. We recommend loading the admin site first but it doesn't matter much.
Default Admin Account in Exponential Basic
- Username: 'admin'
- Password: 'publish'
Example usage of user login view
- Example usage via web browser using eZ User URL: https://basic.demo.exponential.earth/user/login
- Example usage via web browser using eZ Admin URL: https://admin.basic.demo.exponential.earth/user/login
Note: Your work is now done. Enjoy the free software and a healthy snack. :)
Up next default content creation in the admin for your first visitor to see!
Documentation
Further documentation can be read from the documentation directory README.
More information can be found at our project website
Older documentation on the core of our framework design fundamentals should be studied at the Older v2 Era Documentation @ Wayback Machine
This includes the following key documentation (from the above doc link archive):
Features
Exponential Basic provides a feature rich cms based website building platform that is ready to use upon it's quick installation setup.
-
Webserver support: Any web server (Really) preferably one that supports a url rewriting module like Apache's mod_rewrite.
-
PHP Support for PHP 8.1+, 8.2+, 8.3+, 8.4+
-
Database Support for MySQL, MariaDB (via the MySQL Driver) PostgreSQL, SQLite, Informix and More through plugin based system.
-
Simple application kernel design. Easy to learn and change.
-
Module based kernel application functionality. Extendable by default (Settings based).
-
Exponential 2 Kernel Transformed into Exponential 3 Kernel in Directory Structure and Storage of Code. This was then transformed into a hybrid of Exponential 2.4.0.0 kernel and Exponential 6 kernel sub system classes forming Exponential v2.4.0.1 our second version.
-
Administration that makes creating content quick and simple.
-
User side provides full functionality to create content through existing module views. This helps your users engage with your site.
-
Exponential (Basic) is one of the very oldest CMS Projects under the GPL with over 20 years of history. It stands as the leader in cms design throughout this time, leaving others to refactor their own solutions while Exponential Basic Developers just keep developing solutions with little need to refactor.
-
Exponential Basic is Free Software! We respect your freedoms. Try our software and join our community.
-
Support / Discussion Forums available on Share Exponential! Forums for Exponential Basic
-
Heavily tested software that is supported. If you find an issue we will fix it promptly.
-
Refactored kernel provides for future expansion to begin to provide support for even more extension based functionality. -- Autoloadable functionality within a plugin known as an extension -- Extensions could contain designs/settings/classes/modules/sql/doc/bin/etc. -- Extensions could be loaded based on settings based whitelist array of extension names.
-
eZ is a web based application suite. It delivers functionality ranging from publishing, web logs and diaries, through web shop functionality like shopping carts and wishlists and forums to intranet functions like contact handling and bug reporting.
-
The software uses caching and other optimization techniques to speed up page serving. It handles users, user preferences and user tracking through a user database and both cookie-based and non-bookie sessions.
-
It supports statistics for page views, links to followed and banner ads, both images and HTML with presentation logic.
-
The package lends itself to customization, from changing the look and feel by changing templates, localizing the languages and other internationalization issues to add new functionality.
-
The target audience for eZ is e-commerce, ASP (Application Service Providers), BSP (Business Service Providers), news publishing, intranets, bug reporting, content management, discussion boards, FAQ and knowledge handling, file and image management, group ware, calendaring, polls, todo lists, appointments as well as personal web sites.
-
Advertising with statistics
-
Article Publication and Management
-
Bug handling and reporting
-
Calendar functionality for creating appointments and events
-
Contact handling for keeping track of people and businesses
-
File manager for keeping track of uploaded files
-
Moderated forums for discussions
-
Image manager for keeping track of uploaded images
-
Link manager which is used to categorize links
-
News Feeding, fetch news and headlines from other sites and to incorporate in your own
-
Poll module for creating user polls.
-
Session module for keeping track of users and their preferences
-
Statistics module for information about page views and visitors
-
To-do module for assigning tasks to people
-
Trade module which is an online shop, with shopping cart and Wish list
-
User management for registering users, giving access to different groups to different parts of the site
Learn more about Exponential Basic features in detail. Study our documentation, FEATURES.md.
Software Features Roadmap
Learn more about Exponential Basic features roadmap in detail. Study our documentation, ROADMAP.md.
PHP Compatability
For the latest information about the development of php 8 compatibility read our documentation, COMPATIBILITY.md - Exponential Basic Module Compatibility with PHP8.x.
Module Documentation
For the latest detailed list of views in Exponential Basic read our documentation, MODULES.md.
Contributions
We are currently seeking others with Exponential 2 code improvements to share them with our project to grow the default installation feature set even further.
Community Exponential 2 Modules
The worldwide eZ community on the internet likely holds old copies of custom modules. Some community members may be willing to contribute their modules for inclusion in Exponential Basic.
How to Contribute
We welcome contributions from the community! To get involved:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request.
We welcome you to create new code not just bugfix existing code:
- You could contribute a new module providing additional desired features of any kind.
- You could add new template system support for additional templating engines like smarty or twig.
- You could add new database driver support for additional database server implementations as needed or desired. Note: they are very simple in design currently and quick to get working; 7x just added SQLite Database Support in the latest GitHub version (v2.4.0.1; unreleased officially)
- You could help extend the kernel to support cleaner features like settings based debug output by type. We are working on this in the near future.
- You could help extend the language translation files to support more complete translation of all language file strings and phrases. Also you could provide new translations in new languages based on eng_US (the new default for 2.4.0.1).
- You could help extend the library of site designs by providing a new design folder implementation. 7x just did this in providing the ecommerce design and related module templates design + templates based on eng_US language for strings in v2.4.0.1. It's very simple to create a custom design and share it.
Try today for starters. Become a Exponential Contributor and Share your work with everyone.
Check out the Contributing Guidelines for more details.
Developed with ❤️ by 7x. The company driving eZ in 2025 and beyond.