comments inline ...
David M Johnson wrote:
Added roller-dev to the CC line...
On Jun 20, 2006, at 9:05 PM, Allen Gilliland wrote:
how come we need WeblogEntryPluginsHelper? i thought we were going
with overriding pojo methods?
Yes, I'm not happy about the current situation.
The problem is that:
1) Some plugins need to do some weblog specific setup, to read the
bookmark collection for example. To optimize performance, it's best to
init the plugins upfront. If that cannot be done upfront, then it must
be done each time entry text is to be rendered.
Yes, I agree that kinda sucks, but we've lived with that up until now.
I don't know how to fix that either, but I think we can continue to live
with it and figure out an optimization later.
2) Some plugins need access to the Velocity context so that they can add
new objects.
Right, that one is more problematic, but the only plugin that I see
which actually uses the context is the TextilePlugin and it doesn't even
need to be put in the context to work. It seems like it would be okay
to remove the context from the plugin init() method, but the bigger
question mark is if there are any custom plugins that people have
created which rely on the context.
For #1, perhaps the weblog entry object could do some plugin caching.
I agree, but I don't think we need to worry about that right now. We've
been okay without this for a while now, so I think we can make it to
Roller 3.1 or 3.2 without worrying about it.
We can potentially do this in the PluginManager.
For #2, I think we should change plugins so that they do NOT add things
to the context , since the mechanism for adding things to context is to
use page models.
I agree, the only plugin that I know this affects is the TextilePlugin
and it doesn't look like it will make the plugin break.
Any ideas? Opinions?
I think that it's better for us to try and make this change sooner
rather than later. We know it's a change that needs to be made, so
eventually we are just going to have to bite the bullet and do it. Why
not now?
-- Allen
- Dave