Templating system in PHP

I’d like to report here what I think about templating system in PHP. Some time ago I read a proposal in the Community process forum at Carthag’s site about porting some external template engine in Carthag. The proposal seemed ok to me. Anyway, as said there, we already have the best (IMHO) templating language available: PHP itself. 

I think that most of the authors who write a template framework miss this point, and produce some big, slow leviathan like Smarty has become. I include myself to the ones who missed the point, and then realized that PHP itself is a templating system.

Please have a look at carthag.template.Template interface in Carthag platform. And also have a look at the carthag.template.engines subpackage, there is the PhpTemplate class. I think, even without benchmarks, that this is (one of) the fastest and at the same time most powerful template engine available in the PHP world. 

iConnect Portal Server uses it, and produces pages very fast (Solarix site seems very fast to me), while my old Magellan CMS had a powerful but slow template engine.

New naming for iConnect containers and applications

I’ve just renamed the iConnect containers and applications:

So the naming is now simpler and more coherent.

Ampoliros 4000 4.0 major refactoring released

Today I released a major refactoring of the Ampoliros platform for building multi tenant web applications in PHP with a new desktop theme.

Change log for this release:

4000 4.0 - 2004/07/15 - "Major refactoring"
- Added new "amp4000" theme.
- Added new "big" hui icons category.
- Added 494 new icons in "big" category.
- Added new Ampoliros class.
- Added unit tests.
- Added huixml_cdata() (HuiXml) in place of urlencode() method.

- Changed Ampoliros generation to 4000.
- Now Ampoliros is based on the Carthag platform.
- Updated Crystal icons to SVG release. Added 584 more new icons.
- Moved Semaphore class (semaphores.library) to process.Semaphore.
- Moved Clipboard class (clipboard.library) to datatransfer.Clipboard.
- Moved CachedItem class (cache.library) to datatransfer.cache.CachedItem.
- Moved CacheGarbageCollector (cache.library) to
- Moved hui.library classes to hui.*.
- Moved huithemes.library classes to hui.theme.*.
- All code is now under a declare() statement.
- Added pcntl and posix as suggested extensions.
- Changed "Ampoliros Web Applications Platform" title to "Ampoliros
Application Server".
- Moved maintenance.library classes to maintenance.*.
- Moved Hook class (hooks.library) to util.Hooks.
- Renamed AmpolirosSecurityHandler() class to SecurityLayer() and moved it
to security.SecurityLayer.
- Moved archives.library classes to Carthag platform.
- Moved debug.library classes to debug.* and renamed
AmpDebugger() class to Debugger().
- Moved xmlrpc.library classes to webservices.xmlrpc.*.
- Removed unused system.library.
- Moved sites.library classes to site.*.
- Moved users.library classes to site.user.*.
- Moved logger.library classes to io.log.*.
- Moved dblayer libraries classes to db.*.
- Moved locale.library classes to locale.*.
- Moved old unused stuff to ampcompatibility package.
- Now at least PHP 5 is required.
- Updated copyright notes date.
- Moved XMLParser class (xml.library) to xml.XMLParser.
- Applied minor changes for PHP 5 compatibility.
- Moved modules.library and modulesbase.library classes to
- Strongly refactored maintaining compatibility.
- Changed handling of /ampcgi/ alias during setup.
- Renamed ModuleElementTypes class to
- Moved soap.library to ampcompatibility.
- Updated some stuff in extras directory.
- Changed "module" term in "application".
- Renamed root/modules.php to root/applications.php.
- Moved HelpNode class to help.HelpNode.
- Moved AmpConfig class to core.AmpConfig.
- Lot of optimizations in Hui and Hui widgets.
- Hui validators are now called once even if there are more dispatchers.
- Moved root initialization code to Ampoliros::startRoot().
- Moved site initialization code to Ampoliros::startSite().
- Moved maintenance run script code to Ampoliros::startMaintenance().
- Moved ampconfig.php code to ampoliros.php.
- Removed amp3000 Hui theme.
- Removed CACHE_PATH define.

- Fixed "frame" attribute in toolbar widget when set to false.
- Fixed wrong size limit in username length in users table.
- Unlock script (/ampcgi/unlock.php) is no more recorded as last root
page opened.
- Fixed wrong parameters to Permissions class in adminpage.handler and