Hi, Matt Sergeant and Dave Rolsky both commented on the Widget, Repository, and TemplateEngine Services, saying that the underlying technologies are fundamentally different and that I should not try to make them all work the same (i.e. "Borgify" them). (because I will not be able to!)
TemplateEngine I have been thinking about how to incorporate template engines since the first day of this project. I didn't want to have to choose a Template system, but rather wanted to work with all/many of them. There are two ways that the P5EE framework could cooperate with a template engine. 1. allow the template system to be used within P5EE (this is the way it is represented in the P5EE design to date) 2. allow P5EE to be use from within each template system via Plug-Ins specific to that template system (at one point I actually demonstrated this to myself for P5EE running within the Template Toolkit) (Dave Rolsky also suggested the plug-in approach) I agree that the way that I have shown in http://www.officevision.com/pub/p5ee/software/htdocs/P5EEx/Blue/TemplateEngi ne.html the list of classes Class: P5EEx::Blue::TemplateEngine Class: P5EEx::Blue::TemplateEngine::TemplateToolkit Class: P5EEx::Blue::TemplateEngine::Embperl Class: P5EEx::Blue::TemplateEngine::Mason Class: P5EEx::Blue::TemplateEngine::AxKit Class: P5EEx::Blue::TemplateEngine::ASP Class: P5EEx::Blue::TemplateEngine::CGIFastTemplate Class: P5EEx::Blue::TemplateEngine::TextTemplate Class: P5EEx::Blue::TemplateEngine::HTMLTemplate is naive. Most of these will be best integrated with P5EE using a plug-in approach (#2). A few of them (including Template-Toolkit) will also support approach #1. Stephen