All about the development of eZ Publish by Graham Brookins, 7x (formerly Brookins Consulting) and our think tank kracker.org.
I am very excited to announce the release of eZ Publish 6.0.9 which includes the new PHP 8.4 support to the kernel.
The headless cms crud rest apis were released originally as ezprestapi extension which replaces the ezprestapiprovider extension.
This is the first which we are bundling this extension (enabled by default installation) but not enabled via configuration settings to ensure a secure default installation. That said it's very easy to get started by configuring it for use and accessing the REST APIs.
My first attempt was to enable this package for use on digg.one to allow for remote content publishing apis to use to create stories nodes remotely in eZ. It works perfectly and it's very secure by design.
I would like to write an article with example source code showing how to consume and create content using this extensions HTTP APIs for rest calls.
There are very minimal booting changes from the previous release which require PHP 8.1 support. This means as of 6.0.8 PHP 7 Support is Deprecated and You must use PHP 8.1 or greater from now on. This is best for security reasons related to PHP support of older releases being minimal at best.
This means with eZ Publish 6.0.9 you can use the new PHP 8.4 support on your existing eZ Publish website with a simple backup and upgrade.
If you must continue to use PHP7 you can use the latest release from the 6.0.7 branch / release for the foreseeable future.
I am very excited to announce the release of eZ Publish Basic 2.4.0.0 which includes the new PHP 8.3 support to the kernel.
eZ Publish Basic is based upon an eZ Publish 2.x module based kernel now reorganized and refactored to use the main directory named 'kernel/' to hold all of the eZ Publish Basic Modules (presently, including your custom modules (refactor to operate within the eZ Publish Basic Kernel Layout)).
eZ Publish Basic comes with a strong recommendation to use mod_rewrite provided by Apache and many other similar web servers to route all requests through our main front index.php file. Same for admin virtual host based website administration.
eZ Publish Basic is the same cms as originally introduced as eZ Publish 1.0 to 2.2.9 (last version; surprisingly minimal changes in this time) with regards to base features provided and supported, yet eZ Publish Basic goes further with the integration of eZ Region from (Brookins Consulting; 2001) and many features developed to refine the e-commerce store integration not seen in years or ever. This makes eZ PB a more usable solution for USA based users. More feature expansion is expected in future releases as we release more code over time.
This means with eZ Publish Basic 2.4.0.0 you can use the new PHP 8.3 support on your existing eZ Publish 2 website(s) with a simple backup and upgrade. Note: eZ PB DB Schema is more improved than changed with few differences other than bugfixes.
Pull your older eZ Publish 2 code out of your hard drive records and take a walk down memory lane and upgrade today! Some development may be required.
7x plans to continue to support and develop eZ Publish Basic for the foreseeable future. Contact me if you are interested in buying 7x Paid Support to Hire me to help you reach your goals faster than alone.
I am very excited to announce the release of eZ Publish 6.0.8 which includes the new PHP 8.4 support to the kernel.
These were very minimal booting changes which require PHP 8.1 support. This means as of 6.0.8 PHP 7 Support is Deprecated and You must use PHP 8.1 or greater from now on. This is best for security reasons related to PHP support of older releases being minimal at best.
This means with eZ Publish 6.0.8 you can use the new PHP 8.4 support on your existing eZ Publish website with a simple backup and upgrade.
If you must continue to use PHP7 you can use the latest release from the 6.0.7 branch / release for the foreseeable future.
7x Releases eZ Publish 6.0.7 On Valantines Day With New Copy Tree Feature for the eZ Administration!
I am very excited to announce the release of eZ Publish 6.0.7 which includes the new admin feature added into the sub items display which allows the copying of subtree selections of content locations (nodes/objects/folders/articles/etc) to a new existing location by default.
This means with eZ Publish 6.0.7 you can use the admin3 design to copy content on your website to exiting locations with ease, perhaps using your cell phone!
I bring news of a new solution 7x is working on for developers with an interest to syndicate information without an rss / atom / xml / etc feed available.
Today if you want to include your companies YouTube Playlist videos (say commercials or educational materials) you can embed this content manually within the administrator content editing features available by default.
What if you want to sync content from YouTube like your companies playlist video content (the meta data not the actual videos, playback is through YouTube's embed video URL APIs) into the eZ Content Tree Automatically?
Currently this is possible today without a feed via old fashioned web page scraping of specific account playlists video title and video URL URI v element data (video's id) using RSS-Bridge.
Normally RSS-Bridge (doc) is a standalone application well written in OOP PHP. Because documentation on using the library standalone is limited we created a solution to bootup the software layers and call the provided YouTube Playlist Data Collection APIs from RSS-Bridge within an eZ Publish Request Scope within a eZ Publish Cronjob Part Script.
Filename: extension/sevenx_rss_bridge/cronjobs/7xRssBridgeYoutubeFeedImport.php
<?php if ( !$isQuiet ) { $cli->output( "Creating youtube video object(s) ..." ); } $count = SevenxRssBridgeFeedImport::importFeedContentObjects(); if ( !$isQuiet ) { $cli->output( "Number of objects created: $count" ); $cli->output( "Done." ); } ?>
Got your attention now with a stub for calling the features we need within eZ (Remember to enable via cronjob settings and clear all caches).
Filename: extension/sevenx_rss_bridge/settings/cronjobs.ini.append.php
<?php /* #?ini charset="utf8"? [CronjobSettings] ExtensionDirectories[]=sevenx_rss_bridge [CronjobPart-youtube-feed-import] Scripts[]=7xRssBridgeYoutubeFeedImport.php */ ?>
Next we have the worker class that does the work to fetch the YouTube information, create the YouTube videos (Meta Data Based Embeds in a Playlist) underneath Youtube Playlist Nodes Containing the Playlist Meta Data.
With this we first create the playlist nodes (locations) with the required playlist YouTube embed URL + Parameters (like list which helps provide long form content within a playlist). With the following code in place (remember to regenerate eZ's Autoloads) we can call the cronjob and sync / import the data from YouTube into eZ Publish Content Tree.
Filename: extension/sevenx_rss_bridge/classes/SevenxRssBridgeFeedImport.php
<?php class SevenxRssBridgeFeedImport { public static function importFeedContentObjects() { // Settings $storageNodeID = eZINI::instance('sevenx_videos.ini')->variable('PlaylistSettings','PlaylistNodeID'); // Fetch Playlists Objects to store the videos underneath. $playlists = self::fetchNodeContent($storageNodeID ); // Initialize the count of imported items $importedCount = 0; // Include RSS-Bridge autoloader require_once('vendor/rss-bridge/rss-bridge/lib/bootstrap.php'); foreach ( $playlists as $playlist ) { if ( $playlist->attribute('children_count') <= 0 ) { $playlistsNodeID = $playlist->attribute('node_id'); $dm = $playlist->dataMap(); $playlistID = $dm[ 'youtube_url' ]->content(); if ( !str_contains($playlistID, 'videoseries' ) ) continue; $playlistID = explode( 'list=', $playlistID )[1]; $bridgeParams = [ 'p' => $playlistID ]; try { $main = new RssBridge(); $bridgeFactory = new BridgeFactory(); // Directly instantiate the YouTubeBridge class $bridge = $bridgeFactory->create( YoutubeBridge::class ); // Set parameters $bridge->setInput( $bridgeParams ); // Fetch data $data = $bridge->collectData(); $items = $bridge->getItems(); //var_dump( $items ); // Process each video entry foreach ($items as $item) { $importedCount += self::importYouTubeVideo($item, $playlistsNodeID, $playlistID); } } catch (Exception $e) { echo "Error: " . $e->getMessage() . "\n"; return 0; // Return 0 in case of error } } } echo "Successfully imported YouTube videos.\n"; return $importedCount; // Return the count of imported items } private static function importYouTubeVideo($item, $storageNodeID, $playlistID) { $adminUser = 'admin'; // no password used so safe and available by default. change if needed. $classID = 48; // Note: Please change to your video class. // Extract video data $title = $item['title']; $description = $item['content']; $url = $item['uri']; $video = explode( '?v=', $url )[1]; $url = "https://www.youtube.com/embed/$video?si=" . $video . '&list=' . $playlistID; // var_dump($item['title']); // var_dump($url); // die('fin'); // return 1; // Fetch admin user $user = eZUser::fetchByName( $adminUser ); $userCreatorID = $user->attribute( 'contentobject_id' ); // Create object $defaultSectionID = 1; $class = eZContentClass::fetch( $classID ); $contentObject = $class->instantiate( $userCreatorID, $defaultSectionID ); // Set remote_id content //$remoteID = "contentserver:incomingnode"; //$contentObject->setAttribute( 'remote_id', $remoteID ); $contentObject->store(); // Fetch related IDs $contentObjectID = $contentObject->attribute( 'id' ); //$userID = $contentObjectID; // Create node assignment $nodeAssignment = eZNodeAssignment::create( array( 'contentobject_id' => $contentObjectID, 'contentobject_version' => 1, 'parent_node' => $storageNodeID, 'is_main' => 1 ) ); $nodeAssignment->store(); // Set version modified and status content $version = $contentObject->version( 1 ); $version->setAttribute( 'modified', time() ); $version->setAttribute( 'status', eZContentObject::STATUS_DRAFT ); $version->store(); // Fetch contentObject IDs $contentObjectID = $contentObject->attribute( 'id' ); $contentObjectAttributes = $version->contentObjectAttributes(); // Set Name $contentObjectAttributes[0]->setAttribute( 'data_text', $title ); $contentObjectAttributes[0]->store(); // Set Name $contentObjectAttributes[2]->fromString( "$url|$title" ); $contentObjectAttributes[2]->store(); // Publish content object to top level root node $operationResult = eZOperationHandler::execute( 'content', 'publish', array( 'object_id' => $contentObjectID,'version' => 1 ) ); echo "Imported video: $title\n $url\n"; return 1; // Return 1 to indicate successful import } public static function fetchNodeContent( $nodeID = 2, $limit = false, $classIdentifierArray = array( 'playlist' ) ) { $node = eZContentObjectTreeNode::fetch($nodeID); if (!$node) { echo "Node with ID $nodeID not found.\n"; return []; } // Fetch only objects of 'playlist' class $params = [ 'ClassFilterType' => array( 'include' ), 'ClassFilterArray' => $classIdentifierArray, // Replace 'playlist' with your desired class identifier 'Limit' => $limit // Adjust the limit as needed ]; $result = eZContentObjectTreeNode::subTreeByNodeID($params, $nodeID); return $result; } } ?>
Here is an example of calling the cronjob script. We do this after the above is properly installed and configured.
cd /path/to/ezpublish/; clear; date;./runcronjobs.php youtube-feed-import; date
This solution works well by simulation of the RSS-Bridge Application which effortlessly (once you learn how to call it correctly) fetches Youtube / Instagram / Telegram / Other content for you to store and use within your own website powered by eZ Publish.
We are working to release a package of this software ready to install and customize to meet your own needs. Until then use this blog post as a project origin story / working example of a solution for content stored in web applications which do not provide feeds.
Hello eZ Community!
I write today to fulfil on the commitment made to describe the eZ Publish Symbolic Link Distribution I talked about previously in passing.
Here is how it works. No files are needed. The eZ Publish Symbolic Link Distribution is A Process to Turning an Empty sub domain virtual host folder ~/doc/ (main site) + ~/doc/admin.ezpublish.one (subdomain site) into a full fledged working eZ Publish Installation.
We do this by creating our base normal installation which gives us the eZ Files needed in ~/doc (main site).
If your like me and prefer full control via directory structure abstraction you'll quickly see that we need a way to use the main site files without var dir duplication (variable) so admin.ezpublish.one links to the same eZ Installation as the main site.
Here is how to do it:
cd /home/ezp/doc/admin.ezpublish.one; for filename in ../*; do ln -s $filename .; done
This takes care of the files an eZ request requires for operation and addresses the var directory variable with a dynamic link sharing the var dir for both virtual host eZ Installations.
It's really that simple of a process. The symbolic links are generated dynamically based on the installed files in the path of the command and is a quick solution in bash shell to do the heavy lifting.
Next and perhaps the most important on 7x cPanel Based Server Hosting is that fact that when using mod_rewrite in the main site ~/doc .htaccess file we require nothing special per say.
But with the admin.ezpublish.one subdomain we are using a subdomain virtualhost which requires the following added to the top of your .htaccess file to load the second virtualhost eZ Publish Installation Normally.
# Static Subdirectory Virtual Host Required Options RewriteEngine On RewriteOptions IgnoreInherit DirectoryIndex index.html index.php
These are just a few power querks to using these software platforms to quickly build multi-domain installations when changing the directory path in the virtual host is not an option.
Remember folks, there is always another way in all things eZ!
Announcing eZ Publish Basic: Revitalizing a Classic Open-Source CMS with Full PHP 8 Compatibility
We are thrilled to announce a new project to breathe new life into eZ Publish 2.x, the community-supported CMS that served users for nearly a decade. With PHP's evolution over the years, the original eZ Publish has faced compatibility issues. But now, 7x is leading an open-source initiative to bring eZ Publish 2 into 2025 with full PHP 8 support.
Introducing eZ Publish Basic (Version 2.4.0.0-preview1)
Launched on GitHub on November 1, 2024, "eZ Publish Basic" marks the first step in our mission to modernize this reliable content management system. Our goal is to retain its core functionality while updating the codebase to work seamlessly with PHP 8. By addressing major changes, such as replacing the outdated "register globals" setting, we aim to ensure that developers and community sites can continue to use and customize eZ Publish Basic with confidence.
The Power of Open Source and the Choice of the GNU GPL License
From the start, eZ Publish was built to be adaptable, transparent, and community-centered. In keeping with that mission, we’ve chosen to update eZ Publish Basic under the GNU GPLv2 (or later version). This choice is central to our commitment: the GPL not only allows everyone to access, use, and modify the software freely but also ensures that improvements remain open and available for all. The GNU license strengthens eZ Publish as a platform by safeguarding both the community’s and developers’ contributions, creating a CMS ecosystem where freedom, adaptability, and innovation flourish.
A Fresh Start for New Developers and PHP Enthusiasts
eZ Publish Basic is designed to be more than just a CMS upgrade—it’s an invitation for new end users or developers to experience the capabilities of a powerful, well-structured CMS that offers a breath of fresh air compared to writing vanilla PHP. This project provides a unique entry point for aspiring developers, where they can learn core CMS concepts that make eZ Publish worth using and adapting in 2025. By working with eZ Publish Basic, developers can gain foundational skills and insight into a robust CMS structure that emphasizes freedom, scalability, and practical solutions.
An Educational Tool for Students and New Developers
This project is intentionally educational, crafted with students and beginner developers in mind, even as it retains the power for production-grade tasks. eZ Publish Basic allows newer developers to learn the fundamentals of PHP and CMS design in an open-source, collaborative setting. While it’s accessible to those still learning PHP, it remains fully functional and ready for any production environment. This approach empowers emerging developers to build real-world skills while contributing to a larger, impactful project and experiencing the value of community-driven software.
Why Join the eZ Publish Basic Project?
For developers, historians of the open-source world, or anyone who used eZ Publish 2 or subsequent versions (eZ Publish 3, 4, 5, and the Netgen or Ibexa OSS adaptations), this project is a chance to support and preserve a piece of open-source history. The open-source community has always been a critical part of eZ Publish’s journey, and we are inviting contributors to help complete this PHP 8 migration and keep eZ Publish Basic as a useful, adaptable solution for years to come.
Project Details
- Repository: GitHub - eZ Publish Basic
- Current Version: 2.4.0.0.0
- Current preview release: First Preview Release Tag
- Planned Release for Full PHP 8 Compatibility: Q2 2025
- License: GNU GPLv2 (or later version)
I am very excited to announce the release of eZ Publish 6.0.6 which includes the new responsive admin design by default.
This means with eZ Publish 6.0.6 you can use the admin3 design to edit the content on your website using your cell phone!
Announcing eZ Publish Basic: Revitalizing a Classic Open-Source CMS with Full PHP 8 Compatibility
We are thrilled to announce a new project to breathe new life into eZ Publish 2.x, the community-supported CMS that served users for nearly a decade. With PHP's evolution over the years, the original eZ Publish has faced compatibility issues. But now, 7x is leading an open-source initiative to bring eZ Publish 2 into 2025 with full PHP 8 support.
Introducing eZ Publish Basic (Version 2.4.0.0.0)
Launched on GitHub on November 1, 2024, "eZ Publish Basic" marks the first step in our mission to modernize this reliable content management system. Our goal is to retain its core functionality while updating the codebase to work seamlessly with PHP 8. By addressing major changes, such as replacing the outdated "register globals" setting, we aim to ensure that developers and community sites can continue to use and customize eZ Publish Basic with confidence.
The Power of Open Source and the Choice of the GNU GPL License
From the start, eZ Publish was built to be adaptable, transparent, and community-centered. In keeping with that mission, we’ve chosen to update eZ Publish Basic under the GNU GPLv2 (or later version). This choice is central to our commitment: the GPL not only allows everyone to access, use, and modify the software freely but also ensures that improvements remain open and available for all. The GNU license strengthens eZ Publish as a platform by safeguarding both the community’s and developers’ contributions, creating a CMS ecosystem where freedom, adaptability, and innovation flourish.
A Fresh Start for New Developers and PHP Enthusiasts
eZ Publish Basic is designed to be more than just a CMS upgrade—it’s an invitation for new end users or developers to experience the capabilities of a powerful, well-structured CMS that offers a breath of fresh air compared to writing vanilla PHP. This project provides a unique entry point for aspiring developers, where they can learn core CMS concepts that make eZ Publish worth using and adapting in 2025. By working with eZ Publish Basic, developers can gain foundational skills and insight into a robust CMS structure that emphasizes freedom, scalability, and practical solutions.
An Educational Tool for Students and New Developers
This project is intentionally educational, crafted with students and beginner developers in mind, even as it retains the power for production-grade tasks. eZ Publish Basic allows newer developers to learn the fundamentals of PHP and CMS design in an open-source, collaborative setting. While it’s accessible to those still learning PHP, it remains fully functional and ready for any production environment. This approach empowers emerging developers to build real-world skills while contributing to a larger, impactful project and experiencing the value of community-driven software.
Why Join the eZ Publish Basic Project?
For developers, historians of the open-source world, or anyone who used eZ Publish 2 or subsequent versions (eZ Publish 3, 4, 5, and the Netgen or Ibexa OSS adaptations), this project is a chance to support and preserve a piece of open-source history. The open-source community has always been a critical part of eZ Publish’s journey, and we are inviting contributors to help complete this PHP 8 migration and keep eZ Publish Basic as a useful, adaptable solution for years to come.
Project Details
- Repository: GitHub - eZ Publish Basic
- Current Version: 2.4.0.0.0
- Planned Release for Full PHP 8 Compatibility: Q2 2025
- License: GNU GPLv2 (or later version)
Whether you’re a seasoned developer, an advocate for free software, or someone who used eZ Publish 2 in its early days, we invite you to join us. Your contributions—whether in code, testing, feedback, or ideas—will help ensure that eZ Publish Basic thrives as a resource for anyone seeking a robust, open-source CMS. Let’s preserve the values of openness and collaboration while creating a tool ready for today’s web.
Help us keep eZ Publish Basic open, accessible, and adaptable for years to come. Join us today on GitHub and be part of the journey to make this legendary CMS a modern, powerful solution for all.
Together, let’s keep the spirit of free software alive and well in eZ Publish Basic!
This is interesting to others who always wanted to provide more similar features the eZ Publish Information Collection System implementation of php + templates + settings that collects information about content objects. I wanted to use the system of features for collecting voting information so I created a duplicate implementation using the core kernel of eZ Publish as a reference while extending it to provide more features unique to the use case of generic content object voting collection and display functionality.
Digg [Sigma] is an idea. A re-implementation of digg.com during it's early php website implementation at v1 through v3 era. A website that promoted small business, group efforts, social networking, social interaction, social bookmarking, web promotions and loads of exciting stories, reading and voting through their implementation of digg.com. Well digg.com got sold, voting and social aspects were shelved and that abruptly ended an era of social news voting and bookmarking from a once prominent source online.
Digg [Sigma] is the engine that is added to any eZ Publish 6 (required) compatible website software installation, when properly configured, provides amazing additional features to your eZ Publish Website like display of content with voting information and functionality from the moment of creation of new content.
Currently there are a lot of configuration and usage requirements changes to be made to the Digg [Sigma] engine implementation for eZ Publish. We aim to simplify this in the future though continued development and abstraction of common themes into better customized templates, settings, views (module/content), php and documentation with usage examples.
To help speed things up for everyone we have quickly assembled the DiggClone Project to help spin up more eZ Publish based websites with the Digg [Sigma] engine built in using composer, default settings, default content (using a full dump of database content to sql file, and all website code files configured) to host clone.digg.one project homepage implementation example zipped up and ready to change the hostname, logo and defaults to meet your own unique needs and you too can host your own digg.one (our project turned into a social bookmarking website) based website using the stable eZ Publish System we live problem free lives knowing our pages are stable and reliably serving the public.
The DiggClone Project serves as a ready to use solution. The DiggClone Project provides a easy to use, reliable and up to date build of the latest digg [Sigma] software (as made available on digg.one social bookmarking and networking website (Example Project #0)) that can be used or merged into your existing eZ Publish website. This gives you the inner workings of the engine working for your needs.
(Primary Package to Install (Project) - This contains everything required save composer + php + web server + database server + some assembly required ;) called 7x DiggClone (Example Project #1): https://github.com/se7enxweb/clone.digg.one
(Core : Front-end : Information Collection Attribute) eZ DataType For Content Voting called 7x Digg: https://github.com/se7enxweb/sevenx_digg
(Secondary : Front-end : Digg Design + Module Views) eZ Design Extension called 7x DiggClone: https://github.com/se7enxweb/sevenx_diggclone
Really quickly now this is exciting a previous customer of 7x who also wanted a content voting and ranking features for their website already in eZ Publish, Global Mandates sponsored the development and refinement of the very first diggClone example implementation actually implemented in a real copy of any existing eZ Publish website. Now available at globalmandates.org home page. This work will be released in time at (Example Project #2): https://github.com/se7enxweb/sevenx_globalmandates on GitHub as well to provide another even faster starting point for end users to use to create their own copy of a digg [Sigma] and DiggClone based website using eZ Publish.
In the future we will reduce the amount of work needed to simply start using the templates and settings provided in a meaningful way. Currently the bindings between default structure content IDs, Identifiers, templates all lack settings support to store this information in an abstraction that allows for easier setup in seconds vs hours.
In the future we will focus on 7x Digg extension development to contain the refined templates of the diggClone extension as well as the module views and settings. This will reduce our need for the diggClone extension to just use the solution more efficiently.
In the future we will implement the example of Global Mandates implementation of a Digg (Clone/eZ) website like enhanced templates and home page design (unique from digg.one domain) into DiggClone repositories. These changes will provide a much faster starting point as they will also include written documentation and key instructions for getting started in minutes vs days without help. This documentation will help give a centralized place to explain in greater detail problems or issues which might arise while working with eZ Publish + 7x Digg based projects which will incentivize solving problems before they become real.
This should by the near future result in a consolidated, documented, and quick to implement starting point for any end user to clone this project software for any need like hosting your own digg based social network platform of websites.
Digg.one is a fun place to share information and make a searchable record of your own information that matters to you the individual.
eZ Publish is a fun website framework that makes publishing to the web a dream come true!
Together they form the DiggClone Project resulting in 7x Digg, DiggClone, clone.digg.one and GlobalMandates.org
Who can say what the future will hold for what started out as a simple test of what was possible with a little focused interest while developing with my favorite cms.
What do you think? Should I have based this solution on the eZ Star Rating DataType System implementation instead? I chose the Information Collection System because I felt it would offer more in the short term faster than the most obvious alternative.
Happy Hacking!
I’m please to note here the release and availability for download and installation and usage to update your installation of eZ Publish 6 (composer based installs+) to further improved releases in the future.
I have an omission to share for the past 20 years or more I have been providing eZ Publish based open source development support services as //kracker and kracker.org
Recently I have converted my own personal use domain from a splash page domain index into a full mult sub domain based eZ Publish 6 web applicatio platform of web content. This lets me host with ease my main domain in eZ Publish and my subdomain within the same instance / installation meaning larger network application features abound.
I plan on soon writing a detailed blog post about cpanel based mult domain mult site installation configurations using the 7x Symbolic Link Distribution of eZ Publish 6.
We are very excited to announce the release of eZ Publish 6.0.4 which includes the new responsive admin design by default.
This means with eZ Publish 6.0.4 you can use the admin3 design to access (by default configuration) your website using your cell phone!
7x Releases 7x Valkey a Redis compatible solution to access all features of a speedy Key / Value databases like Valkey, Redis, DragonflyDB or any other Redis compatible database via php-redis extension through 7x valkey template operator calls to this high-performance key/value datastore. Download 7x Valkey via composer into your eZ Publish installation, activate, clear cache and you will be able to make Valkey / Redis key/value Database calls using the 'valkey' eZ Publish Template Operator. Here is a simple example.
<h1>{valkey( 'get', array( 'testkey' ) )|attribute(show,1)}</h1> {valkey( 'set', array( 'testkey', 'Greetings from 7x Valkey!' ), false() )}<hr /> {valkey( 'get', array( 'testkey' ) )|attribute(show,1)}<hr />
This eZ Publish Feature was developed by my company 7x which maintains the eZ Publish PHP8+ CMS. We strive to deliver support within the eZ Publish Design support for the latest Web Application Development Technologies like high-performance key/value datastores like valkey.
While the underlying technology is named redis because we support OSI approved licensing we choose the better funded and future proof implementation under open source license bsd named Valkey. In the future redis will be a dying technology and valkey compatible solutions will be popular and well supported in terms of feature rich implementations. Time will tell.
Do you want to help fund my implementation of MongoDB into eZ Publish as a First Class Citizen in terms of support for this SQL Database alternative (NoSQL).
Graham Brookins, Legendary hero of the eZ Publish Community is seeking funding and eZ Publish Business Support to develop the future database support for eZ Publish 6 by adding MongoDB kernel libraries to extend eZ Publish from the SQL Database barier currently in the implementation of a NoSQL Database Driver and Kernel Libraries required to provide this level of support to power the default modules of eZ Publish and feature complete reverse implementation of all end to end use cases as already provide by (SQL Support).
This is a rather complex project and we would like to hear from you the end users on what you want most with this database support project.
Contact, Call Me, Hit me up, fund my developer initiative to expand the future of eZ Publish in 2024/Q3
7x Merges A New Responsive Admin3 Design Solution Integrated Into eZ Publish 6.0.4 (stable - unreleased).
Download this incredible upgrade to eZ Publish default admin design (based on eZ publish 5 legacy design/admin folder source code).
Upgrade: Simply install the design/admin3 folder in your eZ Publish installation, activate the design in your admin siteaccess settings for designs used for that website and remember to clear all caches!
Upgrade alternative: Download the latest eZ Publish GitHub Edition. 6.0.4 unreleased sources from GitHub Repository today or wait until 9/1/2024 for the official tagged release of eZ Publish 6.0.4 (Stable) for simpler composer installations and upgrades.
Basically I have been working hard behind the scenes to open source the print edition of packt.com's "Learning eZ Publish 3" Book. This was the first book published about eZ Publish and it is now a free / open source documentation project licensed under the GNU Free Documentation License. The book is now available for any reader to download and remix or update to the current version to become a contributing author in the next edition / version of the greater Learning eZ Publish 6 book we wish to produce over time.
The work is now under the copyright of 7x and Graham Brookins ensuring that future editions of this material remain free and open to everyone with need for educational material to use to train developers in the use of eZ Publish 6 for years to come.
I am also looking to expand this project in the future with several key initiatives that will spur growth of the greater eZ Community in 2024.
Contact me for more information or if your interested in supporting of new eZ Publish End User Education Initiatives in 2024/2025.
Hello Internet! This blog is the writings of one Graham Heath Brookins <graham@se7enx.com>, Lead developer and ceo at 7x the leaders of the eZ Publish Community driving regular development of new features, community growth and end user documentation of everything eZ Publish.
Inspired and driven I have been busy developing for the eZ Publish end users in the greater eZ Publish Community, eZ Publish Ecosystem, and eZ Publish Developers worldwide through my daily efforts as 7x.
7x gives users the eZ publishing experience in terms of design requirements your website project efforts require daily to ensure your needs are met sometimes even before you realize you have a need at all in your publishing efforts.
7x is the official maintainers of eZ Publish 6 (v6.0.4 coming soon) offers a responsive user and admin design by default making it very simple to get started publishing your content quickly hand in hand as you refine the user design to meet your own unique website project requirements.
Basically I have been working hard behind the scenes to open source the print edition of packt.com's "Learning eZ Publish 3" Book. This was the first book published about eZ Publish and it is now a free / open source documentation project licensed under the GNU Free Documentation License. The book is now available for any reader to download and remix or update to the current version to become a contributing author in the next edition / version of the greater Learning eZ Publish 6 book we wish to produce over time.
The work is now under the copyright of 7x and Graham Brookins ensuring that future editions of this material remain free and open to everyone with need for educational material to use to train developers in the use of eZ Publish 6 for years to come.
I am also looking to expand this project in the future with several key initiatives that will spur growth of the greater eZ Community in 2024.
7x Merges A New Responsive Admin3 Design Solution Integrated Into eZ Publish 6.0.4 (stable - unreleased).
Download this incredible upgrade to eZ Publish default admin design (based on eZ publish 5 legacy design/admin folder source code).
Upgrade: Simply install the design/admin3 folder in your eZ Publish installation, activate the design in your admin siteaccess settings for designs used for that website and remember to clear all caches!
Upgrade alternative: Download the latest eZ Publish. 6.0.4 unreleased sources from GitHub Repository today or wait until 9/1/2024 for the official tagged release of eZ Publish 6.0.4 (Stable) for simpler composer installations and upgrades.
I am also deep in research and estimation on a MongoDB database driver library solution for eZ Publish 6. Please contact me if you would pay for this support to be developed this year.
I am also researching and planning a 7x Writer solution which would deliver a AI Prompt content management solution to storing and refining content to and from an AI like Open AI's ChatGPT or Meta's Meta AI. This would be the equivelent of an eZAIPromptWriter extension in eZ Publish terms that extends the edit view templates to provide the required markup additions for the main UI. This extension could also be based upon ezgoogletranslate which is often overlooked for as powerful as it really is. We are looking for small amounts of funding for this writing assistant solution in 2024/Q4.
Apologies to the reader of this blog for the lack of new content in the months previous. I will push to blog the latest changes here and in telegram (https://share.se7enx.com/get-involved/exchange#telegram) in a more real time fashion.
Hello Fellows of the world of all things eZ Publish related.
Today, 7x restored through an tricky refactoring process and rigorous testing the eZ Publish Free Documentation Wiki called eZpedia had its SOAP Search Engine
Designed for network clients js, native, telegram, irc bot software to query the available documentation by keyword string based searching.
Postman
You can easy query our web service via soap https calls using Postman, read how.
Soap Https Api Url
https://soap.ezpedia.se7enx.com/en/bcsoapsearch#
Example XML Request Body Required
Here is a simple example of using the search with the minimum required parameter searchStr a string of any reasonable length or content. I like searching with full sentences most!
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <xsd:search_ezpedia xmlns:xsd="https://soap.ezpedia.se7enx.com:443/en/bcsoapsearch#search_ezpedia"> <searchStr>wiki</searchStr> </xsd:search_ezpedia> </soap:Body> </soap:Envelope>
This is the bare minimum in parameters required to get a proper response result but check out the documentation for bcsoapsearch extension to the nusoap extension for additional parameters and customize the code to your own use case requirements!
Example XML Request Body Supported
Here is a simple example of using the search with the minimum required parameter searchStr a string of any reasonable length or content. I like searching with full sentences most!
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <xsd:search_ezpedia xmlns:xsd="https://soap.ezpedia.se7enx.com:443/en/bcsoapsearch#search_ezpedia"> <searchStr>php</searchStr> <searchLimit>5</searchLimit> <searchOffset>false</searchOffset> </xsd:search_ezpedia> </soap:Body> </soap:Envelope>
This is the full supported search engine web service parameters as designed.
This solution is based upon the vintage nusoap extension (repo link coming soon) and implemented as a service using the bcsoapsearch extension implementation (very small, very stable, flexible).
Bots
We plan to implement this in the future as a Share eZPublish! Telegram Group Chat Bot based search solution!
We urge you to consider why writing web services for your website applications these days is vitally important and more often critical to your business.
Enjoy!
Hello again, thank you for reading my blog. We at 7x stay small and nimble in our work to ensure a strong focus on quality control.
Have a quick look at the new eZ Publish 6 Project Home Page. This was just recently updated content under a new simpler to remember URL.
Here we will use this website to attract end users to our software and hopefully they will stay to join with our community of like minded website builders.
Have a look and consider joining our community today at any level you can, just speak up in the forums or chat channel.
Add comment