I've committed the initial support for this feature to the trunk and it's working now. I still need to refine the UI, but the functional parts are there. 2 things though ...

1. We need to decide what actions we are going to support. I'll go ahead and propose this list right now ...

weblog - The default template, same as 'Weblog' template now.
search - The search results page.
permalink - The entry permalink page.
tags-index - The tags section index page (/<weblog>/tags/).

2. There is one somewhat yucky issue that has come up after I did the implementation work. Since these templates are optional and may not all be present in all themes there is a potential problem with action templates being left around from previous themes when the user changes their theme multiple times.

For example, assume ThemeA defines a 'permalink' template. The user chooses ThemeA and decides to customize it, so the templates are copied. Then the user changes their mind and decides to use ThemeB, which does not have a 'permalink' template. At this point the user has a 'permalink' template in their templates section left over from their previous theme which will likely cause problems when rendering their new theme. So, how should we handle this?

1. When rendering templates by action from a theme we ignore custom templates from the weblog for specific actions. This prevents the scenario above because when using a shared theme we would not look for the 'permalink' template in the users custom templates. The drawback is that this prevents the user from creating a template for a specific action if their theme doesn't do it for some reason.

2. Accept that this is a potential problem and let users deal with it themselves by deleting these left over templates. Not exactly a pretty solution :/

3. Force all themes to implement all action templates moving forward. This is probably the cleanest and most ideal solution. Also remember that with the new theme metadata file it's entirely acceptable to define 2 templates in the theme using the same physical file, so the templates for 'weblog' and 'permalink' actions could both use the same Weblog.vm file.

Those are the main scenarios I am seeing right now. There are a few others that I had thought of but they didn't really solve any more of the problem than these options.

Right now I am thinking that option #3 is sounding the best. It may seem a little harsh to force all themes to implement all the various actions we are going to define, but remember that as I said you can use a single template to do that.

thoughts?  opinions?

-- Allen


James M Snell wrote:
As an aside, we've had quite a few requests for a simple entry index as
part of our default blog template.  It seems to be quite useful for
quickly finding old posts.

- James

Allen Gilliland wrote:
[snip]
... with the difference being that in a permalink you actually have the
anchor part of the url and are therefore pointing to a specific entry,
which the entry index page would be the index page for that section.

the reason for having an entry index page would be if you wanted to
provide some kind of entry archive navigation.  i.e. if you go to the
entry index page you may get a very short and simple list of all entry
titles, or possibly a big calendar or something.  i'm not really sure it
would be useful enough to be worth supporting, it's just one of our urls
which we currently don't allow.

-- Allen



Thanks,
- Dave

Reply via email to