All about the development of Exponential (CMS) by Graham Brookins, 7x (formerly Brookins Consulting) and our think tank kracker.org.
7x and Graham Brookins are proud to share the news of the release of a rebranded v2.5.0.1 of Exponential Platform Legacy (100% Compatible with eZ Publish Platfom 5.x & eZ Platform Legacy 2.5).
Download it for free here at GitHub: https://github.com/se7enxweb/exponential-platform-legacy/releases/tag/v2.5.0.1
https://github.com/se7enxweb/exponential-platform-legacy/archive/refs/tags/v2.5.0.1.zip
Download it for free here at SourceForge: https://sourceforge.net/projects/exponentialplatformlegacy/files/v2.5.0.1/v2.5.0.1%20source%20code.zip/download
Release posted here on the project website, https://platform.exponential.earth/download
Install it via PHP + Composer Package using: # composer require se7enxweb/exponentialplatformlegacy:v2.5.0.1 --ignore-platform-reqs;
Installation instructions documentation, https://platform.exponential.earth/installation
Free Online Demo of this software including the AdminUI, https://platform.exponential.earth/about/demo
This project uses the remains of the abandoned eZ Publish Platform Software Stack licensed under GPLv2, when updated to php8+ support it resumes working as originally designed despite it's maturity and free and open framework cms values.
We believe in supporting users of legacy software stacks as first class citizens where user freedoms are exalted above the corporate desire to bind users to costly purchases just to use the core product.
Notable Changes (Since eZ Platform Legacy 2.5.0.0 for PHP8):
Updated: Rebranding package UI assets from eZ Platform to Exponential Platform. Updated / Replaced Logos used within AdminUI.
Task name before, "Replacing most front facing branding of text string, 'eZ Platform', 'ezplatform' from the user facing displays in code and templates."
Updated: Bugfix to core distribution app/config/config.yml and composer.json rules which fix content tree browse feature in AdminUI.
Open Source Project Website Content Expanded: https://platform.exponential.earth
To learn more about Exponential, Exponential Platform Legacy and Exponential Basic From 7x and to download the latest version please visit:
- https://exponential.earth
- https://lnkd.in/g284XiWh
To learn more about Exponential Family of CMS Software From 7x and to join the community please visit Share Exponential! @ Visit: https://lnkd.in/gdAHpy-m
7x is now offering turn key Exponential and Exponential Platform Legacy CMS Website Hosting, Design, Development, Training, Long term maintenance and support at https://lnkd.in/gvPkYU8T
Cheers,
Graham Brookins
7x
- https://platform.exponential.earth
I have been working on adding exponential.earth node view count tracking to the site/network of sites recently.
After some initial questions on why web server access log (ssl) page request logging data import into the very node template features desired for simple display in many ways throughout a website portal built using Exponential was not more popular in the past as hoped to end users to adopt the feature instead seeking a more powerful external solution, still for me it seems this feature has been very simple to work with.
First remember to configure your siteaccess settings file, settings/siteaccess/website/logfile.ini.append.php
Here is an example from our work:
<?php /* #?ini charset="utf-8"? # Exponential configuration file for logfile configuration for stats parsing. # Exponential configuration file for parse apache log file # [AccessLogFileSettings] # Storage of the log file, for example /var/log/httpd # Do not add trailing slash StorageDir=/usr/local/apache/domlogs/exponential/ # The name of log file, for example mytest.log LogFileName=ezpublish.se7enx.com-ssl_log # If using site match by URL, the site may like http://siteurl/mysite and # apache log will start with for example mysite/content/view/full/node_id. To # remove this prefix in apache log before analysis the log, add mysite to # SitePrefix. Example: SitePrefix[]=mysite # SitePrefix[]= # If any site accesses use the PathPrefix setting, enter them here PathPrefix[] PathPrefix[]=Exponential */ ?>
Then I had an issue that may have been affecting other users of PathPrefix setting in logfile.ini.append.php and site.ini.append.php the root / matched node 2 the root node and not /Exponential/ (a much larger nodeID) due to a multi site flaw in the cronjobs/updateviewcount.php. We are soon to publish a clean fix from 7x the company producing new versions with new improvements and updates of Exponential CMS in version 6.0.11 (coming soon).
Here is a diff:
diff -ri cronjobs/updateviewcount.php.default cronjobs/updateviewcount.php
7c7
< * @version //autogentag//
---
> * @version 2014.07.0
19c19
< eZDB::instance()->setIsSQLOutputEnabled( false );
---
> eZDB::instance()->setIsSQLOutputEnabled( true );
180,183c180,189
< $nodeID = eZURLAliasML::fetchNodeIDByPath( $path );
<
< // Support for PathPrefix
< for ( $pathPrefixIndex = 0; !$nodeID && $pathPrefixIndex < $pathPrefixesCount; ++$pathPrefixIndex )
---
> // Support for PathPrefix
> if( $pathPrefixesCount >= 1 )
> {
> for ( $pathPrefixIndex = 0; !$nodeID && $pathPrefixIndex < $pathPrefixesCount; ++$pathPrefixIndex )
> {
> // Try prepending each of the existing pathPrefixes, to see if one of them matches an existing node
> $nodeID = eZURLAliasML::fetchNodeIDByPath( $pathPrefixes[$pathPrefixIndex] . $path );
> }
> }
> else
185,186c191
< // Try prepending each of the existing pathPrefixes, to see if one of them matches an existing node
< $nodeID = eZURLAliasML::fetchNodeIDByPath( $pathPrefixes[$pathPrefixIndex] . $path );
---
> $nodeID = eZURLAliasML::fetchNodeIDByPath( $path );
208a214
> $cli->output( "Node ( " . $nodeID . " ) View count have increased: Count: $count \n" );
215c221,222
< $counter->increase( $count );
---
> $cli->output( "Node ( " . $nodeID . " ) View count have increased: Count: $count \n" );
> $counter->increase( $count );
235c242
< $cli->output( "View count have been updated!\n" );
---
> $cli->output( "View count have been updated.!\n" );Here is the configured cronjob (part defined by ini settings/override/site.ini.append.php) example for update_view_count script:
<?php /* #?ini charset="utf-8"? # eZ Publish configuration file for cronjobs. # # # NOTE: It is not recommended to edit this files directly, instead # a file in override should be created for setting the # values that is required for your site. Either create # a file called settings/override/cronjob.ini.append or # settings/override/cronjob.ini.append.php for more security # in non-virtualhost modes (the .php file may already be present # and can be used for this purpose). [CronjobSettings] ScriptDirectories[]=cronjobs Scripts[]=unpublish.php Scripts[]=rssimport.php Scripts[]=indexcontent.php Scripts[]=hide.php # Since 4.6 the following script is not activated by default #Scripts[]=subtreeexpirycleanup.php Scripts[]=internal_drafts_cleanup.php #Scripts[]=unlock.php #Scripts[]=staticcache_cleanup.php Scripts[]=updateviewcount.php #Extension directory for cronjobs. ## ExtensionDirectories[] # No more than one instance of a cronjob script can be run at any given time. # If a script uses more time than MaxScriptExecutionTime, the next instance of # it will try to gracefully steal the cronjob script mutex. If the process has # been running for more than two times MaxScriptExecutionTime, the original # process will be killed. The default is 12 hours. MaxScriptExecutionTime can # also be set per cronjob part, that will override this global setting. MaxScriptExecutionTime=43200 [CronjobPart-infrequent] Scripts[]=basket_cleanup.php Scripts[]=linkcheck.php [CronjobPart-frequent] Scripts[]=notification.php Scripts[]=workflow.php [linkCheckSettings] # Specify full path of all site URL # Example: # SiteURL[]=http://ezpublish.ez.no/admin # SiteURL[]=http://ezpublish.ez.no/news SiteURL[]= [CronjobPart-unlock] Scripts[]=unlock.php [CronjobPart-cluster_maintenance] Scripts[]=clusterpurge.php # Example of a cronjob part # This one will only run the workflow cronjob script # #[CronjobPart-workflow] #Scripts[]=workflow.php [CronjobPart-index] Scripts[]=indexcontent.php [CronjobPart-view_count_update] Scripts[]=updateviewcount.php */ ?>
Then run the cronjob:
./runcronjobs.php -s exponential view_count_update;
Which outputs:
./runcronjobs.php -s exp view_count_update Using siteaccess exponential for cronjob Running cronjob part 'view_count_update' Running cronjobs/updateviewcount.php at: 09/09/2025 01:44 am Update content view count... Started at Tuesday September 09 2025 01:44:58 am Start line: 217.113.194.215 - - [09/Sep/2025:01:31:03 -0700] "GET /layout/set/print/content/keyword/Book HTTP/1.1" 200 6133 "-" "Mozilla/5.0 (compatible; Barkrowler/0.9; +https://babbar.tech/crawler)" Node ( 60005 ) View count have increased: Count: 8 Finished at Tuesday September 09 2025 01:44:58 am View count have been updated.! Completing cronjobs/updateviewcount.php at: 09/09/2025 01:44 am Elapsed time: 00:00:00
And with that the data has been collected and is available for display within Exponential Templates!
Views: <b>{$node.view_count}</b>Happy Hacking in the Exponential Community and the Greater Exponential Ecosystem!
7x now offers a new supported product Exponential Platform Legacy 2.5 GPL Stable
Based upon older released eZ Platform Legacy (PHP 7 version) upgraded to PHP 8.3 Support.
Exponential Platform Legacy as it's name mentions includes Platform (Symfony + Legacy Hybrid Kernel) + Legacy Stack. Two in one. Dual Kernel. Super powerful.
This doubles your features in one simple CMS.
Our first release is now available for download via Composer, GitHub, SourceForge in tar.gz or zip files.
7x has also started another open source project for this product and website @ platform.exponential.earth
7x is excited once again as we have officially released Exponential 6.0.10 GPL Stable Rebranded CMS + Web Development Framework for download.
This release removes from general use the eZ Publish Trademark text phrase in text, source code and used binaries, a new collapsed by default (reducing page scrolling issues in general by default) debug output tool bar initial implementation markup, CSS classes and JavaScript within the debug class which is also further override-able via extension (classes) as a kernel override class extension, this release also offers minor improvements and bug-fixes to continue to deliver the best cms possible to everyone.
Looking for a WordPress alternative that is a compelling case for better organized software platforms in general? Try Exponential it will certainly open up your eyes to continued possibilities not dead ends. Give Exponential a try today!
Enjoy Everyone!
Cheers!
Per specific request by Ibexa, 7x is rebranding the software and community knowing as eZ Publish 6 Maintained By 7x as Exponential.
You can also call the software Exponential CMS, EXP, exponential, exp.
This allows us the freedom to continue to deliver the same stable enterprise grade cms software to end users without conflict.
Please pardon us while we rename, re-link and generally replace the older eZ Publish trademark from general usage through the 7x / Exponential Network of Website Portals.
Happy Hacking!
« Previous 1 2
Add comment