#2602: Pluggable Templating System Proposal
----------------------------------+-----------------------------------------
Reporter: coderanger@yahoo.com | Owner: jonas
Type: enhancement | Status: new
Priority: normal | Milestone: 0.11
Component: general | Version: 0.9.3
Severity: normal | Keywords:
----------------------------------+-----------------------------------------
This is a proposal to allow for each plugin to declare what templating
system it uses. The idea is to not invalidate all plugins written in
between now and the switch to Kid (currently scheduled for 0.11).
The idea has two parts:
1. A new extension point called ITemplateSystemProvider.
1. A class variable in each componenet called {{{__templatesystem__}}}.
To maintain backwards compatibility, if not present,
{{{__templatesystem__}}} would have an implied default of
{{{'clearsilver'}}}.
Each system provider would produce a list of schemes it is responsible
for, and a function to be called before running process_request(),
allowing the system to initialize any internal states needed, as well as
place any needed data into to Request structure.
This is still very loosely defined in my head, so please post any better
ideas you might have.
--
Ticket URL: <http://projects.edgewall.com/trac/ticket/2602>
The Trac Project <http://trac.edgewall.com/>
----------------------------------+-----------------------------------------
Reporter: coderanger@yahoo.com | Owner: jonas
Type: enhancement | Status: new
Priority: normal | Milestone: 0.11
Component: general | Version: 0.9.3
Severity: normal | Keywords:
----------------------------------+-----------------------------------------
This is a proposal to allow for each plugin to declare what templating
system it uses. The idea is to not invalidate all plugins written in
between now and the switch to Kid (currently scheduled for 0.11).
The idea has two parts:
1. A new extension point called ITemplateSystemProvider.
1. A class variable in each componenet called {{{__templatesystem__}}}.
To maintain backwards compatibility, if not present,
{{{__templatesystem__}}} would have an implied default of
{{{'clearsilver'}}}.
Each system provider would produce a list of schemes it is responsible
for, and a function to be called before running process_request(),
allowing the system to initialize any internal states needed, as well as
place any needed data into to Request structure.
This is still very loosely defined in my head, so please post any better
ideas you might have.
--
Ticket URL: <http://projects.edgewall.com/trac/ticket/2602>
The Trac Project <http://trac.edgewall.com/>